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

Пользователь может также управлять процессом приема кадра при помощи команд ENTER HUNT MODE и INIT RX PARAMETERS. Команда CLOSE RxBD при работе с Ethernet-контроллером не применяется.

3.5.1.7. Пример настройки Ethernet-контроллера.

Пример настройки работы в микроконтроллере МРС860 SCC1-контроллера для работы с Ethernet-протоколом. Внешний тактовый сигнал через контакт CLK1 поступает для тактирования приемника, а внешний тактовый сигнал через контакт CLK2 — для тактирования передатчика.

1.  Сконфигурировать выводы параллельного порта А для работы с сигнала­ми TXD1 (вывод 1), RXD1 (вывод 0) от контроллера SCC1. Для этого в регистры конфигурации PAODR и PADIR в биты 0, 1 необходимо запи­сать "0", а в соответствующих битах регистра PAPAR записать"1".

2.  Регистр PAODR производит настройку выводов на работу или в нор­мальном режиме (бит равен 0), или в режиме вывода для объединения в шину по правилу "монтажное ИЛИ" (бит равен 1). Регистр PAPAR опре­деляет, кто будет работать с внешними контактами: или порт ввода/вы­вода (бит равен 0), или определенное внутреннее периферийное устрой­ство (бит равен 1).

3.  Если контакт использует порт ввода/вывода, то регистр PADIR произво­дит настройку выводов на работу или в режиме входа (бит равен 0), или в режиме выхода (бит равен 1). Если контакт используется внутренним устройством, то биты регистра PADIR определяют, какое из двух уст­ройств имеет доступ к этому контакту.

4.  Сконфигурировать выводы параллельного порта С для работы с сигнала­ми CTS1 (внешний сигнал CLSN) (вывод 4) и CD1 (внешний сигнал RENA) (вывод 5) от контроллера SCC1. Для этого в регистры конфигура­ции порта С необходимо записать следующие значения: в регистре PCPAR[4]=PCPAR[5]:= 0, в регистре PCDIR в биты 4, 5 необходимо за­писать "0", а в регистре PCSO[4]=PCSO[5]:=1.

5.  В регистре специальных опций PCSO производится настройка работы контактов CDi и CTSi для работы или с SCCi-контроллером, или как с выводами параллельного порта ввода/вывода.

6.  Программировать дополнительную настройку сигнала RTS1 (TENA) пока не требуется, т. к. изменение состояния сигнала на этом входе может вы­звать случайное начало передачи в сеть.

7.  Для работы с внешним тактовым сигналом через контакт CLK1 (вывод 8) и CLK2 (вывод 9) порта А необходимо произвести настройку регистров PAPAR[8]=PAPAR[9]:=1, PADIR[8]= PADIR[9]:= 0.

8.  В регистре конфигурации последовательного интерфейса SICR необхо­димо выбрать источник тактирования приемника SCC1-канала через вывод CLK1 и передатчика SCC1-канала через вывод CLK2, для этого в биты TICS надо загрузить значение 101, а в биты R1CS — значение 100.

9.  Настроить контроллер SCC1 для работы в режиме NMSI, для этого в регистре SICR необходимо сбросить бит SC1:=0.

10. В ячейки TBASE и RBASE протокол-независимой памяти параметров SCC1-контроллера занести стартовые адреса таблиц буферных дескрип­торов для передачи и приема.

11. В ячейки функциональных кодов RFCR и TFCR записать код 0х18 для нормальной работы с сетевыми устройствами, поддерживающими стан­дартный для фирмы Motorola порядок передачи байтов в словах.

12. В ячейке MRBLR памяти параметров установить максимальную длину приемного буфера. Длина указывается в байтах. Например, если длина кадра равна 1520 байт, то для приема этого кадра достаточно одного бу­фера MRBLR:=0x05F0. Значение в ячейке MRBLR должно быть кратно 4, поэтому вместо 1518 указывается 1520 байт.

13. Для работы с 32-разрядной контрольной суммой в ячейки  С_MASK и С_PRES памяти параметров записать значения  С_MASK:= 0xDEBB20E3 и CPRES:=0xFFFFFFFF.