Является ли ACK обязательным для связи по шине CAN - PullRequest
0 голосов
/ 10 апреля 2019

Я делаю симулятор CAN для трекеров GPS, они только записывают данные CAN и не отправляют ACK.Можно ли отправить данные CAN с помощью raspberry, используя mcp2515 / tja1050, без какого-либо устройства на шине, которое могло бы вызвать ACK?

Ответы [ 3 ]

0 голосов
/ 10 апреля 2019

Нет, это невозможно, вам нужно как минимум 2 узла, которые активно участвуют в общении.Однако это можно исправить, просто предоставив другой CAN-контроллер на шине, который не должен делать ничего интеллектуального, кроме части ACK.

Для целей разработки / отладки / тестирования вы можете, однако, поместить свой собственный узел в«Режим петли», то есть он будет говорить сам с собой.Может быть удобно, если вам нужно подходящее оборудование.

0 голосов
/ 12 апреля 2019

Вы можете попробовать включить режим управления presume-ack на.

Предполагается, что вы используете команду ip для создания ваших сокетов can, которые будут выглядеть примерно так:

ip link set <DEVICE> type can presume-ack on

Это будет игнорировать пропущенные ACK.Однако я не уверен, работает ли это со всеми контроллерами.

0 голосов
/ 10 апреля 2019

Обычно это генерирует непрерывную повторную передачу.

Некоторые устройства имеют режим однократной передачи, когда просто отправляется кадр CAN и не предпринимается попытка повторной передачи. Если у вашего передатчика есть этот режим, вы можете делать то, что вы описываете, в противном случае вы получите много повторных передач.

...