Для указания границ между таблицами в оперативной памяти приемного фильтра, используются пять адресных регистров: стандартные адреса fullCAN, стандартные индивидуальные адреса, диапазоны стандартных адресов, расширенные индивидуальные адреса и диапазоны расширенных адресов. Кроме того, в приемном фильтре имеется регистр конца таблиц.
Таблицы, границы которых задаются содержимым первых пяти регистров, должны размещаться в памяти последовательно. Начало каждой последующей таблицы неявно подразумевает конец предыдущей таблицы. Конец таблицы диапазона расширенных идентификаторов задается содержимым регистра конца таблиц. Если адрес начала таблицы равен адресу начала следующей за ней таблицы или содержимому регистра конца таблиц, то данная таблица пуста.
Когда идентификатор от подключенного к шине CAN внешнего устройства поступает в приемный блок CAN-контроллера, он сообщает об этом приемному фильтру. В ответ на это, приемный фильтр читает номер контроллера, размер идентификатора и сам идентификатор непосредственно из CAN-контроллера.
Затем он начинает поиск в своей оперативной памяти, чтобы определить, нужно ли принять сообщение или следует его игнорировать. Если разрешен режим «fullCAN» и от CAN-контроллера поступает сигнал, что текущее сообщение содержит стандартный идентификатор, приемный фильтр производит поиск сначала в таблице идентификаторов, которые соответствуют приему в режиме «fullCAN». В противном случае или в случае, когда приемный фильтр не находит совпадения в таблице «fullCAN», производится поиск в таблице индивидуальных идентификаторов для размера идентификатора, сообщенного CAN-контроллером. Если совпадение находится, то приемный фильтр дает CAN-контроллеру сигнал сохранить сообщение, и обеспечивает сохранение номера принятого идентификатора в поле ID регистра состояния принятого фрейма.
Если приемный фильтр не находит совпадения в соответствующей таблице индивидуальных идентификаторов, то он ищет совпадение в таблице диапазонов идентификаторов Для размера идентификатора, сообщенного CAN-контроллером. Если совпадение находится, то приемный фильтр дает CAN-контроллеру сигнал чтобы сохранить сообщение, и обеспечивает сохранение номера принятого идентификатора в поле ID регистра состояния принятого фрейма.
Если приемный фильтр не находит совпадения ни в таблице индивидуальных идентификаторов, ни в таблице диапазонов идентификаторов, соответствующих размеру принятого идентификатора, то он сообщает CAN-контроллеру, что следует отказаться от принятого сообщения (игнорировать его).
14.7.1. Регистры приемного фильтра
Регистр режима приемного фильтра (AFMR — ОхЕООЗ СООО)
Битовая структура регистра AFMR приведена в Табл. 14.26.
Таблица 14.26. Биты регистра режима приемного фильтра (AFMR — ОхЕООЗ СООО)
Биты AFMR |
Название |
Описание |
Значение после сброса |
0 |
AccOff |
1: Если бит АссВР (см. ниже) установлен, приемный фильтр включен. Если бит АссВР сброшен (см. ниже), приемный фильтр не функционирует, и все сообщения по шине CAN игнорируются 0: Если этот бит и бит АссВР (см. ниже) сброшены, приемный фильтр экранирует (игнорирует) принятые CAN-идентификаторы |
1 |
1 |
АссВР |
1: Все входящие сообщения принимаются через разрешенные CAN-контроллеры. Пользовательская программа должна установить этот бит до изменения содержимого любого из регистров, описанных ниже, и до изменения содержимого оперативной памяти поисковой таблицы путем установки или сброса битов запрета в стандартных входах идентификатора. 0: Если этот бит и бит AccOff сброшены, приемный фильтр экранирует (игнорирует) принятые CAN-идентификаторы |
0 |
2 |
eFCAN |
1: Сам приемный фильтр будет заботиться о получении и сохранении сообщений для выбранного значения стандартного идентификатора на выбранной шине CAN, что соответствует дополнительному режиму «FullCAN». Описание режима «FullCAN» см. ниже. 0: Пользовательская программа должна читать все принимаемые CAN-контроллерами сообщения для всех разрешенных идентификаторов на всех разрешенных шинах CAN |
0 |
Регистр начального адреса стандартного индивидуального фрейма (SFFjsa - ОхЕООЗ С004)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |