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

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

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

передачи. В поле R_BOUND указан самый большой доступный для FIFO адрес в
памяти.
0 20 21 22 29 30 31
Зарезервировано. Все "0". 1 R_BOUND 0 0
Рис. 5.127. Формат регистра RJ30UND
Восьмибитный регистр R_FSTART (рис. 5.128) программируется пользователем
и определяет адрес начала блока FIFO приема в памяти контроллера. Блок
FIFO приема занимает область от R_FSTART до R_BOUND.
0 20 21 05 СМ см см 30 31
Зарезервировано. Все "0". 1 RFSTART 0 0
Рис. 5.128. Формат регистра R_FSTART
638
поддержка протоколов в коммуникационных контроллерах
О__________________________________________________________________ 20
21 22_________________________________29 30 31
Зарезервировано. Все "0". 1 XFSTART 0 0
Рис. 5.129. Формат регистра X FSTART
Восьмибитный регистр X_FSTART (рис. 5.129) программируется пользователем
и определяет адрес начала блока FIFO передачи в памяти контроллера. Блок
FIFO передачи занимает область от X_FSTART до R_FSTART-4. Значение по
умолчанию (значение, которое будет записано в регистр при сбросе)
запрограммировано в микрокоде, и пользователю нет необходимости
самостоятельно программировать этот регистр.
Обработка коллизий. При передаче станция постоянно контролирует состояние
коллизии, которое возникает, если еще одна станция начала вести передачу
и произошло наложение кадров данных. При обнаружении коллизии станция
начинает передавать в сеть сигнал "мусор" (jam signal), состоящий из
одних "единиц", и прекращает передачу своего кадра данных. Далее станция
замолкает на интервал (backoff), а затем автоматически делает попытку
повторного доступа к сети. В контроллере поддерживаются два алгоритма
вычисления интервала backoff. Число повторных попыток доступа к сети из-
за коллизии ограничено 15, далее будет генерироваться ошибка.
При обнаружении коллизии FEC-контроллер продолжает передавать в сеть в
течение 32 битовых интервалов специальные символы "мусор" (JAM pattern),
в результате в сеть передается 32 "единицы". Если коллизия обнаружена во
время передачи преамбулы, то контроллер заканчивает передачу преамбулы, а
затем начинает передавать JAM-символы.
Если коллизия обнаружена во время передачи первых 64 байт (это размер
окна коллизии и длина минимального пакета), то контроллер запускает
процедуру повторной передачи. Для этого он замолкает на N х 512 битовых
интервалов (512 бит = 64 байта, а N -случайное число). Поскольку N -
случайное число, то две станции, вышедшие одновременно в сеть и создавшие
коллизию, повторят процедуру выхода в сеть через разное время.
Теоретически окно коллизии определяет время, необходимое для доставки
сигнала по сети до всех станций, т. е. если одна станция выйдет в сеть,
то все другие станции увидят, что канал занят в течение 512 битовых
интервалов.
Если же коллизия произошла после передачи 64 байт пакета (поздняя
коллизия, обычно регистрируется в протяженных сетях и сетях с несколькими
повторителями), то повторная передача не производится, и после передачи
последнего буфера данных кадра в его слове состояния устанавливается бит
ошибки передачи LC := 1 (Late Collision).
Передача кадров FEC-контроллером. Пользователь может также настраивать
режимы работы и блока передатчика FEC-контроллера при программировании
регистра X_CNTRL (рис. 5.130). Пользователь может изменять значение бит в
регистре только при выключенном контроллере (бит ETHER_EN = 0).
Бит FDEN (Full Duplex Enable) определяет включение режима полнодуплексной
передачи для передатчика. Если бит равен 1, то передача начнется
независимо от наличия сигналов "наличие несущей частоты в канале" и
"коллизия".
При установленном бите НВС = 1 (Heartbeat) будет включен режим
тестирования аппаратуры. В этом режиме в течение некоторого интервала
(heartbeat window) после завершения корректной передачи кадра аппаратура
дает сигнал о коллизии, которой на
0 28 29 30 31
Все "0". FDEN НВС GTS
Рис. 5.130. Формат регистра X_CNTRL
639
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
самом деле в сети нет, и смотрит, как схемы контроллера отработают
процедуру регистрации и обработки этой ситуации. Если коллизия не
обнаружена (на контакте MII_COL не появился активный сигнал), то будет
установлен бит НВ в регистре статуса и выработано соответствующее
прерывание.
С помощью программирования бита GTS (Graceful Transmit Stop) пользователь
может управлять порядком передачи кадров данных в сеть. Если установить
этот бит в "1" то после окончания передачи текущего кадра или если при
его передаче обнаружена коллизия, передатчик остановится. Продолжение
передачи возможно только после сброса бита GTS = 0.
Когда у станции есть данные для передачи, она проверяет, свободен канал
или нет. Если канал свободен, то станция сразу же начинает вести
передачу. Если канал занят, то станция после его освобождения ожидает
дополнительно некоторый интервал времени, равный интервалу между кадрами
данных (interframe gap), а затем начинает передавать свои данные.
Предыдущая << 1 .. 359 360 361 362 363 364 < 365 > 366 367 368 369 370 371 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed