Full-Chip.net

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

» » USB-CAN интерфейс, или просто CAN хакер своими руками
Статистика
8475 (+1)
Всего пользователей
1
Сейчас на сайте
89 (+0)
Всего статей
1344 (+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качиваний: 899)
Посмотреть онлайн файл: mcp2515.pdf
mcp2551.pdf [343,92 Kb] (cкачиваний: 552)
Посмотреть онлайн файл: mcp2551.pdf
pic18f1xk50.pdf [4,46 Mb] (cкачиваний: 829)
Посмотреть онлайн файл: pic18f1xk50.pdf
Архив с прошивкой и драйверами:
proshivka-drayvera.rar [35,8 Kb] (cкачиваний: 1087)
Файл печатной платы:
can-usb-interface.rar [18,46 Kb] (cкачиваний: 1020)
Ну если уж совсем не разберетесь будем вспоминать вместе) но для начала прочтите описания к файлам!
K:42
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

Имя:*
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
Вопрос:
Сколько пальцев на руках и ногах (вместе) у человека+1? (ответ запишите числом)
Ответ:*
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив
Ответить Цитата
  • max

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

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

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

  • 4 сентября 2018 12:03
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Да, каюсь, монтаж. 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
Гость Владимир,
А в диспетчере устройств? там видно порт?
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
а весь фокус в том, что в в настройках CanHacker a виден только Com1 и некое устройство PEAKUSB и все, выбрать другой порт нет возможности...
Ответить Цитата
  • max

  • 7 сентября 2017 00:38
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Гость Владимир,
А что там настраивать? в диспетчере устройств смотрите на каком порте висит кан хакер, в программе указываете порт, скорость порта, и скорость кан шины.
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Изготовил данное устройство, с родной программой USBtinViever 1.3 работает, но на приложенном видео видно, что данный адаптер работает с программой CanHacker 1.99, подскажите, как настроить ? чет у меня пока не получается..
Ответить Цитата
  • Павел

  • 18 июля 2017 16:48
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 1
Василий, вопрос изготовления CAN-подмоток лучше обсуждать на других ресурсах))))
Ответить Цитата
  • max

  • 27 июня 2017 18:41
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 1
Василий,
Да можно там в программе есть режим записи можно хоть одну посылку записывать хоть целые пакеты и потом отсылать их в шину
Ответить Цитата
  • Василий

  • 27 июня 2017 18:37
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Здравствуйте. А с помощью данного устройства можно считывать и сохранять пакеты данных can шины , чтобы их потом воспроизвести.
Ответить Цитата
  • max

  • 26 июня 2017 21:09
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 1
Василмй,
НЕТ
Ответить Цитата
  • Василмй

  • 26 июня 2017 21:05
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Здравствуйте. Скажите этим устройством можно воспроизводить записанные данные can шины без компьютера. Спасибо.
Ответить Цитата
  • max

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

  • 20 июня 2017 22:43
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Рискну предположить, что конденсаторы должны быть 15pf, по крайней мере такие должны быть на кварце в 20 МГц, 22pf ставятся на 8 МГц.
переделал печатку под 2515 в SOIC, в мелком корпусе найти не удалось. Жду приезда ПИКа
Ответить Цитата
  • al

  • 18 июня 2017 16:59
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
наконец то я собрал этот девайс и разобрался в его прошивке , в двух словах так,
работать с конденсаторами на кварце он у меня отказался так что работает у меня
без них , загонял bootloader в контроллер pic kit2 программатором . Ставим
перемычку jp1 по схеме и втыкаем в компьютер , он определяется как hid устройство , затем создаем папку где должна лежать скаченная утилита Mphidflash
и сама прошивка .Заходим в командную строку виндовс ,заходим в созданную папку ,набираем mphidflash -Write USBtin_firmware_v1.7.hex ,жмем ок и девайс
прошивается , отключаем ,снимаем перемычку jp1 ,включаем и подкидываем драйвера на компьютер
п.c. спасибо автору за статью