(I - входной сигнал компьютера, О - выходной сигнал).
Назначение сигналов следующее.
FG - защитное заземление (экран).
-TxD - данные, передаваемые компьютером в последовательном коде (логика отрицательная).
-RxD - данные, принимаемые компьютером в последовательном коде (логика отрицательная).
RTS - сигнал запроса передачи. Активен во все время передачи.
CTS - сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.
DSR - готовность данных. Используется для задания режима модема.
SG - сигнальное заземление, нулевой провод.
DCD - обнаружение несущей данных (детектирование принимаемого сигнала).
DTR - готовность выходных данных.
RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.
Наиболее часто используются трех- или четырехпроводная связь (для двунаправленной передачи). Схема соединения для четырехпроводной линии связи показана на рис. 4
Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.
Формат передаваемых данных показан на рис. 5. Собственно данные (5, 6, 7 или 8 бит) сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми (допустимое расхождение - не более 10%). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.
Рисунок 4 Схема 4-проводной линии связи для RS-232C.
Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рис. 6). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю - высокий уровень).
Для подключения произвольного УС к компьютеру через RS-232C обычно используют трех- или четырехпроводную линию связи (см. рис. 4), но можно задействовать и другие сигналы интерфейса.
Рисунок 5 Формат передаваемых данных
Рисунок 6 Уровни сигналов RS-232C на передающем и принимающем концах линии связи.
Обмен по RS-232C осуществляется с помощью обращений по специально выделенным для этого портам СОМ1 (адреса 3F8h...3FFh, прерывание IRQ4), COM2 (адреса 2F8h...2FFh, прерывание IRQ3), COM3 (адреса 3E8h...3EFh, прерывание IRQ10), COM4 (адреса 2E8h...2EFh, прерывание IRQ11). Форматы обращений по этим адресам можно найти в многочисленных описаниях микросхем контроллеров последовательного обмена UART (Universal Asynchronous Receiver Transmitter), например, i8250, KP580BB51.
Ввиду приведенных выше достоинств и недостатков различных способов подключения было принято решение остановиться на использовании именно последовательного интерфейса RS-232C.
При использовании интерфейса RS-232C задача сопряжения объекта обмена информацией с компьютером обычно формулируется следующим образом: требуется обеспечить связь с удаленным контроллером, обслуживающим технологическую или лабораторную установку. Именно этот контроллер играет в данном случае роль УС.
Чаще всего такой контроллер представляет собой микроЭВМ, имеющую собственную магистраль и набор внешних устройств, осуществляющих передачу входных сигналов с разнообразных датчиков и выдачу управляющих воздействий на органы управления. Для нас существенным моментом является наличие в контроллере процессора, обрабатывающего информацию, представленную в параллельной форме, и магистрали, обеспечивающей взаимодействие различных его узлов. Если же требуется организовать сопряжение с устройством, не имеющим собственного интеллекта, задача сразу же существенно усложняется и часто становится практически невыполнимой. Поэтому в таком случае стоит подумать о выборе других путей сопряжения.
Этапы преобразования сигналов интерфейса RS-232C на пути от компьютера к микропроцессору удаленного контроллера достаточно очевидны и проиллюстрированы рис. 7. Здесь и далее мы считаем, что для сопряжения через RS-232C используется наиболее распространенная простейшая 4-проводная линия связи.
Блок преобразователей уровня обеспечивает электрическое согласование уровней сигналов последовательного интерфейса, формируемых контроллером, входящим в состав компьютера (±12 В), с уровнями сигналов, присутствующими в микропроцессорной системе (здесь и далее предполагаем, что в микропроцессорной системе действуют уровни ТТЛ).
Рисунок 7 Организация сопряжения через интерфейс RS-232C.
Блок преобразователя кода переводит последовательное представление информации в параллельное и наоборот, осуществляя распознавание начала и конца посылки, синхронизацию приема-передачи битов кадра, слежение за наличием ошибок, информирование о готовности к выполнению операций и т. п.
Интерфейс шины обеспечивает сопряжение преобразователя кода с локальной магистралью микропроцессорной системы, осуществляя двунаправленную передачу данных в соответствии с алгоритмами и временными соотношениями, принятыми в ней.
Для преобразования уровня сигналов считается целесообразным применение интерфейсной микросхемы фирмы MAXIM. Она содержит преобразователь напряжения +5В в напряжение +10В (генератор + умножитель напряжения), инвертор (преобразующий напряжение +10В в –10В) и собственно преобразователи уровня сигналов последовательного интерфейса. Большинство таких микросхем требуют дополнительных элементов (необходимы внешние конденсаторы), что не является чрезмерной платой за преимущества их применения.
Наиболее просто проблема разрешается в том случае, если в качестве центрального процессора удаленного контроллера применена однокристальная микроЭВМ, уже содержащая Универсальной асинхронный приемопередатчик (УАПП). В качестве примера такой микроЭВМ, можно использовать микросхему КР1816ВЕ51. Построение преобразователя кода в данном случае сводится к задействованию встроенного ресурса в соответствии со спецификациями на примененную микросхему.
Однокристальная микроЭВМ (ОМЭВМ) содержит встроенное ОЗУ памяти данных емкостью 128 Байт с возможностью расширения общего объема оперативной памяти данных до 64 КБайт за счет использования внешних микросхем ОЗУ.
Условное графическое обозначение ОМЭВМ показано на рис. 8, а назначение выводов приведено в табл. 2.
№ вывода | Обозначение | Назначение | Тип |
1 – 8 | P1.0 – P1.7 | 8-разрядный двунаправленный порт Р1. Вход адреса А0 – А7 при проверке внутреннего ПЗУ. | Вход/выход |
9 | RST | Сигнал общего сброса | Вход |
10 – 17 | P3.0 – P3.7 | 8-разрядный двунаправленный порт Р3 с дополнительными функциями. | Вход/выход |
P3.0 | Последовательные данные приемника – RxD. | Вход | |
P3.1 | Последовательные данные передатчика TxD. | Выход | |
P3.2 | Вход внешнего прерывания 0 – INT0 | Вход | |
P3.3 | Вход внешнего прерывания 1 – INT1 | Вход | |
P3.4 | Вход таймера-счетчика 0 – T0 | Вход | |
P3.5 | Вход таймера-счетчика 1 – Т1 | Вход | |
P3.6 | Выход стробирующего сигнала при записи во внешнюю память данных WR | Выход | |
P3.7 | Выход стробирующего сигнала при чтении из внешней памяти данных RD | Выход | |
18 | XTAL1 | Вывод для подключения кварцевого резонатора | Выход |
19 | XTAL2 | Вывод для подключения кварцевого резонатора | Вход |
20 | GND | Общий вывод | |
21 – 28 | P2.0 – P2.7 | 8-разрядый двунаправленный порт Р2. Выход адреса А8 – А15 в режиме работы с внешней памятью. В режиме проверки внутреннего ПЗУ выводы Р2.0 – Р2.6 используются как вход адреса А8 – А14. Вывод Р2.7 – разрешение чтения внутреннего ПЗУ – Е | Вход/выход |
29 | PSE | Разрешение программной памяти | Выход |
30 | ALE | Выходной сигнал разрешения фиксации адреса | Выход |
31 | EA | Блокировка работы с внутренней памятью | Вход |
32 – 39 | P0.7 – P0.0 | 8-разрядный двунаправленный порт Р0. Шина адреса/данных при работе с внешней памятью. Выход данных D7 – D0 в режиме проверки внутреннего ПЗУ. | Вход/выход |
40 | Ucc | Вывод питания от источника напряжения +5В. |
Таблица 2 Назначение выводов процессора МК51