Ethernet - пример стандартной технологии коммутации пакетов, страница 11

14. Произвести сброс счетчиков ошибок в ячейках памяти параметров DISFC=CRCEC=ALEC:=0.

15. Записать в ячейку PADS формат PAD символов-заполнителей 0х8888.

16. . В ячейке RETLIM требуется задать максимальное число повторных попыток выхода в сеть в случае коллизии, равное 0x000F.

17. Для контроля в ячейку MFLR памяти параметров занести максималь­ный размер кадра данных, например 1518 байт, MFLR:= 0x05EE.

18. Для контроля в ячейку MINFLR памяти параметров занести минималь­ный размер кадра данных, например 64 байта, MINFLR:= 0x0040.

19. В ячейки MAXD1 и MAXD2 записать код Ох05ЕЕ, установив значение счетчика DMA равным 1518 байт.

20. Обнулить ячейки GADDR1—GADDR4, т.к. хэш-таблица групповых адресов использоваться не будет.

21. В ячейки PADDR занести физический сетевой адрес станции.

22. Обнулить ячейку P_PER, т. к. контроллеры будут использовать обыч­ный алгоритм доступа при повторе.

23. Обнулить ячейки IADDR1—IADDR4, т. к. хэш-таблица индивидуальных адресов использоваться не будет.

24. Обнулить ячейки TADDR, т. к. хэш-таблицы не будут использоваться.

25. Произвести настройку буферных дескрипторов в таблицах RxBD и TxBD, установив размер буфера (для буфера приемника длину можно установить равной 0), указав адрес первой ячейки буфера, а также за­полнив ячейки слова состояния BD. Если требуется всего по одному буферу для приема и для передачи, то в слово состояния буфера приема рекомендуется занести код 0хВ000, а в слово состояния буфера переда­чи — код 0xFC00.

26. Записать в регистр событий канала SCCE1 код 0xFFFF, сбросив тем самым биты регистрации всех событий.

27. В регистр маски SCCM1 записать код 0х001А, разрешив прерывание от ТХЕ-, RXF- и ТХВ-битов событий.

28. В регистр маски CIMR контроллера прерывания занести код 0х40000000, разрешив прерывание от SCC1-контроллера. При необходимости можно разрешить прерывание и от других модулей.

29. Записать в регистр общих режимов GSMRH канала SCC1 код 0х00000000, разрешив нормальную работу с CTS - и CD -сигналами и передачу сим­волов IDLE между кадрами. Размер ячейки буфера FIFO приемника для работы с Ethernet-протоколом -32 бита, размер буфера FIFO - 32 байта.

30. . Записать в регистр общих режимов GSMRL канала SCC1 код 0х1088000С, настроив контроллер на нормальный режим работы с Ethernet-прото­колом. Сигналы CTS (CLSN) и CD (RENA) находятся под автомати­ческим контролем при приеме и передаче. Пассивное состояние ли­нии "1". Используется стандартная преамбула Ethernet-протокола. Блок DPLL не используется. Включено внутреннее инвертирование тактового сигнала передатчика (бит ТС1=1), чтобы обеспечить для микросхемы EEST большее время предустановки. Приемник и передатчик пока вы­ключены (биты ENR=ENT=0).

31. В регистр синхронизации DSR записать код 0xD555.

32. В регистр режима Ethernet-контроллера PSMR канала SCC1 записать код 0х0А0А для выбора использования 32-битной контрольной суммы, режима приема кадров без проверки адреса, поиск начального ограничителя в канале связи начинается через 22 битовых интервала после обнаружения сигнала RENA.

33. Сконфигурировать выводы параллельного порта С для работы с сигна­лом RTS1 (внешний сигнал TENA) (вывод 0) от контроллера SCC1. Для этого в регистры конфигурации следует записать следующие значения: в регистре PCPAR[0]:=1, в регистре PCDIR в бит 0 необходимо записать "0". Поскольку мы работаем с Ethernet-протоколом, то активным будет низкий уровень сигнала TENA.

34. Записать код 0х1088003С в регистре GSMRL канала SCC1, разрешив работу приемника и передатчика (биты ENR=ENT=1).