我测试发现内部的REFO和采用外部32.768KHz晶振时,产生的振荡信号都不稳定,有0.04%的跳变。跳变的测量方法为在PJ.3输出ACLK信号,ACLK信号是由XT1或DCO为输入。
因些,决定采用外部时钟信号给F5171。
目前将外部的920KHz时钟信号输入到F5171的PJ5,但工作不正常。
不知MPS430F5171可以接外部时钟源吗?如果可以,帮忙给个例子(相关配置)。
非常感谢!!!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我测试发现内部的REFO和采用外部32.768KHz晶振时,产生的振荡信号都不稳定,有0.04%的跳变。跳变的测量方法为在PJ.3输出ACLK信号,ACLK信号是由XT1或DCO为输入。
因些,决定采用外部时钟信号给F5171。
目前将外部的920KHz时钟信号输入到F5171的PJ5,但工作不正常。
不知MPS430F5171可以接外部时钟源吗?如果可以,帮忙给个例子(相关配置)。
非常感谢!!!
Hi Lina,
非常感谢您的回复!
我也注意到了这个参数,所以也认为能连接外部的时钟。
此外,在Low-Frequency Mode下,可以输入10~50KHz的时钟信号。
但我目前的系统一直没能正常工作,XT1也设置为BYPASS模式了,所以很疑惑是否能用外部时钟源。
顺便说一下,我用外部的32.768KHz和0.9MHz的时钟源都试过,未能工作正常。
下面是我的配置代码:
// Begin. 使用外部0.9MHz时钟源。
PJSEL |= BIT4+BIT5; // Port select XT1
PJDIR &= ~(0x20); // PJ.5 as input.
PJDIR |= 0x10; // PJ.4 as output. 我也试过将PJ.4设置为GPIO,但情况一样。
UCSCTL6 |= 0x30; // Hig-frequency mode; XT1 sourced externally from pin.
// UCSCTL6 &= ~(XT1OFF); // XT1 On 使用外部时钟源应该不需要打开XT1;打开的设置我也试过,情况一样。
do // Loop until XT1 fault flag is cleared
{
UCSCTL7 &= ~(XT1HFOFFG); // Clear XT1 fault flags
}while (UCSCTL7 & XT1HFOFFG); // Test XT1 fault flag
__bis_SR_register(SCG0); // Disable the FLL control loop
UCSCTL0 = 0x0000;
UCSCTL1 = 0x0000;
UCSCTL2 = 0x0000;
UCSCTL3 = 0x0000;
UCSCTL4 = 0x0000; // ACLK -> XT1;
// SMCLK -> XT1;
// MCLK -> XT1
UCSCTL5 = 0x0000;
PJSEL |= 0x08; // PJ.3作为ACLK输出,频率为0.9MHz。
PJDIR |= 0x08; // PJ.3 设置为输出。
*/
// End. 使用外部0.9MHz时钟源。
此时,PJ.3输出110KHz左右的信号,估计是内部的DCO输出。
谢谢!!!