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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 325 326 327 328 329 330 < 331 > 332 333 334 335 336 337 .. 528 >> Следующая

C_PRES - начальное значение счетчика контрольной суммы OxOOOOFFFF.
При передаче данных AHDLC-контроллер постоянно контролирует, что за байты
данных он передает в сеть. Если для байта данных выполняется одно из
перечисленных ниже
586
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
условий, то включается алгоритм обеспечения "прозрачности" данных и
вместо одного исходного байта передается двухбайтовая последовательность.
Первый байт - это специальный символ control-escape, формат которого
задан в ячейке ESC памяти параметров (для протоколов РРР и IrLAP
рекомендуется значение 0x7D). Второй байт - это исходный байт, над
которым выполнена операция "исключающее ИЛИ" XOR с константой 0x20.
Условия включения алгоритма кодировки "прозрачности" при передаче байта
данных:
1) если этот байт - флаг (формат 0х7Е для протокола РРР и 0хС0/0С1 - для
IrLAP);
2) если этот байт - контрольный символ control-escape - 0x7D;
3) если этот байт имеет значение между 0x00 и 0x1 F и соответствующий бит
установки в таблице Тх контрольных символов. Эта кодировка выполняется
только для протокола РРР.
В ячейке TXCTL_TBL памяти параметров хранится таблица контрольных
символов при передаче, а в ячейке RXCTL_TBL - таблица контрольных
символов при приеме данных. Эти таблицы используются только для протокола
РРР. Если используется протокол IrLAP, эти ячейки должны быть
инициализированы в "0". Каждая из этих ячеек представляет собой таблицу
из 32 бит. Бит номер 0 соответствует символу 0x00, бит номер 1 -0x01, бит
номер 2 - 0x02 и т. д. Бит номер 31 соответствует символу 0x1 F. Если в
этих таблицах в бите i установлена "1", то символ, соответствующий этому
биту, рассматривается как контрольный.
Распределение памяти параметров ASYNC HDLC-протокола приведено в табл.
5.66.
Таблица 5.66
Память параметров ASYNC HDLC-протокола
Адрес Название Размер, бит Описание
SCC base +34 C_MASK 32 Константа полинома CRC
SCC base+38 C_PRES 32 Начальные значения CRC
SCC base+3C BOF 16 Открывающий флаг
SCC base+3E EOF 16 Закрывающий флаг
SCC base+40 ESC 16 Контрольный ESC-символ
SCC base+42 - 16 Зарезервировано
SCC base+44 - 16 Зарезервировано
SCC base+46 ZERO 16 Инициализация "0"
SCC base+48 - 16 Зарезервировано
SCC base+4A RFTHR 16 Число принятых кадров до прерывания
SCC base+4C - 16 Зарезервировано
SCC base+4E - 16 Зарезервировано
SCC base+50 TXCTL_TBL 32 Таблица контрольных символов Тх
SCC base+54 RXCTL_TBL 32 Таблица контрольных символов Rx
SCC base+58 NOF 16 Число открывающих флагов
SCC base+5A - 16 Зарезервировано
Примечание. Все переменные в таблице инициализируются пользователем.
Ячейка ZERO должна быть проинициализирована "0". Зарезервированные ячейки
используются контроллером для временного хранения данных..
587!
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
Пользователь может остановить передачу данных из буферов, передав AHDLC-
koh-троллеру команду STOP TRANSMIT. Эта команда используется, если
необходимо изменить порядок передачи данных из буферов или если
обнаружена ошибка передачи в канале. После получения данной команды
AHDLC-контроллер начинает передавать в сеть ASYNC HDLC ABORT-
последовательность, которая состоит из ESCAPE-символа (0x7D) и
закрывающего флага. После передачи такой ABORT-последовательности
контроллер передает в сеть символы IDLE, пока не получит команду
возобновления передачи RESTART TRANSMIT. Форматы ABORT-последовательности
для протоколов РРР и IrLAP приведены в табл. 5.67.
Таблица 5.67
Формат ABORT-последовательности
Протокол Формат
РРР 0x7D, 0x7Е
IrLAP 0x7 D, 0хС1
При получении команды STOP TRANSMIT контроллер не переходит к передаче из
следующего TxBD и текущим остается буфер, передачу которого прервали.
Также останавливается передача и данных, которые уже находились в FIFO. В
этом отличие ASYNC HDLC-протокола от других протоколов, в которых
содержимое FIFO передается в сеть перед остановкой. Пользователь всегда
может прочитать в ячейке TBPTR протокол-независимой части памяти
параметров SCC-канала 0 номер, передача из которого прервалась.
Команда INIT ТХ PARAMETERS используется для инициализации параметров в
памяти параметров передатчика контроллера.
Прием данных. После включения в работу (бит ENR = 1 в регистре GSMR)
приемник ожидает появления кадра данных на линии RXD, анализируя
присутствие на линии символа открывающего флага кадра. Обнаружив начало
нового HDLC-кадра данных, контроллер обращается к следующему буферному
дескриптору в таблице и проверяет его готовность к приему, т. е.
проверяет бит незанятости буфера Е = 1 в слове состояния дескриптора.
Если буфер не занят, то контроллер начинает записывать в него данные.
Когда буфер будет заполнен, контроллер сбросит бит Е := 0. Если длина
текущего кадра данных превышает размер буфера (максимальный размер буфера
указан в ячейке переменной MRBLR), то производится опрос готовности к
приему данных следующего буфера в таблице, и, если он свободен, прием
Предыдущая << 1 .. 325 326 327 328 329 330 < 331 > 332 333 334 335 336 337 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed