|
STM32F100 три вопроса, Аварийный генератор, настройка GPIO |
|
|
|
Dec 17 2013, 13:38
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635

|
1) Имеется плата STM32F100 с подключенным кварцевым резонатором 8 МГц. В CoIDE загружен тестовый пример мигания Blink, выставлен период мигания светодиодов 1 с. Проект нормально компилируется, светодиоды мигают. Как я понимаю, по умолчанию в проектах CooCox выставляется режим работы от кварцевого генератора с внутренним умножением частоты на 3, то есть тактовая частота 24 МГц.
Теперь я срываю генерацию кварца прикосновением пинцета, при этом период мигания светодиодов увеличивается в 6 раз. Если пинцет убираю, то вновь период возвращается к 1 с. В доках пишут, что при аварии внешнего тактового сигнала начинает работать внутренний генератор частотой 8 МГц. То есть, по идее период мигания должен увеличиться в 3 раза, а не в 6 раз. Вопрос - почему?
2) Если подключается кварцевый резонатор к линиям PD0, PD1, то в какой режим надо переводить регистры GPIO - вход, вход-pull-up/down, выход или ресет? Надо ли вообще активировать тактирование порта PD?
3) Аналогичный пункту 2 вопрос, если вместо кварцевого резонатора подключается внешний цифровой сигнал на линию PD0 (то есть как настраивать линии PD0 и PD1 по GPIO)?
|
|
|
|
|
 |
Ответов
|
Dec 29 2014, 08:25
|
Группа: Новичок
Сообщений: 2
Регистрация: 29-12-14
Пользователь №: 84 343

|
Товарищи, мне кажется, у меня аналогичная непонятка. SYSCLK на MCO 8мгц, из HSI, судя по коду и регистрам в debug. А код, аналогичный gpio_toggle из примеров от stm32f303 выдаёт на ножке 2мгц, вместо 4мгц. Смотрю осциллографом. Делители AHB,APB1,APB2 = единицы. Компилятор оптимизирует код. Пошаговое исполнение asm инструкций меняет состояние выхода с каждым шагом. STM32F303 я уже изучил неплохо, а вот тут F100 меня сбивает с толку.
Инициализация сгенерирована coide, разве что закомментировал вызов SetSysClockTo24(), в которой мк пытается запустить HSE+PLL.
Поведение HSI+PLL адекватное, но частота на выходе gpio всёравно в 2 раза ниже ожидаемой.
дизассемблер: 26 GPIOC->BRR = GPIO_Pin_9; 0800063a: str r1, [r0, #20] 27 GPIOC->BSRR = GPIO_Pin_9; 0800063c: str r1, [r0, #16] 28 GPIOC->BRR = GPIO_Pin_9; 0800063e: str r1, [r0, #20] 29 GPIOC->BSRR = GPIO_Pin_9; 08000640: str r1, [r0, #16]
Коммент к аналогичному коду из документации к F3Discovery: In this example, HCLK is configured at 72 MHz so PE14 and PE15 toggles at 36MHz. To achieve the maximum IO toggling frequency, you have to configure your compiler options for high speed optimization.
Мне кажется, автор темы столкнулся с такой-же непоняткой, но ответа я так и не вижу.
вот нашел в одной статье:
The User Manual for the STM32F0 claims that the the output pins fastest toggle speed is every two clock cycles. Assuming a maximum operation speed of 48MHz, the fastest toggle speed for the GPIO on the STM32f0 is 24 MHZ, which means the highest frequency square wave that can be produced by the GPIO is 12MHz.
видимо и нас с F100 касается.
|
|
|
|
Сообщений в этой теме
RomanRom STM32F100 три вопроса Dec 17 2013, 13:38 adnega Цитата(RomanRom @ Dec 17 2013, 17:38) 1) ... Dec 17 2013, 14:52 RomanRom Цитата(adnega @ Dec 17 2013, 17:52) А как... Dec 17 2013, 15:13 coolbassnik Вы ничего не напутали с замерами времени моргания?... Dec 17 2013, 16:15 RomanRom Нет, отсчитывал по секундомеру одинаковые интервал... Dec 17 2013, 16:25  adnega Цитата(RomanRom @ Dec 17 2013, 20:25) Нет... Dec 17 2013, 18:03   RomanRom Цитата(adnega @ Dec 17 2013, 21:03) А выл... Dec 17 2013, 19:43    adnega Цитата(RomanRom @ Dec 17 2013, 23:43) Про... Dec 18 2013, 09:36     andrey74 Добрый день! Имеется МК STM32F103. Хочу сделат... Jul 8 2014, 03:15 Falkon_99 Цитата(RomanRom @ Dec 17 2013, 15:38) ...... Dec 17 2013, 20:48 RomanRom Цитата(Falkon_99 @ Dec 17 2013, 23:48) не... Dec 17 2013, 21:26  Сергей Борщ Цитата(RomanRom @ Dec 17 2013, 23:26) А п... Dec 18 2013, 07:24 uriy Системную частоту можно вывести на ногу с сигналом... Dec 18 2013, 05:13 Falkon_99 Можно и так (8/1)*3=24 , но если используется не с... Dec 18 2013, 07:17 ViKo Все можно увидеть в отладчике Keil. И на картинке ... Dec 18 2013, 08:46
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|