Full-Chip.net

Все об электронике, секреты ремонта
сборки компьютеров и периферии !!!

» » USB-CAN интерфейс, или просто CAN хакер своими руками
Статистика
82034 (+0)
Всего пользователей
0
Сейчас на сайте
85 (+0)
Всего статей
1630 (+0)
Всего комментариев
Реклама


USB-CAN интерфейс, или просто CAN хакер своими руками

В последнее время, как в автомобилях так и в промышленной автоматике, очень часто стал применяться так называемая 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.
USB-CAN интерфейс, или просто CAN хакер своими руками

В принципе ничего особо сложного, если сравнивать с теми схемами которые гуляют по сети. Схема 100% работает, я по мимо того что сделал прототип я его еще и испытывал, если не поленюсь то запишу видео, как работает с CAN подмоткой спидометра, а может и на работе к автоматике подключу для наглядности. Собственно под сей девайс я развел печатную плату, по размерам получилось 55 х 45мм. все компоненты SMD кроме нескольких перемычек. Вот собственно и плата.
USB-CAN интерфейс, или просто CAN хакер своими руками

Ну я думаю все понятно где что, на плате предусмотрена перемычка бутлоудера для программирования контроллера, так же перемычка терминатора, и собственно контакты шины CAN. плату делал пленочным фоторезистом, ничего сложного в ней нет, разьем стоит MINIUSB не микро!
Для работы с КАН адаптером можно использовать разные программы, но я рекомендую программу CANHacker, про нее будет отдельная статья с вылеченной от жадности разработчиков рабочей прогой, она достаточно функциональна, имеет функцию фильтрации пакетов, что часто бывает просто незаменимо, также запись данных как с шины, так и в шину, в том числе и записанных ранее (эмуляция работы некого устройства).
Теперь самое интересное, прошивка) а там все интересно, я уже не помню но по моему шил все через USB без программатора, ну короче вам повезет если с завода у вас прошит бутлоадер в контроллере, если нет то в архиве с прошивкой есть описание как прошится. В архиве самая последняя версия прошивки, бутлоадер на всякий случай, драйвера под виндовс и линукс, в общем разберетесь. При прошивке не забываем установить перемычку BOOT.
=====================================
В папке Bootloader есть хекс файл его нужно прошить в контроллер, программатором! потом поставить перемычку бутлодера, и подключить к компу по юсб. далее утилитой Mphidflash заливаем черею юсб прошивку, команда mphidflash -Write USBtin_firmware_v1.7.hex, после обновления отключаем кабель, снимаем перемычку, и устройство готово!, ставим драйвера и пользуемся. Ну по крайней мере по памяти было все как-то так)
=====================================
Правильно прошитое и работающее устройство должно определится как ком порт.
USB-CAN интерфейс, или просто CAN хакер своими руками

Так же коротенькое видео работы КАН интерфейса с перехватом пакетов от промышленного оборудования.


mcp2515.pdf [885,9 Kb] (cкачиваний: 2369)
Посмотреть онлайн файл: mcp2515.pdf
mcp2551.pdf [343,92 Kb] (cкачиваний: 1413)
Посмотреть онлайн файл: mcp2551.pdf
pic18f1xk50.pdf [4,46 Mb] (cкачиваний: 2145)
Посмотреть онлайн файл: pic18f1xk50.pdf
Архив с прошивкой и драйверами:
proshivka-drayvera.rar [35,8 Kb] (cкачиваний: 2980)
Файл печатной платы:
can-usb-interface.rar [18,46 Kb] (cкачиваний: 2696)
Ну если уж совсем не разберетесь будем вспоминать вместе) но для начала прочтите описания к файлам!
K:53
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Вопрос:
b+b+b=bbb , x+x+x=xxx, c+c+c+a=?
Ответ:*
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив
Ответить Цитата
  • max

  • 15 августа 2022 18:18
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Гость Игорь
Доброго времени суток! вопрос а чем шить этот контроллер или чем заменить можно ....я такой еще не встречал

