微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 双端口RAM在单片机系统中的应用

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

时间:03-08 来源:互联网 点击:

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均能产生可靠的复位信号。

3.3故障探测及切换系统

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

4 软件

在此电路的其它部分有现成的8 Hz信号,可将此信号作为外部中断源,由P1.5输出脉冲信号给故障检测电路及看门狗电路。每发生一次中断,将P1.5输出取一次
反,形成了250 ms的方波信号。外部中断子程序如图3所示。其中03H为设定的标志
位,它代表了上一次P1.5输出的电平。

在主程序的初始化中,应避免对各内外存储器置数,以便出现故障产生复位后,单片机能够不间断按原故障处继续运行。

5 结 论

 

 


在以往的双机容错系统中,为了共享存储器而不得不增加大量类似245、244的器件,反而影响了可靠性的提高,而双端口RAM的使用可大大简化电路,从而真正保证双机系统可靠性的提高。

对以上方案进行了许多模拟故障试验,均能可靠地进行切换和不间断工作。应用在建筑塔钟控制系统上以后,经过长期运行,证明设计是成功的,运行是可靠的。

参考文献

1 赵峰.高性能双口RAM及应用.现代电子技术,1997
2 李高强等.双口RAMIDT7130在全数字化交流调速系统中的应用.电子技术应用,1996

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top