打印

【有奖征文活动】示范贴:复位电路故障分析。。

[复制链接]
4883|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程序匠人|  楼主 | 2009-8-4 00:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
匠人按:这个贴子为有奖征文的示范贴,供投稿者参考。欢迎大家踊跃发贴投稿哦。

------------------------------------


一个复位电路故障分析及改进报告

l问题提出:

根据客户反馈的信息,公司的一款产品在电源插拔过程中及点火过程中经常发生里程数据丢失或错乱的现象。

在我们自己的测试中,也发现了同样的问题。具体表现如下:

1、里程数据丢失,或错乱

2、显示乱码

3、指针乱走

4、死机,有时能自动恢复(可能是看门狗起作用了),但有时不能恢复。

而在旧版中,没有该问题。

l问题分析:

根据有关现象,我们主要怀疑以下几个方面:

1、软件部分,由于新版与旧版经历了好几次软件改动。所以一开始怀疑是否软件在历次改动中出了差错。后经过仔细检查软件,没有发现问题。另外,由于有时有死机现象发生,也说明问题不是软件造成的。

2、芯片封装方面,由于新版采用公司自己的封装,而旧版采用的是原厂封装。所以我们也怀疑过是否是因为封装的问题。我们重新用原厂封装的芯片烧录了新的程序测试,但问题依旧。说明问题不是出在芯片封装方面。

3、最后,我们把关注的焦点集中在复位电路上。原来的复位电路比较简单,芯片的RESET脚只是通过一个上拉电阻接到接到VDD上。在频繁插拔过程中容易造成复位不良。

l问题解决方案:

根据以上分析,我们采用以下复位电路(见附件“复位电路.jpg”):



采用该复位电路后,问题得到了解决。通过示波器可以看出改进前后复位脚上信号的变化(见附件“波形图.jpg”):

复位电路.JPG (5.56 KB )

复位电路.JPG

波形图.JPG (9.73 KB )

波形图.JPG

相关帖子

沙发
gaohq| | 2009-8-4 00:08 | 只看该作者
这是什么电源呢?

使用特权

评论回复
板凳
ningling_21| | 2009-8-4 07:15 | 只看该作者
是不是看反了呢?
怎么会断电复位?

使用特权

评论回复
地板
jerkoh| | 2009-8-4 07:53 | 只看该作者
说下什么单片机类型呀

使用特权

评论回复
5
winhiwang| | 2009-8-4 09:21 | 只看该作者
看起来貌似汽车里程记录方案.

EEPROM数据改变有可能发生在电源上升或者下降过程中,在临界点造成程序跑飞,误改写EEPROM.

从复位电路上解决问题是其中一个方法,采用三极管电路使电源不稳定其间MCU处于复位状态.
另外从数据安全的角度上可以采用一些安全校验的方法来保证数据安全,方法就八仙过海了!

使用特权

评论回复
6
古道热肠| | 2009-8-4 09:55 | 只看该作者
哈哈,军号已吹响,......大家往前冲呀,
是好是坏不重要,贵在参与!
哈哈,俺要不是评委,肯定上台去PK了.

使用特权

评论回复
7
韩秋婷| | 2009-8-4 10:14 | 只看该作者
单片机既然支持简单电阻复位,就不应该存在这样的bug

可能是设置不对

如果用外部的复位电路,最好用专用ic,这个项目成本不敏感吧

楼主的帖子存在误导的嫌疑

使用特权

评论回复
8
benladn911| | 2009-8-4 12:02 | 只看该作者
如果芯片内部有 BOD功能就可以直接使用了。电源低于某个电压就保持复位

使用特权

评论回复
9
armecos| | 2009-8-4 15:58 | 只看该作者
分析方法不正确,整改方案错误,还会继续出错,EMC不是那么好搞的,点火可能还有高频辐射干扰。

EMC要贯穿设计全流程,不能出了事才想起整改,没用!貌似改好了,下次指不定又会发生什么莫名其妙的事故,要小心啊!哈哈!

www.armecos.com

使用特权

评论回复
10
程序匠人|  楼主 | 2009-8-4 21:16 | 只看该作者
呵呵,没想到一个示范贴也引来这么多砖头。不过,这是好事,说明我们这个活动也引起大家的关注了。
那么就统一回复一下楼上各位。

这个帖子的来源,是一个真实的案例。这是一款低成本的“沙滩车仪表”,采用台湾芯片+LCD+步进马达驱动指针。在最初的设计中,复位电路过于简陋,导致在电源插拔过程中及点火过程中经常发生里程数据丢失或错乱的现象。

说实话,这种故障很容易和抗干扰问题混淆。当时,我们也一度怀疑是干扰的原因。