pickit 3 спокойно шьет а вот USBtin работает только под виндовс хп и ниже у меня на 7 винде не запустилась прошивка.
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Доброго времени суток! вопрос а чем шить этот контроллер или чем заменить можно ....я такой еще не встречал
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Цитата: Kirill
А можете подробней расписать как прошить сей девайс?

можно использовать другой бутлоадер?

vspishkin, в общем с танцами и бубеном удалось наконец прошить плату , заработало после того как отмыл всю плату в ультразвуковой ванночке, монтаж очень мелкий и нужно видимо вымывать флюс из под корпусов микросхем .Паял флюсом тагс
Ответить Цитата
  • Виктор

  • 13 октября 2020 18:37
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Други-коллеги. Это все для меня родное, но жёсткий дефицит времени сейчас. Все хобби поделки отложены, увы. Реально цейтнот.
А вещь нужная.
Может кто-нить сделает за "взаимно необидные" деньги эту штуку. Корпус не нужен.
Порядочность гарантирую.
victorforester7@gmail.com
Ответить Цитата
  • Werk

  • 7 июня 2020 21:55
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Подпаяйтесь и прошейте, пять проводочков всего.
По прошивке через mhidflash тоже долго разбирался, и разобрался. Вначале указывайте имя проги как она называется у вас на компе, и комп поймёт с помощью чего шить тогда.
Ответить Цитата
  • Al3x18

  • 6 мая 2020 23:30
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Доброго времени суток.
Спасибо за за плату!

Хочу уточнить следующий вопрос:
Как залить USBtin_bootloader_v1.1.hex
Программатором? Нужно предусмотреть дополнительный разъем для программирования?
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Здравствуйте. Помогите с прошивкой. Перевел в BOOT режим, определился как HID устройство, с помощью команды C:\mphidflash -Write USBtin_firmware_v1.7.hex выбивает ошибку
USB HID device faund: 12288 bites free
Device famely: PIC18
Error: Could not open hex file for inpat.
Пробовал на двух компьютерах, mphidflash с файлом прошивки записывал и в корневой каталог и в папки ситуация не меняется. Помогите советом, что я делаю не так. Спасибо
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
В статье упоминалось о "лечении" CANHacker, но статьи я у вас на сайте не нашёл.
Ответить Цитата
  • max

  • 25 мая 2019 23:08
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Максим Литвин,
+30935546495
uw5rr10@gmail.com
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
как с тобой связаться? 89680507538
Ответить Цитата
  • Fayton

  • 30 апреля 2019 22:46
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
https://youtu.be/PjZvRQEKPJ0
Ответить Цитата
  • max

  • 10 октября 2018 08:35
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Гость Дмитрий,
Возможно в прошивке.
Ответить Цитата
  • Гость Дмитрий

  • 10 октября 2018 04:06
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
собрал адаптер по вашей печатке, но прошивку залил более свежую с юсбитин.
все работает но есть проблема ,при передаче периодически отваливается адаптер от юсби. приходиться коннектиться заново. в чем может быть проблема, кондеры стоят даже с завышенным номиналом.
Ответить Цитата
  • miha

  • 6 сентября 2018 11:07
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 1
Есть вопрос. Как в канхакере вручную выставить скорость шины? Например 83.333 или 33.333. Как посчитать?
Ответить Цитата
  • miha

  • 4 сентября 2018 12:03
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 1
Да, каюсь, монтаж. 2515 непропай. Под лупой вроде всё ок. Прошёл феном - заработало с пол пинка. Автору спасибо!
Ответить Цитата
  • max

  • 2 сентября 2018 17:16
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
miha,
проверяй монтаж, чудес не бывает уже много людей собирало и все работало
Ответить Цитата
  • miha

  • 1 сентября 2018 23:23
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Собрал. Монтаж проверил. picKit2 залил USBtin_bootloader_v1.1.hex. Поставил перемычку, подключил к компу( win7, виртуальная XP) - тишина. Подключил к другому ( win10 ) раз ругнулась про неизвестное USB устройство и тишина.
Ответить Цитата
  • max

  • 10 июня 2018 10:07
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Гость Александр,
китайская глина а не конденсаторы, при пайке если их перегреть у них емкость уходит в разы.
Ответить Цитата
  • Гость Александр

  • 9 июня 2018 23:44
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Дело было не в бобине...
Пользовал шнур от PICKIT3, поменял его и все пошло. Правда перед этим поменял кварц, и взял кондеры с какой то платы стоявшие на обвязке проца. На указаных на схеме номиналах плата глючила! То определялась то нет на компе. Как уже писали ниже, без кондеров запустилась.
Ответить Цитата
  • Гость Александр

  • 6 июня 2018 03:17
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Пробовал и с ней и без нее...
Прием есть, передачи нет. MCP обе менял.
Осцилографом смотрел, очень слабый сигнал.
Ответить Цитата
  • max

  • 5 июня 2018 11:58
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Гость Александр
Добрый день!
Собрал сей прибор по Вашей схеме. Запустил.
Прием работает. А вот отправка нет!
У всех кто собрал отправка пакетов работает?
Без отправки пакетов не могу вычислить нужные мне ID....

