Страница 1 из 2
STM32: CAN и USB одновременно
Добавлено: Чт ноя 17, 2022 17:48:40
Eddy_Em
А есть ли где-нибудь список линеек STM32, где, как в F0x2 USB и CAN могут работать одновременно? Потому как по документации это найти не так уж и тривиально. Не хотелось бы для разработки выбрать какой-нибудь F407, а потом внезапно узнать, что там, как в F103, система тактирования у них общая…
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 07:19:59
imsushka
ну куб запусти
там же можно посмотреть буить или не буить
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 08:05:01
Аlex
imsushka, да ты что, что бы
Eddy_Em, куб запустил .... Да его перевернёт всего наизнанку

Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 09:02:29
tonyk
Eddy_Em писал(а):Не хотелось бы для разработки выбрать какой-нибудь F407
Как раз в 407 CAN и USB работают независимо.
Я не встречал F4 и F7, в которых (там, где есть) CAN и USB не могли бы работать одновременно.Работают одновременно, ибо источники тактирования разные. За остальные линейки не скажу, но, скорей всего, там не должно быть такого ограничения как в F1.
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 09:11:16
КРАМ
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4322069#p4322069"]А есть ли где-нибудь список линеек STM32, где, как в F0x2 USB и CAN могут работать одновременно? Потому как по документации это найти не так уж и тривиально. Не хотелось бы для разработки выбрать какой-нибудь F407, а потом внезапно узнать, что там, как в F103, система тактирования у них общая…[/uquote]
У меня стойкое ощущение, что вы никогда Реф. Мануал ни на один STM32 не открывали и с общей архитектурой контроллеров не знакомились.
Я никогда не поднимал на STM32 ни USB, ни CAN, но мне потребовалось менее 1-й минуты, чтобы определить, что тактирование USB в F407 осуществляется от AHB1, а CAN от APB1. Это первое. А второе состоит в том, что в модуле CAN baud rate prescaler (time quanta) определяется посредством BRP[9:0] в CAN->BTR.

Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 09:45:37
Eddy_Em
Тогда советую быстро попробовать найти, что у F103 CAN и USB одновременно работать не могут!
Я запускал chip selector, так когда ставлю эти обе галочки, мне и F103 предлагают! Получается, что без досконального изучения документации, это понять невозможно!
Сейчас делаю новую штуку на 100-ногом f303, потратил минут 15, чтобы в даташите разобраться, будут ли они вместе работать. Оказалось, что там как и в F0x2, удобно
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 09:53:41
КРАМ
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4322936#p4322936"]Тогда советую быстро попробовать найти...
Я запускал chip selector...[/uquote]
Не надо запускать никакой "чип селектор". Еще раз. Надо просто открыть Реф. Мануал в разделе RCC, если есть сомнение в тактировании и раздел целевой периферии, если интересуют иные вопросы. Например, конфликт периферии может быть связан с пинами контроллера, а не с тактированием.
Поэтому СНАЧАЛА изучаем Реф.Мануал и Даташит (а вообще то и ЭРРАТУ), а ПОТОМ решаем вопрос о пригодности. Иначе грабли будут бесконечно повторяться...
PS. ДВЕ МИНУТЫ!!!
Ровно две минуты, Карл, мне потребовалось, что бы найти В ПЕРВОМ АБЗАЦЕ раздела USB рефмануала четкое сообщение:
In low, medium, high and XL-density devices, the USB and CAN share a dedicated 512-byte
SRAM memory for data transmission and reception, and so they cannot be used
concurrently (the shared RAM is accessed through CAN and USB exclusively). The USB
and CAN can be used in the same application but not at the same time.
То есть тактирование тут вообще не причем.

