СОДЕРЖАНИЕ
2. Программная модель микропроцессора 8086
2.4. Способы задания операндов команды
3. Основные понятия языка ассемблера
3.2. Директивы определения данных
4. Сегментированная модель памяти
4.3. Общая структура программы
5.1. Соглашению по описанию команд
5.6. Команды организации циклов
5.11. Команды управления микропроцессором
7. Разработка одномодульной программы
7.1. Трансляция и компоновка программы
8. Разработка многомодульных программ
8.1. Принципы разработки модулей
8.2. Расширенное применение директивы сегментации
Программирование микропроцессорных устройств
10. Программирование системного таймера
10.1. Описание таймера-счетчика 8254
10.3. Структура регистров таймера
11. Программирование контроллера прерываний
11.1. Механизм обработки прерываний
11.4. Контроллер прерываний 8259
11.5. Идентификация прерываний
11.6. Прерывания bios и ms-dos
12. Программирование параллельного порта
12.2. Работа с параллельным портом на низком уровне
12.3. Стандартные средства работы с параллельным портом
13. Программирование последовательного порта
13.1. Основы последовательной передачи данных
13.2. Последовательный интерфейс rs-232c
13.3. Универсальный асинхронный приемо-передатчик 8250
13.4. Порты асинхронного адаптера
13.5. Стандартные средства программирования последовательного порта
В начале передачи байта данных сигнал на линии переходит в 0, отмечая стартовый бит. Затем следуют восемь (или меньше) битов данных в виде набора высоких и низких уровней. Последний бит данных может сопровождаться битом четности, используемым для обнаружения ошибок, а затем в последовательность включаются один или более стоповых битов, которым соответствует высокий уровень.
Стоповые биты начинают отмеченное состояние, которое будет сохраняться до тех пор, пока не начнется передача следующего байта данных: число стоповых битов существенно, поскольку они устанавливают минимальное время, которое должно пройти до следующего стартового бита.
Таким образом, информационный кадр включает стартовый бит, слово (5-8 бит), бит четности и стоповый бит (рис. 48). Длина слова образует основную единицу данных. Хотя привычно работать с пакетами по 8 бит, для стандартных файлов ASCII (в которых все символы имеют коды, не превышающие 128) достаточно 7 бит.

