Страница 101 из 446
Re: STM32 новичку в ARM что к чему
Добавлено: Вт фев 10, 2015 22:03:38
isx
dosikus писал(а):Запись не верная.
А что не так?
dosikus писал(а):Ты и так уже им играешься
Тоесть в моём коде он уже работает?
Есть ещё вопрос.
.
tCK_INT это частота тактового генератора? Если да, то это с учётом PLL и прескалера или без?
И последний вопрос. OSSR и OSSI биты, для чего они? И RM нифига не понял...
PS. Прочитал исправление. Спасибо за подсказку, ато я совсем забыл про это

. Кстати, раз на то пошло. В значения постоянно добавляют "- 1", а не проще вставить туда конечное значение? Лишнее вычитание это же трата ресурсов

Re: STM32 новичку в ARM что к чему
Добавлено: Вт фев 10, 2015 22:20:11
dosikus
isx писал(а): В значения постоянно добавляют "- 1", а не проще вставить туда конечное значение? Лишнее вычитание это же трата ресурсов

Если в выражении константы, значение вычисляет препроцессор .
А если у тебя переменная то зачем ее заранее портить , где-то же еще пользовать будешь.
А здесь больше инфы по таймерам
http://www.st.com/st-web-ui/static/acti ... 042534.pdf
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 11, 2015 00:19:58
isx
Мануал полезный. Раньше его не встречал. Спасибо

.
Всё нормально, но вот не могу найти корни TCK_INT. Можете сказать, как её высчитать. (знание английского у меня относительное, поэтому мог что-то просто не понять

)
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 11, 2015 07:40:46
dosikus
Timer Clock Internal .
Случай когда таймер тактируется от внутреннего источника т.е. от RCC .
См
Figure 160. TIM16 and TIM17 block diagram RM . ->
Internal clock (CK_INT)
Так как некоторые таймеры могут тактироваться и от внешних источников.
И здесь надо разделять понятия - разрешение тактирования всего модуля , что мы делаем в данном коде :
и тактирование счетчика таймера -
Counter
Re: STM32 новичку в ARM что к чему
Добавлено: Вс фев 15, 2015 02:26:36
isx
Здравствуйте!
Подскажите пожалуйста, при установке бита
сбрасывается только значение счётчика или регистр CCR1 тоже обнуляется?
Re: STM32 новичку в ARM что к чему
Добавлено: Вс фев 15, 2015 04:42:58
A. Fig Lee
isx писал(а):Здравствуйте!
Подскажите пожалуйста, при установке бита
сбрасывается только значение счётчика или регистр CCR1 тоже обнуляется?
CCR1 обнулятся не должен. Это же capture, если он будет обнулятся на каждый апдейт, бардак будет
Re: STM32 новичку в ARM что к чему
Добавлено: Вс фев 15, 2015 19:50:53
isx
A. Fig Lee писал(а):если он будет обнулятся на каждый апдейт
Д вот у меня и непонятки с тем, что подразумевает производитель под "апдейтом"...
Re: STM32 новичку в ARM что к чему
Добавлено: Вс фев 15, 2015 20:15:27
A. Fig Lee
isx писал(а):A. Fig Lee писал(а):если он будет обнулятся на каждый апдейт
Д вот у меня и непонятки с тем, что подразумевает производитель под "апдейтом"...
CCR регистры по идее имеют собственный апдейт событие.
Центральный счетчик сбросится, обнулится, прескейлер тоже обнулится, а CCR останется.
Re: STM32 новичку в ARM что к чему
Добавлено: Вс фев 15, 2015 20:26:46
isx
Опа.. А вот обнуление прескаллера в моём случае не есть гуд... Спасибо за информацию