Работает двунаправленно как на прием так и на передачу!!!
Перемычка ТЕРМ стоит?
Ответить Цитата
  • Гость Александр

  • 5 июня 2018 11:55
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Добрый день!
Собрал сей прибор по Вашей схеме. Запустил.
Прием работает. А вот отправка нет!
У всех кто собрал отправка пакетов работает?
Без отправки пакетов не могу вычислить нужные мне ID....
Ответить Цитата
  • ARTY

  • 5 декабря 2017 08:34
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Цитата: max
ARTY,
А перемичку буут убрали?


Я же не настолько глупый.
Короче, я разобрался в чем проблема! Я прочитал даташит и выяснил что PIC18F14K50 имеет встроенный стабилизатор питания на 3.2в, а у PIC18LF14K50 его просто нет! А я поставил LF. Соответственно PIC18LF14K50 просто окуевает. Недолго думая, перерезал дорожку питания МК и в разрыв цепи установил стабилизатор напряжения на 3.3в 78D33F и устройство соответственно заработало как положено. Так что кто будет собирать это устройство, будьте внимательнее, не повторяйте мою ошибку. Автору спасибо!
Ответить Цитата
  • max

  • 4 декабря 2017 18:56
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
ARTY,
А перемичку буут убрали?
Ответить Цитата
  • ARTY

  • 4 декабря 2017 16:48
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Цитата: max
ARTY,
HEX файл должен лежать в папке с Mphidflash и называться точно так как вы вписываете командой, судя по всему он просто не видит прошивку


Спасибо что ответили! Я прошил устройство!
Но возникла другая проблема, на 3-х ноутах и 3-х компах определяется как неизвестное устройство, отсутствует ID. Пытался установить дрова принудительно, результат-0.
На домашнем компе на котором я и прошил его определяется как USBtin и ID есть, и дрова встают! Что за хрень твориться?
Ответить Цитата
  • max

  • 3 декабря 2017 20:52
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
ARTY,
HEX файл должен лежать в папке с Mphidflash и называться точно так как вы вписываете командой, судя по всему он просто не видит прошивку
Ответить Цитата
  • ARTY

  • 1 декабря 2017 11:29
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Проблема с прошивкой устройства! Загнал в BOOT режим, определился как HID устройство (кстати, нормально определяется только по XP), с помощью команды C:\mphidflash -w USBtin_firmware_v1.7.hex или (mphidflash -w USBtin_firmware_v1.8.hex) без ризницы, выдает ошибку:
USB HID device faund: 12288 bites free
Device famely: PIC18
Error: Could not open hex file for inpat.
Короче, открыт так и не смог и шаманский бубен не помогает.
Помогите плиииз!
Ответить Цитата
  • max

  • 11 сентября 2017 23:48
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Ответ пользователю ARTY
Перемычка ставится при прошивке, после прошивки перемычка BOOT снимается, только после этого интерфейс готов к работе.
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
конечно видно, адаптер садится на com5... и в родной проге USBtinViewer_v1.3 он видится...
P.S. скачал версию CanHacker постарее , v1.99, там порт видится и адаптер заработал. Спасибо. Закрыто.
Ответить Цитата
  • max

  • 7 сентября 2017 23:18
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Гость Владимир,
А в диспетчере устройств? там видно порт?