Jump to content
    

Анализатор протокола CAN

12 hours ago, Чижик said:

Что есть профессиональная работа? Я сам профессионал со стажем и могу смело утверждать (в своей области), что цена профессионального инструмента никак не коррелирует с профессионализмом выполнения работы.

А она есть. Понимаете, многие профессиональные разработчики, когда дело касается рабочих инструментов, очень быстро приходят к выводу, что лучше один раз потратиться на что-то нормальное, чем покупать дешевку, отмучиться с ней, выловить все баги, а потом все равно купить нормальное. Потому что это потерянное время разработчика, которое стоит деньги и хорошая железяка в данном случае обойдется не дороже, чем 3 дня рабочего времени.

Именно поэтому у меня на столе лежат Ixxat USB-to-CAN и PEAKовские адаптеры. Брендированное оно - да. Но за эти деньги они и софт работают и работают. И, кстати, продать я их тоже всегда могу совсем не за ноль денег.

 

 

 

 

Share this post


Link to post
Share on other sites

14 hours ago, Чижик said:

Зачетно, но минималистичный софт от MicroChip-a.

Этот софт написан на C#, а значит может быть легко привращён в исходный текст и изменён как угодно.

Share this post


Link to post
Share on other sites

Для того, чтобы работать с CAN, есть всякие готовые вещи. Но лично мне не нравится, что они имеют свой USB-протокол, а не нормальный tty!

Сделал вот такую штуку. Там же — все, что нужно для изготовления PCB на jlcpcb.

Выдает себя за PL2303, имеет несколько команд для управления интерфейсом и настройки аппаратных фильтров (можно забить все фильтры). Кроме того, есть софтовый фильтр (если нужно, скажем, пару ID'ов заблокировать, а по маске это делать лень или уже все фильтры с масками заняты). Протокол простой.

Я на основе этой железяки начал разрабатывать систему управления пусироботовскими драйверами шаговых двигателей: необходимый минимум обертки CanOpen идет в софте, а в порт просто пишу готовые последовательности ID/данные.

 

P.S. Себестоимость ниже 1000 рублей даже если паять вариант с гальваноразвязкой. Без нее — останется сдача, чтобы хорошо попить пивка!

Edited by Eddy_Em

Share this post


Link to post
Share on other sites

2 hours ago, Eddy_Em said:

Для того, чтобы работать с CAN, есть всякие готовые вещи. Но лично мне не нравится, что они имеют свой USB-протокол, а не нормальный tty!

а поверх tty какой протокол?.. Надеюсь slcan?

Share this post


Link to post
Share on other sites

19 часов назад, Doka сказал:

а поверх tty какой протокол?.. Надеюсь slcan?

У нас в некоторых девайсах МК выполняют роль мостов USB-CAN, там slcan реализовывал. Такое это днище, slcan...

Но в Linux-е он уже был, плюс унификация какая-никакая была, пришлось поддерживать. И с CANHacker-ом совместимость.

Но впечатление у меня осталось по нему крайне негативное. Это если с обработкой всяческих ошибок писать. Так то он простой.

Share this post


Link to post
Share on other sites

4 minutes ago, Arlleex said:

Но в Linux-е он уже был, плюс унификация какая-никакая была, пришлось поддерживать. И с CANHacker-ом совместимость.

вот в том-то и дело, что под него куча наследия уже, а еще одна железка, не ментейнящаяся со стороны хоста - ну такое себе..

а тут всё готовенькое, поддерживаемое socketCAN

Share this post


Link to post
Share on other sites

On 6/24/2020 at 6:01 PM, Doka said:

а поверх tty какой протокол?.. Надеюсь slcan?

Все элементарно: вот описание. Все, что получено из CAN-шины, выплевывается в терминал в виде "метка #ID данные", где "метка" — условное время в миллисекундах с начала работы МК, ID - идентификатор принятого сообщения (в 16-ном формате), а потом идут разделенные пробелом данные в 16-ном формате. А чтобы послать данные, даем команду "s ID данные", причем здесь ID и данные могут быть в 10-й, 8-й или 16-й системе.

Крайне удобно работать с таким форматом. По крайней мере, мне.

P.S. Сегодня спаял пару. Себестоимость - около 300р с гальваноразвязкой и рублей на 80 меньше — без гальваноразвязки.

Edited by Eddy_Em

Share this post


Link to post
Share on other sites

Цитата

объем прошивки — около 14кБ

Где-то так и ожидал. На днях приходилось делать UCCB - там благодаря халокубу память STM32F042C6 занята почти вся. И хомут в назначении порта CAN_MODE (PF0, а в схеме PB4).

Share this post


Link to post
Share on other sites

Я вчера ревизию сделал и выбросил остатки ненужного кода, в т.ч. для работы с уартом. Получилось меньше 12кБ. Только CAN и USB, ну и опционально светодиоды моргают.

P.S. в устройстве по ссылке огромный недостаток: отсутствует соединение земель по шине. Не будет такое работать. Натыкались уже неоднократно, когда соединение земель отваливалось: даже на короткой шине в 50м коннект пропадал.

Edited by Eddy_Em

Share this post


Link to post
Share on other sites

Соединение земель, естественно, добавил. Отдал - говорят, работает. :)

Расстояние больше 20 м там вряд ли будет (автобус).

Share this post


Link to post
Share on other sites

1 hour ago, Vasily_ said:

Это только китай.

Или самопал, как я выше писал. Всего лишь 300р и получаем CAN-сниффер с гальваноразвязкой…

Share this post


Link to post
Share on other sites

8 минут назад, x893 сказал:

Вот от товарища астронома недавно прилетело

Да-уж, таких поделий полно в сети.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...