.
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 01:11:16
isx
Здравствуйте ещё раз
Подскажите пожалуйста, какова будет продолжительность Dead-Time при таких настройках таймера:
Код: Выделить всё
TIM16->CR1 |= TIM_CR1_ARPE;
TIM16->CR1 |= TIM_CR1_CKD_1;
TIM16->CR2 |= TIM_CR2_OIS1N;
TIM16->CR2 |= TIM_CR2_OIS1;
TIM16->PSC = 8000 - 1;
TIM16->CCMR1 |= TIM_CCMR1_OC1M_1| TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1PE;
TIM16->CCER |= TIM_CCER_CC1E | TIM_CCER_CC1NE;
TIM16->ARR = 100 - 1;
TIM16->CCR1 = 50;
TIM16->BDTR |= TIM_BDTR_MOE;
TIM16->BDTR |= TIM_BDTR_AOE;
TIM16->BDTR |= TIM_BDTR_DTG_1 | TIM_BDTR_DTG_4 | TIM_BDTR_DTG_5;
TIM16->CR1 |= TIM_CR1_CEN;
Частота тактирования ядра - 8МГц INT. PLL не используется.
И ещё вопрос. Какой максимальный DEAD-TIME может быть при частоте тактирования ядра 8МГц?
А то я чё немного запутался в расчётах

Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 07:56:31
uk8amk
Какой максимальный DEAD-TIME может быть при частоте тактирования ядра 8МГц?
Example if TDTS=125 ns (8 MHz), dead-time possible values are:
...
64 us to 126 us by 2 us steps
А вот обнуление прескаллера в моём случае не есть гуд...
Не совсем так. Обнуляется только счётчик предделителя, коэф-т деления остаётся.
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 14:52:25
isx
А можете посмотреть какой в моих настройках DT (и вообще, правильно ли он настроен)? Я вроде подсчитал всё, но транзисторы моста дико греются в ключевом режиме, не смотря на слабую нагрузку и хорошие фронты на затворе. К сожалению у осциллографа моего только один канал, поэтому DT проследить не могу.

Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 18:14:45
dosikus
isx , завтра, если не загрузят и лень не будет.

Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 18:54:42
isx
Ок. Буду благодарен

.
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 20:06:34
dosikus
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 20:57:40
isx
Ооо... Спасибо большое! Теперь буду копать в этом направлении

.
Блин... У меня по расчётам выходит 25 микросекунд.
Включен предделитель частоты тактирования таймера на 4 (CKD). Частота тактирования 8МГц (125нС). DTG = 50. Итого получается: 50 * (125*4) = 25мкС.
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 22:48:05
uk8amk
isx писал(а):у осциллографа моего только один канал, поэтому DT проследить не могу.

Небольшой хинт.
Если ослик не совсем игрушечный, то можно задействовать вход внешней синхронизации.
Т.е. допустим втыкаем CH1 на вход X, а комплементарный CH1N на вход Y. Число клеток от пуска развертки до первого фронта и есть dead-time.
Re: STM32 новичку в ARM что к чему
Добавлено: Ср фев 18, 2015 23:18:36
isx
uk8amk писал(а):Если ослик не совсем игрушечный
Хамелеон D. Даже не знаю прокатит ли там такое
isx писал(а): 25мкС.
Проглядел, по RM при таких настройках это значение находится за пределами допустимого, наверное поэтому он и выдаёт что попало...
Re: STM32 новичку в ARM что к чему
Добавлено: Чт фев 19, 2015 00:07:17
isx
dosikus писал(а):И для PSC и ARR и RCR ...
Здесь наверное ошибка. И в примерах в сети и а RM нет указаний на это. Или я опять что-то упустил?
Ещё вопрос назрел попутно. Не могу найти отличая PSC и CKD (помимо способа выбора коэффициентов деления и влияния на deat-time). Они аналогичны по своей сути и просто дополняют друг друга?
Re: STM32 новичку в ARM что к чему
Добавлено: Чт фев 19, 2015 11:10:12
dosikus
Нет никакой ошибки я же приводил для
update event при
time base generator а не PWM .
The update event period is calculated as follows:
Update_event = TIM_CLK/((PSC + 1)*(ARR + 1)*(RCR + 1))