Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 381

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 375 376 377 378 379 380 < 381 > 382 383 384 385 386 387 .. 528 >> Следующая

или IDLE-символы. Тип пакета определяется 8-битным служебным символом,
который передается сразу за синхросимволами. С помощью этих символов
осуществляется автоматическая синхронизация сообщений. Всего выделяют три
типа пакета:
1) информационное сообщение (data message) служит для передачи данных
и отмечается символом SOH (формат 0x81);
SYN1 SYN2 SOH COUNT F RESP NUM ADDR CRC1 DATA CRC2
SYN1 SYN2 ENQ MESSAGE TYPE ADDR CRC3
Data
Message
Control
Message
SYN1 SYN2 DLE COUNT
F
FILL FILL ADDR CRC1 DATA CRC2
Transparent
Message
Рис. 5.148. Типы кадров DDCMP-протокола
662
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
2) управляющее сообщение (control message) служит для передачи
управляющей и контрольной информации и отмечается символом ENQ (формат
0x05);
3) вспомогательное сообщение (transparent message) служит для передачи
служебной информации и команд управления и отмечается символом DLE
(формат 0x90).
Поле данных является байт-ориентированным. Полная длина поля данных в
байтах указана в поле COUNT. Суммарная длина полей COUNT+F(Flag) равна 2
байтам.
Поле F (Flag) имеет размер 2 бита и содержит флаги соединения, которые
используются для управления монопольным использованием соединения и
синхронизацией сообщения. Назначение бит:
• bit 0 - флаг быстрой синхронизации (QSYNC флаг), используемый, чтобы
сообщить приемнику, что после этого сообщения должна следовать повторная
синхронизация; быстрый синхронизирующий флаг уменьшает длину
синхронизирующих последовательностей на синхронных каналах;
• bit 1 - флаг выбора (флаг SELECT); используется для управления
монопольным использованием передачи на многоточечных и полудуплексных
каналах; изменяет направление передачи в полудуплексных каналах; в
multipoint-режиме разрешает передавать или требует остановить передачу у
выбранного узла.
Заголовка любого пакета в DDCMP имеет фиксированную длину, поэтому в
состав некоторых пакетов введен байт заполнитель FILL со значением "0".
Для повышения надежности передачи информации используется механизм
нумерации пакетов, аналогичный механизму, который применяется в HDLC-
контроллере. Для нумерации передаваемых пакетов используется 8-битное
поле NUM, а для нумерации подтверждаемых пакетов - 8-битное поле RESP.
Поле Message type определяет тип управляющего сообщения и обычно состоит
из четырех полей (табл. 5.89).
Таблица 5.89
Типы управляющих сообщений DDCMP
Поле 1 Поле 2 Поле 3 Поле 4 Тип сообщения
ACKTYPE ACKSUB + F RESP FILL АСК-сообщение
NAKTYPE REASON + F RESP FILL NAK-сообщение
REPTYPE REPSUB + F FILL NUM REP-сообщение
STRTTYPE STRTSUB + F FILL FILL STR-сообщение
STCKTYPE STCKSUB + F FILL FILL STACK-сообщение
АСК-сообщение (Acknowledge Message) используется, чтобы подтвердить
правильное получение пронумерованных информационных сообщений с номерами
до RESP. ACKTYPE - тип сообщения АСК со значением "1", ACKSUB - подтип
АСК со значением "0", F - флаги соединения, FILL - байт заполнитель со
значением "0".
NAK-сообщение (Negative Acknowledge Message) используется, чтобы передать
информацию об ошибке от приемника данных передатчику данных. Причина
ошибки указывается в поле подтипа REASON. Сообщение NAK выполняет две
функции: подтверждение предварительно полученных сообщений с номерами до
RESP и об ошибке в RESP+1 сообщении и передача передатчику информации об
ошибке. NAKTYPE - тип сообщения NAK со значением "2", REASON - причина
ошибки, F - флаги соединения, FILL - байт заполнитель со значением "0".
663
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
REP-сообщение (Reply to Message Number) используется, чтобы запросить о
состоянии определенного полученного сообщения с номером NUM от приемника
данных. Оно обычно высылается, когда master-станция передала
информационные сообщения и не получила ответ за некоторое фиксированное
время. Ответом на REP-пакет является или АСК- или NAK-ответ в зависимости
от того, получила ли slave-станция (приемник) или не получила все
сообщения, предварительно посланные master-станцией (передатчиком).
REPTYPE - тип сообщения REP со значением "3", REPSUB - подтип REP со
значением "О", F-флаги соединения, FILL - байт заполнитель со значением
"О".
Стартовое сообщение (STRT - Start Message) не используется, чтобы
установить соединение и синхронизацию или при его реинициализации.
Функционирует совместно с сообщением подтверждения начала STACK. При
передаче этого сообщения сбрасываются счетчики нумерации сообщения в
передатчике и в адресованном приемнике. STRTTYPE - тип сообщения STRT со
значением "6", STRTSUB - подтип STRT со значением "О", F - флаги
соединения (оба флага равны "1"), FILL - байт заполнитель со значением
"О".
Сообщение, подтверждающее установление соединения (STACK - Start
Acknowledge Message) является ответом на STRT-сообщение, когда станция-
получатель завершила инициализацию и сбросила счетчики нумерации
сообщения. STCKTYPE - тип сообщения STACK со значением "7", STCKSUB -
Предыдущая << 1 .. 375 376 377 378 379 380 < 381 > 382 383 384 385 386 387 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed