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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

dosikus писал(а):Запись не верная.
А что не так? :dont_know:
dosikus писал(а):Ты и так уже им играешься
Тоесть в моём коде он уже работает?

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

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

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

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



PS. Прочитал исправление. Спасибо за подсказку, ато я совсем забыл про это :) . Кстати, раз на то пошло. В значения постоянно добавляют "- 1", а не проще вставить туда конечное значение? Лишнее вычитание это же трата ресурсов :dont_know:
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

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

А здесь больше инфы по таймерам http://www.st.com/st-web-ui/static/acti ... 042534.pdf
Последний раз редактировалось dosikus Ср фев 11, 2015 07:46:38, всего редактировалось 1 раз.
Реклама
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Мануал полезный. Раньше его не встречал. Спасибо :) .
Всё нормально, но вот не могу найти корни TCK_INT. Можете сказать, как её высчитать. (знание английского у меня относительное, поэтому мог что-то просто не понять :( )
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

Timer Clock Internal .
Случай когда таймер тактируется от внутреннего источника т.е. от RCC .
См Figure 160. TIM16 and TIM17 block diagram RM . -> Internal clock (CK_INT)
Так как некоторые таймеры могут тактироваться и от внешних источников.

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

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

  RCC->APB2ENR |= RCC_APB2ENR_TIM1EN;
и тактирование счетчика таймера - Counter
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Здравствуйте!
Подскажите пожалуйста, при установке бита

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

TIM14->EGR |= TIM_EGR_UG; 
сбрасывается только значение счётчика или регистр CCR1 тоже обнуляется?
Реклама
Аватара пользователя
A. Fig Lee
Потрогал лапой паяльник
Сообщения: 306
Зарегистрирован: Сб мар 17, 2012 20:31:44
Откуда: Нью Йорк

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

Сообщение A. Fig Lee »

isx писал(а):Здравствуйте!
Подскажите пожалуйста, при установке бита

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

TIM14->EGR |= TIM_EGR_UG; 
сбрасывается только значение счётчика или регистр CCR1 тоже обнуляется?
CCR1 обнулятся не должен. Это же capture, если он будет обнулятся на каждый апдейт, бардак будет
Реклама
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

A. Fig Lee писал(а):если он будет обнулятся на каждый апдейт
Д вот у меня и непонятки с тем, что подразумевает производитель под "апдейтом"...
Аватара пользователя
A. Fig Lee
Потрогал лапой паяльник
Сообщения: 306
Зарегистрирован: Сб мар 17, 2012 20:31:44
Откуда: Нью Йорк

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

Сообщение A. Fig Lee »

isx писал(а):
A. Fig Lee писал(а):если он будет обнулятся на каждый апдейт
Д вот у меня и непонятки с тем, что подразумевает производитель под "апдейтом"...
CCR регистры по идее имеют собственный апдейт событие.
Центральный счетчик сбросится, обнулится, прескейлер тоже обнулится, а CCR останется.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Опа.. А вот обнуление прескаллера в моём случае не есть гуд... Спасибо за информацию :) .
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение 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:
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

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

Сообщение 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
А вот обнуление прескаллера в моём случае не есть гуд...
Не совсем так. Обнуляется только счётчик предделителя, коэф-т деления остаётся.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

А можете посмотреть какой в моих настройках DT (и вообще, правильно ли он настроен)? Я вроде подсчитал всё, но транзисторы моста дико греются в ключевом режиме, не смотря на слабую нагрузку и хорошие фронты на затворе. К сожалению у осциллографа моего только один канал, поэтому DT проследить не могу. :dont_know:
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

isx , завтра, если не загрузят и лень не будет. :)))
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Ок. Буду благодарен :).
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

Украл минутку ...

Изображение
Изображение
Изображение
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Ооо... Спасибо большое! Теперь буду копать в этом направлении :) .


Блин... У меня по расчётам выходит 25 микросекунд.
Включен предделитель частоты тактирования таймера на 4 (CKD). Частота тактирования 8МГц (125нС). DTG = 50. Итого получается: 50 * (125*4) = 25мкС.
Последний раз редактировалось isx Ср фев 18, 2015 23:03:39, всего редактировалось 1 раз.
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

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

Сообщение uk8amk »

isx писал(а):у осциллографа моего только один канал, поэтому DT проследить не могу. :dont_know:
Небольшой хинт.
Если ослик не совсем игрушечный, то можно задействовать вход внешней синхронизации.
Т.е. допустим втыкаем CH1 на вход X, а комплементарный CH1N на вход Y. Число клеток от пуска развертки до первого фронта и есть dead-time.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

uk8amk писал(а):Если ослик не совсем игрушечный
Хамелеон D. Даже не знаю прокатит ли там такое :dont_know:
isx писал(а): 25мкС.
Проглядел, по RM при таких настройках это значение находится за пределами допустимого, наверное поэтому он и выдаёт что попало...
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

dosikus писал(а):И для PSC и ARR и RCR ...
Здесь наверное ошибка. И в примерах в сети и а RM нет указаний на это. Или я опять что-то упустил? :dont_know:

Ещё вопрос назрел попутно. Не могу найти отличая PSC и CKD (помимо способа выбора коэффициентов деления и влияния на deat-time). Они аналогичны по своей сути и просто дополняют друг друга?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение 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))
Ответить

Вернуться в «ARM»