Скетч для преобразования скорости CAN-шины

ПО схемотехнике: Arduino mini Pro + 2 модуля MCP2515.
Распиновка стандартная:
Arduino MCP2515
9 CS1 (MCP2515_1)
10 CS2 (MCP2515_2)
11 MOSI
12 MISO
13 SCK

Суть работы: приходящие на вход модуля MCP2515_1 CAN-пакеты со скоростью 500 кб/с (как пример) транслируются на выход модуля MCP2515_2 со скоростью 83,33 кб/с.
e-mail: miha_ru@mail.ru

То есть из 6 пакетов информацию надо запихнуть в один? И как вы себе такое видите?

6 - что-то мало. Пусть будет 8!

Для всех прочих: Нужно получить по одной шине пакет с 11-битным идентификатором и 8 байтами данных на скорости 500 кб/с и транслировать его в другую шину на скорости 83,33.

wrk.sadman@gmail.com

Миша, ты недогоняешь.
У тебя скорость входящей шины в 6 раз больше, чем исходящей. то есть за то время, пока на вход придет 6 пакетов, ты успеешь на выход послать только один. А остальные куда девать?

Это не скорость поступления пакетов, а скорость их передачи по шине. Может и один пакет в секунду поступать.

1 лайк

У Мавроди мозг закипел ))

Мычащий не в курсе, что в авто есть низкоскоростные малоответственные CAN-шины, которые без проблем общаются с высокосокоростной через шлюз. Для запроса показаний данных датчика температуры наружного воздуха зачем слать пакеты и получать ответы с периодом 10 мс?!
SADMAN41, черкану в личку.