APP下载

基于双口RAM的双CPU控制系统设计

2014-09-25石俊杰陈军华

通信电源技术 2014年1期
关键词:看门狗存储空间事务

石俊杰,陈军华

(63981部队,湖北 武汉430030)

0 引 言

在现代智能控制系统中,随着信息量的增加和实时性要求的提高,经常需要对信息或数据进行高速采集和处理,这就要求在设计控制系统时充分关注它的信息处理能力,否则极易造成数据处理中的“瓶颈”现象,从而达不到设计要求。目前,除了采用性能更高的控制芯片外,还可以采用双CPU结构,利用高速双口RA M实现双CPU间的信息处理。这样,不管是并行处理网络中的数据共享,还是在流水处理中的数据传送,都能保证数据通路的畅通;而且,随着低端微处理价格的不断下降,采用双CPU结构有时能避免采用高性能CPU上的高成本,获取更高的经济效益。

1 设计双CPU系统的几个要点

双CPU控制系统比单CPU控制系统更为复杂,本文着重从几个值得注意的要点予以探讨:

(1)确保双CPU工作的协同和可靠

在双CPU控制系统中,两个CPU应是同一系统中的两个不同的处理单元,它们可以处理不同的事务或数据,但对控制系统外部接口而言,它们可以看作是一个整体。因此,一旦其中一个CPU出现故障,另一个CPU会有反应,所以在硬件和软件设计时有相应的故障冗余处理。

(2)合理设计交叉事务的实时处理软硬件

图1 交叉事务的实时处理框图

如图1所示,在有些控制系统中,有时需要通过事务处理接口A(B)实时访问数据采集接口B(A)或事务处理接口B(A),这时,单纯依赖数据共享是不够的,必须考虑双CPU间的直接指令传送。

(3)双口RA M存储空间的组成及访问

采用双口RA M时,两个CPU可以共享数据,还可能需要互相传递指令,实现交叉访问。因此,存储单元的空间分布及访问安全也是必须注意的问题。

2 典型应用实例

在具体设计中,可以根据设计要求选择性能及I/O资源合适的CPU和双端口RA M。这里选用Winbond公司的高性能微控制芯片W77E58,其相关技术指标为:

a.最高40 MHz的时钟频率;b.2优先级12中断源;c.4×8bit的I/O口;d.2个全双工串行口。

在双端口RA M 中,IDT(Integrated Device Technology)公司的高速异步双口RAM IDT7132使用较为普遍,其相关技术指标为:

a.访问时间:20/25/35/55/100 ns;b.两套独立的I/O口,包括数据总线、地址总线、控制总线;c.存储容量:2 K×8bit;d.单5 V供电。

现以W77E58和IDT7132组成双CPU智能控制系统,结合上述几个要点介绍。

2.1 可靠性策略

在组成双CPU系统时,可靠性应加以关注。特别是在复位逻辑、故障处理方面。在两个CPU控制程序开始工作时,需要对相关接口、存储空间、参数及变量初始化;一旦其中某一CPU出现程序“跑飞”现象,其看门狗电路应立即动作,复位并重启;此时,另一CPU也应可靠复位,否则出现故障的CPU初始化处理可能会与另一CPU的正常处理程序产生冲突。为此,可以采用图2所示电路,实现双CPU的联动复位。

图2 双CPU联动复位电路

图2 中D18、D19为看门狗芯片DS1232,WDOG_A和WDOG_B分别连接两个CPU的看门狗脉冲端口,RST连接两个CPU的Reset端。

在通电复位后,正常工作时,两个CPU分别给WDOG_A和 WDOG_B提供看门狗脉冲,RST持续保持低电平;一旦某一CPU出现故障而不能提供看门狗脉冲时,对应DS1232的RST端会输出高电平,迫使两个CPU都复位重启。

2.2 交叉事务的实时处理

实时处理交叉事务一般包括对键盘中断、特殊控制指令、硬件故障的处理,往往需要很高的响应速度,此时,仅利用对共享数据的查询是不够的,可以利用CPU的中断处理模式实现快速响应。

在图3所示电路中,双CPU除了利用两套独立的I/O实现资源共享外,还采用LB1~LB4、RB1~RB4直接连接的方式实现直接指令控制。例如:当需要通过W77E58 A的事务处理端口,如键盘等,紧急控制W77E58B所连接的事务处理端口,如继电器等产生动作,就可以通过 W77E58A直接控制 W77E58B产生中断,从而达到快速响应的目的。

图3 双CPU直接指令控制电路

2.3 存储空间的组成及访问

在较为复杂的双CPU系统中,双口RAM的存储空间往往不是单一的共享数据分区,如在上述示例中,可能还要用到指令分区、故障信息分区等,如表1所示。

表1是为方便说明给出的示例,不同的控制系统可能会有不同的存储空间组织及访问控制。对于存储空间的访问,还应注意:

(1)对于采用异步双口RA M的系统,两个CPU不可对同一地址同时进行写访问或一读一写访问,应注意访问仲裁逻辑。

(2)对于非常重要的分区,必要时可采用备份,出现异常时应予以更新。

(3)对指令区和故障信息区进行读访问后,应对所读存储空间清零,避免重复响应。

表1 双口RAM存储空间的组成及访问特性

3 结束语

双CPU控制系统应用越来越广泛,其中许多采用了双口RA M,当然,按设计和实现功能的不同,其具体实现也不尽相同。除了本文所述之外,控制程序的可靠性冗予设计、抗干扰措施及事务处理的合理分配都是设计双CPU控制系统时值得注意的。上文所述方法及要点,也适用于基于双口RA M的多CPU控制系统。随着新器件的不断出现,性能的不断提高,相信会有越来越多的新技术出现在智能控制系统中。

[1] W77E58 DATA SHEET[Z].Winbond,Inc.

[2] IDT7132 DATA SHEET[Z].Integrated Device Technology,Inc.

猜你喜欢

看门狗存储空间事务
基于多种群协同进化算法的数据并行聚类算法
一种嵌入式计算机系统的看门狗设计
苹果订阅捆绑服务Apple One正式上线
河湖事务
把他叫醒
用好Windows 10保留的存储空间
把它叫醒
把它叫醒
基于优先级的多版本两阶段锁并发控制协议
浅析Oracle事务