Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ Controller Area Network (CAN) _ Acknowledge and filter

Автор: SergR Mar 16 2018, 09:48

Доброго времени суток.
Есть два устройства А и Б(PIC18F25K80), первое А периодически отправляет пакеты с ID = 0х100 и ID = 0х200. В устройстве Б настраиваю фильтр на прием пакетов 0x100. Все вроде работает отлично, пакеты 0x100 принимаются пакеты 0x200 игнорятся. Но акноледж на пакеты 0x200 всеравно устройство Б выставляет... по идее так быть не должно. Собственно вопрос, как сделать так чтобы Б акноледжил только пакеты с ID = 0x100 ?
Это так у всех или это особенность только PIC контроллеров?

Автор: редактор Mar 16 2018, 17:33

Так у всех. На аппаратном уровне контроллер CAN подтверждает прием, а затем прогоняет его через входные фильтры.

Автор: 1113 Mar 18 2018, 08:24

Цитата(SergR @ Mar 16 2018, 12:48) *
Но акноледж на пакеты 0x200 всеравно устройство Б выставляет... по идее так быть не должно.

акноледж выставляет каждое устройство в сети, получившее любой достоверный пакет

Автор: SergR Mar 20 2018, 12:09

Спасибо за ответы!

Цитата
акноледж выставляет каждое устройство в сети, получившее любой достоверный пакет
Вот и я так подозреваю... Пока устройств на шине не много(3-4шт) и расстояния не большие, то все работает норм, а вот возникла ситуация с большим количеством устройств (69) и расстояние около 30м. Много пакетов стало теряться. Есть предположение что рядом стоящие устройства выставляют акноледж друг другу и пакет перестает дублироваться, а адресатом, стоящем по дальше, пакет может приниматься с ошибкой.

Автор: редактор Mar 20 2018, 12:53

а драйвера протягивают 69 устройств?? большинство рассчитано на 32 абонента.
Так же влиять могут топология, ответвления, расположение терминаторов, а также непосредственные настройки CAN узла (PropSeg/ точка выборки), стабильность (разброс) источников тактирования на узлах.

Автор: SergR Mar 20 2018, 13:08

Драйвер вот этот использую SN65HVD230DR
По даташиту до 120 устройств на шине должен поддерживать.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)