Jump to content

    
Samum421

Написать драйверы и библиотеки CAN

Recommended Posts

10 hours ago, leocat said:

Имел я как то "удовольствие" работать с CAN под линуксом... В конечном счёте "скатился" до решения: промежуточное устройство на STM32. USB<->CAN. Так и проще и надёжнее. В линукс видится как VCP. Да и более универсально получается это решение. Любой компьютер, любая ОСь, хоть Win.

 

Поддерживаю. С этими PCI'ными CAN-контроллерами извечная проблема: разработчики выкладывают крайне древние модули ядра и в итоге забивают на поддержку. Есть у нас такие динозавны: стоит аж третье ядро!!! Поэтому я пошел другим путем: сделал свой CAN<>USB, с ним и работаю. Претензий нет ☺

Share this post


Link to post
Share on other sites
2 hours ago, Eddy_Em said:

Поддерживаю. С этими PCI'ными CAN-контроллерами извечная проблема: разработчики выкладывают крайне древние модули ядра и в итоге забивают на поддержку. Есть у нас такие динозавны: стоит аж третье ядро!!! Поэтому я пошел другим путем: сделал свой CAN<>USB, с ним и работаю. Претензий нет ☺

Этих CAN-USB как блох у собаки по 20-30$. Осталось только осчастливить ТС.

Share this post


Link to post
Share on other sites
2 hours ago, Eddy_Em said:

У моего себестоимость 300р, свой протокол и свободная прошивка - добавляй, что хочешь...

Так и я не покупаю. Штук 10 валяется.

Share this post


Link to post
Share on other sites
On 12/5/2020 at 11:26 PM, Eddy_Em said:

Поддерживаю. С этими PCI'ными CAN-контроллерами извечная проблема: разработчики выкладывают крайне древние модули ядра и в итоге забивают на поддержку. Есть у нас такие динозавны: стоит аж третье ядро!!! Поэтому я пошел другим путем: сделал свой CAN<>USB, с ним и работаю. Претензий нет ☺

А что под линуксом даже не рассматривается, что CAN бывает в виде встроенного в проц. модуля? Только переходники с PCI, USB?

Share this post


Link to post
Share on other sites
31 минуту назад, C2000 сказал:

А что под линуксом даже не рассматривается, что CAN бывает в виде встроенного в проц. модуля? Только переходники с PCI, USB?

Нам нужен только под Линуксом, что то типа http://robot-develop.org/archives/4110 с библиотеками тира http://www.canfestival.org. Как я понял из прочтения данной статьи, у нас не работает нормально CanOpen SDO протокол. 

Ну и желательно изменить библиотеки. Это большая работа.

Edited by Samum421

Share this post


Link to post
Share on other sites
27 minutes ago, Samum421 said:

Нам нужен только под Линуксом, что то типа http://robot-develop.org/archives/4110 с библиотеками тира http://www.canfestival.org. Как я понял из прочтения данной статьи, у нас не работает нормально CanOpen SDO протокол. 

Ну и желательно изменить библиотеки. Это большая работа.

 

Понятно что драйвер нужен под Linux. Вопрос: у процессоров под работающих под Linux не бывает встроенных CAN модулей? В частности у того что указан автором. 

Share this post


Link to post
Share on other sites
4 минуты назад, C2000 сказал:

Понятно что драйвер нужен под Linux. Вопрос: у процессоров под работающих под Linux не бывает встроенных CAN модулей? В частности у того что указан автором. 

Имеется. A40i Allwinner, Nuvoton NUC980DK71YC все они с CAN выходом.

Share this post


Link to post
Share on other sites

В сети можно найти в описании одного из модулей на A40i:

image_40i.jpg.11145e22c22c38e4ea46c0b955ef3f9a.jpg

Из чего можно предположить что CAN модуль есть на борту самого процессора и никаких PCI и USB не требуется.

Но для того чтобы разрабатывать драйвера нужна нормальная полная документация с нормальным описанием всех модулей, регистров, ошибок кремния (errata), но Linux программисты обычно об этом ничего не знают и не понимают что от куда берётся и с чем они работают.

Share this post


Link to post
Share on other sites
On 12/6/2020 at 3:16 PM, Eddy_Em said:

У моего себестоимость 300р, свой протокол и свободная прошивка - добавляй, что хочешь...

Если у вашего устройства доступны схема,  исходники и прошивки,  то поделитесь пожалуйста,  ссылкой

 

Share this post


Link to post
Share on other sites
Just now, C2000 said:

Но для того чтобы разрабатывать драйвера нужна нормальная полная документация с нормальным описанием всех модулей, регистров, ошибок кремния (errata), но Linux программисты обычно об этом ничего не знают и не понимают что от куда берётся и с чем они работают.

С чего такие выводы?

Share this post


Link to post
Share on other sites
9 hours ago, C2000 said:

А что под линуксом даже не рассматривается, что CAN бывает в виде встроенного в проц. модуля?

Это что ж за процессор такой? Я работаю с интеловскими, там точно CAN отсутствует! Вот вчера дома файлопомойку на кубитраке поднимал, увидел там в конфигураторе CAN (возможно, его A20 поддерживает это). Но это — одноплатник, да и неизвестно еще, как с этим CAN'ом работать: если как с сетевой картой, то не нужно такое "счастье"! Я лучше свою 300-рублевую "примочку" в USB воткну и буду работать как с PL2303…

6 hours ago, bingo said:

Если у вашего устройства доступны схема,  исходники и прошивки,  то поделитесь пожалуйста,  ссылкой

На гитхабе же лежит, вот: https://github.com/eddyem/stm32samples/tree/master/F0-nolib/usbcan

И протокол простой, легко под canfestival портируется если вдруг захотите (мне это не нужно, я своим софтом работаю). Эмулирует PL2303, так что а) никаких проблем со всякими modemd и прочей бубунтовской дрянью не будет, да и файл устройства называется /dev/ttyUSBx (а не позорный /dev/ttyACMx); б) работает не только в линуксе, но и вообще без проблем в андроиде (бывает, использую лопатофон в качестве терминала) и форточках (мне это не нужно, но народ как-то просил).

 

Share this post


Link to post
Share on other sites
2 hours ago, Eddy_Em said:

...да и неизвестно еще, как с этим CAN'ом работать: если как с сетевой картой, то не нужно такое "счастье"! Я лучше свою 300-рублевую "примочку" в USB воткну и буду работать как с PL2303…

 

Не знаю как на Intel процессорах, но в микроконтроллерах CAN всегда (если есть) это такая же обычная периферия, как uart или spi.

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.