USB-CAN интерфейс, или просто CAN хакер своими руками
USB-CAN интерфейс, или просто CAN хакер своими руками
28-11-2016, 20:46 Схемы на микроконтроллерах Просмотров: 78 869
Автор: max
![]()
В последнее время, как в автомобилях так и в промышленной автоматике, очень часто стал применяться так называемая CAN (Controller Area Network) шина. Высокая скорость передачи данных, отличная помехоустойчивость и возможность объединения множества устройств в одну сеть, делают ее практически вне конкуренции с другими шинами. Для передачи данных по КАН шине достаточно двух проводов, или иными словами одна витая пара. Подробности работы CAN шины описаны неоднократно, кому интересно тот найдет и почитает. Нас больше интересует как же подключится с помощью компьютера, ноутбука или планшета к шине КАН. Для данной задачи я изготовил
адаптер шины USB to CAN
который позволяет подключится с помощью ПК к любой CAN шине, смотреть пакеты которые по ней идут, записывать их, а также есть полноценная возможность слать свои данные в CAN шину!
Адаптер USB to CAN будет полезен авто электрикам, он отлично подходит для отслеживания пакетов людям которые изготавливают CAN подмотки одометров, а так же инженерам которые работают с автоматикой, которая использует КАН шину.
Устройство выполнено с применением микроконтроллера фирмы microchip PIC18F1XK50. как контроллере с SPI интерфейсом MCP2515, и высокоскоростного КАН трансивера mcp2551. ВАЖНО!!! микросхемы КАН контроллера MCP2515 бывают в разных корпусах, и у них не совпадают выводы, плата разведена под MCP2515IST. если будете пихать с другими буквами придется брать даташит, сверять ноги и разводить под ваш экземпляр. Нумерация выводов в плате и схеме не совпадает, так как на схеме MCP2515 нарисована в другом корпусе!
И так вот схема адаптера USB to CAN.
![]()
В принципе ничего особо сложного, если сравнивать с теми схемами которые гуляют по сети. Схема 100% работает, я по мимо того что сделал прототип я его еще и испытывал, если не поленюсь то запишу видео, как работает с CAN подмоткой спидометра, а может и на работе к автоматике подключу для наглядности. Собственно под сей девайс я развел печатную плату, по размерам получилось 55 х 45мм. все компоненты SMD кроме нескольких перемычек. Вот собственно и плата.
![]()
Ну я думаю все понятно где что, на плате предусмотрена перемычка бутлоудера для программирования контроллера, так же перемычка терминатора, и собственно контакты шины CAN. плату делал пленочным фоторезистом, ничего сложного в ней нет, разьем стоит MINIUSB не микро!
Для работы с КАН адаптером можно использовать разные программы, но я рекомендую программу CANHacker, про нее будет отдельная статья с вылеченной от жадности разработчиков рабочей прогой, она достаточно функциональна, имеет функцию фильтрации пакетов, что часто бывает просто незаменимо, также запись данных как с шины, так и в шину, в том числе и записанных ранее (эмуляция работы некого устройства).
Теперь самое интересное, прошивка) а там все интересно, я уже не помню но по моему шил все через USB без программатора, ну короче вам повезет если с завода у вас прошит бутлоадер в контроллере, если нет то в архиве с прошивкой есть описание как прошится. В архиве самая последняя версия прошивки, бутлоадер на всякий случай, драйвера под виндовс и линукс, в общем разберетесь. При прошивке не забываем установить перемычку BOOT.
=====================================
В папке Bootloader есть хекс файл его нужно прошить в контроллер, программатором! потом поставить перемычку бутлодера, и подключить к компу по юсб. далее утилитой Mphidflash заливаем черею юсб прошивку, команда mphidflash -Write USBtin_firmware_v1.7.hex, после обновления отключаем кабель, снимаем перемычку, и устройство готово!, ставим драйвера и пользуемся. Ну по крайней мере по памяти было все как-то так)
=====================================
Правильно прошитое и работающее устройство должно определится как ком порт.
![]()
Так же коротенькое видео работы КАН интерфейса с перехватом пакетов от промышленного оборудования.
USB-CAN интерфейс, или просто CAN хакер своими руками
Project images are for reference only. Actual production is based on the manufacturing files on the project page.
Please review the designer's notes (e.g., PCB thickness) and select the appropriate options.
PCBWay is not responsible
for issues caused by unsuitable parameter selections.
For more important ordering information, please refer to
Read More
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(1)
-
DT-Electronics
Mar 23,2024
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by varmer
-
Programmable Mist Maker - XIAO / QT PY Extension
1224 2 1 -
RadioHAT - Raspberry Pi radio development platform
1029 0 2 -
QWIIC-VL53L4CD Time-of-Flight Distance Sensor Module
1247 0 1 -
-
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
3441 0 6 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
4074 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
4470 2 2







