Работа с протоколом Lawicel (CanHacker) по Wi-Fi

Первым шагом в освоении CAN-шины по Wi-Fi стал протокол связи Lawicel, который используют многие популярные программы, например CanHacker. Сам по себе протокол простой и находится в открытом доступе.

image


Напомню, что аппаратная часть для общения по CAN-шине описывалась ранее и содержит ESP8266+MCP2515+
SN65HVD230D. Пришлось повозиться с регистрами MCP2515 для нормального использования совместно с ESP по SPI.
Эксперимент проводился на блоке М74 (21126-1411020-67) CAN. Скорость 500 Кбит/с.
В ходе теста выяснилось максимальное количество пакетов, в предложенной мной структуре, которое составило 200 п/с. Это говорит о времени суммарной задержки в 5 мс (при условии пинга в 1 мс).

canhacker

Для режима работы без маски, когда выполняется отправка каждого принятого пакета по CAN, это много и MCP2515 регулярно выдает ошибку по "несбросу прерывания". Связано это с тем, что в момент отправки по TCP приходит следующий пакет. В итоге некоторые пакеты теряются. Выход есть — организовать промежуточный буфер, в который по прерыванию складывать пакеты и отправлять их пачками. В настоящий момент в этом необходимости не вижу т.к. при поиске каких-то данных ставится маска пакета и отлавливаются только нужные данные, в таком режиме пакеты успевают отправляться без потерь. Демонстрацию работы CanHacker'а по Wi-Fi на блоке М74 можно посмотреть в видео:


Отзывы (0)

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
   Плохо           Хорошо