430单片机接32.768偶发性晶振不起振问题请教

2019-07-21 20:23发布

   mcu是430f2418

主时钟是外部8M ,低速时钟外部32.768 。  32.768用来做485通信的波特率。

程序运行初始化时钟部分如下。

出现不运行的时候使用示波器观察8M起振,32k没起振  。试过外部12pf ,内部6pf 。  外部不焊 内部12.5pf  。都不行

ps:晶振是kds的 12.5pf 圆柱状音叉型晶振。

  1. static void Init_clock(void)
  2. {
  3.     DCOCTL=0x60;
  4.     BCSCTL1=0x07;
  5.     BCSCTL2=0x8a;//0x8a SMCLK=/2,0X88 SMCLK=/1
  6. //    BCSCTL3=0x84;       //6pF
  7.     BCSCTL3=0x8C;         //12.5pF
  8.     //P5SEL=0X70;
  9.     volatile unsigned int i;
  10.     do
  11.     {
  12.       RED_LED_ON();
  13.     GREEN_LED_ON();
  14.     POWER_ON();
  15.         IFG1 &= ~OFIFG;                           // Clear OSCFault flag
  16.         for (i = 0xffff; i > 0; i--);             // Time for flag to set
  17.     }
  18.     while ((IFG1 & OFIFG));
  19. }
复制代码

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
ayl439
2019-07-22 09:49
本帖最后由 ayl439 于 2016-6-30 15:39 编辑

很遗憾告诉你,这个片子看什么晶振注意事项也没有用。。。。我早年深受其害,追这个问题追了近两年

参考其ErrataSheet,可以看到有这么一个问题“XOSC8”,而TI专门给了一个文档来提出针对性解决方法“XOSC8  Guidance”,其中有一个方案是改用ESR大于40K欧姆的晶振,我多年来找不到这种晶振,所有晶振厂家,包括TDK,epson这一类的国际大厂,都说无法保证ESR大于40K欧姆,只能保证ESR不大于某个值。其它还有几个解决办法,但都并不能妥善解决,暂时解决的机器,总会有一部分机器在持续运行一段时间后出现该故障,持续运行时间一周到半年不等。

后续发现新批次的芯片Erratasheet上把XOSC8删除了,我高兴过一阵,也确实买过一批新批次的芯片,2000片,未采取任何措施的情况下任何问题也没有,但是,我估计是TI批次管理不严格,后期再采购(都是通过lierda采购的),印着新批次号的芯片仍然存在该问题,可以这么说吧,这次采购的这一批正常,下一批就不正常了,但是再下一批,也许会碰到能正常的

没有任何办法,唯一的解决办法是使用有源晶振或者外部时钟输入

一周热门 更多>