22.06.2020, 18:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Если у него есть плата из серии NUCLEO то ему вполне хватит "X-NUCLEO-USBPDM1"
Это относительно недорогая плата-расширение.
|
|
|
|
22.06.2020, 18:49
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Я немного другое спрашивал. Я рисую свою схему, а не юзаю девборд. Вопрос в том, через что обменивается данными мониторингоый гуй. Потому то судя по конфигу, он пуляет через TRACER_EMB, который висит на UART, у которого концы просто болтаются в воздухе.
И совершенно непонятно как stlink берет данные с этих болтающихся концов (снаружи мониторная программа вроде через stlink прицеплена).
Это нормально вообще? В SWD аппаратный прехватчик концов UART?
|
|
|
|
22.06.2020, 21:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Смотри - на разьеме ST-LINK есть пины VCP_RX (STLK_RX) и VCP_TX (STLK_TX)
На них и сажается LPUART1 для взаимодействия.
Цитата:
|
Для активации функционала разверните категорию «Utilities» в левой части окна и выберите пункт «TRACER_EMB». Затем в раскрывающемся списке «Uart Trace Source» секции «Mode» выберите «LPUART1».
|
По факту на дебаг-разьем в твоем случае нужно RX и TX вытащить. И ... У тебя нормальный ST-LINK или китайский свисток без VCP?
Последний раз редактировалось DanilinSA; 22.06.2020 в 21:46.
|
|
|
Сказали "Спасибо" DanilinSA
|
|
|
22.06.2020, 23:17
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сенькс. Нашел аналогичное подтверждение тут https://community.st.com/s/question/...-up-in-windows.
На stlink-v2 (в т.ч. китайских) VCOM нет. В более свежих появилось. И на девбордах тоже есть. Короче, обычный usb2com, просто встроенный в программатор. А я уж чуть не поседел, пытаясь понять как это работает.
======================
Остались вопросы с USB-PD. Мне нужен тупой Sink c dead battery, который будет запрашивать PPS напряжение 6..21 вольт с током до 3-5 ампер. Для "грелки" с контролем температуры.
Пока просто генерю кубом код по AN5418, посмотреть что внутри. В аппноте нарисован странный делитель 200k+40.2k, и написано что для SNK обязательно нужен контроль напряжения. При этом:
1. Делителя явно не хватит на 20 вольт.
2. В генереном коде для голого STM32F473RC ничего нет про чтение АЦП и коэффициент деления.
3. Что-то я не заметил чтобы библиотека активно мониторила напряжение. И по-моему спека такого не требует. Для PPS надо только периодически подтверждение слать.
WTF ?
Может кто знает готовые примеры минимального кода для SNK c PPS на 1 порт? В stm-овских примерах по-моему много лишнего. Начиная от RTOS, которая тут нафик не уперлась, и заканчивая поддержкой кучи "ненужных" команд.
Грубо говоря, нужен PD-триггер, но с плавной ручкой вместо кнопочек
Последний раз редактировалось p_v; 22.06.2020 в 23:21.
|
|
|
|
23.06.2020, 02:08
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Частично нашел в AN5418 примеры, какие куски кода куда вставить, чтобы АЦП работал. И там действительно коэффициенты как в делителе. Но коэффициент деления все равно дурацкий. И зачем стеку USB PD мерить напряжение - все равно не понятно.
Со способом правки кода - опять этот гребаный стыд с /* USER_BEGIN */... Что-то как всегда помешало сделать нормально, чтобы модификации цеплялялись снаружи. Хотя бы weak функции объявить в файлах *_user.c
Еще попробовал сгенерить проект для G0 - там мидлеварь строго требует FreeRTOS, без вариантов. Версия USB PD там более старая.
По железу пока получилось так: https://easyeda.com/reflow/reflow-usb-pd
|
|
|
|
23.06.2020, 09:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от p_v
|
3. Что-то я не заметил чтобы библиотека активно мониторила напряжение. И по-моему спека такого не требует. Для PPS надо только периодически подтверждение слать
|
Вывод, на котором сидит делитель, переключить в режим входа АЦП.
Затем на вкладке «GPIO Settings» секции «Configuration» введите в поле «User Label» для этого сигнала пользовательское имя «VSENSE»
Цитата:
|
Но коэффициент деления все равно дурацкий.
|
Почему дурацкий? По видимому в расчете на то, что при 20 вольтах на АЦП будет 3.3 вольта.
Последний раз редактировалось DanilinSA; 23.06.2020 в 11:31.
|
|
|
|
23.06.2020, 13:13
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от DanilinSA
|
Вывод, на котором сидит делитель, переключить в режим входа АЦП.
Затем на вкладке «GPIO Settings» секции «Configuration» введите в поле «User Label» для этого сигнала пользовательское имя «VSENSE»
|
Не заметил чтобы это на что-то влияло. Может конечно что-то опять зевнул.
Сообщение от DanilinSA
|
Почему дурацкий? По видимому в расчете на то, что при 20 вольтах на АЦП будет 3.3 вольта.
|
Две причины:
- 3.3*5.97 =› 19,701. А надо минимум 21 + запас.
- Можно было бы поставить 3к + 21к, и иметь ровные номиналы и ровный коэффициент деления.
|
|
|
|
23.06.2020, 19:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Возможно. Документация и софт у ST - та еще песня. С матом ...
|
|
|
|
23.06.2020, 21:38
|
|
Гражданин KAZUS.RU
Регистрация: 07.05.2019
Сообщений: 749
Сказал спасибо: 67
Сказали Спасибо 144 раз(а) в 90 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Проблема в том, что USB-PD матом абсолютно у всех, отличается только количеством этажей. А я уже задолбался отвлекаться на строительство нормальных библиотек вместо собственных проектов.
Если вдруг кому будет интересно сделать нормальный SINK с PPS, на STM32G и/или FUSB302, готов пожертвовать "ковер и телевизор".
Последний раз редактировалось p_v; 23.06.2020 в 21:41.
|
|
|
|
24.06.2020, 15:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
А появление STM32G серии я походу пропустил ...
Неужели с USB-PD все так плохо? Я конечно могу понять STM32G.
Но FUSB302 - там чисто I2C дергать с соответствии с стандартом. Что там может пойти не так?
А вообще в природе есть отладочные платы под это дело? За вменяемые деньги?
Пример кода для FUSB302B: https://github.com/ReclaimerLabs/USB-PD-Breakout
В формате Ардуино, но как как пример.
Последний раз редактировалось DanilinSA; 24.06.2020 в 15:42.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:21.
|
|