1

Тема: Использование режима фильтрации CAN

Пожалуйста приведите пример использования регистров фильтрации и, самое главное, описание регистра конфигурации режима фильтрации. Я правильно понимаю, что задействована некая аппаратная фича процессора и ее правильное использование позволит сэкономить ресурсы устройства при большой загрузке CAN шины ?

2

Re: Использование режима фильтрации CAN

Вы понимаете совершенно верно - используются аппаратные фильтры микроконтроллера. В текущей версии ПО контроллера используется несколько упрощенный подход к фильтрации CAN: для его включения, дополнительно к обычной конфигурации CAN, необходимо записать "1" в "Регистр режима фильтрации приема CAN" и до 16 идентификаторов сообщений в регистры "Регистр установки фильтра приема CAN IDx №yy". На приведенном примере устанавливается фильтр, который будет пропускать сообщения с одним из трех идентификаторов стандартных (не расширенных) сообщений CAN: 0x121, 0x122, 0x123 отбросив все остальные:
http://forum.canny.ru/files/canfilter.png

3

Re: Использование режима фильтрации CAN

Это показан режим когда устройство слушает только пакеты с 121..123 id ? Или же это когда прослушиваются все кроме вышеперечисленных ?

4

Re: Использование режима фильтрации CAN

Действительно, описание может быть двояко истолковано. Переформулирую: На приведенном примере устанавливается фильтр, который ПОЗВОЛИТ КОНТРОЛЛЕРУ ПРИНИМАТЬ сообщения с одним из трех идентификаторов стандартных (не расширенных)  сообщений CAN: 0x121, 0x122, 0x123. Сообщения с другими идентификаторами будут отброшены.

5

Re: Использование режима фильтрации CAN

Спасибо за разъяснение. Не сочтите за настырность, но действительно хочется знать. Есть ли режим в котором указанные пакеты будут отброшены, а остальные пропущены ?

6

Re: Использование режима фильтрации CAN

Первый ответ читал на IPAD - почему то видно только часть сообщения, до слова "упрощенный".

7

Re: Использование режима фильтрации CAN

Есть проблема с отображением форума на мобильных устройствах, будем решать.

8

Re: Использование режима фильтрации CAN

Если можно ответьте пожалуйста на вопрос заданный мною в реплике #5. Спасибо.

9

Re: Использование режима фильтрации CAN

Слуйчано пропустил вопрос если речь о том, чтобы контроллер принимал все пакеты кроме указанных, то такого режима не предусмотрено.

10

Re: Использование режима фильтрации CAN

Доброго времени суток, подскажите а как работает фильтр IDH, например необходимо отфильтровать только D0. ?

11

Re: Использование режима фильтрации CAN

Аппаратно, через регистры фильтров драйвера CAN, сообщения фильтруются только по идентификатору: IDH - старшая часть идентификатора (в стандартном режиме всегда равна нулю), IDL - младшая его часть. Фильтрация по данным производится уже в самой диаграмме, сравнением или побитовыми операциями над регистрами D1:D0, D3:D2 и т.д. Если требуются дополнительные пояснения - создайте новую тему на форуме где подробно опишите алгоритм, который вы планируете реализовать, подскажем.