Страница 101 из 446

Re: STM32 новичку в ARM что к чему

Добавлено: Вт фев 10, 2015 22:03:38
isx
dosikus писал(а):Запись не верная.
А что не так? :dont_know:
dosikus писал(а):Ты и так уже им играешься
Тоесть в моём коде он уже работает?

Есть ещё вопрос.

Код: Выделить всё

 tDTS=tCK_INT
.
tCK_INT это частота тактового генератора? Если да, то это с учётом PLL и прескалера или без?

И последний вопрос. OSSR и OSSI биты, для чего они? И RM нифига не понял... :dont_know:



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

Re: STM32 новичку в ARM что к чему

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

А здесь больше инфы по таймерам 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)
Так как некоторые таймеры могут тактироваться и от внешних источников.

И здесь надо разделять понятия - разрешение тактирования всего модуля , что мы делаем в данном коде :

Код: Выделить всё

  RCC->APB2ENR |= RCC_APB2ENR_TIM1EN;
и тактирование счетчика таймера - Counter

Re: STM32 новичку в ARM что к чему

Добавлено: Вс фев 15, 2015 02:26:36
isx
Здравствуйте!
Подскажите пожалуйста, при установке бита

Код: Выделить всё

TIM14->EGR |= TIM_EGR_UG; 
сбрасывается только значение счётчика или регистр CCR1 тоже обнуляется?

Re: STM32 новичку в ARM что к чему

Добавлено: Вс фев 15, 2015 04:42:58
A. Fig Lee
isx писал(а):Здравствуйте!
Подскажите пожалуйста, при установке бита

Код: Выделить всё

TIM14->EGR |= TIM_EGR_UG; 
сбрасывается только значение счётчика или регистр 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МГц?
А то я чё немного запутался в расчётах :oops:

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 проследить не могу. :dont_know:

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 проследить не могу. :dont_know:
Небольшой хинт.
Если ослик не совсем игрушечный, то можно задействовать вход внешней синхронизации.
Т.е. допустим втыкаем CH1 на вход X, а комплементарный CH1N на вход Y. Число клеток от пуска развертки до первого фронта и есть dead-time.

Re: STM32 новичку в ARM что к чему

Добавлено: Ср фев 18, 2015 23:18:36
isx
uk8amk писал(а):Если ослик не совсем игрушечный
Хамелеон D. Даже не знаю прокатит ли там такое :dont_know:
isx писал(а): 25мкС.
Проглядел, по RM при таких настройках это значение находится за пределами допустимого, наверное поэтому он и выдаёт что попало...

Re: STM32 новичку в ARM что к чему

Добавлено: Чт фев 19, 2015 00:07:17
isx
dosikus писал(а):И для PSC и ARR и RCR ...
Здесь наверное ошибка. И в примерах в сети и а RM нет указаний на это. Или я опять что-то упустил? :dont_know:

Ещё вопрос назрел попутно. Не могу найти отличая 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))