Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Процесс передачи сообщения 5 страница




Содержимое регистра данных MII_DATA представляет собой кадр управления МП-интерфейса. В битах ST (Start of Frame Delimiter) указывается начальный ограничитель кадра управления (для корректного кадра указывается формат заполнителя ST:= 01). В битах OP (Operation Code) указывается направление передачи данных (ОР = 10 чте­ние, ОР = 01 запись).Биты РА содержат адрес внешнего PHY-устройства, с которым производится обмен данными.

 

 

 

 

Контроллер МРС860Т может поддерживать до 32 вне­шних подключенных PHY-устройств. Биты RA определяют один из 32 регистров внутри PHY-устройства, с содержимым которого будут производиться действия. Биты ТА (Turn Around) задают режим инвертирования информации, для нормальной работы требуется за­писать в эти биты ТА:= 10. Поле DATA содержит сами данные, которые необходимо записать или прочитать в/из указанного регистра. Все рекомендованные значения полей ST, ОР и ТА соответствуют требованиям стандарта 802.3.

Регистр MII_SPEED (рис. 5.138) используется для контроля тактовой частоты, кото­рая поступает на вывод MDC (МИ Clock). Появление тактовой частоты на этом выводе позволяет начать передачу/прием преамбулы и остального кадра данных.

Стандарт МИ позволяет «опускать» передачу преамбулы, если PHY-устройство этого не требует. Если установлен бит DIS_PREAMBLE = 1, то при обмене будет выдаваться преамбула из 32 «единиц». Если бит равен нулю, то преамбула не выдается.

Содержимое поля MII_SPEED определяет частоту тактового сигнала на контакте MDC. MDC-частота вычисляется как [(системная 4acTOTa)/(MII_SPEEDx2)]. Если в поле MII_SPEED = 0, то на контакте MDC будет «логический нуль». Программируемая частота должна быть не более 2,5 МГц, как определено Mil-спецификацией IEEE.

Формат буферного дескриптора FEC-контроллера. Для обеспечения более гибко­го управления буферы данных FEC-контроллера и связанные с ними буферные дескрип­торы расположены во внешней памяти. Буферные дескрипторы FEC-контроллера так же, как и буферные дескрипторы других коммуникационных каналов, организованы в таблицу и имеют аналогичный формат, который состоит из четырех слов. Последний дескриптор в таблице имеет в слове состояния установленный бит W = 1 (Wrap).

Готовность буфера передачи и приема к обмену контролируется по состоянию бита готовности R = 1 (Ready) и бита незанятости Е = 1 (Empty) в слове состояния дескрипто­ра. Дополнительно программное обеспечение устанавливает биты X_DES_ACTIVE и R_DES_ACTIVE в одноименных регистрах, чтобы уведомить FEC-контроллер, что дан­ные для передачи в буферах подготовлены или буферы для приема освобождены. Пос­ле окончания работы с буфером аппаратное обеспечение сбрасывает биты R и Е, чтобы пользователь мог начать обработку их содержимого.

Буферный дескриптор приема. Формат слова состояния дескриптора приема при­веден на рис. 5.139.

Бит пустого буфера Е (Empty) устанавливается в «1» пользователем после того, как он обработал данные из этого буфера, и буфер можно использовать для приема новых данных. Бит Е:= 0 записывает слово состояния FEC-контроллера после заполнения бу­фера данными из сети.

Биты RO1 и RO2 (Receive Software Ownership) предназначены только для программ­ного обеспечения пользователя и не взаимодействуют с аппаратурой.

Бит последнего буфера W (Wrap), равный единице, сообщает FEC-контроллеру, что текущий буфер - это последний буфер в таблице и после его обработки необходимо переходить для работы к первому буферу BD в таблице буферных дескрипторов

 

 

 

Бит последнего буфера L (Last) используется в протоколах, где кадр данных может занимать несколько буферов, для указания последнего буфера кадра (если бит L = 1). Указание последнего буфера в кадре обычно применяется для организации прерываний в конце обработки всего кадра данных.

Бит М (Miss) устанавливается в «1» FEC-контроллером, если кадр данных был при­нят без проверки совпадения адреса (режим promiscuous). Если бит М = 0, то кадр при­нят, так как адресован именно этой станции.

Бит ВС устанавливается в «1», если принятый кадр данных имеет широковещатель­ный адрес получателя (broadcast).

Бит МС устанавливается в «1», если принятый кадр данных имеет групповой (но не широковещательный) адрес получателя (multicast).

