13340|63

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

[紧急求助]单片机系统在高低温过程中死机,不可自恢复!!!!!!! [复制链接]

我的系统采用了一款philips的80C51单片机P89LV51RD2,其温度范围是0-70度。单片机系统在常温下已 经过至少2周的烤机,没有复位过。在常温测试完成后,进入高低温测试阶段。启用了单片机自带的看门狗,所以没有设置外部的硬件看门狗。

目前的现象是,在经过至少3个小时50度高温测试后,仍工作正常。在进入低温-10度大约1小时后,系统死机,而且不可自恢复。我在软件系统内设置了几个监测变量,有两个分别是系统总的复位次数统计 和 单片机由于内部RAM和外部RAM出错而复位的次数统计,死机后手动复位系统,可正常工作,读取这两个变量的值分别是m和n(m略大于n),由此可看出,在完全死机之前,系统复位主要是由于RAM出错而导致的。注,在常温下,这几个监测值都是0。

我目前猜测可能的原因主要有以下几条:
1,单片机标称的温度范围是0-75度,虽然大家都知道,这个标称的温度范围是有余量的,但是余量有多大,这个不好确认,而且和厂家也确定不了(呵呵,他们不会随便乱说的)。所以我觉得是这个问题的可能性比较大。

2,晶振。大家都知道,晶振是比较脆弱的,而且我们使用的这款晶振,由于时间比较紧,没有经过公司的认证程序。我觉得,如果晶振偏了,应该不仅仅是影响系统的定时,也会导致系统的指令周期混乱。在操作外部RAM时,可能就会出错。

3,其他。呵呵,希望大家帮忙提示了。

如果还需要什么其他的测试信息,请在回复中提出来。多谢了!!



最新回复

学习!  详情 回复 发表于 2010-6-7 10:20
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
顺带还请教一个问题,晶振对系统的正常运行有什么作用?以前学CPU原理的时候,没有学好,请大家指点。最好说详细点,我想好好复习一下,或者有相应的参考书,敬请推荐一下。

反正,我觉得应该不只是影响定时这么简单吧!!
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
晶振就是提供时钟信号的,单片机根据这个标准的时钟信号来各个指令的时间,从而协调各部分的工作,如果没有晶振,就没有一个标准,那系统也就没办法相互协调工作了
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

4
 
至于你说的第二条,你读取外部RAM,用的时钟信号是有单片机提供的,就算晶振有偏差,只要满足读写的时序要求和延时要求就不会出问题,晶振的偏差主要还是影响定时那一块
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
多谢楼上的回复!

你说的很有道理,但是还有一点疑惑。无论晶振是否有偏差,单片机程序在操作外部扩展RAM时,在高温和常温下,都应该是满足读写的时序要求和延时要求。我设置的RAM监测代码,在RAM的值出错时,才会去复位系统。

难道在-10度时,会有什么原因导致 不满足读写的时序要求和延时要求了呢?或者是什么原因改写了RAM中保存的值?

还请指点一下!

 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
不懂,帮顶
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

7
 
这种问题很难确定的,检查你的电源在整个温度范围内稳不稳定,纹波和噪声有没有增加,复位信号稳不稳定,通信接口是否受干扰,晶振有没有停振等等,还有其它元件的温度特性能不能达到0-70的要求。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

8
 
应该是单片机芯片的问题吧.
换工业级的.
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

9
 
同LS想法。。。

好像低温测试还要注意一下有没有冷凝

 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 6 楼 guetcw 的回复:
这种问题很难确定的,检查你的电源在整个温度范围内稳不稳定,纹波和噪声有没有增加,复位信号稳不稳定,通信接口是否受干扰,晶振有没有停振等等,还有其它元件的温度特性能不能达到0-70的要求。


对,在这个环境下测试这几个东西,和正常的比较。然后分析到底是单片机还是晶振或者是外设的问题。

这个帖子不错,值得推荐。——单片机这个板块比wince 人气差多了。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 6 楼 guetcw 的回复:
这种问题很难确定的,检查你的电源在整个温度范围内稳不稳定,纹波和噪声有没有增加,复位信号稳不稳定,通信接口是否受干扰,晶振有没有停振等等,还有其它元件的温度特性能不能达到0-70的要求。


对,在这个环境下测试这几个东西,和正常的比较。然后分析到底是单片机还是晶振或者是外设的问题。

这个帖子不错,值得推荐。——单片机这个板块比wince 人气差多了。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

12
 
恩,学习了,不太懂!
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

13
 
十分感谢大家的回复!

当初选择器件的时候,我是考虑了温度范围的问题,但是领导想用这个器件尝试一下,胳膊柠不过大腿,所以现在就这样了。请大家也不要在这个上面讨论了,我之所以提出这个问题,就是想挖点东西出来学习一下。

我也知道温度对半导体性能的影响,载流子和迁移率之类的东东,但是我想搞清楚,在一个系统中,晶振的作用是什么?如果它工作不正常了,会有什么样的后果?对单片机有什么影响?单片机和晶振之间是怎么个协调工作的?呵呵

