7.2.6. Регистры модуля ICS

(Руководство разработчика по микроконтроллерам семейства HCS08)

Для настройки модуля ICS используются 4 регистра специальных функций:

  • ICSC1 — первый регистр управления модуля ICS;
  • ICSC2 — второй регистр управления модуля ICS;
  • ICSSC — регистр состояния модуля ICS;
  • ICSTRM — регистр подстройки модуля ICS.

7.2.6.1. Регистр управления ICSC1

Для МК серии QD
РегистрРежимD7D6D5D4D3D2D1D0
ICSC1ЧтениеCLKS00011IREFSTEN
Запись
Сброс00000110

Для МК серий EL, QA, QE, QG, SG, SL
РегистрРежимD7D6D5D4D3D2D1D0
ICSC1ЧтениеCLKSRDIVIREFSIRCLKENIREFSTEN
Запись
Сброс00000100

Описание битов:
Имя битаОписаниеСимвол в языке С
CLKSБиты выбора источника для сигнала BUSCLK:
00 — сигнал с выхода умножителя частоты FLL;
01 — внутренний генератор;
10 — внешний генератор;
11 — резерв.

ICS_FLL
ICS_FBI
ICS_FBE
RDIVБиты выбора коэффициента предварительного делителя:
000 — коэффициент деления равен 1;
001 — коэффициент деления равен 2;
010 — коэффициент деления равен 4;
011 — коэффициент деления равен 8;
100 — коэффициент деления равен 16;
101 — коэффициент деления равен 32;
110 — коэффициент деления равен 64;
111 — коэффициент деления равен 128.

RDIV_1
RDIV_2
RDIV_4
RDIV_8
RDIV_16
RDIV_32
RDIV_64
RDIV_128
IREFSБит выбора первичного генератора:
0 — внешний генератор;
1 — внутренний генератор.
bIREFS
IRCLKENБит разрешения выдачи сигнала ICSIRCLK:
0 — ICSIRCLK запрещен;
1 — ICSIRCLK разрешен.
bIRCLKEN
IREFSTENБит разрешения работы встроенного генератора в режиме Stop:
0 — работа генератора в режиме Stop запрещена;
1 — работа генератора в режиме Stop разрешена, если до входа в режим Stop был установлен бит IRCLKEN.
bIREFSTEN

7.2.6.2. Регистр управления ICSC2

Для МК серии QD
РегистрРежимD7D6D5D4D3D2D1D0
ICSC2ЧтениеBDIV00LP000
Запись
Сброс01000000

Для МК серий EL, QA, QE, QG, SG, SL
РегистрРежимD7D6D5D4D3D2D1D0
ICSC2ЧтениеBDIVRANGEHGOLPEREFSERCLKENEREFSTEN
Запись
Сброс01000000

Описание битов:
Имя битаОписаниеСимвол в языке С
BDIVБиты выбора коэффициента делителя на выходе модуля ICS:
00 — коэффициент деления равен 1;
01 — коэффициент деления равен 2;
10 — коэффициент деления равен 4;
11 — коэффициент деления равен 8.

BDIV_1
BDIV_2
BDIV_4
BDIV_8
RANGEБит выбора диапазона частот внешнего генератора:
0 — низкая частота до 40кГц;
1 — высокая частота от 1 до 16МГц.
bICS_RANGE
HGOБит выбора коэффициента усиления схемы с положительной обратной связью, к которой подключается кварцевый резонатор:
0 — низкий коэффициент (низкое потребление);
1 — высокий коэффициент (высокое потреблеиие).
bICS_HGO
LPБит выбора режима работы умножителя частоты FLL:
0 — FLL остается в активном режиме, когда не используется;
1 — FLL не работает, когда не используется. Этим достигается снижение потребления энергии.
bICS_LP
EREFSБит выбора типа внешнего генератора:
0 — внешний тактовый сигнал, поступающий на вход EXTAL;
1 — кварцевый/керамический резонатор, подключенный ко входам XTAL и EXTAL.
bEREFS
ERCLKENБит разрешения выдачи сигнала ICSERCLK:
0 — ICSERCLK запрещен;
1 — ICSERCLK разрешен.
bERCLKEN
EREFSTENБит разрешения работы внешнего генератора в режиме Stop:
0 — работа генератора в режиме Stop запрещена;
1 — работа генератора в режиме Stop разрешена, если до входа в режим Stop был установлен бит ERCLKEN или ICS работает в режиме FEE.
bEREFSTEN

Опция с внешним генератором не может быть реализована в МК с 8-выводными корпусами!

7.2.6.3. Регистр состояния ICSSC

Для МК серии QD
РегистрРежимD7D6D5D4D3D2D1D0
ICSSCЧтение00000CLKST0FTRIM
Запись
Сброс00000000

Для МК серии QD
РегистрРежимD7D6D5D4D3D2D1D0
ICSSCЧтение0000CLKSTOSCINITFTRIM
Запись
Сброс00000000

Для МК серии EL, SG, SL
РегистрРежимD7D6D5D4D3D2D1D0
ICSSCЧтение000IREFSTCLKSTOSCINITFTRIM
Запись
Сброс00000000

