打印

复位电路难题求解。

[复制链接]
12131|57
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冷漠|  楼主 | 2010-4-6 16:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 冷漠 于 2010-4-6 16:42 编辑

从没想过复位电路会出问题。偏偏今天就遇上了。偏偏遇上了,又找不到解释。所以一般分立元件的复位电路应该是没有问题的。关键是:公司硬件工程师在复位电路中使用了集成电路!例如:这位老兄在匠人的几个分立元件复位电路后面加了一个74ls14施密特反相器!意思希望把低电平复位有效变为高电平复位有效,结果:——故事就来了。
   
    现象:我利用仿真器编的程序一直正确运行,而且是感觉第一的作品。经理答应重赏——这次帮忙,已经不是雇佣关系,已经把我提升为项目合伙人分成关系啦。
    正在得意之时,问题来了:软件固化后,电路板不工作!真是当头一棒,所有人都看着我,——你做的叫什么软件,只能在仿真器上工作?
     花费了2天时间修改软件,终于在梦中有仙人指路——“硬件电路问题”!当最终确定是上电复位电路的问题时,差点把那位电路设计老兄拎起来。——每次开机,都需要人工按一下复位按钮,软件才能运行起来,软件结果本来很漂亮的。

    至今都没搞懂:当上电阶段,74ls14同样处在不稳定阶段,结果很难预料。那么这个电路应该怎么设计?74LS14输出驱动的是AT89C51和8251等几个芯片的复位管脚。

    如果匠人的书中写下这类实际问题的分析,我一定买10本!并推销100本!

相关帖子

来自 2楼
冷漠|  楼主 | 2010-4-8 18:02 | 只看该作者
本帖最后由 冷漠 于 2010-4-8 18:05 编辑

问题解决啦!
仔细看了手册关于复位电路的讲解,不是那么简单:
1、上电时一定要有一个高到VCC的电平!低了不行,逐渐高也不行。(可以想象是与芯片89c51供电电源VCC作参考比较)。仔细观察所有复位电路,VCC到复位管脚都是有(上拉)负载的。
2、所以:估计TTL输出独立高电平(在整个动态上电过程中)相对VCC过低,缺少一个上拉电阻;——TTL输出加10K上拉电阻的设计是常见的,不一定是开集电极输出。)。
3、所以,我建议硬件工程师在74ls14输出端,也就是89C51复位输入第9脚,接一个10K上拉电阻。试试呗,研究了一个月.......
4、结果,我和他都在等待修改后的通电那一刻,......尝遍了无数次失败,差一点放弃了。关键是书上,网上没有这么用的,却没想到会出问题。遇到问题,放弃不就行了?就用简单的RC电路算了不好么?要不修改设计用专用复位芯片不好么。就有人偏要钻牛角尖,偏要问一个为什么不行。
5、我看到他掉眼泪了,我也是。握手、吃饭。

感谢所有楼上帮助分析的朋友,要是一起的,我也请诸位吃饭。
下次大家仍一起分析不解的问题,然后一起流泪,握手,......

输入电路和LZ贴图左下角几乎一样,只有2个元件,上面10k电阻,下面10uf电容,中点接74ls14施密特反相器输入端。

5个电路是论坛上搜来的,据说是《匠人手记》里的复位电路集锦,还没来得及看。

使用特权

评论回复
来自 3楼
awmc_m| | 2010-4-9 13:31 | 只看该作者
这里再讲个特殊状况:仿真器运行正常,脱机固化程序无论怎样都不能正常运行!复位电路只有R、C 2个元件,——10K,10uf 绝对是选用进口件。并联在C两端的复位按钮也不起作用。明显表现是89C51第30脚ALE信号复位后没有输出。


只言片语根本不足以判别故障所在,硬件调试离不开测量仪器,即使再简单的问题也不要忽视了测量的重要性。
硬件调试,测试顺序一般为:电源——复位——晶体,这三项正常了再查其它原因。
电源有幅度和文波要求,复位有先后、时长、幅度要求,晶体有幅度、频率、误差要求。
比如我就是一个电源上接个电阻和发光二极管这么简单的电路,上电后发光二极管不亮,这个情况就有可能千百种的原因导致,不测量无真相阿。

使用特权

评论回复
地板
NE5532| | 2010-4-6 20:39 | 只看该作者
不出意外,应该不是电路问题,RC复位本来就存在着模糊电平的问题,如果单片机的复位端本来就带施密特,大可不必驱动,直接接上去好了,比如PIC。

不过建议你先跟踪下上电波形,看是不是时间不够的问题。要是对复位要求很可靠,可以考虑用复位芯片。其实我在产品里极少用RC复位,一般都是内部复位或者芯片做。

使用特权

评论回复
5
原野之狼| | 2010-4-6 21:20 | 只看该作者
既然反相器也需要稳定 那时间整多点 不就行了么

使用特权

评论回复
6
NE5532| | 2010-4-6 21:30 | 只看该作者
反相器本身不存在时间问题,要说稳定,主要是在电源上升到反相器能够工作的电压之前,端口的状态是什么样的,这种讨论属于极限化的边缘讨论,TI有文献。

使用特权

评论回复
7
highgear| | 2010-4-6 21:35 | 只看该作者
本帖最后由 highgear 于 2010-4-6 21:42 编辑

说你冷漠水平低, 你冷漠还不服气. 这种事情一看就知道你冷漠是没有实际经验的菜鸟, 真不明白你冷漠为何在论坛里大言不惭, 不断用谩骂来代替技术. 这个电路不是你能用谩骂就可以让它工作的.

