Jump to content

    
ovn

Не проходит инициализация CAN Stm32

Recommended Posts

На плате NUCLEO-F446RE( STM32F446RE) CAN2 работает, а CAN1 ошибка инициализации при одинаковом коде, хоть в Кубике, хоть ручками. Есть идеи почему не работает CAN1?

Edited by ovn

Share this post


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

А какие тут могут быть шутки, когда

Полистайте топик вверх: Для ТС нет разницы не то что между 1 и 2, но даже между разными МК.

Поэтому не удивительно что у него не работает. :unknw:

Share this post


Link to post
Share on other sites

У STM32F103С8 один контроллер CAN, ещё и общее с USB прерывание, у STM32F446RE два контроллера CAN, CAN2 работает принимает-посылает, CAN1 ошибка инициализации такая же как в самом начале темы, т. е. причины проблемы не понятны, тактовый генератор стартует, флаг выставляется, код инициализации контроллеров идентичен(1 != 2 млять, естественно дескрипторы контроллеров и структуры разные). Похоже никто не может ответить почему, никто с этим не сталкивался. Ясно, что Кубик сам по себе глючный, хотя SPI флешка с использованием стандартных настроек Кубика и API функций HAL(см. соседнюю тему) заработала сразу.

Edited by ovn

Share this post


Link to post
Share on other sites

Да конечно не сталкивался, потому что только Вам и никому более не известно, что Вы там ковыряете и что там у Вас в коде нагенерировалось. У меня что на F429 оба CAN-а работают, что на F446. Код накатан без экосистемы куба, поэтому чем он отличается от Вашего я без понятия, как и Вы (это должно быть очевидно). Проверяйте схемы синхронизации периферии, везде ли правильные делители, везде ли правильно настроены GPIO; в конце концов, нет ли соплей между Rx/Tx, да и вообще есть ли контакт с нужных GPIO на Rx/Tx приемопередатчика. А то на отладочных платах любят 0-резисторами (отсутствующими по дефолту) подключаться к штырям.

Share this post


Link to post
Share on other sites
15 часов назад, Arlleex сказал:

Да конечно не сталкивался, потому что только Вам и никому более не известно, что Вы там ковыряете и что там у Вас в коде нагенерировалось. У меня что на F429 оба CAN-а работают, что на F446. Код накатан без экосистемы куба, поэтому чем он отличается от Вашего я без понятия, как и Вы (это должно быть очевидно). Проверяйте схемы синхронизации периферии, везде ли правильные делители, везде ли правильно настроены GPIO; в конце концов, нет ли соплей между Rx/Tx, да и вообще есть ли контакт с нужных GPIO на Rx/Tx приемопередатчика. А то на отладочных платах любят 0-резисторами (отсутствующими по дефолту) подключаться к штырям.

Проблема вроде не в PHY(физическом уровне).

https://stackoverflow.com/questions/64840408/cannot-exit-sleep-mode-of-bxcan-on-stm32f429igt-in-loopback-mode

 

ан...нет

 

https://www.cyberforum.ru/arm/thread2011314-page2.html

Решение:

"Если нет трансивера и хочется погонять Сайлент лупбек то подтяните софтово ножку тх (или Rx) не помню к 3.3 и все будет ок. Иначе Кан не стартанёт"

 

 

Подтянул RX CAN1 GPIO Pull-up, и инициализация прошла, а на CAN2 работает без подтяжки.  Чудны дела твои, Господи. 

 

Edited by ovn

Share this post


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

У Вас что, Loopback-mode? Вы на реальной сети проверяете или как?

Изначально, на STM32F103C8, вопрос был про  Loopback-mode, не проходит инициализация, уже потом, когда заработало, в этом режиме, подключал физику. 

В общем, контроллер CAN тут сделан так, что он не работает без PHY(физики), хоть в Normal, хоть в Loopback, ему нужен приёмопередатчик, который RX подтянет к логической единице, если его нет, надо софтово подтягивать. 

Интересно, в RM про это написано?

Edited by ovn

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.