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

2009-8-13 08:52 1933 7 7 分类: MCU/ 嵌入式
 阐述了双端口RAM使用的一种方法,当其应用于双机容错系统时,可简化电路,提高系统的可靠性。本方案经实践证明是有效且实用的。
R`r7xaz44606 关键词 双端口RAM  双机容错  切换系统   硬件冗余电子园51单片机学习网6HkX,}:t"zd)z5?
电子园51单片机学习网yO+\#P w0n
1 电子园51单片机学习网y/E-C*g v7^7h]`@['Z
  在对产品可靠性要求高的系统中,往往需要硬件冗余。有些设备不仅要求其在各种恶劣的天气下工作,而且要求长期不间断工作。为提高可靠性往往采用双CPU系统。平时主单片机系统工作,并将所处理的数据存储在外存,一旦主CPU系统出现故障,副CPU可切换上来,并利用公共外存的数据继续工作,而不需要人工干预。这时双端口RAM做为外存就是两个CPU之间信息传递的最好渠道。本文以美国IDT公司生产的IDT7130为例,阐述双端口RAM在最常用的80C31双机系统中的应用。
x5]8K`s446062 
)L$y0Zzl0T44606  如图1所示,整个系统由2个8031最小系统、双端口RAM、故障探测及切换系统、程序监控系统、I/O转换电路、键盘显示电路及外部受控设备组成。电子园51单片机学习网2ef2}DQ v?
电子园51单片机学习网4} Z,{r.Z.]U6XZC
  2个8031最小系统中,一个为主CPU(左边),右边为副CPU系统。当两个CPU均为正常工作时,切换系统控制为主CPU系统工作,这时副CPU端的CE被屏蔽,同时键盘显示系统和I/O口由主CPU系统控制。切换系统不断地检测两个CPU系统的工作状况。
)S)N w4lym|44606
'Up Vv3Q?44606  当切换系统检测出主CPU系统发生故障时,屏蔽掉左边的CE,而打开CE,同时将键盘显示系统及I/O交由副CPU系统控制。这时副CPU将接着主CPU系统刚刚中断的工作继续进行。由于副CPU系统所使用的是双端口RAM中同一地址的数据继续工作,所以从外部看不出切换过程的发生。
8u_[,X{7KM44606
'Rb v&o9Go4IsY44606  为了保证设备长期不间断运行的可靠性,特使用了看门狗电路(MAX813L),这样首先从软件上保证程序运行的可靠性,最后又从双CPU切换来保证硬件上的可靠性。电子园51单片机学习网%vT6IVA ]5c
电子园51单片机学习网 L.IJ9MLf Yod.bq
  由于键盘显示电路(8279)中用到了数  据总线,所以使用了二片74HC245,并将RD、WR进行了二选一,245的方向也由PSEN及RD通过逻辑组合进行控制。电子园51单片机学习网4h&@ [9b2^vV

bjUl)N44606

b&KG9Uf5Nu8n44606 

$E7JlA-Yb w44606电子园51单片机学习网H9kaC PW-Bd%E

电子园51单片机学习网1D3^Ob+{
3系统各部分工作原理
XO9V6@ l$Rb9]x-_+F0R44606

o} p!Jhr{-e44606电子园51单片机学习网v:f%gGM L5M

3 .1 IDT7130的工作原理
z8x9B:LjP6Vp*r44606    IDT7130为1 kΩ×8位的静态双端口RAM,它采用高性能CEMOS工艺,典型功耗为325 MW,最大访问时间仅为20 ns。它带有两个自身控制,地址和I/O引脚的独立端口。它允许任何一个端口独立地读写存储器中的任何单元。为了避免双CPU系统对
&WdW9@uXn"?44606数据读写发生争用,其片内带有硬件端口仲裁电路,以保证双机有序地读写存储器电子园51单片机学习网Y'mM(bTC
中的任何单元。在MCS-51系列单片机中,由于没有READY延时线,所以不能使用这
2fz5o'z$?A)iX44606些仲裁电路,而需另设硬件电路来防止数据争用。电子园51单片机学习网 YBx~nS0M K
电子园51单片机学习网K`Frv
3.2 MAX813L的使用电子园51单片机学习网 NNi&B@-|

:j*r*o@ o9n3b44606电子园51单片机学习网.L0e%Nu3E+IX"t
  此电路为MAX公司生产的程序监控专用电路,用以防止程序跑死、跑飞,如图2所
NyPn @q44606示。将MR与看门狗输出端WDO相连,看门狗输入端WDI接到单片机的P1.5脚,REST电子园51单片机学习网%K i;lzw0r8}"q
端接单片机复位端RESET。平时,在定时中断子程序中对P1.5输出一次,每次取反,则P1.5脚将输出标准的方波,不断触发看门狗。当系统受到干扰,出现“死机”现象时,单片机将无法从P1.5给出脉冲,1.6 s后813L的REST端便给出复位信号,使单片机复位。另外在掉电和上电期间,MAX813L均能产生可靠的复位信号。
TAf*`9XI/c44606
b(e"sz%B;l,O F446063.3故障探测及切换系统

9g:m+q^'rt l44606

电子园51单片机学习网1T'j.{!Y+m

电子园51单片机学习网Hy%d RQ

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

6VnLjOw.GP446064  软件电子园51单片机学习网u+?5_9V K6[ARG
电子园51单片机学习网`/y;Y)y E C
  在此电路的其它部分有现成的8 Hz信号,可将此信号作为外部中断源,由P1.5输出脉冲信号给故障检测电路及看门狗电路。每发生一次中断,将P1.5输出取一次
#^ WO4`)N&@IWf44606反,形成了250 ms的方波信号。外部中断子程序如图3所示。其中03H为设定的标志
\ mh9[ S]{44606位,它代表了上一次P1.5输出的电平。
@n/T@%Y,Y%Dp44606
s'ha*J@.Q/T2Z44606    在主程序的初始化中,应避免对各内外存储器置数,以便出现故障产生复位后,单片机能够不间断按原故障处继续运行。电子园51单片机学习网+m3Z w&W+hXqu
电子园51单片机学习网#`w)f lc
结 论

s+x"td G+A;xw@O44606

电子园51单片机学习网8A'Vyb?


k;}zt"ggVz44606 电子园51单片机学习网bV2Xf%W"I\i

电子园51单片机学习网JjJ kwH G2pi

 电子园51单片机学习网d j,?/gV.`-Ek)~

电子园51单片机学习网.U n+O[jp$o6e

电子园51单片机学习网Jq5dgd*J
   在以往的双机容错系统中,为了共享存储器而不得不增加大量类似245、244的器件,反而影响了可靠性的提高,而双端口RAM的使用可大大简化电路,从而真正保证双机系统可靠性的提高。电子园51单片机学习网6lD6jDsuG[2Z
电子园51单片机学习网v#f`[ L"?@C{
  对以上方案进行了许多模拟故障试验,均能可靠地进行切换和不间断工作。应用在建筑塔钟控制系统上以后,经过长期运行,证明设计是成功的,运行是可靠的。
TMBOc;J5R44606<--→参考文献CH(开始)-->

3q7|E+G*{y2F!m_44606
  参考文献
1  赵峰.高性能双口RAM及应用.现代  电子技术,1997 电子园51单片机学习网`0fg"gJ w9Kc1R!~
2  李高强等.双口RAMIDT7130在全数字化交流调速系统中的应用.电子技术应用,1996
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条