EDN China > 技术文章 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

双端口RAM在单片机系统中的应用

来源:中国测控网 / 作者:张奇志?? 2006年07月30日 ?? 收藏0
?????? 1 ?

  在对产品可靠性要求高的系统中,往往需要硬件冗余。有些设备不仅要求其在各种恶劣的天气下工作,而且要求长期不间断工作。为提高可靠性往往采用双CPU系统。平时主单片机系统工作,并将所处理的数据存储在外存,一旦主CPU系统出现故障,副CPU可切换上来,并利用公共外存的数据继续工作,而不需要人工干预。这时双端口RAM做为外存就是两个CPU之间信息传递的最好渠道。本文以美国IDT公司生产的IDT7130为例,阐述双端口RAM在最常用的80C31双机系统中的应用。

?????? 2 ?

  如图1所示,整个系统由2个8031最小系统、双端口RAM、故障探测及切换系统、程序监控系统、I/O转换电路、键盘显示电路及外部受控设备组成。

  2个8031最小系统中,一个为主CPU(左边),右边为副CPU系统。当两个CPU均为正常工作时,切换系统控制为主CPU系统工作,这时副CPU端的CE被屏蔽,同时键盘显示系统和I/O

口由主CPU系统控制。切换系统不断地检测两个CPU系统的工作状况。

  当切换系统检测出主CPU系统发生故障时,屏蔽掉左边的CE,而打开CE,同时将键盘显示系统及I/O交由副CPU系统控制。这时副CPU将接着主CPU系统刚刚中断的工作继续进行。由于副CPU系统所使用的是双端口RAM中同一地址的数据继续工作,所以从外部看不出切换过程的发生。

  为了保证设备长期不间断运行的可靠性,特使用了看门狗电路(MAX813L),这样首先从软件上保证程序运行的可靠性,最后又从双CPU切换来保证硬件上的可靠性。

  由于键盘显示电路(8279)中用到了数  据总线,所以使用了二片74HC245,并将RD、WR进行了二选一,245的方向也由PSEN及RD通过逻辑组合进行控制。

系统的基本结构及硬件框图

 

?????? 3 系统各部分工作原理

?????? 3 .1 IDT7130的工作原理
???
?????? IDT7130为1 kΩ×8位的静态双端口RAM,它采用高性能CEMOS工艺,典型功耗为325 MW,最大访问时间仅为20 ns。它带有两个自身控制,地址和I/O引脚的独立端口。它允许任何一个端口独立地读写存储器中的任何单元。为了避免双CPU系统对
数据读写发生争用,其片内带有硬件端口仲裁电路,以保证双机有序地读写存储器
中的任何单元。在MCS-51系列单片机中,由于没有READY延时线,所以不能使用这
些仲裁电路,而需另设硬件电路来防止数据争用。

?????? 3.2 MAX813L的使用

???
此电路为MAX公司生产的程序监控专用电路,用以防止程序跑死、跑飞,如图2所示。将MR与看门狗输出端WDO相连,看门狗输入端WDI接到单片机的P1.5脚,REST端接单片机复位端RESET。平时,在定时中断子程序中对P1.5输出一次,每次取反,则P1.5脚将输出标准的方波,不断触发看门狗。当系统受到干扰,出现“死机”现象时,单片机将无法从P1.5给出脉冲,1.6 s后813L的REST端便给出复位信号,使单片机复位。另外在掉电和上电期间,MAX813L均能产生可靠的复位信号。

MAX813L 电路的示意图

???
?????? 3.3故障探测及切换系统

?????? 这个系统有两个任务:一是探测2个CPU系统的工作状况;二是发现故障时及时进行整个系统的切换。既然要检测CPU的工作是否正常,它本身就应该高可靠,结构要精少,严格筛选。2个CPU同时给故障检测及切换系统不间断脉冲,检测系统则检测所给的脉冲间隔,由此来确定2个CPU系统是否正常工作。这个间隔应大于看门狗产生复位所需的时间,以确定确实硬件出故障后再做切换。当某CPU系统所给出的脉冲间隔大于设定值时,说明此CPU系统发生了故障。这时切换控制系统就可通过逻辑组合屏蔽掉此CPU的CE,同时放开另一CPU端的CE,将双端口RAM交由副CPU使用。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

双端口? RAM? 单片机?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