|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
||||||||||||||||
STM32L152 проблема с таймером(ногой PB12) и DAC(PA5)09.11.2014, 13:48. Показов 7047. Ответов 17
Метки нет (Все метки)
Есть проектик на STM32T152.
К ноге PB12 подключен пьезик, и используется таймер TYM10 в качестве генератора звука. Но беспокоит нюанс: когда канал таймера запрещен, на ноге постоянно высокий уровень. Инициализация:
Если же сделать финт ушами, и переконфигурировать заодно и саму ножку после этого, то получаю потенциал 0.2В и спонтанный ток пинов VCC 12мА@3В
Самое интересное, что соседний таймер TIM9 на ножке PB13, при использовании этого кода(инициализация, отключение), ведет себя в точности до наоборот, и когда канал отключен, там лог.0, т.е. так как и должно быть. Я бы в принципе смирился, с лог.1 но аппаратную часть генерации звука сейчас переделал и заказал новые платы. для которых при отключенном звуке нужен стабильный лог.0. Кто виноват, что делать, какой лопатой копать? Также есть весьма любопытный глюк, в проекте также используется ЦАП(канал 2), выход которого внутри МК подключен к компаратору. Но когда ЦАП не нужен, канал отключаю DAC_Cmd(DAC_Channel_2, DISABLE); несмотря на это, на ножке PA5, присутствует потенциал генерируемый ЦАП-ом. Вопрос 2: как правильно отключить ЦАП от ножки? Вобщем-то все более менее устраивало, но МК во сне потребляет около 15 мкА, и когда начал исследовать потенциалы на ножках, наткнулся на эти странности.
0
|
||||||||||||||||
| 09.11.2014, 13:48 | |
|
Ответы с готовыми решениями:
17
Проблема связки DAC DMA в STM32F3 проблема с таймером 1 Проблема с таймером =( |
|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 157
|
|||||||
| 09.11.2014, 16:54 | |||||||
|
shodom, твоя проблема в том, что настройку
Но это только частичное решение проблемы. Чтобы гарантированно в любых ситуациях выставлять 0 на ноге, надо переключать её в режим вывода и сбрасывать ногу в 0, а при включении звука, опять перестраивать в alternate function. С ЦАП-ом и компаратором я разбирался уже давно и точно не помню, но вроде ногу ЦАПа, используемую в компараторе вроде как отключать нельзя. Её надо оставить незадействованной и к ней ничего нельзя цеплять. И вообще, чёрным по белому написано:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
|||||||
| 09.11.2014, 17:13 | |||||||
|
Попробую конечно, но в примере STM32T1xx_StdPeriph_Lib_V1.2.0\Project\S TM32T1xx_StdPeriph_Examples\TIM\TYM11_PW M_Output
Указанна именно такая последовательность
Пример выше AF0 и реконфигурация ножки. Про ЦАП я это вчера читал, и выставил Analog IN, только эффекта не дало. Смущает постоянный потенциал на ней, даже во сне. Значит ЦАП частично работает и кушает.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 157
|
|
| 09.11.2014, 17:24 | |
|
shodom, не важно, что указано в примере. Если у тебя перед настройкой ШИМа не включен режим прямой загрузки в регистры, то после настройки в регистре CCR1 окажется ноль, независимо от того, какие значения ты задал. А при счётчике таймера==CCR1 ШИМ выставляет ногу в 1 (при настройке TIM_OCPolarity_High). Вот он и выставляет 1, т.к. 0 == 0. Перед первым ответом я скомпилировал и проверил.
Насчёт высокого потребления при смене настройки пина - не замечал ни разу. Видимо где-то в другом месте собака порылась. Для ЦАПа попробуй отключить выходной буфер, если ты его включил. Он потребляет.
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
|
| 09.11.2014, 19:56 | |
|
Замена МК помогла :) таймер перерь работает как должен.
Блин дочегоже они нежные, фейспалм... С ЦАП ты был прав, спасибо за совет, отключил буфер, на ножке теперь 0.2-0.1В.
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 701
|
|
| 09.11.2014, 19:59 | |
|
Ещё не вечер... Прицепи пьезик и щёлкни пальцем по нему сильнее... Завтра новый МК перепаивать будешь...
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
|
| 09.11.2014, 20:12 | |
|
Со всей дури долбить по пьезику не буду, последствия я и так осознаю, несмотря на то что он висит на "FT" ножке.
А МК всетаки нежные очень, не первый подобный косяк попадается, даже не смотря на то что паяю с браслетом и на коврике, и четко выдерживаю температуру до 260гр. Уже раза 4-5 встречал что ножка вроде-бы работает, но не совсем так как должна. А заменишь МК, сразу все нормализуется. Причем каждый раз разные, но что характерно, попадались глюки исключительно на "FT" ножках, обычные работают нормально.
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 701
|
|
| 09.11.2014, 20:14 | |
|
Что-то не так в консерватории или в схемотехнике... Всякое бывало... но всё живое...
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
|
| 09.11.2014, 20:20 | |
|
Да какой там... схемотехника, нога в воздухе висела, пьезик даже подпаять не успел.
Видимо утончение корпуса до 0.5мм (UFQFPN48) не прошло для этих МК бесследно. Печально это все, печально...
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 157
|
||||||
| 09.11.2014, 20:56 | ||||||
|
shodom, дело не в камне. Я проверил твой код на L-серии. Он ведёт себя как ты и описал - 1 на выходе. Почему - я тебе объяснял.
После вызова
PS: кстати, ты забываешь вызывать ф-ции, которые инициализируют структуру (типа TIM_TimeBaseStructInit и т.п.) из-за чего в полях структур, которые ты не заполняешь, может оказаться мусор и всё будет вести себя непредсказуемо.
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
|
| 09.11.2014, 21:02 | |
|
Код я поправил, это никак не повлияло. вообще. Хотя оставил твой вариант.
Дело в камне, Я даже прошивку стирал совсем, и бутлоадер тоже. подавал на камень питание, и наблюдал на этом пине лог.1 Мусора кстати в регистрах не может быть, т.к. они потом в коде перезаписываются, но об этом я тихо умолчал. Про инициализацию структур учту, на всякий случай.
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 157
|
|
| 09.11.2014, 21:03 | |
|
Покажи какой код получился. Может ты не туда вставил
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
||||||
| 09.11.2014, 21:10 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 157
|
|
| 09.11.2014, 21:18 | |
|
Да, место правильное. Но я бы ещё добавил предварительную инициализацию структур. Во избежание
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 701
|
||
| 09.11.2014, 21:26 | ||
Может паста или флюс под корпусом???
0
|
||
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
|
| 09.11.2014, 21:33 | |
|
Нет, это исключено, паялся он без пасты, а флюс отмыт +100500, ктому-же флюс ноуклин.
Да говорюже такое встречается на этих кристалах. Надо было прежде чем тему создавать заменить МК. Но почему-что решил что глюк софта. Наверное потому-что раньше на уровень этой ножки никогда не обращал внимание.
0
|
|
|
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
|
| 10.11.2014, 08:03 | |
|
я голосую за то, чтобы соотнести эти странности чипов с плохой пайкой, непропаем и коротышами. Косяки пайки бывают невидимы глазу, а видимы только под микроскопом.
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2012
Сообщений: 101
|
|
| 10.11.2014, 08:09 | |
|
И микроскопом я тоже проверял :)
Да и замыкать там некуда. Ну нету по близости напряжения питания, ну просто нету :) Разве что на другой стороне МК :)
0
|
|
| 10.11.2014, 08:09 | |
|
Помогаю со студенческими работами здесь
18
Проблема с таймером
Проблема с таймером проблема с таймером Проблема с таймером Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|