Для МК серий QA, QE
РегистрРежимD7D6D5D4D3D2D1D0
ICSSCЧтениеDRSTDMX32IREFSTCLKSTOSCINITFTRIM
ЗаписьDRS
Сброс00000000

Описание битов:
Имя битаОписаниеСимвол в языке С
DRSTБиты, которые показывают, в каком диапазоне частот работает DCO:
00 — низкий диапазон;
01 — средний диапазон;
10 — высокий диапазон;
11 — резерв.
Эти биты не могут немедленно измениться после записи битов DRS, требуется некоторое время для установления новой частоты.



DRSБиты выбора диапазона частот на выходе DCO:
00 — низкий диапазон;
01 — средний диапазон;
10 — высокий диапазон;
11 — резерв.
Эти биты не могут быть изменены при LP = 1.

DCO_LOW
DCO_MID
DCO_HIGH
DMX32Бит выбора режима при тактировании от 32.768кГц:
0 — DCO работает в обычном режиме;
1 — DCO генерирует повышенную частоту. См. Табл.7.6.
bDMX32
IREFSTБит, который информирует, каким генератором тактируется ICS:
0 — внешний генератор;
1 — внутренний генератор.
bIREFST
CLKSTБиты, которые информируют, какой источник используется для формирования BUSCLK:
00 — сигнал с выхода умножителя частоты FLL;
01 — внутренний генератор;
10 — внешний генератор;
11 — резерв.




OSCINITБит разрешения работы внешнего опорного генератора XOSC:
0 — XOSC запрещен;
1 — XOSC разрешен.
bOSCINIT
FTRIMБит точной подстройки внутренного генератора:
0 — точная подстройка не реализуется;
1 — точная подстройка включена, погрешность внутреннего генератора составляет 0.1%.
bFTRIM

7.2.6.4. Регистр подстройки ICSTRM

Для всех МК с модулем ICS
РегистрРежимD7D6D5D4D3D2D1D0
ICSTRMЧтениеTRIM
Запись
Сброс10000000

В этом регистре хранится число, которое позволяет изменять частоту встроенного генератора, подстраивая ее к объявленному в техническом описании МК эталонному значению fREF = 31.25кГц. Число, которое следует записать в этот регистр, измеряет производитель во время тестирования МК на заводе-изготовителе и записывает в ячейку энергонезависимой памяти с адресом 0xFFAF (см. подраздел 7.2.2.).

7.3. Модуль ICG

Модуль ICG — это еще одна разновидность модуля тактирования со встроенным генератором, который не требует для своей работы внешних времязадающих элементов. Модуль ICG имеется в составе МК серий AC, AW, GB, GT и LC.

Модуль ICG унаследовал структуру и основные технические решения модуля ICS, однако по сравнению с ним обладает расширенными функциональными возможностями. В составе модуля ICG (Рис.7.11) два встроенных генератора с частотой 243кГц и 8МГц, модуль внешнего генератора XOSC, умножитель частоты FLL с управляемым цифровым кодом генератором DCO. Выходной сигнал модуля ICGOUT используется для тактирования ЦП и периферийных модулей МК.

Рис.7.11. Функциональная схема модуля ICG.

Основные отличия умножителя частоты в составе модуля ICG:

  • Схема управления FLL фиксирует, когда закончился переходной процесс изменения его выходной частоты после программного задания коэффициента умножения, а также что значение этой частоты находится в пределах полосы точного установления.
  • Встроенные аппаратные средства модуля контролируют нахождение выходной частоты FLL в полосе точного удержания и генерируют запрос на прерывание или внутренний сброс МК, если частота вышла за пределы этой полосы.

Для того чтобы понять работу модуля ICG, сначала запомним, что его режим определяется тремя программно настраиваемыми коэффициентами: P и N — это коэффициенты умножения, и R — коэффициент деления.

Коэффициент N задается битовым полем MFD в регистре ICGC2 и может принимать значения 4, 6, 8, 10, 12, 14, 16, 18.

Коэффициент P может принимать значения от 1 до 64 и, к тому же, зависит от выбора источника опорной частоты. Если в качестве последнего используется встроенный генератор (ICGIRCLK), то коэффициент P всегда равен 64. Если в качестве источника опорной частоты используется внешний генератор (ICGERCLK), то P принимает значение 64 при RANGE = 0 и P = 1 при RANGE = 1. Бит RANGE в регистре ICGC1 определяет допустимый диапазон частот внешнего генератора.

Коэффициент R — это коэффициент программируемого делителя частоты с выхода умножителя, может принимать значения от 1 до 128 и определяется битовым полем RFD в регистре ICGC2.

Изучая работу модуля ICG, следует понять, что генератор DCO в составе умножителя FLL не может мгновенно установить на выходе желаемую высокую частоту. Состояние DCO, при котором его выходная частота не соответствует расчетной, называют несинхронизированным. И, наоборот, если частота DCO близка к расчетному значению, говорят, что DCO синхронизирован.

Модуль ICG может работать в одном из 4 режимов (Табл.7.8), который назначается битовым полем CLKS в регистре управления ICGC1. В некоторые из перечисленных режимов можно перейти автоматически при возникновении специальных условий, которые будут рассмотрены далее.

Таблица7.8. Режимы работы модуля ICG

CLKSНазвание режимаОписание режима
00SCM
Self-Clocked Mode
(внутренний генератор без умножителя частоты)
Сигнал ICGOUT формируется схемой генератора DCO, ICGOUT используется для тактирования межмодульных магистралей. Но выходная частота DCO не контролируется FLL. Частотой DCO можно управлять из программы посредством настроек фильтра FLT в составе FLL.
01FEI
FLL Engaged Internal
(внутренний генератор с умножителем частоты)
Сигнал ICGOUT формируется схемой генератора DCO, ICGOUT используется для тактирования межмодульных магистралей. Частота DCO автоматически контролируется FLL. В качестве опорной частоты FLL использует встроенный генератор 243кГц.
10FBE
FLL Bypassed External
(внешний генератор без умножителя частоты)
Сигнал ICGOUT формируется из частоты внешнего генератора (ICGERCLK), деленной на R. Умножитель FLL не работает. ICGOUT используется для тактирования межмодульных магистралей.
11FEE
FLL Engaged External
(внешний генератор с умножителем частоты)
Сигнал ICGOUT формируется схемой генератора DCO, Частота DCO автоматически контролируется FLL. В качестве опорной частоты FLL использует внешний генератор (ICGERCLK).

В режиме SCM управляемый цифровым кодом блока фильтра FLT генератор DCO формирует импульсную последовательность на выходе ICGOUT модуля ICG. Но цепь обратной связи FLL не используется для установления частоты DCO. Поэтому частота DCO может назначаться программно посредством записи кода в двухбайтный регистр фильтра FLT. Имя регистра ICGFLT, ICGFLTH и ICGFLTL — старший и младший байты этого регистра. Минимальная величина частоты DCO в данном режиме составляет 8МГц, максимальная — 40МГц.

После сброса МК по умолчанию устанавливается именно режим SCM, поскольку CLKS= 00. Тогда частота ICGDCLK с выхода DCO будет составлять примерно 8МГц, что соответствует BUSCLK=4МГц. При этом следует обратить внимание на то, что программа должна переписать подстроечное число из энергонезависимой памяти в регистр ICGTRM.

В режиме FEI частота встроенного генератора 243кГц без внешних времязадающих элементов используется в качестве опорной частоты для умножителя FLL. Частота ICGOUT на выходе модуля ICG может быть больше или меньше частоты встроенного генератора, все определяется численными значениями коэффициентов N и R:

.

Обратите внимание, что в обоих режимах SCM и FEI никаких внешних элементов для тактирования МК не требуется, и при этом с помощью двух данных режимов может быть создан чрезвычайно широкий диапазон частот тактирования МК!

В режиме FBE умножитель частоты не используется, и выходная последовательность ICGOUT получается из частоты внешнего генератора, деленной на коэффициент R:

.

В режиме FEE в качестве опорной частоты для умножителя FLL используется частота внешнего генератора. При этом выходная частота ICGOUT определяется коэффициентами P, N и R:

.

При этом стоит заметить, что сразу после программирования коэффициентов P, N и R в несинхронизированном режиме работы выходная частота будет составлять:

.

Программа управления в процессе работы может определить текущий режим модуля ICG посредством следующих битов состояния:

  • REFST — указывает, какой источник сигнала формирует опорную частоту для FLL (0 — кварцевый или керамический резонатор, 1 — внешний импульсный генератор);
  • LOCK — указывает на то, что частота FLL находится в полосе точного установления (1 — частота синхронизирована, 0 — частота не синхронизирована);
  • LOLS — указывает на то, что частота FLL вышла из полосы точного установления;
  • LOCS — указывает на то, что ICG «потерял» опорную частоту. В некоторых МК HCS08 эта функция может быть отключена установкой бита ICGC1:LOCD;
  • ERCS — указывает на то, что «потеряна» внешняя опорная частота;
  • DCOS — указывает на то, что генератор DCO находится в стабильном состоянии. Для определения этого состояния используется специальная внутренняя схема. Она распознает стабильное состояние, если изменение между двумя соседними выборками кода управления DCO не превышает 4*N единиц. Обычно этот бит используется для определения времени установления частоты при ручном управлении в режиме SCM.

Если посредством программных установок был изменен режим работы ICG или коэффициенты FLL, то новое значение частоты устанавливается не сразу. Проходит некоторое время между изменением битов управления ICGC1:CLKS и соответствующим изменением битов состояния ICGS1:CLKST. В течение времени установления FLL (около 5мс) частота на выходе DCO будет отличаться от расчетной. Определить, что частота синхронизировалась, т.е. стала равна расчетной с учетом допустимой погрешности, можно, контролируя установку в 1 бита ICGS1:LOCK (если работает FLL) или бита ICGS2:DCOS (если DCO в режиме ручного управления).

Электронные компоненты Freescale >>>
Подробнее о компании Freescale >>>