реклама на сайте
подробности

 
 
> MSP430F4152 частоты MCLK SMCLK
-AZ-
сообщение Sep 21 2015, 00:01
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488



Приветствую специалистов.
Бъюсь с MSP430F4152, перечитал мануал N раз, ради понимания пытаюсь получить частоту SMCLK равной 32768 КГц.
Кварц 32768.
С ACLK все понятно и вопросов нет.
На картинке одно в мануале, в описании регистра другое, я насколько понял ТОЛЬКО УМНОЖЕНИЕ.
Т.е. при включении DCOPLUSE он умножает частоту DCO на коф. указанный в делители )), жесть.
Кто что может по данному вопросу подсказать.
Как настроить SMCLK на 32768

SCFQCTL = SCFQ_64K;
и как это поделить на 2 ....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
E.V.G.
сообщение Sep 21 2015, 20:30
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 31-01-10
Из: Арзамас
Пользователь №: 55 175



Посмотрел ещё раз файл с описанием мк и файл msp430f4152.h, который есть в IAR. Значение MCLK и SMCLK не может быть меньше ACLK*2, т.е. при ACLK=32768Гц - MCLK=SMCLK=65536Гц.
Go to the top of the page
 
+Quote Post
-AZ-
сообщение Sep 22 2015, 05:15
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488



Цитата(E.V.G. @ Sep 21 2015, 23:30) *
Посмотрел ещё раз файл с описанием мк и файл msp430f4152.h, который есть в IAR. Значение MCLK и SMCLK не может быть меньше ACLK*2, т.е. при ACLK=32768Гц - MCLK=SMCLK=65536Гц.

Полностью согласен, вопрос не этом.
На рисунке 5-4 на странице 5-7 slau056l.pdf тактового модуля, получается что можно эту частоту пустить через предделитель и вывести через DCOPLUS, а в описании регистра и по факту частота нифига не делится а умножается, т.е. рисунок не бьется с описанием и фактом.
Вот это совсем непонятно ......
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 22 2015, 21:41
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(phenixs @ Sep 22 2015, 10:15) *
Полностью согласен, вопрос не этом.
На рисунке 5-4 на странице 5-7 slau056l.pdf тактового модуля, получается что можно эту частоту пустить через предделитель и вывести через DCOPLUS, а в описании регистра и по факту частота нифига не делится а умножается, т.е. рисунок не бьется с описанием и фактом.
Вот это совсем непонятно ......

Задайте (с помощью битов FNx=0x00 задается самый нижний диапазон) частоту DC генератора fDCO=32768Гц*8.
Делитель D для fDCO (с помощью битов FLLDx=0x3) выбираете 1/8. Предделитель для FLL =1 (N=0).
Тогда на выходе DCO генерится fDCO=D*(N+1)*fLFXT=8*(0+1)*32768Гц. Соответственно после делителя fDCO/D=32768Гц*8/8=32768Гц. Выбрав правильные значения битов DCOPLUS и SELS, получаете на выходе SMCLK искомую частоту 32768Гц.
Вот только, убей бог, не пойму, зачем вам это нужно? Ведь полученная таким образом от FLL частота будет модулированной и довольно нестабильной по фазе. Потому, что интегратор FLL поддерживает заданным СРЕДНЕЕ значение частоты на интервале интегрирования (а интегратор FLL всего 10 бит). Если вам нужны точные и стабильные 32768Гц, то используйте ACLK. Благо и SMCLK и ACLK ко всей периферии подведены ЕМНИП.
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 23 2015, 07:47
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(rezident @ Sep 23 2015, 01:41) *
Задайте (с помощью битов FNx=0x00 задается самый нижний диапазон) частоту DC генератора fDCO=32768Гц*8.
Делитель D для fDCO (с помощью битов FLLDx=0x3) выбираете 1/8. Предделитель для FLL =1 (N=0).
Тогда на выходе DCO генерится fDCO=D*(N+1)*fLFXT=8*(0+1)*32768Гц. Соответственно после делителя fDCO/D=32768Гц*8/8=32768Гц. Выбрав правильные значения битов DCOPLUS и SELS, получаете на выходе SMCLK искомую частоту 32768Гц.


Всё бы хорошо, только N = 0 задавать нельзя; так прямо английским по-белому и написано в User's Guide.

N от балды задавать нельзя: fDCO должен укладываться в границы, определяемые битами FN_x.

Сообщение отредактировал Obam - Sep 23 2015, 08:01


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 23 2015, 19:25
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Obam @ Sep 23 2015, 12:47) *
Всё бы хорошо, только N = 0 задавать нельзя; так прямо английским по-белому и написано в User's Guide.

Да, увидел.

Цитата(Obam @ Sep 23 2015, 12:47) *
N от балды задавать нельзя: fDCO должен укладываться в границы, определяемые битами FN_x.

Дык правильно. Потому, что DC Generator (DCO) это генератор RC-типа. Битами FN задается эквивалент R, а точнее ток, которым заряжается C. Битами DCO задается величина емкости C (набором коммутируемых конденсаторов: 2^5=32 значения). Естественно, что без переключения величины R (только одними лишь конденсаторами) весь диапазон частот генератора перекрыть нельзя. Но битами DCO и MOD модулятор FLL может управлять автоматически (когда включена модуляция), а битами FN - нет. Поэтому коэффициент умножения, задаваемый N и D должен соответствовать диапазону выходных частот fDCO, который в свою очередь зависит от FN. Кстати, совсем не обязательно постоянно использовать модулятор FLL. Его можно включать периодически лишь для подстройки частоты fDCO. Зато при выключенном модуляторе частота будет меньше "болтаться". В кристаллах без FLL, имеющих лишь только DCO, программно-аппаратная (с помощью таймера) подстройка fDCO это вообще штатный hint.

И все-таки хотелось бы узнать у топикстартера, зачем ему SMCLK именно 32768Гц?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 17:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01412 секунд с 7
ELECTRONIX ©2004-2016