Справочное пособие по цифровой электронике
Шрифт:
Когда микросхемы вставлены в гнезда, целесообразно заменить подозреваемую микросхему на заведомо исправную (не забудьте при этом выключить питание и отсоединить все внешние схемы). Как и в случае с полупроводниковой памятью, рекомендуется смонтировать гнездо для микросхемы, если его нет.
Обнаружить неисправность в программируемых микросхемах последовательного ввода-вывода гораздо труднее. Здесь также рекомендуется прежде всего проверить условия со стороны ЦП, т. е. различные сигналы шины управления и выбора микросхемы. Убедившись в том, что микросхема выбирается, можно проверить состояния линий RTS и CTS (при выводе) и
Полезно, также выполнить короткую тест-программу порта, например цикл, который непрерывно выводит в порт один и тот же байт. Отметим, однако, что последовательный интерфейс с RS-232C требует сигналов квитирования, поэтому очень важно проверить драйверы и приемники линии связи, разъемы и кабели, а также само периферийное устройство, прежде чем менять микросхему последовательного ввода-вывода.
Глава 8
Интерфейсы
Рассмотрим теперь два важнейших способа соединения микропроцессорных систем и периферийных устройств: хорошо известный (но часто довольно плохо понимаемый) последовательный интерфейс RS-232C и менее известную универсальную приборную шину GPIB (IEEE-488).
Несомненно, интерфейс RS-232C/CCITT V24 является наиболее широко распространенной стандартной последовательной связью между микрокомпьютерами и периферийными устройствами. Интерфейс, определенный стандартом Ассоциации электронной промышленности (EIA), подразумевает наличие оборудования двух видов: терминального DTE и связного DCE.
Чтобы не составить себе неправильного представления об интерфейсе RS-232C, необходимо отчетливо понимать различия между этими видами оборудования. Терминальное оборудование, например микрокомпьютер, может посылать и (или) принимать данные по последовательному интерфейсу. Оно как бы оканчивает (terminate) последовательную линию. Связное же оборудование понимается как устройства, которые могут упростить последовательную передачу данных совместно с терминальным оборудованием. Наглядным примером связного оборудования служит модем (модулятор-демодулятор). Он оказывается соединительным звеном в последовательной цепочке между компьютером и телефонной линией (рис. 8.1).
Рис. 8.1. Типичная последовательная линия связи между микрокомпьютерами:
1 — закрепленный 25-контактный разъем типа D (штырьки); 2 — съемный 25-контактный разъем типа D (отверстия); 3, 9 — кабель интерфейса RS-232C; 4 — съемный 25-контактный разъем типа D (штырьки); 5 — закрепленный 25-контактный разъем типа D (отверстия); 6 — телефонная линия; 7 — закрепленный 25-контактный разъем типа D (отверстия); 8 — съемный 25-контактный разъем типа D (штырьки); 10 — съемный 25-контактный разъем типа D (отверстия); 11 — закрепленный 25-контактный разъем типа D (штырьки)
К сожалению, различие между терминальным и связным оборудованием довольно расплывчато, поэтому возникают некоторые сложности в понимании того, к какому типу оборудования относится то или иное устройство.
Рассмотрим, например, ситуацию с принтером. К какому оборудованию его отнести? Еще вопрос: как связать два микрокомпьютера, когда они оба действуют как терминальное оборудование?
Для ответа на эти вопросы следует рассмотреть физическое соединение устройств.
Произведя незначительные изменения в линиях интерфейса RS-232C, можно заставить связное оборудование функционировать как терминальное. Чтобы разобраться в том, как это сделать, нужно проанализировать
функции сигналов интерфейса RS-232C.Сигналы интерфейса RS-232C. По-видимому, читатели знакомы с видом «стандартного» последовательного порта RS-232C, который всегда имеет форму 25-контактного разъема типа D.
Терминальное оборудование обычно оснащено разъемом со штырьками, а связное — разъемом с отверстиями (но могут быть и исключения).
Разводка контактов разъема RS-232C показана на рис. 8.2, а функции сигнальных линий приведены в табл. 8.1.
Рис. 8.2. Назначение линий 25-контактного разъема типа D для интерфейса RS-232C
Примечания:
1. Линии (контакты) 11, 18 и 25 обычно считаются незаземленными. Приведенные в таблице функции относятся к спецификациям Bell 113В и 208А.
2. Линии 9 и 10 используются для контроля отрицательного (MARK) и положительного (SPACE) уровней напряжения.
3. Чтобы избежать путаницы между RD (Read — считывать) и RD (Received Data — принимаемые данные), будем пользоваться обозначениями RXD и TXD, а не RD и TD.
4. Иногда отдельные фирмы используют запасные линии RS-232C для контроля или специальных функций, относящихся к конкретной аппаратуре (по неиспользуемым линиям подают даже питание и аналоговые сигналы, так что будьте внимательны).
Классы сигналов. Сигналы интерфейса RS-232C подразделяются на следующие классы.
Последовательные данные (например, TXD, RXD). Интерфейс RS-232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т. е. одновременно осуществляют передачу и прием информации.
Управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования — это средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактических передачи или приема данных по последовательной линии связи.
Сигналы синхронизации (например, ТС, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации, которые упрощают синхронизм принимаемого сигнала в целях его декодирования.
На практике вспомогательный канал RS-232C применяется редко, и в асинхронном режиме из 25 линий обычно используются только девять линий (контактов), которые приведены в табл. 8.2.
В большинстве систем, содержащих интерфейс RS-232C, данные передаются асинхронно, т. е. в виде последовательности пакетов данных. Каждый пакет содержит один символ кода ASCII (американский стандартный код для обмена информацией), причем информация в пакете достаточна для его декодирования без отдельного сигнала синхронизации.
Символы кода ASCII представляются семью битами, например буква А имеет код 1000001. Чтобы передать букву А по интерфейсу RS-232C, необходимо ввести дополнительные биты, обозначающие начало и конец пакета. Кроме того, желательно добавить лишний бит для простого контроля ошибок по паритету (четности).
Наиболее широко распространен формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Эквивалентный ТТЛ-сигнал при передаче буквы А показан на рис. 8.3.
<