74ls14估计是担心驱动能力不够, 二是整形。 没有看到实际电路, 只能推测。 74ls 输入是 模拟, 74ls 也应当作模拟器件, 数字逻辑的概念再此行不通, 上电过程中状态不确定。 可以换一个 74HC14 试试, 最好重新设计。

一个电阻加一个电容,就这么简单, 被无数人用了无数次。

8251? 无语 ............

使用特权

评论回复
8
berg| | 2010-4-6 22:40 | 只看该作者
很是无语!!

使用特权

评论回复
9
冷漠|  楼主 | 2010-4-7 11:07 | 只看该作者
3楼建议的的实验已经做过了,电容从10uf 增加到了33uf,问题依旧。

同意2楼,如果要求很可靠的复位,还是采用专用芯片放心点。这个设备是人工够不着的位置,所以要求上电复位一定可靠。只能考虑加复位芯片。

2楼说的有道理,“RC复位本来就存在着模糊电平的问题,”芯片内部的施密特电路保证了复位电平可靠。那么就算我通过74ls14加到复位管脚的是模糊电平,芯片内部的施密特同样起作用,为什么反而不如简单RC电路可靠了?——关键就是感兴趣这件事本身:
1、在这块电路板上,或者在这片89S51第9脚上,这个电路100%不能实现上电复位,——但是按钮复位却可以。也许换一片89S51,问题又不出现了!一切又正常了?于是“啊,原来是芯片问题。不是设计问题。”这是糊弄事。同样一个电路,还要选择不同的89S51?边缘工作状态,这种产品交给谁?

2、问题的究竟。为什么不能这样设计。(但是实际又看到了,它在多数89s51上是正常工作的。)总不能工作不正常时,说原因是单片机的问题,而不是复位电路的设计问题。

换74HC ?一个月之前我们硬件工程师换的是CD4584,CD40106,CD4069......问题照旧。本来复位电路输入的就是模拟电平,没要求数字电平。LZ提出的就是这个问题,2楼4楼讲的很清楚了。highgear建议我:把74ls去掉不就完了?一个电阻加一个电容,就这么简单。大师果然聪明。

我刚查到一篇论文《微处理器复位电路研究》,——研究!?不就是一个电阻加一个电容吗?

使用特权

评论回复
10
awmc_m| | 2010-4-7 13:35 | 只看该作者
复位,要么电平,要么时间,测一下波形就知道是不是复位电路的问题了。
如果复位信号符合要求那就其它方面先找原因。
74ls14是有输入内阻的,你外面接一个对地10k根本不足以拉低。1k对地都未必有用。
下面那两个低电平复位电路,线上一个串了10k,那就不起作用了。另一个带三机管的,基极100k,74ls14内阻20k,也是不足以拉低的。
所以测波形才是王道,先测74ls14输入,再测输出,复位信号是否正常一目了然,否则天天分析理论也不会有结果的,应该从现象看本质。

使用特权

评论回复
11
highgear| | 2010-4-7 20:29 | 只看该作者
盲人骑瞎马

使用特权

评论回复
12
冷漠|  楼主 | 2010-4-8 18:18 | 只看该作者
本帖最后由 冷漠 于 2010-4-8 18:19 编辑
74ls14内阻20k,也是不足以拉低的。


8楼这个很有道理,如果是这个问题,RC电路中的10K电阻就有点大了。C又相当于和20K内阻并联,上电时可能有问题。(上电时,TTL内阻也不定?)

那么,我们一开始就换过CMOS电路,从CD4069,4584,40106,结果都否定了。等一下再试试用了CMOS输出加上拉电阻的效果。

谢了。

使用特权

评论回复
13
520810| | 2010-4-8 19:31 | 只看该作者
学习一下,为以后用的做准备

使用特权

评论回复
14
highgear| | 2010-4-8 19:57 | 只看该作者
盲人骑瞎马

使用特权

评论回复
15
highgear| | 2010-4-8 20:06 | 只看该作者
你们这个项目, 我看悬。看来你们根本没有高手, 也没有宏观项目技术管理, 这点通过 8251的使用,以及栽倒在一个小小的复位电路可以体现出来, 你们以后的路很长。

Good luck.

使用特权

评论回复
16
lishi123| | 2010-4-9 09:08 | 只看该作者
学习一下

使用特权

评论回复
17
程序匠人| | 2010-4-9 09:15 | 只看该作者
“……这位老兄在匠人的几个分立元件复位电路后面加了一个74ls14施密特反相器!意思希望把低电平复位有效变为高电平复位有效……”

回复:
1、如果是想做高电平复位有效,也一样可以用分立元件搭建。没有必要“几个分立元件复位电路后面加了一个74ls14施密特反相器”

2、上电瞬间,在VCC未平稳之前,74ls14施密特反相器如果还没有稳定工作,可能无法保证输出正确。

3、我的调试习惯是,如果系统不工作,首先看VCC有没有问题,其次看复位信号有没有问题。仿真能过,烧片不过,症结十有八 九就这这上面。

使用特权

评论回复
18
huangqi412| | 2010-4-9 09:27 | 只看该作者
哎... LZ, 仿真器可以运行,烧写不运行, 这个第一感觉就该查复位和初始化. 放几个灯,或者串口,这不就出来了么.
跟很多初学者1602LCD烧进去正常,断次电后就不正常一样. 先找复位和初始化.

使用特权

评论回复
19
huangqi412| | 2010-4-9 09:28 | 只看该作者
连神仙都请来了...

使用特权

评论回复
20
wswh2o| | 2010-4-9 09:56 | 只看该作者
mark

使用特权

评论回复
21
草帽小子| | 2010-4-9 10:12 | 只看该作者
毕业多年,从来没用过51仿真器,
所以不会出现这种问题,
哎...

使用特权

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

本版积分规则

17

主题

921

帖子

4

粉丝