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

FLL+ 不稳定

1MHz:

8MHz:

12MHz:

20MHz:

输出的是MCLK,用的是F5529官方例程的库.

#include <msp430.h>
#include "F5xx_F6xx_Core_Lib/HAL_PMM.h"
#include "F5xx_F6xx_Core_Lib/HAL_UCS.h"

int main(void)
{
volatile unsigned int i;

WDTCTL = WDTPW+WDTHOLD;
SetVCore(PMMCOREV_3);

P1DIR |= BIT1;
P1DIR |= BIT0;
P1SEL |= BIT0;
P3DIR |= BIT4;
P3SEL |= BIT4;
Init_FLL_Settle(20000, 610);

while(1)
{
P1OUT ^= BIT1; // Toggle P1.1
__delay_cycles(600000); // Delay
}
}

Triton Zhang:

你用2M采样率去采样8M,20M的频率?

根据采样定律你的采样率至少要是信号的2倍.

 

DeDeBug:

回复 Triton Zhang:

2M是采样深度,最大单通道48M采样率,显示是24M采样率(为实际采样率).

而且就算2M采样率不可能采到12M吧.

DeDeBug:

回复 Bruce Wei:

UcsInit 是怎么回事.

DeDeBug:

回复 Bruce Wei:

我有外部ACLK,32.768kHz,怎么参考这个来校准,会不会好一些.

Triton Zhang:

回复 DeDeBug:

你用一个好点的示波器在测试下呢?F55XX的的FLL的两个间隔周期能做到10%的误差。

楼上那个UCSINIT是用来设置FLL到目标频率的。那个函数是用来校准目标频率精度的。

你的问题是一个频率的波形中,两个相邻的周期相差较大。

DeDeBug:

回复 Triton Zhang:

用CX-117A晶振测试仪显示20.057MHz 114ppm,这样是不是已经超出系统频率,会不会有点什么问题.还是要把UCSCTL2 = FLLD_1 + 610中的610改小?走定时器好像有点担心.特别是系统异常复位,但是外部跑高速设备又麻烦.

(609+1)*32768Hz=19.988480MHz

(610+1)*32768Hz=20.021248MHz

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