Система управления тактами CLOCK может формировать тактовые сигналы от внутренних или внешних высокочастотных и низкочастотных генераторов, и передавать их на различные модули MCU в зависимости от их индивидуальных требований. Распространение тактов автоматизировано и сгруппировано независимо, по модулям, чтобы ограничить потребление тока за счет не используемых ветвей дерева тактов.
Примечание: незнакомые термины и сокращения см. в Словарике [3].
Вот основные функции и возможности CLOCK:
• Встроенный генератор 64 МГц. • Кварцевый генератор 64 МГц, использующий внешний кварц на 32 МГц. • Внутренний RC-генератор 32.768 кГц с точностью частоты +/-250 ppm. • Кварцевый генератор 32.768 кГц, использующий внешний кварц 32.768 кГц. • Синтез частоты тактов 32.768 кГц из частоты генератора 64 МГц. • Переопределение управления активности генератора со стороны firmware (FW), чтобы уменьшить задержку запуска (low latency start up). • Автоматическое управление генерацией тактов и их распространением, чтобы обеспечить низкое потребление энергии.
Рис. 1. Управление тактированием.
[Контроллер тактов HFCLK]
Контроллер тактов HFCLK предоставляет системе следующие сигналы.
• HCLK64M: такты 64 МГц для CPU • PCLK1M: такты 1 МГц для периферийных устройств • PCLK16M: такты 16 МГц для периферийных устройств • PCLK32M: такты 32 МГц для периферийных устройств
Контроллер HFCLK поддерживает следующие высокочастотные входные такты (HFCLK), см. рис. 1:
Когда система запрашивает один или большее количество тактов от контроллера HFCLK, он автоматически их предоставляет. Если система не запрашивает никакие такты, предоставляемые контроллером HFCLK, то он войдет в режим экономии энергии (power saving mode).
Эти такты доступны только когда MCU находится в режиме System ON. Когда система входит в System ON, автоматически запускается генератор внутренних тактов (HFINT), чтобы предоставить необходимую частоту (частоты) HFCLK для системы.
HFINT будет использоваться, когда запрашивается HFCLK, и HFXO не запустился. HFXO запускается активацией задачи HFCLKSTART, и останавливается активацией задачи HFCLKSTOP. Будет сгенерировано событие HFCLKSTARTED, когда запустился HFXO, и его частота стала стабильной.
HFXO должен работать для использования модуля RADIO, NFC или механизма калибровки, связанного с RC-генератором 32.768 кГц.
Кварцевый генератор 64 МГц (HFXO). Частота этого генератора формируется от опорной частоты внешнего кварцевого резонатора 32 МГц. Кварцевый генератор разработан в расчете на использование кварца со срезом AT, работающим в режиме параллельного резонанса. Чтобы достичь корректной частоты, емкость нагрузки на выводах кварца должна соответствовать даташиту на кварц.
Рис. 2. Схема кварцевого генератора 64 МГц.
Емкость нагрузки CL это общая емкость, которая присутствует на выводах кварца, и её можно рассчитать по формуле:
CL = (С1' * C2') / (С1' + C2')
С1' = C1 + Cpcb1 + Cpin С2' = C2 + Cpcb2 + Cpin
C1 и C2 это керамические SMD-конденсаторы, подключенные между каждым выводом кварца и землей (GND). Для дополнительной информации см. примеры схем. Cpcb1 и Cpcb2 это паразитные емкости печатной платы. Cpin это входная емкость выводов корпуса XC1 и XC2. См. далее таблицу 5 "Кварцевый генератор 64 МГц (HFXO)" в разделе "Электрические параметры CLOCK". Номинал конденсаторов C1 и C2 должен иметь одинаковое значение.
Для надежной работы нагрузочная емкость кварца, его емкость, эквивалентное последовательное сопротивление и уровни возбуждения должны быть совместимы со спецификацией таблицы 5 "Кварцевый генератор 64 МГц (HFXO)". Рекомендуется использовать кварц с емкостью меньше, чем максимальная емкость нагрузки и/или шунтирующая емкость. Низкая емкость нагрузки снизит как время запуска, так и потребление энергии.
[Контроллер тактов LFCLK]
Система поддерживает несколько низкочастотных источников тактов, см. рис. 1:
Генерация LFCLK запускается предварительным выбором желаемого источника тактов в регистре LFCLKSRC, и затем активацией задачи LFCLKSTART. Если выбран LFXO как источник тактов, то сначала запустится LFCLK на частоте 32.768 кГц от RC-генератора (LFRC), пока не запустится LFXO, и после этого произойдет автоматическое переключение на LFXO, как только этот генератор запустится. Сгенерируется событие LFCLKSTARTED, когда запустится LFXO.
Такты LFCLK останавливаются путем активации задачи LFCLKSTOP.
Не допускается записывать в регистр LFCLKSRC, когда генерируются такты LFCLK.
Задача LFCLKSTOP остановит генератор LFCLK. Однако задача LFCLKSTOP может активироваться только после того, как поле STATE в регистре LFCLKSTAT покажет состояние генерации LFCLK (LFCLK running).
Контроллер тактов LFCLK и все источники тактов LFCLK в режиме System OFF всегда выключаются.
RC-генератор 32.768 кГц (LFRC). По умолчанию для LFCLK используется внутренний RC-генератор 32.768 кГц (LFRC).
На частоту LFRC влияет изменение температуры. Для смягчения этого недостатка генератор LFRC может быть откалиброван по генератору HFXO. См. таблицу 6 "RC-генератор 32.768 кГц (LFRC)" для подробной информации по точности по умолчанию и точности при калибровке генератора LFRC. Генератор LFRC на требует дополнительных внешних компонентов.
Калибровка RC-генератора 32.768 кГц. После того, как RC-генератор запустился и заработал, он может быть откалиброван путем активации задачи CAL. В этом случае HFCLK временно подключится и будет использоваться в качестве опорной частоты для калибровки.
Событие DONE будет сгенерировано, когда калибровка завершится. Механизм калибровки будет работать только тогда, когда HFCLK генерируется от частоты HFCLK кварцевого генератора, поэтому необходимо явно запустить этот кварцевый генератор до того, как может быть запущена калибровка, см. описание задачи HFCLKSTART.
Таймер калибровки. Этот таймер используется для генерации интервала калибровки RC-генератора 32.768 кГц.
Таймер калибровки запускается активацией задачи CTSTART и останавливается задачей CTSTOP. Таймер калибровки всегда начинает считать вниз от значения, указанного в CTIV и сгенерирует событие таймаута CTTO, когда счет достигнет 0. Таймер калибровки остановит сам себя, когда достигнет при счете 0.
Рис. 3. Таймер калибровки.
Из-за ограничений с таймере калибровки только одна задача, относящаяся к калибровке, CAL, CTSTART и CTSTOP, может быть активирована для каждого периода LFCLK.
Кварцевый генератор 32.768 кГц (LFXO). Для повышенной точности LFCLK (когда нужна точность лучше, чем +/- 250 ppm), должен использоваться низкочастотный кварцевый генератор (LFXO).
Поддерживаются следующие внешние источники тактирования:
• Внешний тактовый сигнал, малого уровня, подаваемый на ножку корпуса XL1. В этом случае ножка корпуса XL2 должна быть заземлена. • Тактовый сигнал, по уровню переключающийся от GND до VCC (rail-to-rail), подаваемый на ножку XL1. В этом случае ножка XL2 может быть заземлена или оставлена не подключенной.
Регистр LFCLKSRC управляет источником тактов и его допустимым уровнем. Таблица истинности для различных ситуаций следующая:
Таблица 1. Конфигурация LFCLKSRC в зависимости от источника тактирования.
SRC
EXTERNAL
BYPASS
Комментарий
0
0
0
Нормальное функционирование, источником является RC-генератор
0
0
1
НЕ ИСПОЛЬЗОВАТЬ
0
1
X
1
0
0
Нормальная работа кварцевого генератора.
1
1
0
На вход XL1 подается внешний тактовый сигнал малой амплитуды, XL2 заземляется.
1
1
1
На вход XL1 подается внешний тактовый сигнал полной амплитуды, XL2 заземляется, или оставляется не подключенным.
Чтобы достичь корректной частоты генерации, нагрузочная емкость на выводах кварца должна соответствовать спецификации в даташите на используемый кварц.
Рис. 4. Схема кварцевого генератора LFXO.
Емкость нагрузки CL это общая емкость, которая присутствует на выводах кварца, и её можно рассчитать по формуле:
CL = (С1' * C2') / (С1' + C2')
С1' = C1 + Cpcb1 + Cpin С2' = C2 + Cpcb2 + Cpin
C1 и C2 это керамические SMD-конденсаторы, подключенные между каждым выводом кварца и землей (GND). Для дополнительной информации см. примеры схем. Cpcb1 и Cpcb2 это паразитные емкости печатной платы. Cpin это входная емкость выводов корпуса XL1 и XL2. См. далее таблицу 7 "Кварцевый генератор 32.768 кГц (LFXO)" в разделе "Электрические параметры CLOCK". Номинал конденсаторов C1 и C2 должен иметь одинаковое значение.
Для дополнительной информации см. [2].
Синтезированная из HFCLK частота 32.768 кГц (LFSYNT). LFCLK также можно синтезировать из тактовой частоты HFCLK. Тогда точность частоты LFCLK будет такой же, как у частоты HFCLK.
Использование тактов LFSYNT дает возможность избежать необходимости в дополнительном кварце на 32.768 кГц, но ценой повышения среднего энергопотребления, потому что HFCLK должна запрашиваться в системе и работать постоянно.
[Регистры CLOCK]
Таблица 2. Экземпляры CLOCK.
Баз. адрес
Периф. устройство
Экз.
Описание
Конфигурация
0x40000000
CLOCK
CLOCK
Управление тактированием
Таблица 3. Обзор регистров CLOCK.
Регистр
Смещ.
Описание
TASKS_HFCLKSTART
0x000
Задача запуска кварцевого генератора HFCLK
TASKS_HFCLKSTOP
0x004
Задача остановки кварцевого генератора HFCLK
TASKS_LFCLKSTART
0x008
Задача запуска источника тактов LFCLK
TASKS_LFCLKSTOP
0x00C
Задача остановки источника тактов LFCLK
TASKS_CAL
0x010
Задача запуска калибровки генератора LFRC
TASKS_CTSTART
0x014
Задача запуска таймера калибровки
TASKS_CTSTOP
0x018
Задача остановки таймера калибровки
EVENTS_HFCLKSTARTED
0x100
Событие запуска генератора HFCLK
EVENTS_LFCLKSTARTED
0x104
Событие запуска генератора LFCLK
EVENTS_DONE
0x10C
Событие завершения калибровки RC-генератора LFCLK
EVENTS_CTTO
0x110
Событие таймаута таймера калибровки
INTENSET
0x304
Разрешение прерываний.
INTENCLR
0x308
Запрет прерываний.
HFCLKRUN
0x408
Состояние, показывающее активацию задачи HFCLKSTART
HFCLKSTAT
0x40C
Статус HFCLK
LFCLKRUN
0x414
Состояние, показывающее активацию задачи LFCLKSTART
LFCLKSTAT
0x418
Статус LFCLK
LFCLKSRCCOPY
0x41C
Копия регистра LFCLKSRC, устанавливается, когда была активирована задача LFCLKSTART
LFCLKSRC
0x518
Источник тактов для LFCLK
CTIV
0x538
Интервал таймера калибровки (retained-регистр)
TRACECONFIG
0x55C
Опции тактирования для интерфейса отладки Trace Port
Смещение адреса: 0x304. Запись 1 разрешает соответствующее прерывание. Запись 0 не оказывает никакого влияния. Чтение показывает состояние прерывания: 0 прерывание запрещено, 1 разрешено.
Биты регистра INTENSET:
№ бита
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Id
D
C
B
A
Reset 0x00000000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Назначение бит:
Id
RW
Поле
Описание
A
RW
HFCLKSTARTED
Разрешение прерывания для события HFCLKSTARTED. См. EVENTS_HFCLKSTARTED.
B
RW
LFCLKSTARTED
Разрешение прерывания для события LFCLKSTARTED. См. EVENTS_LFCLKSTARTED.
C
RW
DONE
Разрешение прерывания для события DONE. См. EVENTS_DONE.
D
RW
CTTO
Разрешение прерывания для события CTTO. См. EVENTS_CTTO.
Смещение адреса: 0x308. Запись 1 запрещает соответствующее прерывание. Запись 0 не оказывает никакого влияния. Чтение показывает состояние прерывания: 0 прерывание запрещено, 1 разрешено.
Биты регистра INTENCLR:
№ бита
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Id
D
C
B
A
Reset 0x00000000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Назначение бит:
Id
RW
Поле
Описание
A
RW
HFCLKSTARTED
Запрет прерывания для события HFCLKSTARTED. См. EVENTS_HFCLKSTARTED.
B
RW
LFCLKSTARTED
Запрет прерывания для события LFCLKSTARTED. См. EVENTS_LFCLKSTARTED.
C
RW
DONE
Запрет прерывания для события DONE. См. EVENTS_DONE.
D
RW
CTTO
Запрет прерывания для события CTTO. См. EVENTS_CTTO.
Разрешение или запрет обхода кварцевого генератора LFCLK внешним источником тактов. 0: запрещено (используйте внешний источник тактов малой амплитуды). 1: разрешено (используйте внешний источник тактов полной амплитуды).
C
RW
EXTERNAL
Разрешение или запрет использования внешнего источника тактов для LFCLK. 0: внешний сигнал тактов запрещен (используется кварцевый генератор). 1: внешний сигнал тактов разрешен (SRC должно быть установлено в состояние Xtal).
Смещение адреса: 0x55C. Это retained-регистр. Его поведение сброса такое же, как и у компонентов отладки.
Биты регистра TRACECONFIG:
№ бита
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Id
B
B
A
A
Reset 0x00000000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Назначение бит:
Id
RW
Поле
Описание
A
RW
TRACEPORTSPEED
Тактовая частота порта трассировки. Обратите внимание, что на ножку TRACECLK будет выводиться эта частота, поделенная на 2. 0, 32MHz: тактовая частота Trace Port 32 МГц (TRACECLK = 16 МГц). 1, 16MHz: тактовая частота Trace Port 16 МГц (TRACECLK = 8 МГц). 2, 8MHz: тактовая частота Trace Port 8 МГц (TRACECLK = 4 МГц). 3, 4MHz: тактовая частота Trace Port 4 МГц (TRACECLK = 2 МГц).
B
RW
TRACEMUX
Мультиплексирование выводов сигналов трассировки. 0, GPIO: ножки GPIO мультиплексированы на все выводы трассировки. 1, Serial: SWO мультиплексирован на P0.18, GPIO мультиплексированы на другие выводы трассировки. 2: Parallel: TRACECLK и TRACEDATA мультиплексированы на P0.20, P0.18, P0.16, P0.15 и P0.14.
[Электрические параметры CLOCK]
Таблица 4. Внутренний генератор 64 МГц (HFINT).
Символ
Описание
min
Typ
MAX
Ед.
fNOM_HFINT
Номинальная выходная частота
64
МГц
fTOL_HFINT
Допуск на значение частоты
< ±1.5
< ±6
%
IHFINT
Ток потребления
60
мкА
ISTART_HFINT
Средний ток потребления при запуске
I_HFINT
tSTART_HFINT
Время запуска
3
мкс
Таблица 5. Кварцевый генератор 64 МГц (HFXO).
Символ
Описание
min
Typ
MAX
Ед.
fNOM_HFXO
Номинальная выходная частота
64
МГц
fXTAL_HFXO
Частота внешнего кварца
32
fTOL_HFXO
Требования к допуску на значение частоты для работы проприетарных приложений радиообмена 2.4 ГГц
±60
ppm
fTOL_HFXO_BLE
Требования к допуску на значение частоты для работы приложений радиообмена BLE
±40
CL_HFXO
Емкость нагрузки
12
пФ
C0_HFXO
Шунтирующая емкость
7
RS_HFXO_7PF
Эквивалентное последовательное сопротивление при C0 = 7 пФ
60
Ом
RS_HFXO_5PF
Эквивалентное последовательное сопротивление при C0 = 5 пФ
80
RS_HFXO_3PF
Эквивалентное последовательное сопротивление при C0 = 3 пФ
100
PD_HFXO
Мощность на выходе
100
мкВт
CPIN_HFXO
Входная емкость выводов XC1 и XC2
4
пФ
ISTBY_X32M
Ток потребления ядра в режиме приостановки(1)
50
мкА
IHFXO
Рабочий ток потребления
250
ISTART_HFXO
Средний ток потребления при запуске, в течение первой миллисекунды
0.4
мА
tSTART_HFXO
Время запуска
0.36
мс
Примечание (1): потребляемый ток, если HFXO включен с использованием режима малого потребления мощности (low latency power mode).
Таблица 6. RC-генератор 32.768 кГц (LFRC).
Символ
Описание
min
Typ
MAX
Ед.
fNOM_LFRC
Номинальная выходная частота
32.768
кГц
fTOL_LFRC
Допуск на значение частоты
< ±2
%
fTOL_CAL_LFRC
Допуск на значение частоты LFRC после калибровки(1)
±250
ppm
ILFRC
Рабочий ток потребления
0.6
1
мкА
tSTART_LFRC
Время запуска
600
мкс
Примечание (1): температура постоянна в интервале ±0.5°C, и калибровка выполняется как минимум 1 раз за 8 секунд.
Таблица 7. Кварцевый генератор 32.768 кГц (LFXO).
Символ
Описание
min
Typ
MAX
Ед.
fNOM_LFXO
Номинальная выходная частота
32.768
кГц
fTOL_LFXO_BLE
Требования к допуску на значение частоты для стека BLE
±250
ppm
fTOL_LFXO_ANT
Требования к допуску на значения частоты для стека ANT
±50
CL_LFXO
Емкость нагрузки
12.5
пФ
C0_LFXO
Шунтирующая емкость
2
RS_LFXO
Эквивалентное последовательное сопротивление
100
кОм
PD_LFXO
Мощность на выходе
1
мкВт
CPIN
Входная емкость выводов XL1 и XL2
4
пФ
ILFXO
Рабочий ток потребления
0.25
мкА
tSTART_LFXO
Время запуска
0.25
с
VAMP_IN_XO_LOW
Амплитуда от пика до пика для внешнего тактового сигнала малой амплитуды. Входной сигнал не должен выходит за пределы шин питания.
200
1000
mV
Таблица 8. Такты 32.768 кГц, синтезированные из HFCLK (LFSYNT).
Символ
Описание
min
Typ
MAX
Ед.
fNOM_LFSYNT
Номинальная выходная частота
32.768
кГц
fTOL_LFSYNT
Требования к допуску в дополнение к допуску на HFCLK(1)
8
ppm
ILFSYNT
Рабочий ток потребления
100
мкА
tSTART_LFSYNT
Время запуска
100
мкс
Примечание (1): допуск на частоту выводится из допуска на частоту HFCLK плюс допуск на частоту LFSYNT.
[Ссылки]
1. CLOCK control nRF52832 site:nordicsemi.com. 2. Reference circuitry nRF52832 site:nordicsemi.com. 3. Bluetooth: аббревиатуры и термины.