后来,经过反复排查,发现是复位不良导致。在电源跌落时,复位电平宽度不足,导致复位不良。

大家可以再去看看那张波形图。对比一下改进前后,RESET脚上的电平信号。

后来改善了复位电路之后,故障就被排除了。

这个案例本身,并不是太有技术含量。匠人发这个帖的主要目的,其实是为了抛砖引玉。让大家一起来参与活动,共享各自的经验。呵呵。

使用特权

评论回复
11
zwjgg| | 2009-8-5 04:13 | 只看该作者
我公司也遇到类似EEPROM数据丢失的问题,EEPROM是ST的。

与你遇到的问题是大同小异,当时也分析了很多原因,就连ST得工程师也找来了,根本原因在于EMC上,一些外界干扰信号传入。

使用特权

评论回复
12
armecos| | 2009-8-5 07:50 | 只看该作者
本帖最后由 armecos 于 2009-8-5 08:00 编辑

呵呵,你们改了复位宽度,也许恰好把本车干扰躲过去了,可你们想过没有,要是别的沙滩车在这辆车附近点火,那这辆车会不会数据也错乱呢?要是几辆车一起开,彼此数据乱跳,那该是怎样一幅美妙的景象啊。

汽车电子的EMC防护其实是很复杂的。车子的摩擦静电、静电火花放电引起的高频干扰,点火器干扰等等,要在一开始设计时就考虑,不能这样被动地改改,改好了就万事大吉,其实,隐患可能并未消除。

玩具车就没必要这么讲究了。

使用特权

评论回复
13
程序匠人|  楼主 | 2009-8-5 08:17 | 只看该作者
呵呵,你们改了复位宽度,也许恰好把本车干扰躲过去了,可你们想过没有,要是别的沙滩车在这辆车附近点火,那这辆车会不会数据也错乱呢?要是几辆车一起开,彼此数据乱跳,那该是怎样一幅美妙的景象啊。

汽车电子的 ...
armecos 发表于 2009-8-5 07:50


在这个具体案例中,问题并不出在干扰上,而是复位电路上。实际上,只要正常复位开始工作后,那些现象就不再出现了。

当然,这个产品不是真正的汽车仪表。所以,其EMC等级也比较低,以满足实际要求为准。

使用特权

评论回复
14
救火车| | 2009-8-5 11:43 | 只看该作者
这个值得研究。

使用特权

评论回复
15
程序匠人|  楼主 | 2009-8-6 23:12 | 只看该作者
顶上去和大伙做个伴

使用特权

评论回复
16
btiger2000| | 2009-8-7 10:14 | 只看该作者
如果成本不敏感,还是用专用的复位芯片可靠些!

使用特权

评论回复
17
machunshui| | 2009-8-7 10:46 | 只看该作者
本帖最后由 machunshui 于 2009-8-7 10:47 编辑

电源插拔过程中死机或者程序数据错乱,
一般来讲应该和复位有关.

使用特权

评论回复
18
bluerainhe| | 2009-8-19 22:20 | 只看该作者
支持支持再支持

使用特权

评论回复
19
mengyu2008| | 2009-8-25 08:57 | 只看该作者

使用特权

评论回复
20
xnwxq| | 2009-8-30 11:09 | 只看该作者
其实一上电就复位的现象还是比较好处理的,我个人最怕的是上电后可以工作,但是运行过程中的复位和假死现象是最让人头痛的!这种情况的问题最多,对于做产品更是如此!
      当时我是开发电力载波通信的通信程序,出现复位现象后我第一个想的的是电源的电路设计问题,在电源的问题上我花的时间可是好久哦,但是问题还是没有解决,不过电源确实存在问题,但是是产品在公司的测试平台测试通信非常的好,但是到了现场,电力载波信号一点都收不到,这个现象也是通过修改电源后解决的(当需要电力载波痛心时,整个模块的功率一下子就上了了,当时处理器的供电和载波的供电没有很好的隔离造成)。言归正传,说道向4楼所说“中断开放了,如果做好了中断服务程序,应该也不会死机的呀!俺前阵子因为中断程序把堆栈搞溢出了,有时复位,有时不复位,那才叫防不胜防呢.”是因为中断服务程序没有搞好造成的,我的是数据接收缓冲区没有处理好造成的,当我连续的发送测试命令帧的时候,就会发生死机的现象!后来经过检查,原来是缓冲区没有管理好造成的,其实就是我的指针没有控制好!

所以遇到上电复位的状况可以归纳如下:
1、电源隔离不是很好
2、复位电路参数不合理
3、复位脚存在干扰
4、项4楼所说,中断服务程序没有控制好
5、有通信的话,缓冲区管理不当

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

734

主题

11156

帖子

675

粉丝