Z_h_e 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба Доброго времени суток. Еще очень давно мечтал сделать что-нибудь на CAN в своих радиолюбительских целях. И вот, похоже это время пришло :). Появилась задача удобно решаемая на CAN и достаточно раскуренный STM32. Вопрос у меня стоит с выбором прикладного уровня протокола. В принципе можно придумать свой, все-таки я , как радиолюбитель, не зажат стандартами и другими требованиями и по срокам подгонять может меня только я, с ним я договорится могу :). Но я пока кручусь возле CANopen, как кот вокруг холодильника. В общих виде структура протокола CANopen мне вроде как понятна, нюансы, я считаю, лучше разбирать одновременно практически со штудированием документации. Вот на этом этапе у меня и возник вопрос. Изобретая какой-нибудь девайс, несомненно лучше всего его проверять заведомо рабочим инструментом. И в моем случае, мне вроде как нужен какой-то CANopen конфигуратор. Тут я упираюсь в жесткое ограничение бюджета, имеющий крайне малый размер и его надзирателя по имени Жаба, который еще больше его ужимает. Теперь сам вопрос. Существуют ли какие-либо бесплатные инструменты и работы с CANopen? Например, вроде как мне может помочь Kickdrive zero, но она требует некопеечного адаптера CAN-USB. Я наверное ответ то знаю :), но вдруг я что-то упустил в гуглении и существует некий программный бесплатный продукт, пускай с сильно обрезанным функционалом и дешевым адаптером. Китайцы какие-то адаптеры продают, только я не понял с чем они работают. Может можно самому преобразователь интерфейса сделать? Какой-нибудь CAN-232, так ведь надо знать что гнать в 232, вряд ли же есть программы для CANopen которым можно тупо гнать в 232 дублирование пакетов без какой-то служебной информации? Из elm327 тоже наверное не получится сделать? Если я правильно понял, он чисто ат командами управляется. Может есть более удобный протокол для радиолюбителя, но тоже "стандартный"? Вопросы может не совсем корректно задал, каши в голове еще пока много. Если что постараюсь уточнить. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба Для себя нет особого смысла использовать CANOpen. Зачем вся эта мишура из электронных словарей, которые надо парсить, сетевых менеджеров и сервисов? Это все нужно если вы реально вознамерились плотно использовать фирменные устройства и системы и там просто нет другого способа организовать взаимодействие. Для себя же все решается простыми С-и файлами с объявлением структур и организацией логики взаимодействия. Вы ж сами программируете все узлы в системе. Зачем еще привлекать лишние инструменты? CAN тем и хорош что позволяет обойтись без всякого протокола. В идентификаторе пакета уже зашит приоритет. Т.е. синхропакет выдаваемый мастером имеет наибольший приоритет, значит наименьший номер. Все остальные откликаются на него пакетами с большими номерами. Вот и вся логика. Перечислили в общем хидере все дефайны пакетов по приоритета какие вам нужны (номерам ID) и таким образом получили общую для всех настройку сети. Кто, что передает по CAN можете видеть в окне live view отладчика по SWD. Выводите туда счетчики, буфера, структуры и все видно как на ладони. Для этого вообще ничего писать не надо. Причем можно наблюдать с точки зрения каждого узла, а не с какого-то стороннего адаптера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 56 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба 2 часа назад, Z_h_e сказал: Появилась задача удобно решаемая на CAN и достаточно раскуренный STM32. Только вот на раскуренном STM, can реализован через одно место. 2 часа назад, Z_h_e сказал: Но я пока кручусь возле CANopen AlexandrY. Вам уже все написал, CANopen действительно нафиг не нужен, как и всякие протоколы. 2 часа назад, Z_h_e сказал: Какой-нибудь CAN-232 Однозначно не 232 2 часа назад, Z_h_e сказал: Из elm327 тоже наверное не получится сделать? Не получится, потому что он не способен передавать в шину, только слушать. 2 часа назад, Z_h_e сказал: Тут я упираюсь в жесткое ограничение бюджета, имеющий крайне малый размер и его надзирателя по имени Жаба Ну если все так жестко, что потратить сотню евро на инструмент большая проблема, и хочется секса, постройте себе https://www.mictronics.de/projects/usb-can-bus/ Кривова-то но как-то работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Z_h_e 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба 1 час назад, AlexandrY сказал: CAN тем и хорош что позволяет обойтись без всякого протокола. Ну какой-либо протокол верхнего уровня все равно нужен будет в любом случае. Собственно я изначально и планировал (ю) сделать что-то свое. А тут глянул что есть в природе, заинтересовало. При наличии отсутствия халявного инструментария отладки CANopen видимо пройдет мимо меня. Но спросить об этом думаю имело смысл. 37 минут назад, Vasily_ сказал: AlexandrY. Вам уже все написал, CANopen действительно нафиг не нужен Мне это сразу понятно, что он не нужен мне с точки зрения затратности разработки. Бывает просто интересно сделать. 41 минуту назад, Vasily_ сказал: Однозначно не 232 Если не 232 (или виртуальный 232) то нужен будет драйвер или делать какой-то клон. Пока я реально себе сделаю can-232, чтобы компом слушать шину и что-нибудь туда закидывать. У меня stm32F103 , он не может одновременно CAN и USB. Сеть макетную устойчиво разверну, куплю какой-нибудь 107 или 105. 46 минут назад, Vasily_ сказал: Только вот на раскуренном STM, can реализован через одно место. Мне сравнивать пока не с чем, на каких камнях как CAN реализован. Наверное и не буду на других. Время на все не хватит. 47 минут назад, Vasily_ сказал: постройте себе https://www.mictronics.de/projects/usb-can-bus/ Кривова-то но как-то работает. Ок. Постараюсь ознакомится что это. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба 26 minutes ago, Z_h_e said: Если не 232 (или виртуальный 232) то нужен будет драйвер или делать какой-то клон. Пока я реально себе сделаю can-232, чтобы компом слушать шину и что-нибудь туда закидывать. У меня stm32F103 , он не может одновременно CAN и USB. Сеть макетную устойчиво разверну, куплю какой-нибудь 107 или 105. Есть тут тема про скорость приема RS232 на PC. На простеньком адаптере с FT234XD-R вы вытянете 3 мегабита легко. Это перекроет все скрости CAN (кроме FD). Так что UART я бы даже рекомендовал для анализа CAN трафика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Z_h_e 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба Я изначально думал физический канал передачи CAN радиомудулями с пределами 9600бод организовать. Но оставил это пока, может потом, там граблей думаю много можно найти. Я к тому что 10кбод мне хватает, но остаюсь без резерва, что конечно недопустимо. Но и Мега скорость мне не нужна будет точно. Я , кстати, в инете видел проги CAN снифферы как раз для 232, не качал, но скорее всего работают. Так что можно будет тут то свое не изобретать. А потом может USB CDC забубеню. Слава богу у меня дидлайнов нет в этом вопросе. Про FT234XD-R зарубил, спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 7 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба 3 часа назад, Z_h_e сказал: Вопрос у меня стоит с выбором прикладного уровня протокола. В принципе можно придумать свой, все-таки я , как радиолюбитель, не зажат стандартами и другими требованиями и по срокам подгонять может меня только я, с ним я договорится могу :). Но я пока кручусь возле CANopen, как кот вокруг холодильника. Для освоения CANopen нужны анализатор протокола верхнего уровня, конфигуратор и хотя бы одно эталонное устройство прошедшее CANopen conformance test и в котором есть интересующие вас профили и сервисы. Это ДОРОГО. Бесплатных решений нет. 2 часа назад, AlexandrY сказал: Для себя нет особого смысла использовать CANOpen. Зачем вся эта мишура из электронных словарей, которые надо парсить, сетевых менеджеров и сервисов? ... CAN тем и хорош что позволяет обойтись без всякого протокола. Мишура потребуется когда возникнет линейка продуктов и регулярные инсталяции сторонним персоналом. Тогда возникнет острая потребность в функциях и инструментах для администрирования сети. В случае самопального протокола Network managment придется изобретать самостоятельно. Самостийное изобретение всегда будет ущербным по сравнению с устоявшимся промышленным стандартом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Z_h_e 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба Только что, _3m сказал: Для освоения CANopen нужны анализатор протокола верхнего уровня, конфигуратор и хотя бы одно эталонное устройство прошедшее CANopen conformance test и в котором есть интересующие вас профили и сервисы. Именно так я и думал. Просто иногда бывают решения готовые халявные и обидно их находить, в тот момент когда ты уже свой велосипед собрал :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 59 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба Сделайте если надо http://linklayer.github.io/cantact/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 7 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба 50 минут назад, Z_h_e сказал: Я изначально думал физический канал передачи CAN радиомудулями с пределами 9600бод организовать. Но оставил это пока, может потом, там граблей думаю много можно найти. Я к тому что 10кбод мне хватает, но остаюсь без резерва, что конечно недопустимо. Но и Мега скорость мне не нужна будет точно. Тогда вам надо глядеть в сторону ESP32. Там и радиоканал и кан имеется. Контроллер CAN в ESP32 работает я проверял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Z_h_e 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 (изменено) · Жалоба Ага. Запомню. Но сначала все же буду заводить на "автомобильном" физ уровне, а там уже не проблема менять каналы передачи. А пока на ТТЛьном уровне пакетами швырялся. Изменено 20 декабря, 2018 пользователем Z_h_e Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 56 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба 1 час назад, Z_h_e сказал: в инете видел проги CAN снифферы как раз для 232 Не путайте RS232 и виртуальный ком порт, это совершенно разные вещи. 2 часа назад, Z_h_e сказал: Если не 232 (или виртуальный 232) то нужен будет драйвер С драйверами проблем нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Z_h_e 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба Я не путаю. Я знаю разницу. Высказался может некорректно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 56 20 декабря, 2018 Опубликовано 20 декабря, 2018 · Жалоба 2 часа назад, Z_h_e сказал: Мне сравнивать пока не с чем, на каких камнях как CAN реализован. И не надо сравнивать, надо сразу взять нормальный камень, тот-же кортекс М3 только другого производителя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Z_h_e 0 20 декабря, 2018 Опубликовано 20 декабря, 2018 (изменено) · Жалоба Я не могу позволить выделять слишком много времени на изучение камней различных произвдителей. Я ведь этим занимаюсь только в свободное время. Сколько стоит нормальный камень? Они есть на отладочных платах? Изменено 20 декабря, 2018 пользователем Z_h_e Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться