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

 
 
 
Reply to this topicStart new topic
> Тактирование после LPM3
DTMF
сообщение Aug 10 2012, 09:36
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 23-05-07
Пользователь №: 27 914



Поясните пожалуйста такой момент:
Включаю тактирование MCLK от XT2=4 MHz.
Перехожу в LPM3( XT2 - отключается).
При переходе в активный режим MCLK = DCO.

Через какое время перейдет к тактированию MCLK
от XT2 и каким образом?
Go to the top of the page
 
+Quote Post
DTMF
сообщение Aug 10 2012, 10:39
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 23-05-07
Пользователь №: 27 914



Или я не прав и в LPM3 генератор
XT2 не выключается?
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Aug 10 2012, 19:05
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Я не обещаю что подскажу в чём дело, но указание модели контроллера желательно.
В разных контроллерах сигнал XT2, имеет разные нюансы работы.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 11 2012, 18:12
Сообщение #4


Гуру
******

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



Тактировать MCLK и соответственно ядро MSP430 от внешних генераторов стоит только в самых крайних случаях. Внутренний RC-генератор (DCO) подходит для этого лучше 95% случаев. DCO запускается быстро - за единицы микросекунд, в отличие от ВЧ и НЧ кварцевых генераторов. Для часового кварцевого генератора для запуска может потребоваться аж до 500мс. Вы не сообщили про какую именно серию MSP430 ваш вопрос, но обычно при выходе из режима энергосбережения (при котором выключается источник тактирования MCLK) ядро переключается на тактирование именно от DCO.
Go to the top of the page
 
+Quote Post
DTMF
сообщение Aug 14 2012, 03:59
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 23-05-07
Пользователь №: 27 914



контроллер MSP430F5508
Не нашел нигде информации, что происходит
с генератором XT2 при переходе в LPM3,
если до этого он был запущен.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 14 2012, 13:33
Сообщение #6


Гуру
******

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



Цитата(DTMF @ Aug 14 2012, 08:59) *
контроллер MSP430F5508
Не нашел нигде информации, что происходит
с генератором XT2 при переходе в LPM3,
если до этого он был запущен.

См. в MSP430x5xx and MSP430x6xx Family User's Guide (Rev. J) раздел 5.2.5 XT2 Oscillator. Там описано про его работу. В частности
Цитата
XT2 is enabled under any of the following conditions:
...
...
...
XT2OFF = 0. XT2 enabled in active mode (AM) through LPM4. For devices that support LPMx.5, XT2
will also remain enabled.

То бишь генератор XT2 работает до тех пор, пока его специально не выключают установкой бита XT2OFF. Такой же вывод можно сделать, если внимательно рассматривать блок-схему модуля UCS на Figure 5-1. UCS Block Diagram. XT2 управляется XT2OFF, XT2BYPASS и XT2DRIVE. На его работу или неработу оказывают влияние только XT2OFF и XT2BYPASS.
Go to the top of the page
 
+Quote Post
DTMF
сообщение Aug 15 2012, 04:23
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 23-05-07
Пользователь №: 27 914



Спасибо.
Я тоже так думал.
Вы развеяли мои сомнения.
Go to the top of the page
 
+Quote Post
vea
сообщение Mar 15 2013, 15:09
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 5-12-11
Из: Киев
Пользователь №: 68 692



Цитата(rezident @ Aug 11 2012, 21:12) *
Тактировать MCLK и соответственно ядро MSP430 от внешних генераторов стоит только в самых крайних случаях. Внутренний RC-генератор (DCO) подходит для этого лучше 95% случаев. DCO запускается быстро - за единицы микросекунд, в отличие от ВЧ и НЧ кварцевых генераторов. Для часового кварцевого генератора для запуска может потребоваться аж до 500мс.

Скажите пожалуйста, насколько плохой практикой является переход на тактирование MCLK от часового кварца после его запуска:
Код
BCSCTL3 |= XCAP_3;          // xtal has 12.5 pF caps
__delay_cycles(500000);     // delay for crystal stabilization

BCSCTL2 |= SELM_3 + SELS;    // MCLK  Source Select 3: LFXTCLK
                            //SMCLK Source Select 0: DCOCLK / 1:XT2CLK/LFXTCLK */

Вопрос возник в свяжи с желанием (возможно, излишним) дополнительно уменьшить потребление за счет отключения DCO:
Код
_BIS_SR(SCG0 + SCG1);

Хотя, собственно, в документации некоторая неясность - в пункте 5.2.5.1 MSP430x2xx FUG "Disabling the DCO" сказано, что эта команда отключит DCOCLK.
Насколько я сейчас понимаю, это разные вещи: DCO - это источник, а DCOCLK - сигнал, из него выходящий, так что выключив DCOCLK не обязательно выключаем DCO. Приведенная в этом разделе схема ясности не добавила. Что за DCO_Gen_on, более нигде в тексте не встречающееся?

Может быть, кто-то разбирался с этим вопросом?
Или не стоит этим заморачиваться?
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 21 2013, 13:25
Сообщение #9


Гуру
******

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



При тактировании MCLK от LFXT следует учитывать, что сбой в генерации часового кварца вызовет переход тактирования MCLK от DCO. Но состояние SELMx при этом не изменится.
Чисто логически тактирование от внешних компонентов менее надежно, чем от внутренних. По энергозатратам же выгоднее быстро выполнить программу и вновь уснуть, чем выполнять программу все время, но на маленькой частоте. Хотя и такой способ (делать "медленно и печально" sm.gif ) тоже иногда практикуется в условиях сильных ограничений по максимальному току питания. А также в тех случаях, когда требуется постоянно опрашивать внешние устройства на наличие событий, но при этом нельзя (не получается) использовать прерывания.
Насчет сигналов DCOCLK_on и DCO_Gen_on. Они в общем-то условные. Первый, как вы правильно заметили влияет лишь на выходной сигнал DCOCLK, второй управляет работой самого генератора ("DC Generatior" на блок-схеме). Здесь еще следует заметить, что при вызове любого прерывания (в т.ч. при сбое любого из кварцевых генераторов, если разрешено прерывание битом OFIE) автоматически очищаются лишь биты CPUOFF, SCG1 и OSCOFF. А бит SCG0, который управляет работой генератора DCO, при переходе по вектору прерывания не изменяется.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 15:52
Рейтинг@Mail.ru


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