И использовать их можно ОБА, но не одновременно.
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 17:54:28
tonyk
Eddy_Em писал(а):быстро попробовать найти, что у F103 CAN и USB одновременно работать не могут!
Я знаю, откуда можно вытащить эту информацию.
У СТМ есть документ, в котором приводились таблицы с указанием версий периферии, установленной в МК разных линеек. Я поэтому тогда и пришёл к выводу, что HAL нафиг не нужен и проще для каждого МК приводить указание версий периферии, чтобы выбирать нужный драйвер под конкретный МК.
Если найти этот документ, то можно посмотреть версии модулей CAN и USB, чтобы понять, какие версии модулей не могут работать вместе. Версий этих модулей не много, так что можно быстро сориентироваться.
А вообще, я потому отказался от F1, что там всё не как в других сериях.
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 18:12:35
КРАМ
[uquote="tonyk",url="/forum/viewtopic.php?p=4323149#p4323149"]Я знаю, откуда...[/uquote]
А какой в этом практический смысл?
Простая школьная арифметика кагбэ намекаэ на то, что в нынешних непростых условиях логистики поставок МК ГОРАЗДО ПРОЩЕ И БЫСТРЕЕ тупо просмотреть рефмануалы и даташиты доступных МК (и не факт, что это STM), чем искать какой то странный список модулей с недоступными, в основном, чипами. И к этому добавится неочевидность утверждения о разных модулях, ибо объединение буферов в ОЗУ с самими модулями никак не связано.
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 18:19:15
Eddy_Em
Да ладно вам тут… У меня уже есть набор уймы сниппетов под F103 и F0x2. Немного начал под F303, а еще хочу F407 освоить. Но дома лежит F401, в общем…
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 20:49:07
tonyk
КРАМ писал(а):объединение буферов в ОЗУ с самими модулями никак не связано.
КРАМ, связаны. "Нутром, Петька, чую, что литр, но доказать не могу".
ИМХО, F1- это, так сказать, проба пера у СТМ. Я не рыл в её сторону, но все другие серии сделаны вполне предсказуемо и логично. Я когда шерстил СТМ32 для выбора МК под проекты, видел закономерности в структуре МК от СТМ. Пара штук в линейке F3 и вся F1 выбивались из общей логики. КРАМ, без обид, но у меня ощущение, что ты плотно не работал с СТМ32 и не анализировал номенклатуру МК от СТМ. Результатом моего копания стало то, что код для работы с периферией у F7 и F0 был, примерно, на 95% общим. Разница была в разных названиях нескольких регистрах.
Мне даже интересно, чтобы кто-нибудь нашёл среди МК от СТМ линейки, отличные от F1, такие МК, у которых CAN и USB не могут работать одновременно.
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 21:34:51
Eddy_Em
TSSOP20 - офигенный [censored] от ST: ведь просто так и напрашивается использовать его в преобразователях CAN-USB. А фиг вам: ремапа нет!
А вообще, могли бы и выпустить что-нибудь из F0x2 в малюсеньком 8-16-ногом корпусе (хоть QFN), чтобы была возможность делать компактные USB-CAN… Понятно, что в этом случае CAN и USB должны на разных ногах сидеть.
Re: STM32: CAN и USB одновременно
Добавлено: Сб ноя 19, 2022 22:17:33
КРАМ
[uquote="tonyk",url="/forum/viewtopic.php?p=4323291#p4323291"]КРАМ, связаны.[/uquote]
Что это меняет с точки зрения моего предыдущего сообщения? А что касается связи, то выделение памяти под модули топологически к модулям не относится.
Добавлено after 7 minutes:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4323326#p4323326"]TSSOP20 - офигенный [censored] от ST: ведь просто так и напрашивается использовать его в преобразователях CAN-USB. А фиг вам: ремапа нет![/uquote]
QFN по площади в разы меньше, особенно если учесть малое потребное количество пинов для моста (нет потребности уйти от корпуса большим количеством дорожек). Или Вы полагаете, что вендор должен ориентироваться на радиолюбительские навыки монтажа печатных плат?
Открою маленький секрет. Паять QFN с питчем 0,5 очень просто. Нужен шприц с паяльной пастой и фен.
Вот питч 0,4 - уже проблема. Повышает стоимость платы примерно в 1,5...2 раза.
Добавлено after 3 minutes 57 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4323331#p4323331"]необязателен кварц для работы c USB[/uquote]
И это не проблема. Всего то использовать SMD-кварц формфактора 02520 c конденсаторами 0603.
Вот так выглядит QFN32 c таким кварцем (корпус МК 4*4 мм, сравним с TSSOP20, у которого только ширина корпуса 4,2 мм без учета выводов):

Re: STM32: CAN и USB одновременно
Добавлено: Вс ноя 20, 2022 01:04:08
Eddy_Em
STM32042 и F072 не нуждаются в кварце. Для работы с USB оба отлично тактируются от синхроимпульса, а для работы с CAN, если не нужно выходить за разумные температурные рамки -20℃…+20℃, хватает HSI. У меня уже несколько лет на зеркале БТА контроллеры термодатчиков работают. Кварцев там нет (на гитхабе можно найти и схемы, и прошивку — репозиторий tsys). Удобно, что 042 очень хорошо по ногам на 072 заменяется. Зато у 072 больше периферии, а еще у него есть возможность софтово входить в DFU (чего не умеет 042 — там приходится тыкать кнопки boot/reset для этих целей, либо вообще SWD выводить и впустую две ноги МК расходовать).
А вообще, интересно, что в LQFP48 у ST очень много МК имеют схожую периферию по ногам, у меня одна и та же железяка для тестирования МК без впайки (с "кроваткой") годится и для F103, и для F0x2, и для F303… Правда, там у меня совсем простые тесты (UART, USB, таймер и АЦП). По-хорошему, надо побольше добавить. А то и вообще запилить стенд на основе "апельсинки", чтобы все ноги проверяло и по максимуму периферию. Но это ж сколько времени надо убить… Поэтому пока простейшим обхожусь. Куплю так по 60р пару десятков МК на али, через один втыкаю в тестировалку, прошиваю и смотрю. Если все тестируемые работают, ставлю 5 баллов продавану. Правда, часто приходится сначала стирать флеш через UART, т.к. микроконтроллеры по большей части б/у и залоченные…
Кстати, про это. Никогда не понимал прикола блокировать возможность считывания прошивки МК: ну кому в голову придет делать дизасм и реверс прошивки? Это ж [censored] полный! Да дешевле свою написать, чем чужую ломать. Тем паче, что с современной манией этих упоротых пользоваться калокубом, реверс подобного может вообще в сущий ад превратиться! Скажем, китайские "вольтметры-амперметры" на STM8 я просто снабжал своей прошивкой. Правда, эти убогие местами настолько дичь творили, что просто волосы дыбом встают! Один из примеров: на 5-сегментном "вольтметре" использовали внешний АЦП (ХЗ, зачем, все равно у них точность ниже плинтуса получалась), подключенный к МК по I2c. И таки что бы вы думали? Эти уроды подключили АЦП не к I2C, а к совершенно левым ногам! Мне пришлось софтовый I2C для этой хрени выдумывать… Дебилы, [censored]!!! Аналогичную штуку заметил недавно, когда анализировал китайскую "мегаплату" управления 8 шаговиками. Они там софтовый UART организовали для общения с тринамиковскими драйверами. Терпеть беззаконье — открытый позор (©)! И вот, я разрабатываю свой аналог (дело в том, что в последней нашей разработке нужно подвесной частью оптоволоконного спектрографа управлять, а там минимум 7 шаговиков надо независимо двигать, поэтому и решил сделать нечто, что может вообще до 64 шаговиков расширяться, правда, уже мультиплексированием). См. мой ЖЖ.
Re: STM32: CAN и USB одновременно
Добавлено: Вс ноя 20, 2022 01:51:49
Eddy_Em
Ну,
вот, например. Отлично работает.
Новую стал на 303 делать, но, увы, там без кварца не обойтись…
А еще я иногда о "батареечных" штуках подумывал. Вот буквально час назад на алишке увидел девборду на L010 и полез мануал читать. Охрененная штука: какие-то несчастные микроамперы потребления… Вполне сгодится, если вдруг понадобится какую-нибудь игрушку разработать. Жаль, для гексакоптера не сгодится: там таки флоаты аппаратные нужны, да и производительность желательно повыше. Это у меня одна из "несбыточных мечт": ведь своя разработка даже над Кремлем станет летать, т.к. ей пофиг на имитацию аэропорта или вообще полную блокировку сигналов навигаторов. Можно даже самоуничтожение заложить, закорачивая аккумуляторы (ведь литий-ионные отличную пиротехнику умеют). А еще можно нестандартный диапазон длин волн использовать для управления. И хрен кто засечет своими детекторами (а сейчас в войне с НАТО основная проблема, почему сбивают наши квадрокоптеры в том, что те - не российские, а тупо серийные, их можно элементарно посадить, блокируя сигналы навигационных систем).
Re: STM32: CAN и USB одновременно
Добавлено: Вс ноя 20, 2022 07:22:36
КРАМ
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4323416#p4323416"]а еще у него есть возможность софтово входить в DFU (чего не умеет 042 — там приходится тыкать кнопки boot/reset для этих целей, либо вообще SWD выводить и впустую две ноги МК расходовать[/uquote]
Есть несложные идеи писать собственные загрузчики, что делает независимым свободного человека от произвола
мировой закулисы властей...

Ноги же в МК обычно ничего не стОят.
Ну и есть так же идея использовать возможности OTG USB, дабы сливать прошивку с флешки или иного носителя. Правда кварц будет уже почти обязателен...
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4323416#p4323416"]Никогда не понимал прикола блокировать возможность считывания прошивки МК: ну кому в голову придет делать дизасм и реверс прошивки? Это ж [censored] полный! Да дешевле свою написать, чем чужую ломать.[/uquote]
Абисняю. Прикол защиты прошивки, в подавляющем количестве случаев, предназначен для защиты
товара от прямого копирования. Это очевидно даже полным дебилам...

