Jump to content

    

Acknowledge and filter

Доброго времени суток.

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

Это так у всех или это особенность только PIC контроллеров?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Но акноледж на пакеты 0x200 всеравно устройство Б выставляет... по идее так быть не должно.

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

а драйвера протягивают 69 устройств?? большинство рассчитано на 32 абонента.

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

Share this post


Link to post
Share on other sites

Драйвер вот этот использую SN65HVD230DR

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this