Если бит LG (Lenght Violation) равен «1», то принят кадр данных, длина которого пре­вышает максимально допустимую, запрограммированную для FEC-контроллера длину принимаемых кадров. При этом в буфер будет записана только часть кадра, размер ко­торой не превышает 2047 байт.


Бит TR устанавливается, если длина принятого кадра больше 2047 байт, и кадр был обрезан при приеме.

Если бит NO (Nonoctet Aligned Frame) равен «1», то принят кадр данных, длина кото­рого не кратна 8 битам, и обнаружена ошибка проверки контрольной суммы CRC.

Если бит SH (Short Frame) равен «1», то принят кадр данных, длина которого меньше минимально допустимой для FEC-контроллера длины принимаемых кадров.

Бит CR (CRC Error) устанавливается, если обнаружена ошибка при проверке конт­рольной суммы, но длина кадра кратна 8 битам.

Бит переполнения буфера OV (Overrun), равный «1», регистрирует ошибку, связан­ную с переполнением буфера FIFO приемника. Если установлен бит OV = 1, другие ошибки приема не регистрируются.

Буферный дескриптор передачи. Формат слова состояния дескриптора передачи приведен на рис. 5.140.

Бит заполненного буфера R (Ready) устанавливается пользователем после того, как он закончит подготовку в буфере данных для передачи по сети. Этот бит постоянно анализи­руется FEC-контроллером для начала передачи новых данных и сбрасывается (R:= 0) после передачи всех данных из этого буфера.

Биты ТО1 и ТО2 (Transmit Software Ownership) предназначены только для программ­ного обеспечения пользователя и не взаимодействуют с аппаратурой.

Бит последнего буфера W (Wrap), равный «1», сообщает FEC-контроллеру, что теку­щий буфер -это последний буфер в таблице и после его обработки необходимо перехо­дить для работы к первому буферу BD в таблице буферных дескрипторов.

Бит последнего буфера L (Last) используется в протоколах, где кадр данных может занимать несколько буферов, для указания последнего буфера кадра (если бит L = 1).

Если в слове состояния последнего буфера кадра (бит L = 1) установлен бит ТС=1 (Тх CRC), то при передаче вычисляется контрольная сумма содержимого кадра и она пере­дается после последнего байта кадра. Если бит ТС = 0, то передача заканчивается сразу после передачи последнего байта кадра.

Если в слове состояния последнего буфера кадра (бит L = 1) установлен бит DEF = 1 (Defer Indication), то контроллер должен задержаться перед передачей кадра. Этот бит не устанавливается, если при передаче обнаружена коллизия.

 

Если в слове состояния последнего буфера кадра (бит L = 1) установлен бит НВ = 1 (Heartbeat Error), то при процедуре тестирования аппаратура не выставила активный сигнал на линию «коллизия», т. е. произошел сбой в работе аппаратуры. Этот бит уста­навливается, только если в регистре состояния X_CNTRL установлен бит НВС = 1.

Если в слове состояния последнего буфера кадра (бит L = 1) установлен бит LC = 1 (Lata Collision), то обнаружена ошибка «поздняя коллизия», которая регистрируется пос­ле корректной передачи более чем 56 байт кадра (размер окна коллизий), и контроллер прервал передачу.

Если в слове состояния последнего буфера кадра (бит L = 1) установлен бит RL = 1 (Retransmission Limit), то контроллер превысил установленный предел числа повторных попыток выхода в сеть из-за коллизий. Текущее число повторных попыток выхода в сеть регистрируется в битах RC (Retry Count).

Если в слове состояния последнего буфера кадра (бит L = 1) установлен бит незапол­нения буфера UN (Underrun), равный «1», то регистрируется ошибка, которая возникает при передаче кадра данных, занимающего несколько буферов, когда передатчик пере­дал всю информацию из буфера FIFO, а новые данные для передачи еще не поступили по каналамSDMA. Передача кадра останавливается, и к нему добавляется некоррект­ная контрольная сумма.

Если в слове состояния последнего буфера кадра (бит L = 1) установлен бит CSL (Carrier Sence Lost), то при передаче кадра была обнаружена потеря несущей частоты, т. е. нарушена кодировка данных (например, манчестерское кодирование), но коллизия не обнаружена.

 





Поделиться с друзьями:


Дата добавления: 2016-10-06; Мы поможем в написании ваших работ!; просмотров: 478 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

4320 - | 4279 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.