СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №6/2013
ЭЛЕМЕНТЫ И КОМПОНЕНТЫ неисправности внешнего генератора. Для активации данной функции блок CSS необходимо программно вклю чить с помощьюустановки бита CSSON в регистре RCC_CR. По умолчаниюэтот бит сброшен. Кроме того, система тактирования содержит узлы формирователей так товой частоты RTC CLK для часов реального времени RTC (Real Time Clock) и тактовой частоты IWDGCLK для сторожевых таймеров микрокон троллера. Источником тактовой частоты RTC CLK могут являться: ● тактовые сигналыот генератора HSE, делённые на 128; ● тактовые сигналы от внутреннего низкоскоростного генератора LSI (Low Speed Internal), формирующе го тактовые импульсы с частотой 40 кГц; ● тактовые сигналы от внешнего низкоскоростного генератора LSE (Low Speed External) с внешним кварцевым резонатором на частоте 32,768 кГц. Источником тактовой частоты IWDGCLK для сторожевых таймеров микроконтроллера является внутрен ний низкоскоростной генератор LSI с частотой 40 кГц. Сигналы тактовой частоты SYSCLK, HSE, HSI и PLLCLK, поделённой на два, могут быть подключены к выход ному сигналу MCO (Microcontroller Clock Output) микроконтроллера че рез мультиплексор. В программном выборе сигнала для этого мультиплек сора используются биты MCO[2:0] ре гистра RCC_CFGR. Их назначение при ведено ниже. MCO[2:0] = 0xx: выход MCO отклю чён; MCO[2:0] = 100: подключён сигнал SYSCLK; MCO[2:0] = 101: подключён сигнал HSI; MCO[2:0] = 110: подключён сигнал HSE; MCO[2:0] = 111: подключён сигнал PLLCLK/2. Сигнал системной тактовой частоты SYSCLK транслируется на программ ный делитель AHB, снижающий её в 512 раз. Полученный сигнал FCLK по ступает на остальные блоки схемы не посредственно или через дополни тельные делители APB1, APB2 и ADC. Каждый из этих делителей имеет про граммные коэффициенты деления и позволяет снизить частоту для соответ ствующих ему блоков и периферии. Например, блоки ядра и памяти мик роконтроллера работают на частоте сигнальной шины AHB, а сигналы ши ныAPB1иAPB2 имеют собственные де лители с коэффициентами от 1 до 16. Блок ADC имеет делитель частоты от 2 до 8 единиц. На схеме указанымак симально допустимые значения час тот для блоков. Благодаря делителям, имеющим программные коэффициентыделения, можно довольно гибкоизменять часто ту синхронизациидля конкретныхбло ков в зависимости от их назначения. В системе тактирования также присут ствуют элементыдляотключения сигна лов тактовойчастотыотпериферийных блоков. По умолчаниюпрактическивсе блоки отключены. Это сделано с целью экономии энергии за счёт отключения неиспользуемых в работе блоков. Различные периферийные блоки подключены к разным сигнальным шинам. Например, порты ввода выво да подключены к шине APB2, блок ин терфейса I 2 C – к шине APB1, контрол лер прямого доступа памяти – к шине AHB и т.д. Это необходимо учитывать при включении тактирования соотве тствующих функциональных блоков микроконтроллера. Подключение сигналов тактовыхчас тот к периферийным блокам произво дится через регистры RCC_APB1ENR и RCC_APB2ENR. П РОГРАММНАЯ ИНИЦИАЛИЗАЦИЯ Инициализациюсистемытактирова ния следует производитьпосле того, как будут определенынеобходимые источ ники генерацииидиапазонызначений тактовых частот для всех блоков. Система тактирования предоставля ет также возможность проверять рабо 21 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 6 2013 Листинг 1. Фрагмент кода программы на языке Си RCC >CR| = RCC_CR_HSEON; // Включить генератор HSE while (!(RCC >CR & RCC_CR_HSERDY)) {}; // Ждать готовность HSE RCC >CFGR &=~RCC_CFGR_SW; // Очистить биты SW0 и SW1 RCC >CFGR| = RCC_CFGR_SW_HSE; // Выбрать HSE для тактирования SW0=1 Реклама ©СТА-ПРЕСС
RkJQdWJsaXNoZXIy MTQ4NjUy