mcu是430f2418
主时钟是外部8M ,低速时钟外部32.768 。 32.768用来做485通信的波特率。
程序运行初始化时钟部分如下。
出现不运行的时候使用示波器观察8M起振,32k没起振 。试过外部12pf ,内部6pf 。 外部不焊 内部12.5pf 。都不行
ps:晶振是kds的 12.5pf 圆柱状音叉型晶振。
- static void Init_clock(void)
- {
- DCOCTL=0x60;
- BCSCTL1=0x07;
- BCSCTL2=0x8a;//0x8a SMCLK=/2,0X88 SMCLK=/1
- // BCSCTL3=0x84; //6pF
- BCSCTL3=0x8C; //12.5pF
- //P5SEL=0X70;
- volatile unsigned int i;
- do
- {
- RED_LED_ON();
- GREEN_LED_ON();
- POWER_ON();
- IFG1 &= ~OFIFG; // Clear OSCFault flag
- for (i = 0xffff; i > 0; i--); // Time for flag to set
- }
- while ((IFG1 & OFIFG));
- }
复制代码
我查了下我们用的晶振 最大串联电阻40K欧姆。 2*6的。
我们大量使用430系列单片机和32k配合。 别的产品没出现。
这款产品出现是因为需要频繁开关机。如果长供电的话应该也不会出现,频繁开关机的时候 某一次开机就振不起来。
长期供电不关机,也是早晚会出现问题的。。。环境稳定,温度二三十度左右,干燥的情况下,不断电连续运转,半年左右以后,估计也会陆陆续续出现问题的。。。。我的机器都是需要起码两三年不断电持续运行的,我也追了很长时间,所以才对这个问题认识这么深刻
430单片机不是所有的都是XOSC8这个问题,只有一小部分有这个问题
我们用的比较多的是 cc430f5137 , msp430f5438a ,msp430f2148
其中2418大多用在从模块上,就是需要频繁断电上电的 - -!
5438还没发现过这问题。 5137也出现过但很偶尔,还不能确定是这个问题。
刚查了下普通的有源晶体功耗有18uA 还是蛮大的。 待温补的倒是小,但是巨贵。
无源贴片的 串联电阻最大可到90k欧。
我之前测试晶体脚上的幅值, 8M主时钟上大约为500mV 32k上大约是200mV。
兄弟,要学会看每个芯片对应的ErrataSheet(勘误手册)啊,F5438、F5418都不存在这个问题的,勘误手册上会列出所有该芯片存在的问题以及可能的解决办法
一周热门 更多>