7.5 Фильтрация DeviceNet.
DeviceNet фильтрование основывается на протоколе CAN 2.0A, в котором может быть до 18 бит поля данных по сравнению с Расширенным Идентификатором (EID) приёмного фильтра сообщения в дополнение к Стандартному Идентификатору (SID).
Особенность DeviceNet активизируется или отключается битами фильтра DeviceNet (DNCNT <4:0>) в регистре управления 2 ECAN (CiCTRL2 <4:0>). Значение указанное с помощью битов DNCNT определяет число битов данных, которые используются для сравнения с EID битами фильтра принятого сообщения. Если биты CiCTRL2 <DNCNT> сброшены, то режим DeviceNet отключён.
Для сообщения, которое будет принято, 11 битов SID должны соответствовать битам SID<10:0> в фильтре принятых сообщений и первых 'n' битов данных, биты в сообщении должны соответствовать битам EID <17:0> в фильтре принятого сообщения. Например, как показано на рисунке 16, первые 18 битов данных полученного сообщения - по сравнению с соответствующими битами идентификатора (EID <17:0>) фильтра принятого сообщения.
Рисунок 16. Работа с DeviceNet фильтрацией
Примечание: настройка DeviceNet фильтрации, показана для битов EID - DNCNT <4:0> = 10010
7.5.1. Сравнения фильтра
В таблице 2 приведено сравнение фильтра, формируемое битами управления CiCTRL2 (DNCNT <4:0>). Например, если DNCNT <4:0> = 00011, то только сообщение, в котором 11 бит стандартного идентификатора соответствует фильтру принятого SID (SID <10:0>) и биты 7, 6 и 5 из нулевого байта данных соответствуют расширенному идентификатору фильтра (EID <0:2>) то принимается.
Таблица 2. Биты конфигурации DeviceNet фильтра
Конфигурация DeviceNet фильтра (DNCNT <4:0>) |
Биты данных полученного сообщения, которые будут сравниваться (Byte<bits>) |
EID биты, используемые для приёмного фильтра |
00000 |
Нет сравнения |
Нет сравнения |
00001 |
Байт данных 0<7> |
EID<17> |
00010 |
Байт данных 0<7:6> |
EID<17:16> |
00011 |
Байт данных 0<7:5> |
EID<17:15> |
00100 |
Байт данных 0<7:4> |
EID<17:14> |
00101 |
Байт данных 0<7:3> |
EID<17:13> |
00110 |
Байт данных 0<7:2> |
EID<17:12> |
00111 |
Байт данных 0<7:1> |
EID<17:11> |
01000 |
Байт данных 0<7:0> |
EID<17:10> |
01001 |
Байт данных 0<7:0> и байт данных 1<7> |
EID<17:9> |
01010 |
Байт данных 0<7:0> и байт данных 1<7:6> |
EID<17:8> |
01011 |
Байт данных 0<7:0> и байт данных 1<7:5> |
EID<17:7> |
01100 |
Байт данных 0<7:0> и байт данных 1<7:4> |
EID<17:6> |
01101 |
Байт данных 0<7:0> и байт данных 1<7:3> |
EID<17:5> |
01110 |
Байт данных 0<7:0> и байт данных 1<7:2> |
EID<17:4> |
01111 |
Байт данных 0<7:0> и байт данных 1<7:1> |
EID<17:3> |
10000 |
Байт данных 0<7:0> и байт данных 1<7:0> |
EID<17:2> |
10001 |
Байт 0<7:0> и байт 1<7:0> и байт 2<7> |
EID<17:1> |
10010 |
Байт 0<7:0> и байт 1<7:0> и байт 2<7:6> |
EID<17:0> |
10011 - 11111 |
Неверный выбор |
Неверный выбор |
7.5.2 Специальные случаи
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.