3 Организация памяти в микропроцессорных системах


Название3 Организация памяти в микропроцессорных системах
страница5/7
Дата публикации24.07.2013
Размер0.82 Mb.
ТипДокументы
userdocs.ru > Информатика > Документы
1   2   3   4   5   6   7

^ Контроллер ПДП может работать в двух режимах: в режиме программирования и в режиме ПДП.

В режиме программирования контроллер является пассивным устройством и процессор осуществляет с ним связь как с обычным ВУ. При этом линии A[3:0] и RDIO\, WRIO\ являются входными. Линии адреса A[2:1] при A[3] = 0 используются для селекции канала (код соответствует номеру канала), а тип регистра в канале идентифицируется разрядом A[0]: "0" - РгA, "1" - РгУ. Поскольку РгА и РгУ - двухбайтовые регистры, их загрузка осуществляется двумя циклами записи по одному адресу, причем в первом цикле передается младший байт.

При A[3:0] = 1000 осуществляется запись в РгР или чтение из РгС.

Разряды 0..3 регистра режимов РгР разрешают или запрещают работу соответствующих каналов ("1" - разрешено, "0" - запрещено).

Разряд РгР[4] устанавливает тип приоритета работы каналов. При РгР[4] = 0 установлен фиксированный приоритет (канал 0 -высший, канал 3 - низший). При РгР[4] = 1 устанавливается циклический приоритет каналов. В этом режиме после каждого цикла ПДП (но не запроса) приоритет каждого канала изменяется. Канал, который только что был обслужен, получает низший приоритет, а остальные каналы - по кольцу 0 - 1 - 2 - 3 - 0 -.

Циклический сдвиг приоритетов предотвращает монополизацию одного канала; последовательность циклов ПДП будет обслуживать различные каналы, если их работа не запрещена. Все операции начинаются с присвоения каналу 0 высшего приоритета.

Разряд РгР[5] = 1 определяет режим опережающей записи. В этом случае длительность сигналов WRM\ и WRIO\ увеличивается за счет более ранней их активизации в цикле ПДП. Это в некоторых случаях позволяет обойтись без тактов ожидания Tw.

Состояние "1" в разряде РгР[6] определяет режим автоматического отключения канала по сигналу TC. Этот сигнал возникает когда РгУi[13:0] = 0; в этом случае сбрасывается бит разрешения работы активного канала и запустить его вновь в работу можно только путем программной перезагрузки РгР. При РгР[6] = 0 появление TC не запрещает дальнейшую работу канала.

При наличии "1" в РгР[7] устанавливается режим автозагрузки, позволяющий каналу 2 многократно передавать массив данных без программного вмешательства. При программировании канала 2 в этом режиме его параметры (РгА и РгУ) автоматически дублируются в соответствующих регистрах канала 3 и по сигналу TC переписываются из канала 3 в канал 2, восстанавливая первоначальное значение РгА2 и РгУ2, причем эта передача сопровождается установкой флага обновления UF в РгС[4]. Заметим, что возможности режима TCS (отключение каналов) не распространяются на канал 2 в режиме автозагрузки.

Если не запретить работу канала 3 в режиме автозагрузки, то он может работать как обычно при отсутствии запроса DRQ2. Однако, следует помнить, что работа канала 3 изменит значения параметров, которые должны передаваться в канал 2.

Перед началом работы каждый канал программируется путем занесение в РгА начального адреса массива, в РгУ[13:0] - количества передаваемых байт, а в РгУ[15:14] - режима работы канала (00 контроль, 01 - запись в ЗУ, 10 - чтение из ЗУ).

Режим контроля может использоваться ВУ для контроля принятых данных, т.к. в этом режиме не производится передача данных (не вырабатываются сигналы RDM\, RDIO\, WRM\, WRIO\), а все остальные функции ПДП сохраняются.

В режим ПДП контроллер переходит при поступлении запроса DRQ незамаскированного канала. Он вырабатывает запрос микропроцессору HRQ на захват шины и, получив подтверждение HLDA, передает сигнал активизации DACK\ выбранному ВУ и начинает циклы ПДП.

