24.06.2020, 15:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,012
Сказал спасибо: 2,770
Сказали Спасибо 2,715 раз(а) в 2,007 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от DanilinSA
|
А вообще в природе есть отладочные платы под это дело? За вменяемые деньги?
|
Есть. У СТМ - ардуиноподобная платка (на STM32F072) со вторым этажом (там 2 стм-овских контроллера USB PD и 2 разъема USB-C). Стоит очень дешево, что-то около $15.
Также есть отладка (STM32F072 + FUSB307). Стоит намного дороже.
Преимущество FUSB307 - делает и sink, и source, сама считает crs и автоматом отправляет подтверждение по USB_C, соединяется только одной шиной I2C с контроллером. В то время как STM-овская микра (1602 кажется) сама crc не считает и к контроллеру нужно цеплять и I2C, и SPI.
По ценам оба контроллера (1602 и FUSB307) примерно одинаковы.
Для подешевле можно взять "ардуину" на 072-м и микру FUSB307 припаять проводками (у нее более-менее нормальный корпус QFN-16 c шагом 0,5 мм).
|
|
|
|
24.06.2020, 18:41
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от DanilinSA
|
А появление STM32G серии я походу пропустил ...
Неужели с USB-PD все так плохо?
|
Ну как сказать...
- Если STM часть кода распространяет в виде блоба, создавая лишний гимор по встраиванию, это плохо или нет?
- Если единственная осмысленная опенсорсная реализация требует RTOS, это плохо или нет?
- Имплементации коммерческого происхождения сопровождаются мутными лицензиями, вместо MIT.
Оно, с одной стороны, вроде формально есть, и даже наверное работает. Только вот хочется руки вымыть с мылом. Я как-то отвык, что разработчики библиотек сопровождают свои поделия странными дополнительными требованиями, на ровном месте.
Вот систематизированная инфа по всем интернетам: https://gist.github.com/puzrin/f737b...1bb4d8525e6606
Сообщение от DanilinSA
|
Я конечно могу понять STM32G.
Но FUSB302 - там чисто I2C дергать с соответствии с стандартом. Что там может пойти не так?
|
Интерфейсы библиотек там пошли не так. То что есть, кратко описывается словами "говно говна".
На аппаратном уровне, железки по-моему даже по регистрам совпадают. Разница в том, что у FUSB302 обмен идет через i2c (с которым логично работать через DMA ) + пин прерывания. А у STM32G DMA и прерывание напрямую.
Сообщение от DanilinSA
|
А вообще в природе есть отладочные платы под это дело? За вменяемые деньги?
|
Если договоримся, я куплю и пришлю, в вечное пользование. И разведу платы "триггеров" для популяризации достижений народного хозяйства.
В том-то и дело, что больше чем на пример это не тянет. А мне нужна нормальная библиотека с простым интерфейсом (понимание как это может выглядеть у меня есть).
Последний раз редактировалось p_v; 24.06.2020 в 21:44.
|
|
|
|
24.06.2020, 19:09
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Yuri222
|
Есть. У СТМ - ардуиноподобная платка (на STM32F072) со вторым этажом (там 2 стм-овских контроллера USB PD и 2 разъема USB-C). Стоит очень дешево, что-то около $15.
Также есть отладка (STM32F072 + FUSB307). Стоит намного дороже.
Преимущество FUSB307 - делает и sink, и source, сама считает crs и автоматом отправляет подтверждение по USB_C, соединяется только одной шиной I2C с контроллером. В то время как STM-овская микра (1602 кажется) сама crc не считает и к контроллеру нужно цеплять и I2C, и SPI.
По ценам оба контроллера (1602 и FUSB307) примерно одинаковы.
Для подешевле можно взять "ардуину" на 072-м и микру FUSB307 припаять проводками (у нее более-менее нормальный корпус QFN-16 c шагом 0,5 мм).
|
Как разработчик опенсорсов, я вижу разницу только в наличии библиотек. В плане удобства они везде одинаково уродские ![Улыбка](images/smilies/icon_smile.gif) .
По железу в нынешнее время есть смысл смотреть только FUSB302 и STM32G. Они достаточно доступны, максимально дешевы, и перекрывают большинство потребностей, которые можно вообразить.
По фичам, учитывая когда это все может понадобится в кастомном девайсе, я бы забил болт на все фиксированные профили из PD 2.0 и юзал только PPS из PD3.0. То есть, делать:
- только SINK, 1шт, на выделенном порту если i2c
- только PPS
- без поддержки управления зарезервинованной мощностью (когда текуще устройство не активно и зарядник хочет перекинуть резерв на другой порт)
Тогда получится простой интерфейс, который перекроет 99% задач (если вы конечно не разработчик зарядников и хабов).
Остальные фиксированные профили поддерживать можно, но смысла нет. Все новые зарядники идут с PPS за те же самые деньги. Через пару лет других на рынке просто не останется.
|
|
|
|
24.06.2020, 22:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от p_v
|
Если договоримся, я куплю и пришлю, в вечное пользование.
|
Тут есть один нюанс: у меня основной язык - Паскаль. Соответственно софт для "большого брата" пишется на Embarcadero® Delphi 10.3 А софт для ARM пишется на "mikroPascal PRO for ARM". Я конечно разберусь и напишу либу, но это это будет модуль для mikroPascal
Хотя потом можно портировать без проблем. Ибо программы на Паскале с листа читают да-же малограмотные в программировании лица.
Так что покупать мне не стоит - либы на Си написать не смогу. Максимум портирую на "mikroC for ARM". Так что если "разобраться" - возможно подпишусь. Если "написать библиотеку на Си" - я пас.
P.S: Сейчас трахаюсь с BLE стеком на STM32WB55. Трахаюсь со стандартным софтом и доками так, что после этого секс с женщинами это скучное и утомительное занятие
Последний раз редактировалось DanilinSA; 24.06.2020 в 23:12.
|
|
|
|
24.06.2020, 23:14
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
К сожалению, тут паскаль не подойдет. Во-первых, потому то для широких масс он нафик не уперся (я ж хочу не только для себя лично). Во-вторых, там нужна особая макросовая магия типа прототредов, чтобы просто сесть на таймер и не юзать RTOS (но так чтобы код не скатился в ад).
Кому интересно - пока осилил завернуть сборку кубовского выхлопа в PlaformIO https://github.com/puzrin/reflow_mic....ini#L116-L139.
Я видимо пока кубовский вариант помучаю. Но если у кого-нибудь возникнет желание прославиться в веках, сделав нормальную библиотеку, то предложение насчет ковра и телевизора в силе. И с проектированием тоже помогу, расписав "правильное" апи.
|
|
|
|
27.06.2020, 12:08
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Есть вопрос про GPIO speed (low/medium/high). А как это аппаратно реализовано? Если я выберу низкую скорость, ток тоже упадет?
Вот мне надо рулить симистором. Скорость (фронты) там по меркам процессора без разницы. А вот ток довольно приличный, 10-40ма, в зависимости от типа. Для тяжелых случаев аж 3 ножки MCU надо параллелить. Этим ножкам надо скорость на максимум загонять, чтобы необходимый ток тянули, или ток со скоростью не связан?
|
|
|
|
29.06.2020, 10:00
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну ёлки-палки, уж про "скорость портов" то давно вопрос снят то. Это обычный формирователь крутизны фронта. Как крутизна фронта формируется при переключении мосфета? Номиналом резистора в затворе. Чем меньше резистор в затворе, тем больше скорость перезарядки ёмкости затвора и тем круче фронты на выходе. Соответственно, чем меньше резистор в затворе, тем больший ток протекает через этот резистор, и тем больше сказывается на обсчем потреблении в целом.
|
|
|
|
29.06.2020, 10:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Не нужно ноги MCU паралелить. Хорошим это не кончится. Просто поставь простенький драйвер для управления симистора. Например полевик с управлением логическим уровнем.
|
|
|
Сказали "Спасибо" DanilinSA
|
|
|
29.06.2020, 12:21
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Да впринципе то ничего сверхстрашного не произойдет. У порта в режиме выхода довольно высокое выходное сопротивление, выходное напряжение при увеличении вытекающего тока начинает ощутимо просаживаться, так что... Это примерно как параллельное соединение резисторов. Ну если боитесь - просто запараллельте через небольшие резисторы.
Вон, в некоторых конструкциях св-диодные семисегм. прямо так садят на порты, без резисторов. И ниче - работает вполне. Сам тоже пробовал.
|
|
|
|
29.06.2020, 15:55
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от DanilinSA
|
Не нужно ноги MCU паралелить. Хорошим это не кончится.
|
Это стандартное решение для трика, которое широко используется. Например AN863. Для stm32 тоже были упоминания, неохота искать. Нет смысла лепить в схему лишние детали без нужды.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:19.
|
|