реклама на сайте
подробности

 
 
> stm32f105, APB1
SasaVitebsk
сообщение Sep 16 2010, 13:13
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Может кто знает проблему - подскажет.

Имеется изделие на stm32f105 (CL).
Запущено на частоте 8*9 = 72. Это проверил ч/з MCO осциллографом.
Частота APB2 = 72/1, а APB2 = 72/2 = 36 ( в регистре RCC_CFGR PPRE1 = 4)
Согласно даташиту частота TIM2 (а также CAN), соответственно должна быть равна 36.
Но выведенный сигнал при расчетё получается такой, как будто частота таймера = 72. Всё пересчитывал уже 10 раз.

Собственно сам таймер - бог с ним. Непонятно откуда расхождение расчётной частоты и фактической. Почему-то не работает CAN. Собственно из-за этого и полез разбираться.

CAN программирую так.
TS1 = 2 (3 такта)
TS2 = 4 (5 такт.)
SJW = 0 (1 такт)
BRP = F (делитель 16)

То есть по моему пониманию часто та должна быть 36 / 16 / (3+5+1) = 250 кбит.

Подскажите где я неправ.

PS: Что-то уж очень туго идёт с stm32. Тот же CAN на LPC2478 занял 1 день, да и прочее тоже всё легко и приятно. А здесь шляпа на шляпе. ADC, таймер, CAN - всё с боем.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SBE
сообщение Sep 16 2010, 14:55
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 108
Регистрация: 8-09-05
Пользователь №: 8 384



С таймером подскажу. Он на удвоенной частоте шины, если делитель шины APB не единица.
1. if the APB prescaler is 1, the timer clock frequencies are set to the same frequency as
that of the APB domain to which the timers are connected.
2. otherwise, they are set to twice (×2) the frequency of the APB domain to which the
timers are connected.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 00:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016