Для тестирования своей работоспособности некоторые передатчики могут регистрировать ошибку Heartbeat. Если установлен, бит НВС=1 в регистре режима PSMR (рис. 4), то передатчик через 20 битовых интервалов (2 мкс) после завершения передачи кадра данных зарегистрирует внутреннее возникновение коллизии, которая не связана с реальной коллизией в сети и предназначена для проверки работы передатчика. Если бит НВС=1, но через 2 мкс состояние heartbeat не зарегистрировано, то это значит, что контроллер работает некорректно, поэтому регистрируется ошибка, текущий буфер данных закрывается, в слове состояния буфера устанавливается бит ошибки НВ:= 1 и генерируется запрос на прерывание ТХЕ через регистр событий канала, конечно, если это прерывание не замаскировано.
Пользователь может управлять передачей при помощи команд STOP TRANSMIT, RESTART TRANSMIT, INIT TX PARAMETERS. Специальная команда GRACEFUL STOP TRANSMIT позволяет изменить порядок передачи содержимого буферов или кадров, или при возникновении ошибки. При получении этой команды Ethernet-контроллер немедленно останавливается, если не было передачи, или если была передача кадра, то продолжает передачу текущего кадра либо до ее успешного завершения, либо до возникновения ошибки коллизии.
3.5.1.3. Прием данных.
При приеме кадров Ethernet-контроллер работает независимо и автономно от центрального процессора и выполняет распознавание адреса станции, проверку контрольной суммы кадра, контроль длины кадра на предельное максимальное и минимальное значение, контролирует максимальное значение размера данных, передаваемых по DMA-каналам.
После включения приемника в работу, если нет коллизий в канале и выставлен активный сигнал RENA, то контроллер переходит в режим "охоты" или поиска кадра данных во входном потоке, ожидая получения символа SYN1, формат которого задан в регистре синхронизации DSR. Для Ethernet-контроллера в этот регистр записываются стандартные значения SYN1=0х55 и SYN2=0x05. Биты NIB в регистре режима PSMR определяют, через сколько битов после установки активного сигнала RENA контроллер будет искать стартовый ограничитель во входном потоке. Обычно устанавливается значение задержки, равное 22 битам. Начальный ограничитель имеет размер 1 байт фиксированного формата 0xD5. Значения задержек при приеме кадра приведены в табл..3.2.
Формат начального ограничителя и преамбулы включает повторяющиеся комбинации 1 и 0. Если при начале приема кадра между 14 и 21 битами обнаруживается комбинация 11 или 00, то текущий кадр отвергается. Если комбинация 11 или 00 встречается после приема 21 бита, но до начала приема начального ограничителя, то кадр тоже отбрасывается. Если принятый набор битов совпадает с содержимым регистра синхронизации, то режим "охоты" выключается и начинается прием кадра данных. При приеме кадра первым принимается LSB-бит.
Таблица 3.2. Значения задержек при приеме кадра.
Биты NIB |
Задержка, бит |
000 |
13 |
001 |
14 |
010 |
15 |
011 |
16 |
100 |
21 |
101 |
22 |
110 |
23 |
111 |
24 |
Первыми принимаются и распознаются 48 бит адреса получателя. Приемник может распознавать индивидуальный физический адрес станции, групповой (multicast) адрес и широковещательный (broadcast) адрес. Пока контроллер не проведет сравнение адреса, полученного в пакете, со своим адресом, заданным в ячейках памяти параметров, никакие данные не записываются в буферы данных.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.