Full-Chip.net

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

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

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

Имя:*
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

  • 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
  • комментария
  • публикаций
    • Нравится
    • 0
Василий,
Да можно там в программе есть режим записи можно хоть одну посылку записывать хоть целые пакеты и потом отсылать их в шину
Ответить Цитата
  • Василий

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

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

  • 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. спасибо автору за статью
Ответить Цитата
  • max

  • 26 мая 2017 11:59
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: ARTY
У меня есть промышленный контроллер и есть исполняющие устройство.
Можно ли с помощью это сие чудо девайса, считать CAN шину и воспроизвести ее на исполняющем устройстве?

Да можно
Ответить Цитата
  • ARTY

  • 26 мая 2017 07:46
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
У меня есть промышленный контроллер и есть исполняющие устройство.
Можно ли с помощью это сие чудо девайса, считать CAN шину и воспроизвести ее на исполняющем устройстве?
Ответить Цитата
  • Группа: Посетители
  • Регистрация: 5.04.2017
  • Статус: Пользователь offline
  • комментарий
  • публикаций
    • Нравится
    • 0
К сожалению PIC поставляется с завода без Bootloader(а). Тому, кто будет повторять , надо предусмотреть запись в контроллер Bootloader(а).
Ответить Цитата
  • max

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

  • 10 марта 2017 13:09
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
А можно им диагностировать авто по кан шине?
Ответить Цитата
  • max

  • 16 февраля 2017 18:59
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
vektorb,
Не очень там видно качество так себе, в папке Bootloader есть хекс файл его нужно прошить в контроллер, программатором! потом поставить перемычку бутлодера, и подключить к компу по юсб. далее утилитой Mphidflash заливаем черею юсб прошивку, команда mphidflash -Write USBtin_firmware_v1.7.hex, после обновления отключаем кабель, снимаем перемычку, и устройство готово!, ставим драйвера и пользуемся. Ну по крайней мере по памяти было все как-то так)
Ответить Цитата
  • vektorb

  • 15 февраля 2017 06:57
  • Группа: Посетители
  • Регистрация: 14.02.2017
  • Статус: Пользователь offline
  • комментарий
  • публикаций
    • Нравится
    • 0
max,
отпишитесь пожалуйста по фоткам.
Ответить Цитата
  • Kirill

  • 13 февраля 2017 11:21
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Цитата: max
Kirill,
по моей печатке делал? фото сбрось с обоих сторон. uw5rr@mail.ru

Да. По печатке в архиве. Фото скинул в почту. Дошли?
Ответить Цитата
  • max

  • 13 февраля 2017 09:25
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Kirill,
по моей печатке делал? фото сбрось с обоих сторон. uw5rr@mail.ru
Ответить Цитата
  • Kirill

  • 13 февраля 2017 08:00
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Max,
Если честно уже 2 раза перепаял это устройство. Вообще ни разу в жизни вообще этим не занимался, больше в программировании соображаю. Но этот девайсик очень нужен, поэтому и взялся.
Спаял вроде все по схемам. Прозванивал все дорожки, где плохо пропечатались я их соединил. Горит только светодиод на входе 5В, но он и без всего остального будет гореть:) Само устройство не определяется на компе вообще никак. Поэтому до бутлоадера дойти не могу. Хотя по нему и так все понятно стало.
Может какие-то есть варианты как протестировать правильность установленных компонентов и самой схемы?
Ответить Цитата
  • max

  • 6 февраля 2017 22:46
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Kirill,
там в папке бутлоудер есть описание, правда малость на английском но то не проблема правда? Сначала нужно прошить бутлоадер программером, а потом прогой mphidflash прошить прошивку уже через usb в файле все описано в плоть до команд для mphidflash и в каком положении должен быть джампер BOOT
Ответить Цитата
  • Kirill

  • 6 февраля 2017 21:04
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
А можете подробней расписать как прошить сей девайс?