Рис. 48. Формирование информационного кадра.
В отличие от асинхронного режима передачи данных синхронный режим предполагает постоянную активность канала связи. Посылка начинается с передачи синхробайта, за которым вплотную следует последовательность передаваемых бит. Если у передатчика нет данных, то он заполняет паузу непрерывной передачей старт-бит. При синхронном обмене можно добиться больших скоростей обмена, т.к. не требуется предавать старт-стопные биты и бит четности (в асинхронном режиме на каждые 8 бит данных приходится по 3-4 служебных бита).
Внешняя синхронизация может обеспечиваться за счет использования отдельной линии для передачи сигнала синхронизации, либо за счет применения самосинхронизирующихся методов кодирования данных (манчестерский код, NRZ код), при использовании которых синхросигнал выделяется приемником из потока принимаемых данных. Синхронный режим используется при обмене на небольшие расстояния.
Описанный процесс передачи является однонаправленным. Канал связи, обеспечивающий передачу данных только в одном направлении, являются симплексными. Однако большинство систем связи предназначено для информационного обмена. Канал связи, позволяющий передавать данные в обоих направлениях, называется полудуплексным. Направление информационного потока в таком канале может изменяться на обратное с помощью некоторого заранее оговоренного сигнала.
Канал связи, позволяющий передавать информацию в обоих направлениях одновременно, называется дуплексным. Система связи является истинно дуплексной, если она обеспечивает одинаковые скорости передачи сигналов в обоих направлениях. В противном случае имеется дуплексная система с односторонним первичным каналом в одном направлении и односторонним вторичным каналом в другом. Современные системы связи используют мультиплексные каналы, обеспечивающие одновременную передачу множества сигналов независимо от направления.
Асинхронный режим передачи данных в IBM PC совместимых устройствах реализуется с помощью COM порта с использованием протокола RS-232C. Интерфейс RS-232C не обеспечивает гальванической развязки устройств, и сигнал передается относительно общего провода (схемной земли). Внешние устройства подключаются к порту через разъем DB25P (25 выводов) или DB9P (9 выводов) (табл. 103).
Табл. 103. Линии интерфейса RS-232C.
|
Сигнал |
DB25P |
DB9P |
Напр. |
Назначение |
|
PG |
1 |
- |
- |
Защитное заземление. Соединяется с корпусом устройства и экраном кабеля. |
|
SG |
7 |
5 |
- |
Сигнальное заземление (относительно нее действуют линии сигналов). |
|
TD |
2 |
3 |
OUT |
Выход передатчика; передаваемые данные (Transmitted Data). |
|
RD |
3 |
2 |
IN |
Вход приемника; принимаемые данные (Received Data). |
|
RTS |
4 |
7 |
OUT |
Запрос для передачи (Request to send, RTS). Состояние "включено" уведомляет модем о том, что у терминала есть данные для передачи. |
|
CTS |
5 |
8 |
IN |
Сброс для передачи (Clear to Send, CTS). Вход разрешения передачи данных терминалу. Состояние «выключено» аппаратно запрещает передачу данных. |
|
DTR |
20 |
4 |
OUT |
Готовность выходных данных (Data Terminal Ready, DTR). |
|
DSR |
6 |
6 |
IN |
Вход сигнала готовности от аппаратуры передачи данных (Data Set Ready, DSR). |
|
DCD |
8 |
1 |
IN |
Детектор принимаемого с линии сигнала (Data Carrier Detect, DCD). Вход сигнала обнаружения несущей удаленного модема. |
|
RI |
22 |
9 |
IN |
Индикатор вызова (Ring Indicator, RI). |
Уровни напряжения на линиях разъема составляют для логического нуля -15 вольт, для логической единицы +15В. Логической единице на входе приемника соответствует уровень напряжения -3..-12В. Для линий управляющих сигналов такое состояние называют «ON», для линий последовательных данных – «MARK». Логическому «0» соответствует напряжение +3..+12В («OFF» или «SPACE»).
Состояние на выходе приемника изменяется только при пересечении напряжением порога +3 или -3В. Уровни сигналов на выходах передатчика должны лежать в диапазоне +5..+12В или -5..-12В. Присоединение и отключение устройств с автономным питанием должно производиться при отключенном питании, иначе разность невыровненных потенциалов устройств в момент коммутации может превысить допустимые пределы и вывести из строя микросхемы порта.
Управление передачей данных может выполняться аппаратными либо программными протоколами. Опишем несколько широко используемых протоколов.
Аппаратный протокол управления RTS/CTS использует сигнал CTS, который позволяет остановить передачу данных, если приемник не готов к работе. Байт, передаваемый на момент прихода CTS, будет передан, однако с момента окончания его передачи передатчик переходит к ожиданию готовности приемника (снятие CTS). Протокол обеспечивает быструю реакцию передатчика на состояние приемника и позволяет организовать обмен, не прибегая к буферизации.
Протокол применяется в принтерах и для соединения компьютеров. В случае с принтером линия CTS ПК должна соединяться с линией RTS принтера. При соединении двух ПК необходимо перекрестное соединение CTS-RTS. Если аппаратный протокол обмена не используется, то на линию CTS ПК необходимо подать сигнал «включено», что обычно достигается соединением CTS ПК с его же RTS перемычкой на разъеме.
Аппаратный протокол DTR/DSR подобен RTS/CTS, но использует другую пару сигналов.
Программный протокол XON/XOFF реализует двунаправленный канал обмена. Протокол предполагает наличие у приемника буфера, т.к. время реакции передатчика может оказаться достаточно большим. Когда буфер заполняется до определенного уровня (80-90%), он передает на приемник команду XOFF (байт с кодом 13h). Приняв команду, передатчик прекращает передачу и переходит в состояние ожидания до прихода команды XON (байт с кодом 11h), по которому передатчик возобновит передачу.
Программный протокол ACK. При обмене по данному протоколу для получения байта данных приемник посылает передатчику команду ACK (байт с кодом 6h). В ответ передатчик посылает приемнику один байт (или пакет байт определенного размера).