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 хакер своими руками
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- 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
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
120 0 0 -
DIY Laser Power Meter with Arduino
171 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
159 0 2 -