широковещательная передача файлов по шине CAN (CANopen?)

Я создаю систему, состоящую из множества (> 100) равных узлов, все подключенных через шину CAN. Идея состоит в том, что все узлы должны иметь одинаковую информацию, любой узел может генерировать событие и транслировать его через CAN. Для этих событий достаточно 8-байтовой полезной нагрузки, предоставляемой кадром CAN, и широковещательная передача достигнет всех узлов на шине, поэтому требование выполнено.

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

Кто-то предложил мне CANopen, чтобы сэкономить мне немного работы, но похоже, что он поддерживает только одноранговый режим с блочной передачей SDO и без широковещательной передачи.

Существует ли уже протокол, поддерживающий распространение файлов на все узлы CAN, или мне нужно придумать свой собственный?

Если да, то какие соображения мне следует учесть?

Я раньше не пользовался CAN.


person user1273684    schedule 03.08.2015    source источник
comment
Хотя использовать существующие библиотеки, когда они доступны, - это хорошо, то, что вы делаете, звучит достаточно просто, чтобы сделать его с нуля, и при этом легко сохранить желаемый аспект вещания. Однако, чтобы ответить на ваш вопрос конкретно, я не знаю, что уже существует. В лучшем случае кто-то опубликует то, что вы можете использовать. Но в противном случае кодирование с нуля не должно быть слишком сложной задачей.   -  person donjuedo    schedule 03.08.2015


Ответы (1)


Да, PDO используются для обработки данных в реальном времени, чтобы всегда передавать одни и те же переменные, а не протокол потоковых данных. Возможно, вы можете добавить PDO обратной связи от ведомых устройств к серверу. Я работал с некоторыми узлами, которые, когда я хотел их включить, я отправлял разрешение, а затем ждал, что в PDO от ведомого устройства к ведущему, ведомый сказал, что он включен. Или вы можете использовать SYNC.

person JMA    schedule 05.07.2016