基于80C552单片机的多芯片同步复位电路

出处:微计算机信息 发布于:2007-09-24 08:50:43

  摘要:首先分析了单片机应用系统的一般复位电路,然后讨论了多芯片系统对复位功能的要求,并针对80C552的特殊复位结构,详细介绍了一种软件、硬件相结合的同步复位电路。
  关键词:软件复位;同步;可靠性

  引言

  复位是单片机的重要操作内容,复位功能是系统正常运行的先决条件。在简单的复位电路中,只要在微处理芯片的RESET引脚保持高电平达2个以上的机器周期,即可完成复位操作[1]。考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,一般只要在RESET引脚出现10ms以上的高电平,就能使单片机有效复位。但是在单片机应用系统中除单片机外,往往还有若干个外围器件,如果外围器件有复位要求,便形成了多个芯片的综合复位系统,这时,一般的复位电路就不能满足使用要求,本文以常用芯片80C552为例,提出了一种多芯片同步复位电路设计方法,供读者参考。

  1.MSC-51系列的一般上电复位电路

图1 一般复位电路


一般上电复位电路是利用RC充电原理实现的,如图1(a)所示。初始上电,电容两端等电位,则RESET为高电平,随着对电容的充电,RESET端电位逐渐降低,直至低电平,复位过程结束。RC的选取应使RESET端保持10ms的高电平,才能实现可靠复位。

图1(a)虽然能实现上电复位功能,但对干扰没有抵抗作用,不能保证复位电路任何时候都能可靠地工作。单片机复位端口的干扰主要来自电源的噪声,尽管不会造成单片机的错误复位,但会引起某些内部寄存器错误复位。因此要采取必要措施,消除干扰低复位功能的影响。

图1(b)给出了一个改进的电路。电阻R与电容C构成一个低通滤波环节,然后通过74LS14施密特电路接入单片机复位端,可以提高对串入复位端噪声的抑制能力。电路中并联二极管D的目的是在电源断电后,电容能迅速放电。如果没有二极管,那么在断电窄脉冲的干扰下,由于电容C不能迅速将电荷放掉,待电源恢复时,由于电容C两端仍维持较高电压,单片机不能上电自动复位,导致程序运行失控。

  2. 基于80C552的多芯片同步复位的硬件电路

  2.1 80C552内部特殊的复位结构

图 2 80C552片内复位电路


80C552[4]芯片的内部复位电路和MSC-51系列的其他芯片不同,它已经将抑制噪声干扰的史密特电路集成到芯片内部,这样就减少了外部连接的不可靠因素的影响,而且将上电复位用的充电电阻也集成到芯片内部,简化了外部复位电路的硬件设计,提高了上电复位的可靠性。

另外,80C552内部有一个定时监视器T3,可以产生内部复位。如图2所示。80C552的内部复位过程是:将定时监视器T3置为有效,当程序运行出现异常时,定时器T3溢出,并输出宽度为3个机器周期的窄脉冲到复位电路,这样的脉冲足以完成复位操作,使系统尽快地从故障中恢复正常。80C552的外部复位与内部复位是相互独立的,当允许内部复位时,不管RST引脚是否为高电平,都能产生复位操作。

  2.2 单独采用80C552芯片的复位电路

图 3   80C552外部复位电路

 


如果80C552的复位端不再连到其它芯片上,可以采取图3(a)的方案,外部元件少,而且外部复位、内部复位均可实现,系统设计简单,可靠性也高。

  2.3 多芯片简单复位电路

  当系统中有多个复位端连在一起时,不能采用图3(a)的方案。因为电容的放电作用,使得T3输出的窄脉冲无法在RST引脚出现,这样,当产生内部复位条件时,虽然80C552可以得到复位,但其它外围芯片无法得到复位。这时应采用图3(b)的方案,电容不直接与RST引脚相连,在RST引脚就可以取到T3输出的窄脉冲了。这样,当产生内部复位条件时,整个系统都可以实现复位了。

  但由于不同厂家生产的芯片结构不同,对复位的要求也不同[5],况且多芯片的复位连接必然使复位线加长,这极易引起较大的分布电容,从而使外围电路的复位过程滞后于单片机,如果单片机复位结束后立即对外围电路进行初始化操作,往往会导致失败。解决的方法是在程序的初始处加一些延时软件,然后再对外围芯片进行初始化设置,可实现多个芯片的可靠同步。

  2.4 基于80C552的多芯片同步复位电路设计图 

 
图 4  多芯片综合复位电路举例 

5 软件复位流程图

 


  图4是我们设计的遥控数据采集器的接收和转发电路,红外接收器接收发射器发过来的现场数据信息,送到89C2051进行处理,然后通过I2C总线传送到80C552,经过80C552进一步处理后,采用CAN总线传送到数据处理中心.我们这里仅对它的复位电路进行讨论.

  在这个系统中,除了80C552需要复位外,还有两个芯片需要复位操作,一个是CAN控制器SJA1000,一个是单片机89C2051。其复位要求是:既要有上电自动复位功能,又要能通过定时监视器T3实现“看门狗”复位功能;当80C552复位时,89C2051和SJA1000也同时复位;当89C2051或SJA1000出现问题时,通过80C552能够分别对其进行复位,而不影响80C552程序的正常运行。而且,89C2051和SJA1000两个芯片的复位电平信号不同,前者为高电平复位,后者为低电平复位。按照上述功能要求,简单的采用前面介绍的两种复位电路均不可行。于是我们采取了一种软件与硬件结合的方法,这种方法是,在硬件结构上,芯片80C552的外部复位电路仍采用图3(a)的结构,芯片89C2051和SJA1000的复位不直接与80C552的复位端相连,而是连到了80C552的两根I/O口线P1.1和P1.3;在软件设计上,通过在初始化程序中软件模拟上电复位过程,就可以满足系统的要求,其程序流程图如图5所示。

  系统综合复位过程是:系统上电后,80C552首先复位,开始运行软件程序,在执行初始化部分时,首先通过P1.1和P1.3实现对89C2051和SJA1000的复位操作,然后再运行其他程序。当程序运行出现异常时,“看门狗”起作用,T3溢出产生内部复位操作,程序重新开始,初始化部分也重新运行,89C2051和SJA1000随之再复位。在程序正常运行过程中,如果与89C2051或SJA1000相关的模块出现错误时,可以通过软件判定是否出现异常,之后通过P1.1、P1.3端口分别对89C2051或SJA1000单独进行复位操作,此时80C552并不需要复位,程序正常运行。

  3 结论:

  本文作者创新点: 对于多芯片结构提出了一种软件与硬件相结合的方法建立同步复位系统。这种方法有利于提高系统设计的灵活性和可靠性。经过长期使用的结果表明,这种采用软件、硬件相结合的复位方法,具有硬件器件少、灵活、可靠性高的特点,完够保证多个芯片的可靠同步。


  

参考文献:

[1]. 80C552 datasheet https://www.dzsc.com/datasheet/80C552_103605.html.
[2]. 74LS14 datasheet https://www.dzsc.com/datasheet/74LS14_1485322.html.
[3]. 89C2051 datasheet https://www.dzsc.com/datasheet/89C2051_105398.html.
[4]. SJA1000 datasheet https://www.dzsc.com/datasheet/SJA1000_609075.html.


关键词:单片机电路芯片

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!