В цикле ПДП контроллер выдает содержимое РгА на линии A[7:0] (младший байт) и линии D[7:0] (старший байт в сопровождении строба ADSTB) и, в зависимости от режима работы канала, одну из пар управляющих сигналов RDM\ + WRIO\ или RDIO\ + WRM\ (в режиме контроля управляющие сигналы не выдаются). Режим ПДП завершается при снятии сигнала DRQ.


    1. Клавиатура и индикация в МПС


Устройства ввода/вывода МПС для АТП можно разделить на три разновидности:

  1. УВВ для связи с объектом управления (ОУ);

  2. УВВ для связи с ЦВМ другого (например, верхнего) уровня;

  3. УВВ для связи с оператором.

Организация УВВ для связи с объектом управления целиком зависит от конкретного ОУ. В рамках данной главы остановимся на средствах связи МПС с оператором.

В многоуровневых МПС верхнего уровня обычно включают в себя разнообразные устройства ввода и вывода информации для оператора и поддерживающее их программное обеспечение. Сюда можно отнести клавиатуру, дисплей, принтер, а порой и более экзотические ВУ. На нижнем уровне МПС или в простейших МПС часто ограничиваются клавиатурой – ключевой или матричной и цифровой индикацией – двоичной или сегментной.
3.5.1. Двоичная индикация и ключи
Подключение двоичной индикации для вывода информации и ключевых схем для ввода обычно сводится к тривиальному параллельному обмену с использованием буферных регистров, портов параллельного обмена или встроенных портов микроЭВМ.

Для устройств вывода в зависимости от вида конечного индикатора (светодиод, лампа накаливания, газоразрядный или жидкокристаллический индикатор, пьезокерамический динамик и др.) следует рассчитать соответствующую выходную цепь, обеспечивающую требуемые параметры нагрузки.

Для устройств ввода проблема согласования нагрузки обычно не стоит, здесь следует, прежде всего решить проблему защиты от дребезга (программно или аппаратно).

Встроенные порты параллельного обмена обычно бывают двунаправленными и допускают подключение, как ключей, так и двоичных индикаторов, однако, следует учитывать особенности схемотехники используемых портов.

Обмен с двоичными индикаторами осуществляется обычно в синхронном режиме.
3.5.2. Матричная клавиатура
Если клавиатура разрабатываемой МПС включает в себя большое число клавиш, целесообразно организовать ее в виде прямоугольной матрицы и идентифицировать клавишу номером строки и столбца матрицы.

На Рис.3.26 показан один из возможных способов подключения матричной клавиатуры к МПС. Регистр сканирования Рг.Скан. является устройством вывода и содержит унитарный код номера столбца. При опросе клавиатуры в этот регистр последовательно записываются коды, содержащие единицу только в одном разряде. Если нажата клавиша (замкнут контакт) в столбце, соответствующем единичному разряду Рг.Скан., то (с учетом инверсии выхода этого регистра) на линии строки, соответствующей нажатой клавише, установится потенциал «логический 0», на остальных линиях строк матрицы сохранятся «логические 1». Состояние строк матрицы через регистр ввода Рг.Клав. вводится в процессор. Позиции «1» в Рг.Скан. и «0» в Рг.Клав. однозначно определяют положение нажатой клавиши в матрице клавиатуры.

Для увеличения размерности матрицы клавиатуры можно использовать дешифратор на выходе Рг.Скан. и шифратор на входе Рг.Клав. (Рис.3.27). В этом случае возможно обслуживание матрицы клавиатуры размерностью до 2n2n, где n – разрядность регистров ввода и вывода.

Длительность нажатия клавиши обычно не бывает менее 0,1 сек. Для надежной фиксации нажатия необходимо за это время просканировать все столбцы матрицы. Очевидно, это не предъявляет слишком высоких требований к быстродействию МПС.

Проблема исключения дребезга клавиатуры может решаться на программном уровне, для чего достаточно после обнаружения нажатия клавиши (любой, пока можно не идентифицировать нажатую клавишу) осуществить программно задержку на время, превышающее длительность дребезга1, и осуществить повторное сканирование клавиатуры с определением нажатой клавиши.




Рис.3.26. Подключение матричной клавиатуры
3.5.3. Сегментная индикация

