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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 346 347 348 349 350 351 < 352 > 353 354 355 356 357 358 .. 528 >> Следующая

При передаче HDLC-контроллер постоянно контролирует наличие сигнала CTS =
0. Если этот сигнал будет сброшен (CTS = 1), то генерируется ошибка
потери CTS-сигнала (ошибка коллизии). Признаком этой ошибки будет
установка бита СТ := 1 в слове состояния текущего BD. Бит RTE в регистре
конфигурации определяет действия контроллера при восстановлении сигнала
CTS = 0 после состояния коллизии. Если сигнал CTS был потерян при
передаче двух первых буферов кадра и бит RTE = 1, то HDLC-контроллер
просто начинает повторную передачу прерванного кадра данных и увеличивает
на единицу счетчик повторных передач в ячейке RETRC памяти параметров
контроллера. Если бит RTE = 0, то повторная передача не производится, и
контроллер переходит к передаче следующего кадра. Для того чтобы механизм
обнаружения коллизий и повторных пе-
618
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
редач был успешно применен, размер первых двух буферов данных должен быть
не менее 36 байт для канала SCC1 и 20 байтов - для других SCC-каналов в
контроллере МРС860. ___
Сброс сигнала CTS = 1 при передаче может служить признаком конца передачи
текущего кадра. Но при передаче может сложиться ситуация, когда в буфере
FIFO находятся данные от нескольких HDLC-кадров и тогда анализ состояния
CTS-сигнала может быть проведен некорректно. Для исключения возможных
ошибок в состав регистра режима СРМ введен бит MFF. Если этот бит равен
нулю, то в буфере FIFO могут быть данные только одного кадра, и появление
сигнала cts = 1 свидетельствует о завершении передачи текущего кадра.
Если бит MFF = 1, то в буфере могут находиться данные от нескольких
кадров, и для обнаружения конца передачи кадра производить анализ сигнала
CTS бесполезно. Такой режим работы может быть удобен для случая, когда
передаются небольшие кадры back-to-back (кадры, требующие немедленного
возврата), или пользователь жестко фиксировал число флагов, передаваемых
между кадрами. В этих случаях конец передачи кадра может быть
проанализирован или вычислен на основе имеющейся информации.
Контроллер HDLC bus. Контроллер HDLC bus - это расширение HDLC-протокола,
позволяющее применять его в сетях с конфигураций point-to-point и point-
to-multipoint. Протокол HDLC bus используется на канальном уровне
управления как вариант HDLC-протокола, часто называемый LAPD, для работы
в point-to-multipoint конфигурациях, так как контроллер HDLC может
работать только в конфигурациях point-to-point. На физическом уровне
управления протокол позволяет восьми терминалам получить доступ к S/T bus
для передачи кадров. Контроль доступа к каналу связи производится через
D-канал.
Контроллер HDLC bus позволяет создавать сеть небольшого размера, при этом
выходы TxD станции должны быть сконфигурированы как выходы open-drain,
чтобы было возможно объединять их в общую шину. Контроллер HDLC bus может
работать с внешними контактами или в режиме NMSI, или в режиме TDM bus.
Устройства S/T-интерфейса проверяют незанятость канала передачи,
просматривая состояние "эхо"-бита на линии. В "эхо"-бите отражаются все
биты, которые недавно передавались по D-каналу. В зависимости от класса
терминала устройства могут ожидать получение от 7 до 10 единичных битов
на "эхо"-бите канала, перед тем как начать передачу LAPD-кадра. Наличие
7-10 последовательных "1" в канале свидетельствует о том, что в канале
нет передачи данных и идет передача IDLE-последовательностей. Контроллер
HDLC bus поддерживает формат кадра HDLC, а значит максимальное число
последовательных "1" в кадре не может превышать шести, так как после
каждых пяти последовательных "1" в кадре происходит вставка "0" (операция
bit-stuffing).
После начала передачи станция постоянно контролирует, что она передала,
читая "эхо"-бит. В контроллере HDLC bus механизм "эхо"-бита реализован
через внешние контакты. Вывод TxD соединен с контактом cts . Контроллер
передает данные на контакт TxD и контролирует их с контакта CTS .
Передача продолжается, пока бит, который станция передала, совпадает с
битом, который станция прочитала ("эхо"-бит). Если эти биты не совпадают,
возникает состояние коллизии между терминалами. При этом станции, которые
передавали нулевой бит, прекращают передачу, а станции, которые
передавали единичный бит, продолжают передачу. Для того чтобы уменьшить
вероятность возникновения коллизии и захвата шины одной станцией, после
завершения передачи станции понижают свой приоритет, чтобы разрешить
другим станциям доступ к шине.
Основные отличия протокола HDLC bus:
• протокол HDLC bus поддерживает все другие протоколы, которые базируются
на HDLC-кадре; таким образом, в сети могут одновременно работать
несколько станций, которые используют различные варианты HDLC-протокола;
619
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
• станции HDLC bus могут объединяться в сеть с HDLC-станциями для
совместной работы;
• перед началом передачи контроллер HDLC bus ожидает получение или 8, или
Предыдущая << 1 .. 346 347 348 349 350 351 < 352 > 353 354 355 356 357 358 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed