Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM32: CAN и USB одновременно

Чт ноя 17, 2022 17:48:40

А есть ли где-нибудь список линеек STM32, где, как в F0x2 USB и CAN могут работать одновременно? Потому как по документации это найти не так уж и тривиально. Не хотелось бы для разработки выбрать какой-нибудь F407, а потом внезапно узнать, что там, как в F103, система тактирования у них общая…

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 07:19:59

ну куб запусти
там же можно посмотреть буить или не буить

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 08:05:01

imsushka, да ты что, что бы Eddy_Em, куб запустил .... Да его перевернёт всего наизнанку :)))

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 09:02:29

Eddy_Em писал(а):Не хотелось бы для разработки выбрать какой-нибудь F407

Как раз в 407 CAN и USB работают независимо.
Я не встречал F4 и F7, в которых (там, где есть) CAN и USB не могли бы работать одновременно.Работают одновременно, ибо источники тактирования разные. За остальные линейки не скажу, но, скорей всего, там не должно быть такого ограничения как в F1.

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 09:11:16

А есть ли где-нибудь список линеек STM32, где, как в F0x2 USB и CAN могут работать одновременно? Потому как по документации это найти не так уж и тривиально. Не хотелось бы для разработки выбрать какой-нибудь F407, а потом внезапно узнать, что там, как в F103, система тактирования у них общая…

У меня стойкое ощущение, что вы никогда Реф. Мануал ни на один STM32 не открывали и с общей архитектурой контроллеров не знакомились.
Я никогда не поднимал на STM32 ни USB, ни CAN, но мне потребовалось менее 1-й минуты, чтобы определить, что тактирование USB в F407 осуществляется от AHB1, а CAN от APB1. Это первое. А второе состоит в том, что в модуле CAN baud rate prescaler (time quanta) определяется посредством BRP[9:0] в CAN->BTR.
:tea:

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 09:45:37

Тогда советую быстро попробовать найти, что у F103 CAN и USB одновременно работать не могут!
Я запускал chip selector, так когда ставлю эти обе галочки, мне и F103 предлагают! Получается, что без досконального изучения документации, это понять невозможно!
Сейчас делаю новую штуку на 100-ногом f303, потратил минут 15, чтобы в даташите разобраться, будут ли они вместе работать. Оказалось, что там как и в F0x2, удобно

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 09:53:41

Тогда советую быстро попробовать найти...
Я запускал chip selector...

Не надо запускать никакой "чип селектор". Еще раз. Надо просто открыть Реф. Мануал в разделе 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.

То есть тактирование тут вообще не причем. :tea: :music: И использовать их можно ОБА, но не одновременно.

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 17:54:28

Eddy_Em писал(а):быстро попробовать найти, что у F103 CAN и USB одновременно работать не могут!

Я знаю, откуда можно вытащить эту информацию.
У СТМ есть документ, в котором приводились таблицы с указанием версий периферии, установленной в МК разных линеек. Я поэтому тогда и пришёл к выводу, что HAL нафиг не нужен и проще для каждого МК приводить указание версий периферии, чтобы выбирать нужный драйвер под конкретный МК.
Если найти этот документ, то можно посмотреть версии модулей CAN и USB, чтобы понять, какие версии модулей не могут работать вместе. Версий этих модулей не много, так что можно быстро сориентироваться.
А вообще, я потому отказался от F1, что там всё не как в других сериях.

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 18:12:35

Я знаю, откуда...

А какой в этом практический смысл?
Простая школьная арифметика кагбэ намекаэ на то, что в нынешних непростых условиях логистики поставок МК ГОРАЗДО ПРОЩЕ И БЫСТРЕЕ тупо просмотреть рефмануалы и даташиты доступных МК (и не факт, что это STM), чем искать какой то странный список модулей с недоступными, в основном, чипами. И к этому добавится неочевидность утверждения о разных модулях, ибо объединение буферов в ОЗУ с самими модулями никак не связано.

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 18:19:15

Да ладно вам тут… У меня уже есть набор уймы сниппетов под F103 и F0x2. Немного начал под F303, а еще хочу F407 освоить. Но дома лежит F401, в общем…

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 18:20:24

Я знаю решение, но оно глупое, дорогое и не понравится: поставить два мк :)

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 20:49:07

КРАМ писал(а):объединение буферов в ОЗУ с самими модулями никак не связано.

