TI中文支持网
TI专业的中文技术问题搜集分享网站

FLL的问题

  __bis_SR_register(SCG0);                  // Disable the FLL control loop  

 UCSCTL0 = 0x0000;   // Set lowest possible DCOx, MODx  

 UCSCTL1 = DCORSEL_5;                      // Select DCO range 16MHz operation  

UCSCTL2 = FLLD_1 + 249;                   // Set DCO Multiplier for 8MHz   

                                          // (N + 1) * FLLRef = Fdco      // (249 + 1) * 32768 = 8MHz              // Set FLL Div = fDCOCLK/2

  __bic_SR_register(SCG0);                  // Enable the FLL control loop

请问一下这里的UCSCTL1 = DCORSEL_5;   怎么得到DCO最大为16MHz,求解。谢谢!

ZhaoF:

这两张图基本就可以给出你答案了。

(1)看第一张图。

DCORSEL位于UCSCTL1,共3位,将DCO分为8个频率段。

DCOx位于UCSCTL0共5位,将DCORSEL选择的频率段分为32个频率阶,每阶比前一阶高出约8%,DCOX和MODX系统可以自动调整,通常配置为0。

设置频率范围的时候,假设你的倍频为F,那么必须有f(DCORSEL,0)<F<f(DCORSEL,31)

(2)看第二张图,给出了最明确的范围。共有3大排线,从下往上,间隔分别为0.1、1、10,由此可以看出,DCORSEL=5时,中间频率大概为16MHZ。

还可以看出,6时中心约为24,4时约为8,3时为4,2时为2,1时为1

赞(0)
未经允许不得转载:TI中文支持网 » FLL的问题
分享到: 更多 (0)