另外,在keil的工程属性要填晶振的工作频率,我想问一下,在工程属性里面指明晶振的工作频率有何目的了?除了在使用调试器的时候,计算程序执行时间之外,难道会把这个属性传递给单片机吗?我想应该不是的,单片机应该是在启动的时候,自动去适应晶振的频率,相当于把这个频率测出来之后,就按照这个频率去工作,一旦工作起来之后,估计不会再去适应晶振的频率,而是按照晶振的频率,自动去工作了。

大家说说看了!
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

14
 
验证了一下,我的系统实际晶振是22M的,把工程属性里面的晶振改为44M的,程序下载下去之后,系统仍然工作正常。我觉得这似乎说明在工程属性里面指明系统的晶振,目的之一是用于在调试器里面计算程序的工作时间,与系统的实际工作似乎关系不大。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 12 楼 hustzxx 的回复:
我也知道温度对半导体性能的影响,载流子和迁移率之类的东东,但是我想搞清楚,在一个系统中,晶振的作用是什么?如果它工作不正常了,会有什么样的后果?对单片机有什么影响?单片机和晶振之间是怎么个协调工作的?呵呵
——晶振对于单片机,就像心脏对人一样重要,都不会动了,根本不会工作。

另外,在keil的工程属性要填晶振的工作频率,我想问一下,在工程属性里面指明晶振的工作频率有何目的了?除了在使用调试器的时候,计算程序执行时间之外,难道会把这个属性传递给单片机吗?我想应该不是的,单片机应该是在启动的时候,自动去适应晶振的频率,相当于把这个频率测出来之后,就按照这个频率去工作,一旦工作起来之后,估计不会再去适应晶振的频率,而是按照晶振的频率,自动去工作了。
——以前我照着这么设置,不过我没有认真研究过HEX文件,我觉得应该是有作用的。另外,这个设置对仿真是起作用的。
楼主想搞明白,可以设置不同的频率的晶振,一样的代码编译,然后拿二进制比较软件,比较这两个HEX,对比他们的区别。这样就知道是否起作用了。


good luck
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 12 楼 hustzxx 的回复:
十分感谢大家的回复!

当初选择器件的时候,我是考虑了温度范围的问题,但是领导想用这个器件尝试一下,胳膊柠不过大腿,所以现在就这样了。请大家也不要在这个上面讨论了,我之所以提出这个问题,就是想挖点东西出来学习一下。

我也知道温度对半导体性能的影响,载流子和迁移率之类的东东,但是我想搞清楚,在一个系统中,晶振的作用是什么?如果它工作不正常了,会有什么样的后果?对单片机有什么影响?单片机和晶振之…

确切的说,那个东西叫晶体。单片机需要时钟信号才能完成正常的时序工作,包括内核时钟,定时器时钟,各种外设等,而这些时钟都可以由单片机内部振荡电路来产生,单片机的频率是由它的设计制造工艺决定的,不是想要多少就多少(通常都是希望它越高越好)。振荡电路的频率由反馈回路中的RC来决定,而RC不稳定,温度特性不好,并且精度也不高,晶体是用天然的石英切成的,有很好的温度特性,漂移小精度高。它不能独立工作,只能作为一个元件配合振荡电路才能产生所需的脉冲信号,还有一种是有源晶振,把晶体和振荡电路都集成一起了,只需提供一个电源就能输出脉冲信号。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

17
 
外部的设备时钟一般都是从单片机主晶振直接,或者分频,或者倍频后再分频等方式提供。

cpu需要时钟(的上升沿或者下降沿)来作为基准,进行指令的流水线执行。简化的比方就是:时钟产生一个沿,cpu的核心就执行一条指令。

晶振不稳,不仅仅是频率的值与标称值相比有偏移,也可能是不稳定。

cpu在N个沿去读RAM,在N+1个沿将读来的数据进行处理。如果在N和N+1之间晶振频率抖动了,那就有可能还没有读到有效数据,cpu就开始处理了。如果只是一些运算数据倒无所谓,大概就是结果出错。而如果是影响到系统的,那结果就难预料了。


keil里填写的那个晶振值只是为了软件模拟debug用的,不会影响程序。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

18
 
单片机标称0~70℃,你在-10℃工作,不能说肯定出问题,只能说稳定性无法保证,而且你也不能就断定是单片机不工作了,不过这个帖子挺有意思,大家讨论的热情也挺高的,坛子里面的几个元老都来了,呵呵,要是查出确定的结果了,楼主还要来说一声啊
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

19
 
等待楼主实际验证答案...
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

20
 
这几天公司的网络不好,另外忙着定位问题,不好意思,没有来得及提供更多的测试信息。

我们现在多加了几块班子去做高低温测试,现在发现还是以前出问题的那一块又死机了,其它的几块都是好的。然后把那块死机的板子的单片机换了个新的,再做高低温还是死机。现在我们把这块板子的晶振和电源芯片换成新的,正在做高低温,结果还没出来。

从以上的现象来看,似乎不是单片机问题了,也似乎是一个 单个问题,死机的那块板子的某个器件存在问题。

PS:我觉得huleide说的挺有道理的,目前的问题就是要区分出到底是那个器件出了问题。呵呵
请大家提供一些建议了,有没有什么比较好的方法找出是那个器件的原因了?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表