КРАМ, связаны. "Нутром, Петька, чую, что литр, но доказать не могу".
ИМХО, F1- это, так сказать, проба пера у СТМ. Я не рыл в её сторону, но все другие серии сделаны вполне предсказуемо и логично. Я когда шерстил СТМ32 для выбора МК под проекты, видел закономерности в структуре МК от СТМ. Пара штук в линейке F3 и вся F1 выбивались из общей логики. КРАМ, без обид, но у меня ощущение, что ты плотно не работал с СТМ32 и не анализировал номенклатуру МК от СТМ. Результатом моего копания стало то, что код для работы с периферией у F7 и F0 был, примерно, на 95% общим. Разница была в разных названиях нескольких регистрах.
Мне даже интересно, чтобы кто-нибудь нашёл среди МК от СТМ линейки, отличные от F1, такие МК, у которых CAN и USB не могут работать одновременно.

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 20:55:27

МК от СТМ линейки, отличные от F1, такие МК, у которых CAN и USB не могут работать одновременно.
да легко - F042 в корпусе TSSOP20

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 21:34:51

TSSOP20 - офигенный [censored] от ST: ведь просто так и напрашивается использовать его в преобразователях CAN-USB. А фиг вам: ремапа нет!
А вообще, могли бы и выпустить что-нибудь из F0x2 в малюсеньком 8-16-ногом корпусе (хоть QFN), чтобы была возможность делать компактные USB-CAN… Понятно, что в этом случае CAN и USB должны на разных ногах сидеть.

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 21:48:41

да. притом в отличие от 07х этим необязателен кварц для работы c USB и совместить так выводы CAN и USB у такого в принципе неплохого и удобного мк было просто подло.

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 22:17:33

КРАМ, связаны.

Что это меняет с точки зрения моего предыдущего сообщения? А что касается связи, то выделение памяти под модули топологически к модулям не относится.

Добавлено after 7 minutes:
TSSOP20 - офигенный [censored] от ST: ведь просто так и напрашивается использовать его в преобразователях CAN-USB. А фиг вам: ремапа нет!

QFN по площади в разы меньше, особенно если учесть малое потребное количество пинов для моста (нет потребности уйти от корпуса большим количеством дорожек). Или Вы полагаете, что вендор должен ориентироваться на радиолюбительские навыки монтажа печатных плат? :music:
Открою маленький секрет. Паять QFN с питчем 0,5 очень просто. Нужен шприц с паяльной пастой и фен.
Вот питч 0,4 - уже проблема. Повышает стоимость платы примерно в 1,5...2 раза.

Добавлено after 3 minutes 57 seconds:
необязателен кварц для работы c USB

И это не проблема. Всего то использовать SMD-кварц формфактора 02520 c конденсаторами 0603.
Вот так выглядит QFN32 c таким кварцем (корпус МК 4*4 мм, сравним с TSSOP20, у которого только ширина корпуса 4,2 мм без учета выводов):

Изображение

Re: STM32: CAN и USB одновременно

Сб ноя 19, 2022 23:24:20

Да. Но беда в том, что мои навыки пайки всё-таки для меня имеют значение... и я просто не люблю феном паять, притом TSSOP-20 микроволной припаять раз плюнуть, даже в мизерсерийном производстве. Но 20.. там вроде 3 ноги на питание? да еще 2 на кварц, то есть, ещё ничего не начали, а 25% ног уже нет :)

Re: STM32: CAN и USB одновременно

Вс ноя 20, 2022 01:04:08

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:22:36

Да, помню про шаговики... но странно, я был уверен, что 072 не может с усб без кварца... надо будет перечитать спецификацию, а то их есть ещё пара штук, в дело пустить будет хорошо

Re: STM32: CAN и USB одновременно

Вс ноя 20, 2022 01:51:49

Ну, вот, например. Отлично работает.
Новую стал на 303 делать, но, увы, там без кварца не обойтись…
А еще я иногда о "батареечных" штуках подумывал. Вот буквально час назад на алишке увидел девборду на L010 и полез мануал читать. Охрененная штука: какие-то несчастные микроамперы потребления… Вполне сгодится, если вдруг понадобится какую-нибудь игрушку разработать. Жаль, для гексакоптера не сгодится: там таки флоаты аппаратные нужны, да и производительность желательно повыше. Это у меня одна из "несбыточных мечт": ведь своя разработка даже над Кремлем станет летать, т.к. ей пофиг на имитацию аэропорта или вообще полную блокировку сигналов навигаторов. Можно даже самоуничтожение заложить, закорачивая аккумуляторы (ведь литий-ионные отличную пиротехнику умеют). А еще можно нестандартный диапазон длин волн использовать для управления. И хрен кто засечет своими детекторами (а сейчас в войне с НАТО основная проблема, почему сбивают наши квадрокоптеры в том, что те - не российские, а тупо серийные, их можно элементарно посадить, блокируя сигналы навигационных систем).
Ответить