То есть функция имеет коммерческое применение.
Не полным дебилам (стоит рассмотреть переход в эту категорию населения!

) так же понятно, что дизасм нужен не для повтора изделия, а для относительно быстрого набора компетенций у конкурента. И если отдельный дебил не в состоянии эффективно извлечь из открытого кода интересующий участок и понять ИДЕЮ перспективного алгоритма, то это не означает, что такого пути нет. Он есть.
Ну и сообразительные посоны (небожители, некоторым только мечтать!!!) знают, что помимо коммерческих мотиваций защиты, есть мотивация безопасности при пользовании устройством. И тут непаханное поле деятельности для дураков-самодельщиков, которые полжизни отдадут, чтобы снять блокировки защиты-доступа. А остальные полжизни будут посвящены популяризации подобных мероприятий. для чего существуют известные в широких кругах ресурсы по обмену, В ТОМ ЧИСЛЕ, дебильным опытом между подобными персонажами. Одно радует, жизнь этих персонажей обычно коротка и тем вред для человечества минимизирован. Мудра природа-мать...
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4323416#p4323416"]Один из примеров: на 5-сегментном "вольтметре" использовали внешний АЦП (ХЗ, зачем, все равно у них точность ниже плинтуса получалась), подключенный к МК по I2c. И таки что бы вы думали? Эти уроды подключили АЦП не к I2C, а к совершенно левым ногам! Мне пришлось софтовый I2C для этой хрени выдумывать… Дебилы, [censored]!!![/uquote]
Вопрос с дебилами мною был вкратце проанализирован выше. Но стоит остановится на частном случае в качестве иллюстрации "на местах".
Факт использования во внешнем АЦП столь медленного интерфейса как И2Ц, КАГБЭ НАМЕКАЭ реальным посонам на факт использования СИГМА-ДЕЛЬТА АЦП. То есть АЦП высокой разрядности. Поскольку в цитате выше про это нет ни слова, то посонам так же понятно, что чел люто не в теме метрологии и ее схемотехники. Впрочем, не исключаю факт косяков и в "5-сегментном" вольтметре. Например, мне сложно сходу представить себе как пятью сегментами можно отобразить даже один разряд. Особенно если туда выводить восьмерку. Но возможно, что ноль, восьмерки и все остальные цифры с числом сегментов более пяти в системе счисления вольтметра не используются. Даже допускаю, что речь идет о римской системе...

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4323422#p4323422"]увидел девборду на L010 и полез мануал читать. Охрененная штука: какие-то несчастные микроамперы потребления…[/uquote]
Спешу расстроить, чтобы заставить L010 мало потреблять, нужно сильно поработать над собой. Ну и над рефмануалом, канешна. Ибо просто так он мало не потребляет. Диавол в нюансах. И нюансоф зело богато.
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4323422#p4323422"]И хрен кто засечет своими детекторами[/uquote]
Пешыте исчо, милостивый государь. Астроном в радиотехнике и сигналах - это как голубь на клавиатуре рояля... Пятнами "флоатов" по клавишам диезов...

Re: STM32: CAN и USB одновременно
Добавлено: Вс ноя 20, 2022 07:52:35
imsushka
злой, злой-злой-злой, крам
фу, не хорошо таким быть
Re: STM32: CAN и USB одновременно
Добавлено: Вс ноя 20, 2022 08:07:32
КРАМ
[uquote="imsushka",url="/forum/viewtopic.php?p=4323443#p4323443"]злой[/uquote]
Я не злой. Я ироничный.
Feel the difference!

Re: STM32: CAN и USB одновременно
Добавлено: Вс ноя 20, 2022 11:07:30
imsushka
[uquote="КРАМ",url="/forum/viewtopic.php?p=4323439#p4323439"]Впрочем, не исключаю факт косяков и в "5-сегментном" вольтметре. Например, мне сложно сходу представить себе как пятью сегментами можно отобразить даже один разряд. Особенно если туда выводить восьмерку. Но возможно, что ноль, восьмерки и все остальные цифры с числом сегментов более пяти в системе счисления вольтметра не используются. Даже допускаю, что речь идет о римской системе...

[/uquote]
кстати на 5сегментном индикаторе можно выводить инфу - шаг 20% диапазона
типа батарейки на телефоне
Re: STM32: CAN и USB одновременно
Добавлено: Пн ноя 28, 2022 18:59:23
Serg1987
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4323326#p4323326"]TSSOP20 - офигенный [censored] от ST: ведь просто так и напрашивается использовать его в преобразователях CAN-USB. А фиг вам: ремапа нет!
А вообще, могли бы и выпустить что-нибудь из F0x2 в малюсеньком 8-16-ногом корпусе (хоть QFN), чтобы была возможность делать компактные USB-CAN… Понятно, что в этом случае CAN и USB должны на разных ногах сидеть.[/uquote]
Я лично для конвертеров и игр с USB и CAN использую процы NXP (не единым STM32 живет человек)
К слову, процы от NXP на ядре Cortex-M7 уже побили рекорд частоты тактирования, который ранее установил STM32-H7. Аж 600МГц против 400МГц у ST.
В общем, я понимаю, что процы от ST пользуются популярностью. Но как оказалось, определенные задачи на процах конкурентов решаются гораздо проще и эффективнее.
