Отговори на тема  [ 13 мнения ] 
STM32F446 CAN проблем 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Фев 04, 2007 4:44 pm
Мнения: 90
Мнение STM32F446 CAN проблем
Здравейте, ползвам STM32F446RET6 двата CAN комуникират с 2 други устройства. Всичко работи известно време без проблем и през няколко минутки (нама точно определено време. Всеки път различно) изписка по няколко фрейма. Пробвах приемането да е двата CAN да са на едно FIFO, пробвах и да са на различни - никаква разлика. Ако работи само единия кан вдига немислими скорости без да има грешки. Ако приема по единия, а предава по другия - също няма проблем. но когато работят и двата, когато си реши си поизпуска по някой фрейм. Някой да е имал подобен проблем? Идеи също приемам всякакви. Може да се появи идея която да не съм пробвал.
А, да дам малко уточнения. Фреймовете вървят през около 1 милисекунда приблизително. приетите данни се пишат в опашка през прекъсване. Задачата която обслужва данните седи в изчакване. Общо взето - стандартна история. скоростта на двата CAN e 500 kb. Процесорите се клатят на 180 MHz... Има време бол дето се вика... Вече почнах да си мисля, че имат някакъв проблем с този модул, но не намерих нищо описано в нета. Нито някоя ерата, нито друго описание точно на този проблем.


Съб Апр 01, 2023 7:26 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: STM32F446 CAN проблем
Цитат:
, когато си реши си поизпуска по някой фрейм.

Не съм работил с CAN, но какво значи горното? Не пристига нито един байт? Има индикация за грешен пакет, за грешен байт?


Съб Апр 01, 2023 7:56 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27993
Местоположение: София
Мнение Re: STM32F446 CAN проблем
Погледни да не изтърваш прекъсване. Как обслужваш прекъсванията, тоя STM не ми е познат но предполагам са вектори, има ли място където ги маскираш ? FIFO как ти е реализирано, хардуерно или ти си го правиш, ако го правиш ти пак опираме до възможен проблем с прекъсването. Възмножно е и да имаш хардуерен проблем. Пробвал ли си да оставиш само това и вместо прекъсване да полираш, и от там вече ако работи да почнеш да дириш дали ти изтърваш прекъсването или то изобщо не иде.


Нед Апр 02, 2023 5:17 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4714
Мнение Re: STM32F446 CAN проблем
що па по два CAN
резистори в краищата има
цлока на STMите "стабилни" ли са

_________________
main[-1u]={1};


Нед Апр 02, 2023 7:03 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Фев 04, 2007 4:44 pm
Мнения: 90
Мнение Re: STM32F446 CAN проблем
stefan63 написа:
Цитат:
, когато си реши си поизпуска по някой фрейм.

Не съм работил с CAN, но какво значи горното? Не пристига нито един байт? Има индикация за грешен пакет, за грешен байт?




Предавам фреймове с последователни ID. 0,1,2,...
приемам 0.1.2 и фрейм с ID 3 го няма ,а има вече този с 4. И така пропуска през съвсем произволно време по 1 фрейм.
Но това се получава когато предавам и към двата CAN едновременно.
Направх си експеримент: Платка 1, предава през платка 2 на Платка 3. Тя връща през 2 пак на 1 каквото е приела. и на платка 1 гледам дали е върнато каквото съм предал. Така няма абсолютно никакъв проблем. Всичко работи идеално.
Но, за който не е запознат с тия процесори, двата CAN използват общи ресурси. Т.е не са 2, а 1.5 CAN. Има си хардуерни 2 FIFO, които не се препълват. (това мога да го видя)
Софтуера е оргаизиран по следния начин. В прекъсване от CAN пиша в опашка и в задача приетото в опашката го предавам по другия CAN. Опашките с тази скорост на предаване не записват повее от 1 елемент (макар, че са за по 10) т.е. не се препълват. От към софтуер е до краен предел изпилено и оптимизирано (поне тка си мисля)
Сега, понеже нямам друг процесор с 2 CAN мисля да вуржа 2 процесора с по 1 CAN и SPI между двата и да видя какво ще се получи.


Нед Апр 02, 2023 4:10 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 10:41 am
Мнения: 1664
Мнение Re: STM32F446 CAN проблем
eddiesoft написа:
приемам 0.1.2 и фрейм с ID 3 го няма ,а има вече този с 4. И така пропуска през съвсем произволно време по 1 фрейм.


А, дали фрейм с ID 3 е въобще предаден по линията?


Вто Апр 18, 2023 12:58 pm
Профил ICQ WWW
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Фев 04, 2007 4:44 pm
Мнения: 90
Мнение Re: STM32F446 CAN проблем
Да, предават се от 0 до 7FF


Пон Апр 24, 2023 4:19 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4714
Мнение Re: STM32F446 CAN проблем
схема? или FIFO-то пропуска

_________________
main[-1u]={1};


Пон Апр 24, 2023 4:24 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 10:41 am
Мнения: 1664
Мнение Re: STM32F446 CAN проблем
eddiesoft написа:
Да, предават се от 0 до 7FF


"Предават се" - защото "така прави софтуера", или го видя със някакъв снифер?


Чет Апр 27, 2023 9:31 am
Профил ICQ WWW
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Фев 04, 2007 4:44 pm
Мнения: 90
Мнение Re: STM32F446 CAN проблем
Предават се, защото аз ги предавам :) Гарантиеано.
И проблема е решен. Оказа се, проблем с ретрансмишъна.


Нед Апр 30, 2023 8:33 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 10:41 am
Мнения: 1664
Мнение Re: STM32F446 CAN проблем
eddiesoft написа:
Предават се, защото аз ги предавам :) Гарантиеано.
И проблема е решен. Оказа се, проблем с ретрансмишъна.


Значи все пак не са се предавали...


Вто Май 02, 2023 12:37 pm
Профил ICQ WWW
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Фев 04, 2007 4:44 pm
Мнения: 90
Мнение Re: STM32F446 CAN проблем
Значи са се предавали! Не се приемаха! Проблема е решен с приемането. Приемника препредавашеприетия фрейм и просто през това време пропуска да приеме друг ако се появи в същото време.


Съб Май 06, 2023 9:21 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 10:41 am
Мнения: 1664
Мнение Re: STM32F446 CAN проблем
eddiesoft написа:
Значи са се предавали! Не се приемаха! Проблема е решен с приемането. Приемника препредавашеприетия фрейм и просто през това време пропуска да приеме друг ако се появи в същото време.


Няма как да има 2 фрейма едновременно по CAN шина...
Най-вероятно е настъпвала колизия и все пак фрейма не е бил предаван...


Нед Май 07, 2023 10:16 am
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 13 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни