Модуль ECAN для dsPIC. Типичная сеть ECAN. 16 приемных фильтров для фильтрования сообщения, страница 10

Этот раздел сопровождается информации о том как организован буфер сообщений для передачи и приёма. (См. также Раздел. 2" Форматы CAN сообщений” для детального рассмотрения буфера сообщения и раздел 8 «Конфигурации Диспетчера DMAа» для подробностей относительно того, как формировать сообщение в ECAN буфере RAM DMAа.)

Буфер 1: ECAN буфер слова сообщения 0

бит 15-13 Не реализован, читается как ‘0’

бит 12-2 SID<10:0>: Стандартный идентификатор

бит 1 SRR: Замена удалённого запроса

1 = Сообщение запросит удалённую передачу

0 = Обычное сообщение

бит 0 IDE: Расширенный идентификатор

1 = Сообщение будет передано с расширенным идентификатором

0 = Сообщение будет передано со стандартным идентификатором

Буфер 2: ECAN буфер слова сообщения 1

бит 15-12 Не реализован, читается как ‘0’

бит 11-0 EID<17:6>: Расширенный идентификатор

Буфер 3: ECAN буфер слова сообщения 2

бит 15-10 EID<5:0>: Расширенный идентификатор бит 9 RTR: Передача удалённого запроса

1 = Сообщение запросит удалённую передачу

0 = Обычное сообщение бит 8 RB1: Reserved Bit 1

Пользователь должен установить этот бит в «0», для соответствия CAN протоколу бит 7-5            Не реализован, читается как ‘0’

бит 4 RB0: Reserved Bit 0

Пользователь должен установить этот бит в «0», для соответствия CAN протоколу бит 3-0 DLC<3:0>: Код длины данных

Буфер 4: ECAN буфер слова сообщения 3

бит 7-0 ECAN сообщение байт 0

бит 15-8 ECAN сообщение байт 1

Буфер 5: ECAN буфер слова сообщения 4

бит 7-0 ECAN сообщение байт 2

бит 15-8 ECAN сообщение байт 3

Буфер 6: ECAN буфер слова сообщения 5

бит 7-0 ECAN сообщение байт 4

бит 15-8 ECAN сообщение байт 5

Буфер 7: ECAN буфер слова сообщения 6

бит 7-0 ECAN сообщение байт 6

бит 15-8 ECAN сообщение байт 7

Буфер 8: ECAN буфер слова сообщения 7

бит 15-13 Не реализован: читается как ‘0’

бит 12-8FILHIT <4:0>: Фильтр Hit код

Кодирует количество фильтров, которые завершена запись в этот буфер (только запись  модулем в буфер приёмника, не используется для передающего буфера).

бит 7-0 Не реализован: читается как ‘0’

5. РЕЖИМЫ CAN

CAN модуль может функционировать в одном из выбранных пользователем режиме. Режимы:

- Конфигурационный режим (ConfigurationMode)

- Нормальный режим (NormalOperationMode)

- Режим только чтения (Listen-Only)

- Режим чтения всех сообщений (Listen All Messages Mode)

- Зацикленный режим (Loopback Mode) Не использовать согласно ERRATA!!!

- Выключенный режим (Disable Mode)

Режим функционирования настраивается пользователем используя биты Request Operation Mode (REQOP<2:0>) в регистре управления 1 ECAN (CiCTRL1<10:8>). ECAN подтверждает вход в запрашиваемый режим битами Operation Mode (OPMODE <2:0>) регистра (CiCTRL1<7:5>). Переход между режимами осуществляется синхронизировано с CAN сетью. Это значит, что CAN контролер ожидает пока на шине не будут 11 recessive битов перед сменой режима.

5.1. Конфигурационный режим.

После аппаратного сброса, CAN модуль находится в конфигурационном режиме (OPMODE<2:0>=100). Счетчики ошибок обнулены, и все регистры имеют значение как после СБРОСа. Для того чтобы изменить скорость обмена данными в шине ECAN (регистры CiCFG1 и CiCFG2) необходимо чтобы модуль ECAN находился в конфигурационном режиме.

5.2. Нормальный режим функционирования.

В нормальном режиме работы модель ECAN может передавать  и принимать CAN сообщения. Нормальный режим работы устанавливается после программной установки битов REQOP<2:0> регистра CiCTRL1<10:8> в «000». Когда OPMODE<2:0>=000, модуль работает в нормальном режиме.

5.3 Режим только чтение.

Режим только чтение преимущественно используется для мониторинга шины без участия в процессе передачи. Особенность режима только чтение что он не генерирует подтверждения и ошибки. Режим только чтение используется для определения скорости передачи на CAN шине.

5.4. Режим чтения всех сообщений.