Для индикации символов (прежде всего – десятичных цифр) в простейших МПС часто используется сегментная индикация. В этом случае каждому разряду (знакоместу) ставится в соответствие группа сегментов, реализованных каждый как светодиод, электролюминисцентный, газоразрядный или жидкокристаллический индикатор, причем у индикаторов одной группы имеется, как правило, общий электрод (анод или катод). Каждый сегмент разряда можно включить независимо от другого при условии, что на общий электрод будет подан соответствующий потенциал.

К
оличество сегментов разряда зависит от номенклатуры индицируемых символов, требуемого «качества» отображения и допустимых аппаратных затрат. Наибольшее распространение получили семисегментные индикаторы (восьмисегментные, восьмой электрод – запятая).

Рис.3.27. Использование шифратора и дешифратора для

увеличения размерности матрицы клавиатуры
Различают два способа организации сегментной индикации – статический и динамический. Схема организации статической индикации приведена на рис 3.28 Для обслуживания каждого индикатора требуется собственный знакогенератор (ЗГ), преобразующий двоичный код символа в семисегментный. Обычно номенклатура индицируемых на семисегментном индикаторе символов не выходит за пределы десятичных (реже – шестнадцатеричных) цифр, поэтому для их кодирования достаточно четырехбитового поля2. Код символа поступает на вход знакогенератора (ЗГ) – комбинационной схемы или ПЗУ, преобразующей позиционный код символа в семисегментный.



Рис.3.28. Статическая сегментная индикация

К недостаткам статической индикации можно отнести значительные затраты оборудования и большое число выводов (линий интерфейса), требуемых для ее обслуживания. Особенно это проявляется при большом числе индикаторов. В схеме рис. 3.28 можно исключить знакогенераторы, обеспечивая программное преобразование кодов символов. Однако такое решение приведет к значительному (почти двукратному) увеличению требуемого числа линий интерфейса.

Д
ля сокращения числа линий интерфейса блока индикации и объема его оборудования при большом числе индикаторов в системе обычно используется динамическая индикация (Рис.3.29).




Рис.3.29. Динамическая индикация

При реализации динамической индикации все «одноименные» сегменты всех индикаторов объединяются гальванически и подключаются к выходам единственного регистра символов или единственного знакогенератора. Общие электроды индикаторов подключаются к источнику питания через ключи, управляемые регистром сканирования, причем в регистре сканирования должен размещаться унитарный код. Таким образом, в каждый момент времени активным является только один индикатор.

Микропроцессорная система должна программно обеспечить синхронную смену кода символа на входе знакогенератора и позиции символа в регистре сканирования. Для того, чтобы индицируемые символы на всех индикаторах воспринимались человеком как единое изображение, частота сканирования всего изображения должна составлять не менее
30 .. 50 Гц.

При работе динамической сегментной индикации МПС должна постоянно ее обслуживать, выводя коды и позиции символов. Для проведения других операций МПС может использовать промежутки времени между циклами индикации (около 20 мс) или, если этого времени недостаточно, останавливать индикацию на время проведения других операций. Если остановка индикации недопустима, а ресурсов времени недостаточно, можно использовать в МПС специальный контроллер, который берет на себя функции обслуживания динамической индикации, а заодно – и клавиатуры.
3.5.4. Контроллер клавиатуры и индикации К580ВВ79
Контроллер К580ВВ79 (Рис.3.30) предназначен для обслуживания сегментной индикации (максимально – два блока по 16 индикаторов) и матричной клавиатуры (до четырех матриц размером 88 клавиш) или линейки двоичных датчиков (28). Структура контроллера приведена на рис. 5. Контроллер включает в себя следующие блоки:

  • ОЗУ отображения объемом 16 8-разрядных слов, предназначенное для хранения кодов индицируемых символов;

  • ОЗУ датчиков (клавиатуры) объемом 8 8-разрядных слов с буферной схемой, предназначенное для размещения кодов нажатых клавиш или состояний линейки датчиков;

  • четырехразрядный счетчик сканирования с дешифратором состояния двух младших разрядов;

  • буфер данных для связи с МПС;

  • устройство управления и синхронизации.


Р
ис.3.30. Контроллер клавиатуры и индикации К580ВВ79

Внешние выводы микросхемы имеют следующее назначение:

DB[7:0]

– системная шина данных;

CLK

– сигнал синхронизации (тактовая частота);

CLR

– сброс (установка микросхемы в исходное состояние);

INT

– выход запроса на прерывание;

INS/D

– вход идентификации типа данных:

H-уровень определяет запись команды или чтение слова состояния;

L-уровень определяет запись или чтение данных;

RD

– вход строба чтения;

WR

– вход строба записи;

CS

– вход выбора микросхемы;

RET[7:0]

– входы линий возврата для приема сигналов от датчиков или матричной клавиатуры

SH

– вход сигнала идентификации для режима сканирования клавиатуры;

CO/STB

– то же / строб записи состояния датчиков в стек датчиков;

BD

– выход сигнала гашения индикаторов;

S[3:0]

– выходы разрядов счетчика или выходы дешифратора младших разрядов;

DSPA[3:0]

– выходы старших разрядов ОЗУ отображения;

DSPB[3:0]

– выходы младших разрядов ОЗУ отображения.


Контроллер позволяет обеспечить одновременное управление сегментными индикаторами и блоком матричной клавиатуры или линейкой датчиков. Схема подключения контроллера К580ВВ79 к МПС и блокам клавиатуры и индикации приведена на Рис.3.31.

Работа контроллера осуществляется следующим образом. МПС загружает в ОЗУ отображения коды выводимых на индикацию символов и больше не обращается к контроллеру до тех пор, пока не потребуется изменить выводимую на индикацию информацию.

Контроллер инкрементирует счетчик (с частотой CLK/f, где f – один из 16 программируемых коэффициента деления) и синхронно выводит на линии DSP содержимое ячейки ОЗУ отображения, адрес которой соответствует значению счетчика. При работе с внешним дешифратором возможно управление 16 сегментными индикаторами при условии, что в ячейках ОЗУ отображения хранятся семисегментные коды символов.

Е
сли хранить в ОЗУ отображения двоичные позиционные коды символов, то в каждой ячейке можно разместить коды двух символов и, при наличии внешних знакогенераторов, можно управлять 32 индикаторами.
Рис.3.31. Подключение контроллера К580ВВ79 в составе МПС

Восемь младших выходов дешифратора можно одновременно использовать для сканирования матрицы клавиатуры или матрицы датчиков. В первом случае контроллер в каждом такте работы счетчика проверяет состояние линий RET и при обнаружении ненулевого разряда помещает в стек FIFO код нажатой клавиши, который формируется в следующем формате:



7

6

5

4

3

2

1

0

CO/STB

SH

Номер строки

Номер столбца

Рис.3.32. Формат кода нажатой клавиши

где номер строки матрицы клавиатуры определяется как номер позиции единицы в слове RET, а номер столбца – состоянием трех младших разрядов счетчика. Два старших бита копируют состояние соответствующих входных линий, которые таким образом могут идентифицировать одну из четырех матриц клавиатуры 88. Занесение байта в стек сопровождается выработкой сигнала прерывания INT.

В режиме сканирования матрицы датчиков состояние входов RET побайтно вводится в стек с частотой сканирования или по внешнему стробу, подаваемому на вход CO/STB.

Управление режимами работы контроллера осуществляется с помощью системы команд, включающую 8 однобайтовых команд, которые могут записываться в контроллер по шине данных при высоком уровне на входе INS/D. Операция МПС при обращении к контроллеру определяются набором управляющих сигналов (Таблица 3.6).

Таблица 3.6

CS

RD

WR

INS/D

Операция

1

х

х

х

Z-состояние

0

1

0

1

Запись команды в контроллер

0

1

0

0

Запись данных в контроллер

0

0

1

1

Чтение слова состояния контроллера

0

0

1

0

Чтение данных из контроллера


Все команды контроллера содержат в трех старших разрядах код операции, а пять младших бит используются для задания параметров команд. Ниже приводятся форматы команд контроллера К580ВВ79.

1. Команда установки режимов:

7

6

5

4

3

2

1

0

0

0

0

Режим

дисплея

Режим клавиатуры




Режим дисплея

Режим клавиатуры

00

8-разрядный дисплей,
ввод слева

000

Кодированное сканирование клавиатуры с обнаружением двойных нажатий

01

16-разрядный дисплей,
ввод слева

001

Дешифрированное сканирование клавиатуры с обнаружением двойных нажатий

10

8-разрядный дисплей,
ввод справа со сдвигом

010

Кодированное сканирование клавиатуры с обнаружением N нажатых клавиш

11

16-разрядный дисплей,
ввод справа со сдвигом

011

Дешифрированное сканирование клавиатуры с обнаружением N нажатых клавиш







100

Кодированное сканирование матрицы датчиков







101

Дешифрированное сканирование матрицы датчиков







110

Ввод по стробу, кодированное сканирование дисплея







111

Ввод по стробу, дешифрированное сканирование дисплея

Термины, используемые при описании режимов микросхемы, имеют следующий смысл:

  • кодированное сканирование предполагает выдачу на выводы S[3:0] состояние разрядов счетчика сканирования;

  • дешифрированное сканирование обеспечивает выдачу на выводы S[3:0] унитарного кода дешифрации двух младших разрядов счетчика сканирования. Такой режим можно использовать, если число объектов сканирования не превышает четырех (4 индикатора и матрица клавиатуры 48);

  • сканирование клавиатуры (режимы 0 .. 3) обеспечивает занесение в стек датчиков кодов нажатых клавиш в формате Рис.3.3;

  • обнаружение двойных нажатий (и более) игнорируются, никакой код в стек датчиков не вводится;

  • обнаружение N нажатых клавиш обеспечивает ввод в стек кодов всех обнаруженных нажатых клавиш последовательно, в порядке сканирования;

  • сканирование матрицы датчиков позволяет поместить по внутреннему тактовому сигналу состояние входного слова RET[7:0] в стек датчиков;

  • ввод по стробу помещает RET[7:0] в стек датчиков по внешнему стробу на входе CO/STB, причем по его срезу информация фиксируется внутренними схемами БИС, а по фронту – переписывается в стек. Время между срезом и фронтом строба должна быть не менее периода тактового импульса;

  • ^ 8-разрядный дисплей реализует последовательный вывод на линии DSP только восьми первых ячеек ОЗУ отображения в соответствии со значением трех младших разрядов счетчика сканирования (значение четвертого разряда при адресации ОЗУ принимается равным 0);

  • ^ 16-разрядный дисплей реализует последовательный вывод всех 16 ячеек ОЗУ отображения в соответствии со значением счетчика сканирования;

  • ввод слева3 – как на обычных алфавитно-цифровых дисплеях;

  • ввод справа со сдвигом1 – как у микрокалькулятора.

2. Команда программирования частоты синхронизации

7

6

5

4

3

2

1

0

0

0

1

Коэффициент деления частоты CLK

Частота сканирующих импульсов после сброса по сигналу CLR автоматически устанавливается 1/31 от частоты синхронизации БИС. С помощью команды "Программирование синхронизации" коэффициент деления может быть установлен пользователем от 2 до 31. Частота сканирования выбирается так, чтобы период сканирования был больше удвоенной длительности дребезга.

Следующие три команды должны применяться перед обращением к ОЗУ отображения или чтением из ОЗУ-стека датчиков. Команды определяют адрес и вид будущего обращения. В случае, когда требуется обращение в последовательные ячейки памяти, достаточно предварительно сформировать одну команду с начальным адресом и установленным битом А – автоинкремента (бит 4 в командах 3, 4, 5).

3. Чтение ОЗУ датчиков

7

6

5

4

3

2

1

0

0

1

0

А

х

Адрес

4. Чтение ОЗУ отображения

7

6

5

4

3

2

1

0

0

1

1

А

Адрес

5. Запись ОЗУ отображения

7

6

5

4

3

2

1

0

1

0

0

А

Адрес

6. Гашение – запрет записи отображения

7

6

5

4

3

2

1

0

1

0

1

х

D3

D2

D1

D0

D3 = 1 – запрет записи в ОЗУ отображения по входам D7..D4 для канала A;

D2 = 1 – запрет записи в ОЗУ отображения по входам D3..D0 для канала B;

D1 = 1 – гашение выходов DSPAi;

D0 = 1 – гашение выходов DSPBi.

С помощью команды "Гашение - запрет записи" пользователь может организовать запись в ОЗУ как целыми байтами, так и отдельными тетрадами:

7. Сброс

7

6

5

4

3

2

1

0

1

1

0

х

Режим сброса ОЗУ дисплея

D1

D0

D0 = 1 – программный сброс;

D2 = 1 – сброс слова состояния и сигнала прерывания;

Режим сброса ОЗУ дисплея определяет, в какое состояние при сбросе будут установлены ячейки ОЗУ отображения: 00h, 20h или FFh или какое значение будет удерживаться на выходах DSPA, DSPB (Таблица 3.7).

Таблица 3.7

D4

D3

D2

Код в ОЗУ отображения

D4

D3

D2

DSPA

DSPB

0

0

х

0 0 0 0 0 0 0 0

0

0

х

0 0 0 0

0 0 0 0

0

1

0

0 0 1 0 0 0 0 0

0

1

0

0 0 1 0

0 0 0 0

0

1

1

1 1 1 1 1 1 1 1

0

1

1

1 1 1 1

1 1 1 1

8. Сброс прерывания – установка режима обнаружения ошибки

7

6

5

4

3

2

1

0

1

1

1

D4

х

х

х

х

Команда сбрасывает запрос на прерывание и, кроме того, при D4 = 1 устанавливает режим обнаружения ошибки в клавиатурных режимах, а при D4 = 0 – сбрасывает этот режим.

Состояние контроллера характеризует слово состояния, формат которого имеет следующий вид:

7

6

5

4

3

2

1

0

D7

D6

D5

D4

Число символов в ОЗУ датчиков

D7 = 1 – доступ в ОЗУ отображения прекращен;

D6 = 1 – ключ замкнут (режимы матрицы датчиков) / ошибка двойного нажатия (режим клавиатуры с обнаружением ошибок);

D5 = 1 – ошибка переполнения;

D4 = 1 – ошибка переопустошения.
1   2   3   4   5   6   7

Похожие:

3 Организация памяти в микропроцессорных системах iconОрганизация памяти первого уровня
Память 1 уровня – сверхоперативная память. Основное назначение – повысить быстродействие оп, и следовательно процессора. Способы...
3 Организация памяти в микропроцессорных системах iconКурс лекций по дисциплине «Менеджмент» для слушателей цпкипк специальности...
Можно выделить три вида управления: в не живой природе (технических системах) управление станком, автомобилем, компьютером; в организмах...
3 Организация памяти в микропроцессорных системах iconПеречень вопросов на экзамен по остх
Организация жизнеобеспечения населения при авариях на коммунально-энергетических системах
3 Организация памяти в микропроцессорных системах iconГерметическое Искусство Памяти   Часть первая: Использование Памяти
Джордано Бруно2, повлекло за собой известность Искусства Памяти в узких академических кругах, мы не можем сказать того же самого...
3 Организация памяти в микропроцессорных системах iconПроблема памяти о войне
День памяти и скорби 22 июня. Но чем дальше в прошлое уходят события той войны, тем меньше остается людей, в чьей памяти эти события...
3 Организация памяти в микропроцессорных системах icon1. Эргономика изучает особенности и возможности функционирования...
Эргономика наука о системах. Она включает в себя такие понятия, как антропометрия, биомеханика, гигиена труда, техническая эстетика,...
3 Организация памяти в микропроцессорных системах iconРеферат На тему: «Кеш памяти микропроцессора». Работу
Доступ к данным в кэше идёт быстрее, чем выборка исходных данных из оперативной памяти (озу) и быстрее внешней памяти(жёсткий диск...
3 Организация памяти в микропроцессорных системах iconОграничение пучков лучей в оптических системах
В реальных оптических системах ограничение пучков лучей осуществляется оправами оптических деталей и специальными деталями – диафрагмами....
3 Организация памяти в микропроцессорных системах iconУрок Введение в технику тренировки памяти Урок Механизмы памяти
Настало утро, и золотые блики молодого-солнца заплясали на едва заметных волнах спокойного моря
3 Организация памяти в микропроцессорных системах iconУчреждение высшего профессионального образования «южный федеральный...
Вопрос Согласно модели аст дж. Андерсона, когнитивная система состоит из трех видов памяти. Что это за виды памяти?
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2015
контакты
userdocs.ru
Главная страница