Файл: Семейство микроконтроллеров MSP430X1XX, руководство пользователя (2004).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.06.2025
Просмотров: 2832
Скачиваний: 1
Раздел IV. |
Основной модуль тактирования |
•Пять битов MODx выполняют переключение между частотой, устанавливаемой битами DCOx и следующей более высокой частотой, устанавливаемой DCOx+1. В случае установки DCOx = 07h значение MODx не будет влиять на частоту DCO, так как для DCOx уже установлено максимальное значение.Диапазоны DCOx и RSELx, а также возможные шаги изменения частоты показаны на рис. 4.5.
Рис. 4-5. Диапазон DCOx и шаги RSELx
Использование внешнего резистора (Rosc) для DCO
Температурный коэффициент DCO может быть уменьшен при использовании внешнего резистора Rosc в качестве источника тока для DC генератора. На рис. 4.6 показана типичная зависимость частоты DCO от температуры для встроенного и внешнего резисторов. Использование внешнего резистора Rosc уменьшает температурный коэффициент DCO примерно на -0.05%/С. Подробные характеристики приведены в справочном руководстве на конкретное устройство.
Резистор Rosc также позволяет работать DCO на высоких частотах. К примеру, встроенный резистор с номинальным сопротивлением около 300 кОм позволяет работать модулю DCO на частоте приблизительно до 5 МГц. Когда используется внешний резистор Rosc сопротивлением около 100 кОм, DCO может работать на частотах до 10 МГц. Пользователю необходимо соблюдать осторожность, чтобы не превысить максимальную частоту MCLK, указанную в справочных данных, даже если DCO способен работать на более высоких частотах.
Библиотека Компэла |
103 |
|
MSP430x1xxFamily |
Рис. 4-6. Зависимость частоты модуля DCO от температуры |
4.2.5. DCO модулятор
Модулятор смешивает две DCO-частоты: fDCO и fDCO+1, вырабатывая промежуточную эффективную частоту между fDCO и fDCO+1 и распределяет энергию тактирования, что приводит к снижению электромагнитных помех (EMI1). Модулятор смешивает частоты fDCO и fDCO+1 для 32 тактовых циклов DCOCLK и может конфигурироваться с помощью битов MODx. Когда MODx=0, модулятор выключен.
Смешивание частот модулятором происходит согласно следующей формуле: t=(32-MODx) × tDCO + MODx × tDCO+1
Поскольку fDCO меньше эффективной частоты, а fDCO+1 выше, погрешность эффективной частоты в сумме равна нулю. Накопления погрешности не происходит. Погрешность эффективной частоты равна нулю каждые 32 цикла DCOCLK. На рис. 4.7 показана работа модулятора.
Параметры настройки модулятора и управления DCO конфигурируются программно. Сигнал DCOCLK может сравниваться со стабильной, заранее известной частотой и подстраиваться с помощью битов DCOx, RSELx и MODx. Заме-
1 EMI – ElectroMagnetic Interference
104 |
Библиотека Компэла |
|
Раздел IV. |
Основной модуль тактирования |
|||||||||||||||||||||||||||||||||
Рис. 4-7. Диаграмма сигналов модулятора |
чания по применению и примеры кода для конфигурирования DCO можно найти на сайте http://www.ti.com/sc/msp430.
4.2.6.Надежность работы основного модуля тактирования
Восновном модуле тактирования имеется возможность определения возникновения неисправности осциллятора. Детектор неисправности осциллятора представляет собой аналоговую схему мониторинга сигналов LFXT1CLK (в режиме HF) и XT2CLK. Неисправность осциллятора определяется, когда любой из этих тактовых сигналов отсутствует в течение приблизительно 50 мкС. Когда обнаруживается неисправность осциллятора, а источником для сигнала MCLK выступает либо LFXT1 в режиме HF, либо XT2, происходит автоматическое переключение MCLK на работу от DCO, как от источника тактовых импульсов. Это позволяет продолжить выполнение программного кода, даже в ситуации, когда кварцевый генератор остановился.
Если установлены флаги OFIFG и OFIE, происходит запрос немаскируемого прерывания NMI. Процедура обработки NMI-прерывания может проверить флаг OFIFG, что позволит выявить возникшую неисправность осциллятора. Очистка флага OFIFG должна производиться программным обеспечением.
Примечание: определение неисправности осциллятора LFXT1 в режиме LF не производится.
Библиотека Компэла |
105 |
|
MSP430x1xxFamily
Определение неисправности осциллятора выполняется только для LFXT1 в режиме HF и для XT2. Детектирование неисправности осциллятора модуля LFXT1 в режиме LF не производится.
ФлагOFIFGустанавливаетсясигналомнеисправностиосциллятораXT_OscFault. Сигнал XT_OscFault устанавливает POR, когда модули XT2 или LFXT1 в режиме HF имеют неисправность осциллятора. Когда XT2 или LFXT1 в режиме HF останавливаются программным обеспечением, сигнал XT_OscFault вырабатывается немедленно, и остается активным пока осциллятор не будет перезапущен, и снимается примерно через 50 мкС после рестарта осциллятора, как показано на рис. 4.8.
Рис. 4-8. Сигнал неисправности осциллятора
Определение неисправности осциллятора
Сигнал XT_OscFault переключает флаг OFIFG так, как показано на рис. 4.9. Сигнал LFXT1_OscFault имеет низкий уровень, когда LFXT1 находится в LF режиме.
Вустройствах, у которых модуль XT2 отсутствует, флаг OFIFG не может быть очищен, когда LFXT1 в режиме LF. Источником для сигнала MCLK может являться LFXT1CLK в режиме LF при установке битов SELMx, даже если флаг OFIFG остается поднятым.
Вустройствах, имеющих XT2, флаг OFIFG может очищаться программно, когда LFXT1 находится в режиме LF и далее остается очищенным. Источником для сигнала MCLK может являться LFXT1CKL в режиме LF независимо от состояния флага OFIFG.
Использование кварцевого резонатора для формирования MCLK
После сигнала PUC основной модуль тактирования использует DCOCLK для формирования MCLK. Если необходимо, в качестве источника сигнала для MCLK можно использовать LFXT1 или XT2. Для смены источника тактирования сигнала MCLK с модуля DCO на тактирование от кварцевого резонатора (LFXT1CLK или XT2CLK) используется следующая последовательность команд:
106 |
Библиотека Компэла |
|
Раздел IV. |
Основной модуль тактирования |
||||||||||||||||
Рис. 4-9 Прерывание при неисправности осциллятора
1)Переключение на кварцевый резонатор
2)Очистка флага OFIFG
3)Ожидание в течение примерно 50 мкС
4)Проверка OFIFG и повторение шагов с 1-4 до тех пор, пока OFIFG остается очищенным.
;Выбор LFXT1 (в режиме HF) для MCLK
BIC |
#OSCOFF,SR |
;включение осциллятора |
||
BIS.B |
#XTS,BCSCTL1 |
;установка режима HF |
||
L1 BIC.B |
#OFIFG,&IFG1 |
;очистка OFIFG |
||
MOV |
#0FFh,R15 |
;задержка |
||
L2 DEC |
R15 |
; |
||
JNZ |
L2 |
; |
||
BIT.B #OFIFG,&IFG1 |
;повторная проверка |
|||
JNZ |
L1 |
;OFIFG |
||
;повторение проверки, |
||||
BIS.B #SELM1+SELM0,&BCSCTL2 |
;если необходимо |
|||
;выбор LFXT1CLK |
||||
Библиотека Компэла |
||||
107 |
||||
MSP430x1xxFamily
4.2.7. Синхронизация сигналов тактирования
Когда происходит переключение MCLK или SMCLK на другой источник опорной тактовой частоты, переключатель синхронизируется, чтобы избежать критических состояний «гонки» сигналов. Это показано на рис. 4.10:
Рис. 4-10. Переключение MCLK с DCOCLK на LFXT1CLK
1)Текущий тактовый цикл продолжается до следующего фронта сигнала исходного источника.
2)Уровень тактового сигнала (MCLK) остается высоким до следующего фронта сигнала нового источника.
3)Выбирается новый источник тактирования и далее MCLK продолжает работать от него, начиная с полного периода нового источника.
4.3.Регистры основного модуля тактирования
Перечень регистров основного модуля тактирования приведен в таблице 4.1.
Таблица 4-1. Регистры основного модуля тактирования
Регистр |
Обозначение |
Тип регистра |
Адрес |
Исходное |
|
состояние |
|||||
Регистр управления DCO |
DCOCTL |
Чтение / запись |
056h |
060h после PUC |
|
Регистр 1 управления систе- |
BCSCTL1 |
Чтение / запись |
057h |
084h после PUC |
|
мой основного тактирования |
|||||
Регистр 2 управления систе- |
BCSCTL2 |
Чтение / запись |
058h |
Сбрасывается пос- |
|
мой основного тактирования |
ле POR |
||||
Регистр 1 разрешения пре- |
IE1 |
Чтение / запись |
000h |
Сбрасывается пос- |
|
рываний SFR |
ле PUC |
||||
Регистр 1 флагов прерыва- |
IFG1 |
Чтение / запись |
002h |
Сбрасывается пос- |
|
ний SFR |
ле PUC |
||||
DCOCTL, регистр управления DCO
Библиотека Компэла |
||||||
108 |
||||||
Раздел IV. |
Основной модуль тактирования |
||
DCOx |
Биты |
Выбор частоты DCO. Эти биты определяют, какая из восьми дискретных частот |
|
7-5 |
DCO будет использоваться при выбранных установках RSELx. |
||
Биты |
Выбор модулятора. Эти биты определяют, как часто частота fDCO+1 использу- |
||
MODx |
ется в течение периода 32 циклов DCOCLK. В течение оставшихся циклов (32- |
||
4-0 |
MOD) используется частота fDCO. Эти биты не задействуются, когда DCOx=7. |
||
BCSCTL1, регистр 1 управления системой основного тактирования
Выключение XT2. Этот бит выключает осциллятор XT2. |
||||||||||
XT2OFF |
Бит 7 |
0 |
– включение XT2 |
|||||||
1 |
– выключение XT2, если он не используется для MCLK или SMCLK. |
|||||||||
Выбор режима LFXT1 |
||||||||||
XTS |
Бит 6 |
0 |
– режим низкой частоты |
|||||||
1 |
– режим высокой частоты |
|||||||||
Делитель для ACLK |
||||||||||
00 – /1 |
||||||||||
DIVAx |
Биты 5-4 |
01 – /2 |
||||||||
10 – /4 |
||||||||||
11 – /8 |
||||||||||
XT5V |
Бит 3 |
Не задействован. XT5V должен быть всегда сброшен. |
||||||||
Выбор резистора. Внутренний резистор имеет восемь различных величин |
||||||||||
RSELx |
Биты 2-0 |
сопротивления. Значение сопротивления резистора определяет номи- |
||||||||
нальную частоту. Низшая номинальная частота выбирается при установке |
||||||||||
RSELx=0. |
||||||||||
BCSCTL2, регистр 2 управления системой основного тактирования
Выбор MCLK. Эти биты позволяют выбрать источник для MCLK. |
||||||||||||
00 |
– DCOCLK |
|||||||||||
SELMx |
Биты 7-6 |
01 – DCOCLK |
||||||||||
10 – XT2CLK, когда XT2 имеется в микросхеме. LFXT1CLK, когда XT2 отсутствует. |
||||||||||||
11 |
– LFXT1CLK |
|||||||||||
Делитель для MCLK |
||||||||||||
00 |
– /1 |
|||||||||||
DIVMx |
Биты 5-4 |
01 – /2 |
||||||||||
10 |
– /4 |
|||||||||||
11 |
– /8 |
|||||||||||
Библиотека Компэла |
||||||||||||
109 |
||||||||||||