Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс с 524 по 631.doc
Скачиваний:
6
Добавлен:
16.04.2019
Размер:
2.54 Mб
Скачать

Коммуникационные микроконтроллеры и системы на их основе

Для тестирования своей работоспособности некоторые передатчики могут регистри­ровать ошибку Heartbeat. Если установлен бит НВС = 1 в регистре режима PSMR, то передатчик через 20 битовых интервалов (2 мкс) после завершения передачи кадра дан­ных зарегистрирует внутреннее возникновение коллизии, которая не связана с реальной коллизией в сети и предназначена для проверки работы передатчика. Если бит НВС = 1, но через 2 мкс состояние heartbeat не зарегистрировано, то это значит, что контроллер работает некорректно, поэтому регистрируется ошибка, текущий буфер данных закрыва­ется, в слове состояния буфера устанавливается бит ошибки НВ := 1 и генерируется запрос на прерывание ТХЕ через регистр событий канала, конечно, если это прерыва­ние не замаскировано.

Пользователь может управлять передачей при помощи команд STOP TRANSMIT, RESTART TRANSMIT, INIT TX PARAMETERS. Специальная команда GRACEFUL STOP TRANSMIT позволяет изменить порядок передачи содержимого буферов или кадров или при возникновении ошибки. При получении этой команды Ethernet-контроллер немед­ленно останавливается, если не было передачи, или если была передача кадра, то про­должает передачу текущего кадра либо до ее успешного завершения, либо до возникно­вения ошибки коллизии.

Прием данных. При приеме кадров Ethernet-контроллер работает независимо и авто­номно от центрального процессора и выполняет распознавание адреса станции, провер­ку контрольной суммы кадра, контроль длины кадра на предельное максимальное и ми­нимальное значение, контролирует максимальное значение размера данных, передава­емых по DMA-каналам.

После включения приемника в работу, если нет коллизий в канале и выставлен актив­ный сигнал RENA, контроллер переходит в режим «охоты» или поиска кадра данных во входном потоке, ожидая получения символа SYN1, формат которого задан в регистре синхронизации DSR. Для Ethernet-контроллера в этот регистр записываются стандарт­ные значения SYN1 = 0x55 и SYN2 = 0x05. Биты NIB в регистре режима PSMR определя­ют, через сколько битов после установки активного сигнала RENA контроллер будет ис­кать стартовый ограничитель во входном потоке. Обычно устанавливается значение за­держки, равное 22 битам. Начальный ограничитель имеет размер 1 байт фиксированно­го формата OxD5. Значения задержек при приеме кадра приведены в табл. 5.79.

Формат начального ограничителя и преамбулы включает повторяющиеся комбина­ции 1 и 0. Если при начале приема кадра между 14-м и 21-м битами обнаруживается комбинация 11 или 00, то текущий кадр отвергается. Если комбинация 11 или 00 встреча­ется после приема 21-го бита, но до начала приема начального ограничителя, то кадр тоже отбрасывается. Если принятый набор битов совпадает с содержимым регистра син­хронизации, то режим «охоты» выключается и начинается прием кадра данных. При при­еме кадра первым принимается LSB-бит.

Первыми принимаются и распознаются 48 бит адреса получателя. Приемник может распознавать индивидуальный физический адрес станции, групповой (multicast) адрес и широковещательный (broadcast) адрес. Пока контроллер не проведет сравнение адре­са, полученного в пакете, со своим адресом, заданным в ячейках памяти параметров, никакие данные не записываются в бусреры данных.

Таблица 5.79