
Рис. 5.16.Структурная схема порта ввода
Для отображения шинного формирователя порта ввода только в один адрес в пространстве адресов микропроцессорного устройства совместно с портом ввода используют дешифратор адреса. Выделяемый им адрес шинного формирователя порта ввода называют адресом регистра данных порта ввода.
Теперь обратите внимание, что из порта ввода возможно только чтение, а в порт вывода возможна только запись. Поэтому для портов ввода и вывода можно отводить один и тот же адрес в адресном пространстве микропроцессора.
Порты выпускаются в качестве универсальных микросхем, но на заводе, где производятся эти микросхемы, неизвестно, сколько на самом деле потребуется линий ввода информации и сколько потребуется линий вывода информации. Количество же выводов у микросхемы ограничено. Поэтому в одной универсальной микросхеме размещаются и порт ввода, и порт вывода информации. Настройку линий порта на ввод или вывод информации предоставляют конечному пользователю. Такие порты называются портами ввода-вывода информации. Структурная схема параллельного порта ввода-вывода приведена на рис. 5.17.

Рис. 5.17.Структурная схема параллельного порта ввода-вывода.
Для подключения портов ввода или портов вывода информации к внешним выводам микросхемы в схеме, приведенной на рис. 5.17, используется коммутатор. Управляет этим коммутатором еще один (внутренний) параллельный порт вывода, регистр данных которого называется регистром управления параллельного порта ввода-вывода. Регистру управления и регистрам данных порта ввода-вывода обычно назначаются соседние адреса. Следует отметить, что обычно то, что регистр управления подключается через внутренний параллельный порт, не указывается, и вся схема, сколько бы в ней ни присутствовало портов, называется портом ввода-вывода.
В некоторых микропроцессорах для портов ввода-вывода выделяется отдельное адресное пространство. В этом случае для записи в порт и для чтения из порта используются отдельные сигналы чтения и записи. Чаще всего они называются "IOWR#" и "IORD#".
Параллельные порты, предназначенные для обмена данными между компьютерами, или компьютером и принтером, устроены несколько иначе. Основным отличием этого вида обмена является большой объем передаваемых данных: не один или даже несколько байтов информации, а длинные последовательности байтов, передаваемые через один и тот же параллельный порт. Дополнительно вводится специальный сигнал синхронизации CLK, который позволяет отличать один байт от другого.
Для формирования такого сигнала можно воспользоваться вторым параллельным портом и получить его программным способом, но обычно этот сигнал формируется аппаратно из сигнала "WR#" при записи очередного байта в параллельный порт вывода. Временная диаграмма обмена данными через параллельный порт приведена на рис. 5.18.

Рис. 5.18.Временная диаграмма работы параллельного порта
В данной книге приведены только основы работы параллельного порта.
Кому интересно познакомиться более детально с особенностями работы параллельных портов, может обратиться к специализированной литературе [14–17].
Принципы построения последовательного порта
Последовательные порты предназначены для обмена информацией между микропроцессорами, а также между микропроцессорами и внешними устройствами, если критично количество соединительных проводов. В настоящее время широко используются два вида последовательных портов:
- синхронные последовательные порты;
- асинхронные последовательные порты.
Синхронные последовательные порты
При рассмотрении работы параллельного порта в режиме обмена данными с другим компьютером или принтером уже рассматривался режим последовательной передачи байтов. В последовательном порте режим последовательной передачи применяется не только к байтам, но и к отдельным битам внутри байта. В этом случае для передачи данных достаточно только одного провода. Передаваемая и принимаемая информация обычно представляется в виде однобайтовых или многобайтовых слов. Вес каждого бита в слове различен, поэтому кроме битовой синхронизации, аналогичной байтовой синхронизации для параллельного порта, требуется кадровая синхронизация. Она позволяет однозначно определять номер каждого бита в передаваемом слове. Временная диаграмма передачи кадра по синхронному последовательному порту приведена на рис. 5.19.

Рис. 5.19.Временная диаграмма передачи одного кадра двоичной информации по последовательному порту
Такая временная диаграмма характерна для синхронных последовательных портов, которые используются чаще всего в сигнальных процессорах для обмена информацией с кодеками речи, аналого-цифровыми и цифроаналоговыми преобразователями. На временной диаграмме показаны два синхросигнала: тактовой синхронизации CLK и кадровой синхронизации FS. Кадровый синхросигнал формируется аппаратно из сигнала WR# при записи очередного байта в параллельный порт вывода. Полярность сигналов синхронизации зависит от конкретного типа применяемых микросхем, поэтому в большинстве последовательных портов возможна настройка полярности сигналов синхронизации.
Упрощенная схема синхронного последовательного порта приведена на рис. 5.20. В состав последовательного порта входит универсальный последовательно-параллельный регистр, подключенный к системной шине. Он обеспечивает преобразования параллельного кода, поступающего с системной шины в последовательный. При обращении центрального процессора к последовательному порту вырабатывается сигнал записи в последовательный порт WR#, который через дешифратор подается на вход параллельной записи V универсального регистра. Этот же сигнал используется в качестве кадрового синхросигнала FS. Тактовый синхросигнал CLK, вырабатываемый отдельным генератором, подается на вход последовательного сдвига С универсального регистра, входящего в состав порта.

Рис. 5.20.Упрощенная схема синхронного последовательного порта
Количество передаваемых в одном кадре битов может меняться от восьми до тридцати двух. В качестве примера использования синхронного последовательного порта на рис. 5.21 приведена схема подключения аналого-цифрового преобразователя AD7890 фирмы Analog Devices к синхронному последовательному порту сигнального процессора ADSP-2101 той же фирмы.

Рис. 5.21.Схема подключения кодека к синхронному последовательному порту
В синхронном последовательном порте информация передается непрерывно, что, конечно, удобно для устройств с непрерывным потоком информации, как, например, в кодеках речи. Но существуют устройства, к которым необходимо обращаться только периодически, как, например, синтезаторы частоты, микросхемы приемников, блоков цветности телевизоров, микросхем памяти данных и многие другие устройства. В этих случаях используются другие виды синхронных последовательных портов, такие как SPI и I2С. Временная диаграмма сигналов SPI-интерфейса приведена на рис. 5.22.