1.2.5. Порты ввода/вывода
МК Z8 имеет до 32 линий ввода/вывода, сгруппированных в четыре восьмибитных порта Р0, Р1, Р2, Р3 (физическое наличие соответствующих выводов портов для каждой модели МК указано в табл.1.2). Порты размещены в адресном пространстве регистрового файла по адресам соответственно 00H, 01H, 02H, 03H.
Порты Р0, Р1 и Р2 построены по типовой структуре, показанной на рис. 1.9. Каждый порт имеет входной и выходной регистры, входной и выходной буферы. Выходные буферы -двухтактные, однако, могут программироваться как схемы с открытым стоком (Open Drain). Кроме того, выходные буферы могут быть переведены в малошумящий режим.
Рис. 1.9. Структурная схема портов P0, P1 и P2
Работа линий портов может программироваться на ввод или вывод: Р0 -потетрадно, Р1 -побайтно (т.е. целиком), а Р2 -побитно (см. табл. на рис. 1.9). Порты могут работать в режиме синхронного программного обмена, в режиме обмена с квитированием, в режиме стробируемого ввода/вывода.
При синхронном программном обмене ввод или вывод реализуется в момент исполнения команд чтения или записи регистра порта. При этом внешнее устройство должно быть постоянно готово к обмену.
Режим обмена с квитированием или "рукопожатием" (Handshake) заключается в том, что МК и внешнее устройство обмениваются сигналами (квитанциями) ГОТОВНОСТИ к обмену -RDY (Ready) и ДЕЙСТВИТЕЛЬНОСТИ ДАННЫХ -/DAV (Data is Available). Ввод и вывод с квитированием подробно поясняются временными диаграммами, рис.1.10 и 1.11.
Состояние 1. | Сигнал RDY имеет высокий уровень, что указывает MK принять данные. | |
Состояние 2. | Внешнее устройство помещает данные на выводы порта и активизирует сигнал /DAV. Это приводит к фиксации данных во входном регистре порта МК и генерирования запроса прерывания. | |
Состояние 3. | МК переводит выход RDY в низкое состояние, сигнализируя внешнему устройству, что данные зафиксированы. | |
Состояние 4. | Внешнее устройство возвращает линию /DAV в высокое состояние после получения низкого уровня сигнала RDY. | |
Состояние 5. | МК должен среагировать на запрос прерывания и прочитать содержимое порта для завершения последовательности квитирования. На линии RDY устанавливается высокий уровень тогда и только тогда, когда порт уже прочитан и /DAV имеет высокий уровень. Это возврощает интерфейс в его начальное значение. |
Рис. 1.10. Ввод с квитированием
Состояние 1. | Вход RDY имеет высокий уровень, что указывает на готовность внешнего устройства к приему данных. | |
Состояние 2. | МК записывает данные в регистр порта для инициализации передач данных. Запись в порт новых данных и переход выхода /DAV в состояние низкого уровня происходит только тогда, когда RDY имеет высокий уровень. | |
Состояние 3. | Внешнее устройство делает уровень сигнала RDY низким после фиксации данных. Низкий уровень RDY вызывает генерирование запроса прерывания. МК может уже записать новые данные в ответ на низкий уровень DRY, однако эти данные не выводятся до состояния 5. | |
Состояние 4. | Уровень выхода /DAV МК становится высоким в ответ на переход выхода RDY в состояние низкого уровня. | |
Состояние 5. | Уровень выхода /DAV остается высоким, внешнее устройство может установить высокий уровень RDY, что возвращает интерфейс в его начальное состояние. |
Рис. 1.11. Вывод с квитированием
Для приема и передачи сигналов квитирования используются соответствующие линии ввода/вывода порта Р3 (см. табл. на рис.1.9). Выбор направления обмена с квитированием осуществляется в соответствии с направлением, запрограммированным для старшей тетрады порта Р0 и для старшего бита порта Р2.
Режим стробируемого ввода/вывода реализуется как частный случай обмена с квитированием по схеме рис. 1.12.
Рис. 1.12. Стробируемый ввод/вывод
а) вывод; б) ввод.
Дополнительно к основным функциям порты P0 и P1 могут использоваться для интерфейса внешней памяти (Р0 -старшие разряды адреса A8...A15, P1 -мультиплексированная шина адреса/данных AD0...AD7), а порт P2 -для последовательного интерфейса SPI в модели 06 (P20 -вход DI, P27 -выход D0).
Схемотехника портов P0, P1, P2 поясняется рис. 1.13. Двухтактный буферный выходной усилитель выполнен на комплементарных МОП-транзисторах VT1 и VT2. Отключение транзистора VT1 переводит буферный усилитель в конфигурацию с открытым стоком. Входной буфер содержит автофиксатор и триггер Шмитта, который обеспечивает формирование входного сигнала.
Рис. 1.13. Схемотехника входного и выходного буферов
Автофиксатор предназначен для фиксации потенциала незадействованного входа на уровне допустимых КМОП потенциалов, близких к потенциалам шины питания VCC или общей шины GND. Этим исключается переход пары входных транзисторов в активный режим и резкое возрастание потребляемого тока. Автофиксатор представляет собой бистабильную ячейку (триггер), выполненную на двух замкнутых в кольцо инверторах, управляемую по выходу. Шунтирующее сопротивление автофиксатора -не менее 500 кОм. В ряде случаев, когда входы задействованы, шунтирующее действие автофиксатора нежелательно. Поэтому в некоторых модификациях МК предусмотрен специальный бит отключения автофиксаторов (Z86C30/31/40).
Порт Р3 -особый. Первые четыре его линии P30...P33 предназначены для ввода, вторые -P34...P37 -для вывода. Структурная схема порта и таблица назначения его выводов в различных режимах приведены на рис. 1.14. Независимо от выбранного режима с входами порта P3 связаны соответствующие запросы прерывания, указанные в таблице. Физическое наличие выводов порта P3 для разных моделей МК см. в табл. 1.2.
Рис. 1.14. Структурная схема порта P3
Вывод P3 | Аналоговый режим | Квитирование | SPI | Таймеры | Внешняя память | Прерывания |
P30 | IRQ3 | |||||
P31 | AN1 | /DAV2/RDY2 | TIN | IRQ2 | ||
P32 | AN2 | /DAV0/RDY0 | IRQ0 | |||
P33 | REF | /DAV1/RDY1 | IRQ1 | |||
P34 | AN1-OUT | RDY1/DAV1 | SK | /DM | ||
P35 | AN2-OUT* | RDY0/DAV0 | /SS | |||
P36 | RDY2/DAV2 | TOUT | ||||
P37 | AN2-OUT |
Примечание: *только для моделей 03 и 06.
Порт P3 содержит четырехбитные входной и выходной регистры, входной и выходной буферы. Наличие четырехбитного буфера возврата позволяет при чтении порта P3 контролировать данные на выходных линиях. Запись информации в младшую тетраду порта P3 не имеет эффекта.
Схемотехника порта P3 иллюстрируется рис. 1.15. Дополнительной особенностью МК является наличие двух встроенных аналоговых компараторов AN1 и AN2, позволяющих решать вопросы сравнения аналоговых сигналов, квантования сигналов, аналого-цифрового преобразования. Входы и выходы порта P3 используются для обслуживания аналоговой схемы. Переключение входов в аналоговый режим осуществляется битом D1 регистра режима порта 3 PЗM, а выходов -битом D0 регистра управления портами PCON. Входы P31 и P32 используются соответственно для неинвертирующих входов компараторов, а вход P33 является входом опорного напряжения REF, общего для AN1 и AN2.
Рис. 1.15. Схемотехника порта P3
Управление работой портов реализуется путем записи информации в управляющие регистры: регистр режимов портов P0 и P1 -P01M, регистр режима порта P2 -P2M, регистр режима порта P3 -P3M. Все эти регистры находятся в рабочей группе F стандартного РФ. В моделях 03, 06, 30, 31 и 40, кроме того, для управления режимами работы выходных буферов портов (режим "открытый сток" и малошумящий режим) задействован регистр управления портами PCON, расположенный в расширенной группе регистров F. Все эти регистры предназначены только для записи. Результат чтения этих регистров будет равен FFH.
Назначение разрядов этих регистров и их состояние после сброса МК для разных моделей МК поясняется рис. 1.16 -1.19.
Рис. 1.16. Регистр режимов портов P0 и P1
Рис. 1.17. Регистр режима порта P2
Рис. 1.18. Регистр режима порта P3
Рис. 1.19. Регистр управления портами PCON
Разрабатывая прикладную программу МК, необходимо предусматривать в ней процедуру инициализации портов ввода/вывода до выполнения операций обмена данными с внешними устройствами.
0 комментариев