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

 
 
> STM32F103. Высокоскоростной таймер
Evgeniyk
сообщение Nov 7 2012, 14:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 5-04-06
Пользователь №: 15 836



Здравствуйте. Пытаюсь завести прерывания по таймеру с частотой 20 МГц. Попытки это сделать успехом не увенчались поэтому я решил попробовать сделать его с максимально возможной частотой. Для этого написал следующий код:

CODE
void TIM_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

/* Time base configuration */
TIM_TimeBaseStructure.TIM_Period = 1;
TIM_TimeBaseStructure.TIM_Prescaler = 0;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);

/* TIM IT enable */
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);

/* TIM enable counter */
TIM_Cmd(TIM1, ENABLE);
}

void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

/* Enable the TIM_ADC global Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = TIM_ADC_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

void TIM1_UP_IRQHandler(void)
{
if (TIM_ADC->SR & TIM_SR_UIF)
{
TIM_ADC->SR &= ~TIM_SR_UIF;
HSO_ADC_PORT->BSRR = HSO_ADC_CLK; //нога в единицу
HSO_ADC_PORT->BRR = HSO_ADC_CLK; //нога в ноль
}
}

int main(void)
{
/* NVIC configuration */
NVIC_Configuration();

/* Timer configuration */
TIM_Configuration();

while (1)
{

}

}


Проблема в том что период следования импульсов получился около 520ns. (частота на GPIO установлена в 50 МГц т.е он хотябы с этой частотой должен был отработать). В чем может быть проблема? Как заставить таймер работать от нужной частоты?

Сообщение отредактировал IgorKossak - Nov 7 2012, 20:00
Причина редактирования: [codebox] для длинного кода!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Nov 8 2012, 08:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Evgeniyk @ Nov 7 2012, 18:25) *
частота на GPIO установлена в 50 МГц т.е он хотябы с этой частотой должен был отработать

Вы глубоко заблуждаетесь. "50 МГц" - это установка крутизны фронтов у выхода и только. Как уже было сказано, учитывая тактовую 72 МГц, у этого МК никогда не будет 50 МГц на выходе (за исключением MCO).
Go to the top of the page
 
+Quote Post
vlad_new
сообщение Nov 8 2012, 17:17
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 218
Регистрация: 24-06-10
Пользователь №: 58 127



Цитата(scifi @ Nov 8 2012, 12:18) *
Вы глубоко заблуждаетесь. "50 МГц" - это установка крутизны фронтов у выхода и только. Как уже было сказано, учитывая тактовую 72 МГц, у этого МК никогда не будет 50 МГц на выходе (за исключением MCO).

А помоему заблуждаетись Вы. Судя по структурной схеме выходного каскада это именно тактирование внутренних триггеров-защелок ( или регистров ). На крутизну это ни как не влияет. И в этом многие могли убедиться у кого есть хороший осциллограф. К тому же, из той же структурной схемы видно, что в альтернативном варианте выходные ключи вообще минуют триггера (регистры), а потому частота там может быть и выше 50 Мгц. Ну это теоретически, поскольку фиг его знает как там и что дальше тактируется в альтернативном режиме.

Go to the top of the page
 
+Quote Post
scifi
сообщение Nov 8 2012, 17:22
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(vlad_new @ Nov 8 2012, 21:17) *
А помоему заблуждаетись Вы. Судя по структурной схеме выходного каскада это именно тактирование внутренних триггеров-защелок ( или регистров ). На крутизну это ни как не влияет.

Не гадайте на картинках, а читайте руководства. А именно таблицу "I/O AC Characteristics" в даташите. Там всё исчерпывающе изложено, причём со ссылкой на руководство по МК и тот самый регистр, который настраивает "2/10/50 МГц".
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 01:26
Рейтинг@Mail.ru


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