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

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

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

значение размера данных, передаваемых по DMA-каналам.
После включения приемника в работу, если нет коллизий в канале и
выставлен активный сигнал RENA, контроллер переходит в режим "охоты" или
поиска кадра данных во входном потоке, ожидая получения символа SYN1,
формат которого задан в регистре синхронизации DSR. Для Ethernet-
контроллера в этот регистр записываются стандартные значения SYN1 = 0x55
и SYN2 = 0x05. Биты NIB в регистре режима PSMR определяют, через сколько
битов после установки активного сигнала RENA контроллер будет искать
стартовый ограничитель во входном потоке. Обычно устанавливается значение
задержки, равное 22 битам. Начальный ограничитель имеет размер 1 байт
фиксированного формата 0xD5. Значения задержек при приеме кадра приведены
в табл. 5.79.
Формат начального ограничителя и преамбулы включает повторяющиеся
комбинации 1 и 0. Если при начале приема кадра между 14-м и 21-м битами
обнаруживается комбинация 11 или 00, то текущий кадр отвергается. Если
комбинация 11 или 00 встречается после приема 21-го бита, но до начала
приема начального ограничителя, то кадр тоже отбрасывается. Если принятый
набор битов совпадает с содержимым регистра синхронизации, то режим
"охоты" выключается и начинается прием кадра данных. При приеме кадра
первым принимается LSB-бит.
Первыми принимаются и распознаются 48 бит адреса получателя. Приемник
может распознавать индивидуальный физический адрес станции, групповой
(multicast) адрес и широковещательный (broadcast) адрес. Пока контроллер
не проведет сравнение адреса, полученного в пакете, со своим адресом,
заданным в ячейках памяти параметров, никакие данные не записываются в
буферы данных.
Таблица 5.79
Значения задержек при приеме кадра
Бит NIB Задержка, бит Бит NIB Задержка, бит
ООО 13 100 21
001 14 101 22
010 15 110 23
011 16 111 24
628
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
При приеме нового кадра вначале проверяется бит l/G (Individual/Group) в
поле адреса приемника. Если это индивидуальный адрес (бит I/G = 0), то,
проверяя физический адрес, контроллер сравнивает его с единственным
адресом, указанным в 48-битной ячейке PADDR1 памяти параметров, если бит
IAM = 0 в регистре PSMR. Если же бит IAM = 1, то специальная хэш-таблица
индивидуальных адресов в ячейках IADDR1-IADDR4 используется для сравнения
и распознавания группового адреса.
Если это групповой адрес (бит I/G = 1), то вначале контроллер проверяет,
является ли адрес широковещательным. Широковещательный адрес представляет
собой код, состоящий только из единицы. Если прием широковещательных
адресов разрешен (бит BRO = 0 в регистре PSMR), то кадр принимается. Если
же бит BRO = 1, то все кадры с широковещательными адресами отбрасываются,
даже если установлен бит PRO = 1.
Если сравнение адреса прошло успешно, то начинается прием кадра,
независимо от значения сигнала на контакте RRJCT (Reject). Если это
групповой, но не широковещательный адрес, то производится сравнение
адреса с использованием хэш-таблицы групповых адресов в ячейках GADDR1-
GADDR4.
Если проверка адреса прошла неудачно и в регистре режима PSMR установлен
бит PRO = 0, т. е. проверка адреса должна была выполняться для всех
кадров, то кадр отбрасывается. Если же бит PRO = 1, то кадры принимаются
без проверки адреса, если сигнал на контакте RRJCT пассивный, и
отбрасываются, если сигнал RRJCT активный. При этом в слове состояния
последнего буфера приема кадра устанавливается бит признака М (Miss).
Если бит М = 1, то кадр был принят без контроля адреса, а если бит М = 0,
то кадр был принят после проверки совпадения поля адреса получателя и
адреса станции.
Если внешняя CAM-память используется при сравнении адресов, то следует
установить режим без проверки совпадения адресов (promiscuous), установив
бит PRO = 1, и тогда кадр может быть отброшен, если от CAM-памяти будет
выставлен активный сигнал RRJCT во время приема кадра. Если CAM-память
используется для хранения адресов, которые должны быть отброшены, а не
приняты, то сигнал на контакте RRJCT для САМ-памяти должен быть
инвертирован.
Если сравнение адресов закончилось успешно, то контроллер проверяет бит
незанятости Е в слове состояния следующего буфера в таблице RxBD, и если
буфер свободен (бит Е = 1), то прием данных производится в этот буфер.
Если при приеме кадра обнаружена коллизия, то текущий буфер может быть
использован для приема нового кадра. Когда буфер заполнен, то контроллер
сбрасывает бит Е := 0 и, если в слове состояния установлен бит прерывания
1 = 1, генерирует запрос на прерывание.
Если длина принимаемого кадра превышает размер буфера приема, то
контроллер проверяет незанятость следующего буфера в таблице RxBD и, если
буфер не занят, продолжает прием кадра в новый буфер. Максимальная длина
приемного буфера задается пользователем в ячейке MRBLR протокол-
независимой памяти параметров SCC-контроллера. При работе с Ethernet-
протоколом рекомендуется в эту ячейку записывать значение не меньше 64
Предыдущая << 1 .. 352 353 354 355 356 357 < 358 > 359 360 361 362 363 364 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed