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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 363 364 365 366 367 368 < 369 > 370 371 372 373 374 375 .. 528 >> Следующая

ошибку, то ошибка N0 не регистрируется.
• Ошибка проверки контрольной суммы (CRC Error, CR). При обнаружении
ошибки при проверке контрольной суммы принятого кадра FEC-контроллер
закрывает все буферы данного кадра и устанавливает в слове состояния
последнего буферного дескриптора приема бит ошибки CR := 1. При
необходимости пользователь может игнорировать результаты проверки
контрольной суммы.
• Нарушение длины кадра (Frame Length Violation, LG). Если длина
принятого кадра превышает 1518 байт, то генерируется прерывание BABR и в
слове состояния последнего буферного дескриптора принятого кадра
устанавливается бит ошибки LG := 1. Алгоритмы распознавания адреса. FEC-
контроллер в каждом принятом пакете производит анализ поля "адрес
получателями фильтрует пакеты по индивидуальному (unicast), групповому
(multicast) и широковещательному (broadcast) адресам. Отличие между
индивидуальным и групповым адресом заключается в значении бита l/G
(individual/ group 0/1) в соответствующей позиции поля "адрес
получателя".
Если принят пакет с индивидуальным адресом, то контроллер сравнивает его
значение с 48-битным значением, которое пользователь определил в ячейках
ADDR_LOW и ADDR_HIGH памяти параметров FEC-контроллера. В регистр
ADDR_LOW пользователь должен предварительно записать младшие 32 бита 48-
битного адреса станции, в регистр ADDRJHIGH - старшие 3 байта адреса.
Байт 0 (биты 0-7 регистра ADDR_LOW) передается по сети первым.
Если принят пакет с групповым адресом (бит I/G = 1), то контроллер
проверяет, не является ли этот адрес широковещательным. Если это
широковещательный адрес, то пакет принимается без всяких условий. Если же
это просто групповой адрес, то для его проверки будет использована 64-
битная хэш-таблица, содержимое которой заполняется пользователем в
ячейках HASH_TABLE_LOW и HASH_TABLE_HIGH памяти параметров.
644
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
Если же пользователь установил режим прозрачного приема пакетов (бит PROM
= 1 в регистре R_CNTRL), то все пакеты принимаются независимо от их
адреса, но в слове состояния буферного дескриптора принятого пакета в
бите MISS отмечается, произошло ли совпадение адреса в принятом пакете с
адресом станции. Если бит MISS = 1, то пакет принят без совпадения
адресов.
При работе с хэш-таблицей 48-битный адрес приемника из пакета
преобразуется в код, который определяет адрес некоторой ячейки в хэш-
таблице. Для этого 48-битный адрес пропускается через 32-битный CRC-
генератор (используется полином Хл32+ Хл26+ + Хл23+ Хл22+ Хл16+ Хл12+
ХЛ11+ +ХЛ10+ Хл8+ Хл7+ Хл5+ Хл4+ Хл2+ Х+1). 31-й бит результата
определяет выбор ячейки таблицы HASH_TABLE_LOW (бит 31 = 0) или
HASH_TABLE_HIGH (бит 31 = 1). Биты с 30-го по 26-й определяют номер бита
внутри выбранной ячейки. Если этот бит равен 1, то кадр принимается. Если
бит равен 0 - игнорируется. Бит О HASH_TABLE_LOW содержит бит индекса 31,
а бит 31 регистра HASH_TABLE_LOW соответствует индексному биту 0.
Настройка SDMA-каналов. В контроллере МРС80Т при доступе к внутренним
источникам реализованы два уровня арбитража среди коммуникационных
модулей. Первый уровень - это доступ к SDMA-каналам, а второй - доступ к
PowerPC-ядру. При одновременном доступе к SDMA-каналам от СРМ-модуля и
модуля 100BaseT, первым получит доступ коммуникационный СРМ-процессор и
все его коммуникационные каналы (SCC, SMC и др.). Далее, при доступе от
SDMA-каналов к ядру, уже не рассматривается отдельно, кто запрашивает
доступ: СРМ или модуль 10OBaseT, и приоритет доступа SDMA к шине PowerPC
определяется битами RAID и FAID в регистре SDCR (табл. 5.83). Все SDMA-
каналы имеют одно значение ID приоритета, которое устанавливается
пользователем в регистре конфигурации SDMA-канала (SDCR, рис. 5.135) и
которое позволяет SDMA-каналам соперничать за право передачи по
внутренней шине данных с другими источниками внутренних и внешних
запросов ка арбитраж.
Таблица 5.83
Назначение битов RAID и FAID
Бит Уровень приоритета доступа к внутренней шине Бит Уровень
приоритета доступа к внутренней шине
00 6 (высший) 10 2
01 5 11 1 (низший)
Биты FRZ определяют реакцию SDMA-каналов на выставление сигналов
контроля: 00 - SDMA-канал игнорирует FREEZE-сигнал, 10 - SDMA-канал
сбрасывает сигнал BR и останавливает (замораживает) передачу, пока
выставлен сигнал FREEZE или пока не произойдет сброс системы.
Биты RAID устанавливают уровень приоритета запросов SDMA-каналов по
доступу к внутренней шине среди других внутренних источников запросов.
Арбитраж запросов от внутренних источников выполняет RISC-контроллер.
Обычно устанавливается значение "5" (код 01).
Биты FAID определяют значение ID приоритета арбитража для FEC-
контроллера. Обычно устанавливается значение "0".
о 16 17 18 19 24 25 28 29 30 31
Резервировано FRZ Резервировано FAM Резервировано FAID RAID
Рис. 5.135. Формат регистра SDCR в контроллере МРС860Т
645
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
Предыдущая << 1 .. 363 364 365 366 367 368 < 369 > 370 371 372 373 374 375 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed