Перейти к содержанию
    

22 minutes ago, visht said:

. . . В чем я ошибаюсь ?

1. FLL работает на базе генератора DCO. Соответственно, кроме настройки FLL надо настроить DCO на эту частоту (выбрать диапазон).

2. Не внимательно читаете (или вообще не читаете) рекомендации выше, а именно MSP430F51x2_UCS_04.c в данном случае.

ps

https://dev.ti.com/tirex/explore/. . . MSP430

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может неверно понял, но вроде FLL сама должна DCO и MOD менять, если ей передано управление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, visht said:

может неверно понял, но вроде FLL сама должна DCO и MOD менять, если ей передано управление.

ОНО не знает, какую частоту Вы хотите получить "на выходе". Также как незнает и какой кварц, на какую частоту, подключен. Знает только коэффицент деления FLL. Так что RC-ГУН (онже DCO) надо "выставить" вручную на требуемый диапазон (тк у него нет сквозной электронной перестройки во всем рабочем диапазоне).

Так что на "сама" можете не расчитывать в данном случае. Может есть какой-то "построитель-вычислеитель" наподобие CubeMX для вычисления-прописи этих настроек. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ок, понял. тогда так:

#define DCORSEL 6
    PMM_setVCore(PMM_CORE_LEVEL_3);     // Vcore setting of at max 3 for 24MHz MCLK
    UCSCTL1 = (DCORSEL << 4);
    UCSCTL3 = SELREF_2 | FLLREFDIV__1;  // FLLref = REFO
    UCSCTL2 = FLLD__32 | 0x17;
    UCSCTL4 = SELM__DCOCLK | SELS__DCOCLKDIV;

Поправьте меня, если я снова ... мимо.

Выбираем частоту. D = 32, N = 23 , n = 1, REF0SC = 32768Hz

Fdco = 32*(23+1)*(32768/1) = 25.165824 MHz

выбираю диапазон чтобы моя частота Fdco была между MAX MIN для соответствующего диапазона DCORSEL

Spoiler

DCO.thumb.jpg.e04f2f5343272387668af025e34a9417.jpg

для выбранной 25.165824 MHz это режим 6, от 10.7 до 39.0.

управление DCO и MOD отдано FLL и установка частоты в моем случае заняла примерно 144728 циклов и 8.5ms

в описании заявлено что не более чем n*32*32 циклов Fref = а это 31.25 ms а значит все верно.

Видимо для получения точного значения частоты нужно просто подождать 30 ms.

 

Проблема с DCOFFG остается, флаг не сбрасывается, хотя значения DCO в  UCSCTL0 никак не 31 и не 0.

    do {
        UCSCTL7 &= ~DCOFFG;   
    } while (UCSCTL7 & DCOFFG);   // forever

Видимо с системой флагов, у данного экземпляра что то пошло не так. Хотя как может не работать часть логики ... загадка.

Пока нечем проверить точность частоты, LA семплит на 200 MHz, значит ошибка 8% (+/- 2 MHz), остается верить TI.

 

А можно подробнее по поводу вышеупомянутого  MSP430F51x2_UCS_04.c

В закачанном msp430_driverlib_2_91_13_01 такого нет, есть другие, но если есть еще какие то примеры прошу ссылочку.

 

k155la3, Спасибо за помощь.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

MSP430F51x2_UCS_04.c это файл из блока примеров 

On 4/19/2022 at 4:23 PM, k155la3 said:

. . .

Вот блок примеров на семейство F51xx, это оттуда.  

. . . .

slac452d.zip 248.62 kB · 2 downloads

Использовать LA как частотомер не очень феншуй. Очень большая вероятность наступить на грабли. Уж лучше аналоговый осциллограф. 

А что, время старта для DCO/FLL так критично ? Если тактовая нужна постоянно, то экономии батареи уж точно не получится.

Если отлаживать работу FLL/DCO с осциллографом, обратите внимание, что скорее всего будет дрожание фазы тактового сигнала или нечто похожее на ШИМ. Это нормальное явление.

>> Спасибо за помощь.

Удачи !

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...