Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > ARM |
|
||||||||||||||
26.7 Последовательность программирования
Работа основного тактового генератора разрешается установкой поля MOSCEN в регистре CKGR_MOR. В некоторых случаях полезным будет определить время запуска. Это осуществляется записью поля OSCOUNT регистра CKGR_MOR. После правильной конфигурации регистра, требуется ожидать установки флага MOSCS регистра PMC_SR. Для этого можно опрашивать статусный регистр или ожидать прерывания, если прерывание по MOSCS было разрешено в регистре PMC_IER. Пример кода: write_register(CKGR_MOR,0x00000701) Время запуска = 8 * OSCOUNT / SLCK = 56 Тактов сигнала SLCK. Таким образом, работа основного тактового генератора разрешена (бит MOSCS установлен) после 56 тактов сигнала SLCK. Регистр PMC_MCKR не программируется одной командой. Для его установки используется следующая последовательность:
При изменении одного из параметров, CSS или PRES, бит MCKRDY сбрасывается, что указывает на то, что сигналы MCK и PCK еще не стабильны. Необходимо дождаться установки MCKRDY бита, перед использованием сигналов MCK и PCK. Примечание: если тактовый сигнал PLLx выбран в качестве основного тактового сигнала MCK, то при его изменении записью в регистр CKGR_PLLR, бит MCKRDY сброшен до тех пор пока работа схемы ФАПЧ не стабилизируется. После стабилизации ФАПЧ устанавливаются бит LOCK и затем бит MCKRDY. До стабилизации работы ФАПЧ, тактовый сигнал MCK автоматически переключается на сигнал MAINCK. Дополнительная информация приведена в пункте 26.8.2 "Временные диаграммы переключения тактовых сигналов" на стр. 185 Пример кода:
Сигнал MCK - основной тактовый сигнал, деленный на 16. Сигнал PCK - основной тактовый сигнал.
Параметры программно управляемых тактовых сигналов задаются регистрами PMC_SCER, PMC_SCDR и PMC_SCSR. Эти тактовые сигналы могут быть разрешены и/или запрещены через регистры PMC_SCER и PMC_SCDR. В зависимости от используемого микроконтроллера, может использоваться 3 тактовых сигнала. Информация о статусе программно управляемых сигналов считывается из статусного регистра PMC_SCSR. По умолчанию работа всех программно управляемых тактовых сигналов запрещена. Регистры PMC_PCKx конфигурируют работу программно управляемых тактовых сигналов. Поле CSS задает источник для делителя программно управляемых тактовых сигналов. Возможны три источника: сигнал MAINCK, сигнал SLCK, сигнал PLLCK. По умолчанию выбран сигнал SLCK. Поле PRESS управляет предварительным делителем программно управляемых тактовых сигналов. Возможные значения делителя 1, 2, 4, 16, 32, 64. Частота входного сигнала предделителя делится на значение параметра PRES. По умолчанию параметр PRES равен 1, то есть программно управляемые тактовые сигналы эквивалентны низкочастотному тактовому сигналу SLCK. После записи регистра PMC_PCKx, соответствующий управляемый тактовый сигнал должен быть разрешен, то есть требуется ожидать установки PCKRDYx бита регистра PMC_SR. Для этого можно опрашивать статусный регистр или ожидать прерывания, если прерывание по PCKRDYx было разрешено в регистре PMC_IER. Все параметры PCKRDYx можно установить одной командой. Перед изменением любого параметра, CSS или PRES, соответствующий управляемый тактовый сигнал должен быть запрещен. После этого необходимо разрешить работу управляемого тактового сигнала и ожидать установки PCKRDYx бита. Пример кода: write_register(PMC_PCK0,0x00000015) Программно управляемый тактовый сигнал 0 формируется из сигнала MAINCK, деленного на 32.
После выполнения предыдущих пунктов, можно разрешить и/или запретить работу тактовых сигналов периферийных модулей через регистры PMC_PCER и PMC_PCDR. В зависимости от используемого микроконтроллера, может использоваться 12 (10 для AT91SAM7S32) периферийных тактовых сигналов. Регистр PMC_PCSR дает информацию по всем разрешенным периферийным тактовым сигналам. Примечание: Каждый разрешенный периферийный тактовый сигнал подключается к сигналу MCK. Пример кода:
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|