基于双CPU的切换及控制系统设计

发布者:鑫森淼焱最新更新时间:2012-01-19 来源: 微计算机信息 关键字:双CPU  切换  监控  控制 手机看文章 扫描二维码
随时随地手机看文章

单片微机具有小巧灵活、易扩展成为功能强大的控制系统。目前,一些监控终端以及许多独立的控制系统(如:发电机的微机励磁装置)多以单片微机为核心构成。但由于诸如工作环境恶劣、电磁干扰等原因,即使使用按工业测控环境要求设计的单片微机也难以保证控制系统能长期可靠的运行,从而导致控制系统瘫痪。这样,如何提高控制系统的可靠性,保证测控系统能正确稳定的运行就尤为重要。显然,采用双CPU冗余设计是非常有效的一种解决办法。由于单片微机的功能强大,价格低廉,为设计双机冗余系统提供了很好的条件。为此,我们设计了一种由两片单片微机组成的双机容错系统,以比较简单和与传统的多CPU系统完全不同思路的设计方法实现了双机的互为备用及相互切换。在该双机冗余系统设计中,其关键问题是双机系统的重构策略和双机系统的仲裁逻辑切换。

1  传统的多CPU系统设计方法

传统的多CPU系统的常用设计方法有三种:

①利用双口RAM实现CPU之间的通信。双口RAM是一种高速的并行传输芯片,具有两套I/O口和竞争裁决电路,可以同时联接两个CPU,这样通过双口RAM可以实现多CPU之间通信。

②利用共享内存的方法实现CPU之间的通信。这种方法与上一种方法类似,所不同的是,上一种方法是利用双口RAM的竞争裁决电路实现对RAM的访问,而这种方法是利用不同的时序实现内存共享的。

③利用总线方法实现CPU之间的通信。通过接口芯片或CPU本身具备的SPI、I2C以及SMBus等接口实现CPU之间的通信。

2  该双CPU系统的结构和工作原理

该双CPU控制系统与传统的多CPU系统的设计方法完全不同,它由两片Atmel公司生产的AT89C51 CPU构成,双机互为备用,彼此独立并行运行,硬逻辑切换。其双CPU控制系统原理框图如图1所示。

这是一种非表决式的双机冗余系统,一个CPU 作为另一CPU的热备份,双机在任务上同步运行。所有输入信号通过输入接口同时送给两个CPU,但CPU 运算、处理后的输出量受到仲裁切换电路的控制,只有主CPU允许读写外部数据存贮器及输出至外部设备,当主CPU发生故障时,系统的自我检测切换逻辑将发出信号,自动切断其输出通道,并通过CPU的工作指示系统报警。此时,系统或自动或人工切换到另一个备用的CPU,并同时打开其输出通道,备用机变为主机运行状态,控制系统这时降级为单机运行。人们可以将原主机拔离系统以便进行维修。从图中可知,两个CPU的地址、数据及控制总线都通过一组三态门(三态门 1、2)输出与外部数据存贮器相接,两个CPU的某些输出控制I/O口都通过另一组三态门(三态门3、4)输出与外部输出控制设备相接,两组三态门的控制端都同时受仲裁切换电路控制,而仲裁切换电路的两路输出互为反逻辑,即只有一路输出能使所控制的对应三态门(如三态门1、3)正常输出,另一路输出使所控制的对应三态门(如三态门2、4)处于高阻状态,从而不影响主CPU正常读写数据和向控制I/O口输出数据。

图1  双CPU控制系统原理框图

表1 双机仲裁切换逻辑真值表

ST1 ST2

S

CTL1 CTL2

CPU1 CPU2

1    1

1

0

0    1

1    0

主   辅

辅   主

0    0

´

1    1

两CPU均工作不正常

1    0

´

0    1

CPU1为主机,CPU2工作不正常

0    1

´

1    0

CPU2为主机,CPU1工作不正常

 

3  双机仲裁切换逻辑电路

在该双CPU控制系统中,两者互为热备份,同时运行,一台为主机,另一台为备份机。在双CPU都正常运行的情况下,系统默认CPU1为主机, CPU2为备份机。当主机出现故障时,要求系统能自动切换到备份机,使备份机提升成为主机,从而代替原主机从故障发生处连续运行并发出报警信号。同时要求能通过手动开关人为选定主机运行。设判别两个CPU是否正常工作的信号分别为ST1、ST2,工作正常时它们的状态为1,工作不正常时状态为0。仲裁切换电路输出为0的控制端控制工作正常的CPU的相应三态门组使能,仲裁切换电路输出为1的控制端控制另一CPU的相应三态门组禁止输出。自动或手动选择主机的控制开关为S,当两个CPU都工作正常时,可通过S开关自动选择或指定主机(当S开关状态为 1时为自动默认CPU1为主机,当S开关状态为0时则强制CPU2为主机);当两个CPU中任意一个工作不正常时,则此时与S开关的状态无关,仲裁切换电路的输出能确保只有与工作正常的CPU相连的三态门组的使能端为0,从而控制该正常CPU正常读写数据和输出控制;当两个CPU都不正常时,仲裁切换电路的两个输出都为1,两个CPU都不能正常读写数据和输出控制。这样当两个CPU中任何一个或全正常时就能保证只有一个CPU能正常读写数据和输出控制,当两个CPU都不正常时,则理所当然系统不能正常工作。按要求可得真值表如表1所示。

由真值表可得仲裁切换电路的两路控制三态门的控制信号逻辑CTL1、CTL2分别为:

构成的仲裁切换电路如图2所示。

 

4  CPU状态监控电路

监控电路采用了具有电源监控电路和看门狗功能的微处理芯片MAX813L,该芯片它具有4个功能:

①看门狗计时器功能。当看门狗输入信号在1.6s内无变化时,产生看门狗输出;

②电压监控功能。当掉电或电源监测电压低于1.25V时,产生掉电输出;

③电复位功能。当上电时自动产生脉宽200ms的复位信号;

④人工复位功能。当人工复位端输入低电平时,产生复位信号输出。

MAX813L采用DIP-8封装,如图3所示,引脚功能说明如下:

①MR:手工复位输入端,可接人工复位按钮,该端输入低电平保持140ms以上,可产生复位(RST)信号;

②Vcc:+5v电源;

③GND:电源地;

④PFI:电源检测输入端;

⑤PFO:电源检测输出端,电源正常时,保持高电平;

⑥WDI:看门狗输入端。俗称“喂狗”信号,必须在1.6s内使该端输入反向信号;

⑦RST:复位输出端。高电平有效,可输出200ms的正脉冲,当电源Vcc低于4.65v时,RST保持高电平;

⑧WDO:看门狗输出端。正常工作时输出高电平,当WDI信号在1.6s内不能及时送入并反向时,该端输出低电平信号。

因AT89C51无看门狗功能,为了监测系统状态,在本系统中主要利用的是MAX813L的看门狗计时器功能。其中看门狗输入端WDI由CPU的P3.4提供,CPU在规定的时间内定时改变P3.4

的状态,由看门狗输出端WDO提供当前CPU的状态信号至仲裁切换电路的STi(i =1或2)端,从而由仲裁切换电路自动或手动确定主机。图4为用MAX813L为CPU1接的看门狗电路,当CPU1工作正常时能正常提供P3.4信号则WDO端ST1输出高电平,D1亮D2灭;当CPU1工作不正常时不能正常提供P3.4信号则WDO端ST1输出低电平,D2亮D1灭。

5  系统硬件电路

图5为利用本文介绍的双CPU的切换及控制系统组成的一种硬件电路。从图中可知,系统每个CPU都可以通过RS232串行口与上位机通信,两片 CPU彼此独立运行,通过双机仲裁切换逻辑电路共享外部16KB RAM和控制8路I/O口输出。利用这种方法还可以通过增加三态门组成更大容量(最大64KB)的外部RAM和更多的输出控制I/O口或扩展I/O口。

图5 一种双CPU的切换及控制系统的硬件电路

6  结束语

该双CPU控制系统构思独特,两个CPU彼此独立运行,但读写的都是同一块外部RAM的数据,只是只有主CPU能实际读写数据,故不存在内存数据交换和共享问题,同时也只有主CPU能输出控制外部设备,可广泛应用于要求高可靠性控制的场合,作者将该项技术应用到自行研制的电脑样板切割机上取得了较满意的结果。

[参考文献]

[1] 李耀民,邬义杰.智能流量检测系统高可靠性数据保护方法研究[J].机电工程,2002,19(5)

[2] 赵跃龙,王霜剑.51系列单片机双CPU系统通信方法[J].单片机与嵌入式系统应用,2003,3

[3] 周建勇,何为民.多CPU单片机系统设计在社区安防系统中的应用[J].中国电子网

[4] 黄再银,宗建华.闭路电视监控系统中解码器的设计[J].中国有线电视,2002,8

[5] 何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社. 1990.5

[6] 杨恢先,黄辉先等.单片机原理及应用[M].长沙:国防科技大学出版社. 2003.3

[7] 方晓,马晓平. 基于双CPU计算机的无人机回收系统冗余度设计[J].微计算机信息,2004,1,23-24

关键字:双CPU  切换  监控  控制 引用地址:基于双CPU的切换及控制系统设计

上一篇:单片机89C51在直流调速控制系统中的应用
下一篇:基于单片机与电机PWM控制的水族类喂养自动送氧送料系统

推荐阅读最新更新时间:2024-03-16 12:51

TTCAN在风力发电控制系统中的应用
1  引言                   近几年,风力发电产业开始进入一个高速增长期 ,而随着风电的火热,风力发电控制技术也得到了快速的发展。本文所设计的风力发电 控制系统 采用模块化设计,应用于1兆瓦风力发电控制。设计包括了主控制器模块、i/o模块、电网测量模块和变桨驱动模块,各模块间通过can总线连接进行通讯。                   由于传统的can网络没有统一的全局时钟,本质上是以事件触发为基础的总线系统,会经常存在总线时序混乱、报文发送冲突导致发送延迟等弊端,影响系统的实时性 。尽管事件触发can在报文发送失败后提供自动重发功能,但是发送的延时会导致报文帧发送的确切时间难以预料,从而导致can网络报文发
[嵌入式]
基于DSP的智能控制器高可靠性分析与设计
   硬件系统高可靠性设计   1 硬件电路设计   硬件电路原理如图1所示,在具体设计中,每个部分都应考虑抗干扰问题,以最大限度地减小干扰对整个系统性能的影响,确保系统具有足够高的可靠性。      图1 智能控制器硬件电路原理框图   ①DSP部分   本控制器以TI公司的TMS320F2812(以下简称F2812)为核心,它是一款专用于控制的高性能、多功能、高性价比的32位定点DSP芯片。F2812部分的电路设计重点考虑如下问题:   ● 电源上电次序。F2812为低电压、多电源DSP,必须满足I/O电源先于CPU内核电源上电的次序,且两者上电时间差不能太长(一般不超过1s),否则会影响器件的使用寿命甚至损坏器件。
[嵌入式]
基于DSP的智能<font color='red'>控制</font>器高可靠性分析与设计
智能高清监控发展新动向 四大技术攻关
随着监控技术的发展,发展智能化网络化简单化工程布线越来越受到人们的关注和喜爱了。安防监控系统规模越来越大,视频监控系统呈现出强大的联网需求,势必要将系统网络化,以满足越来越强大的视频智能功能的发展。智能只是其中一种技术,还有网络传输技术解决方案。攻关高清技术,高清监控发展走向智能化。 智能高清监控发展新动向 随着安防监控系统的不断发展,数字化、网络化、智能化的监控趋势正坚定不移朝前迈进,在前端头数多、业务结构复杂、管理和集成度高及应用工程布线要求越来越简单化的情况下。 据了解到,在天津,目前行业性的视频监控系统应用规模越来越大,动辄有覆盖一个城市、甚至覆盖全国的需求。典型的如公安的平安城市,要实现一个城市的
[安防电子]
Gecko微控制器在安全性、存储和外设方面取得重大提升
Silicon Labs(亦名“芯科科技”,NASDAQ:SLAB)持续增强EFM32™ Gecko微控制器(MCU)系列产品以满足嵌入式开发人员对于设计下一代安全、高端IoT设备的需要。使用Silicon Labs新款Jade和Pearl Gecko MCU,开发人员可轻松地将触摸控制界面、强大的安全性能和多种低功耗传感器添加到IoT设备之中。新款MCU特别在高性能、低能耗应用,以及支持通过在线(OTA)更新终端产品方面进行了优化。 Jade和Pearl Gecko MCU提供一流的硬件加密技术,具有高能效的安全加速器、真随机数发生器(TRNG)和安全管理单元(SMU),确保IoT设备的安全连接,且不会牺牲电池使用寿命。加密/解
[物联网]
Gecko微<font color='red'>控制</font>器在安全性、存储和外设方面取得重大提升
MSP430与I2C总线接口技术的研究
引言   MSP430单片机自从2000年问世以来,就以其功能完善、超低功耗、开发简便的特点得到了许多设计员的青睐。MSP430与传统的51单片机在结构上有很大的区别。其中之一就是:在MSP430的外围接口电路中,没有提供像51那样控制外设读、写、地址锁存信号的硬件电路。与这种接口电路相适应,MSP430更倾向使用I2C总线以及ISP等基于串行接口的外围器件。另一方面,随着I2C技术的发展和成熟,其硬件结构简单、高速传输、器件丰富等特点使该类器件的应用越来越广泛。因此研究新型单片机MSP430与I2C总线接口技术有着重要的意义。本文针对这一问题进行研究,分析研究了MSP430与I2C总线接口的原理和方法,提出了高效的接口方法,
[应用]
液压制动能量再生系统的电子控制系统设计
引言   一种液压式制动能量再生系统(HBRS)应用于对公交车动力系统的改造。由 电磁离合器 、液压泵马达和液压蓄能器以及相关的机械装置和油路构成的车辆制动能量回收再生装置,通过分动箱与公交车动力传动装置实现并行联接。该系统将公交车制动时的动能转换为蓄能器的液压能储存,并在车辆加速起步时将液压能转换为车辆的动能,从而达到节能减排的目的。   HBRS采用液压蓄能器作为能量存储元件。由于液压蓄能器自身能量存储的特点决定了系统工作特性的非线性,采用 电子 控制单元 实时调整变量液压泵马达的有效排量可以优化系统的操作性能。HBRS 控制系统 包括周期性任务和1个事件触发任务,可以采用时间触发模式设计系统。本文针对HBRS控制
[汽车电子]
液压制动能量再生系统的电子<font color='red'>控制</font>系统设计
整合触压测量电路 Maxim推TacTouch触觉激励控制
Maxim Integrated Products 推出TacTouch 触觉激励 控制器 MAX11836 ,适用于触觉激励装置中的单/多层压电激励和电活性聚合物激励(EAP)。 MAX11836 扩展了Maxim 针对触控处理和触觉回馈应用的TacTouch产品线,该 元件 整合的触压 测量 功能可有效避免伪触控操作,适用于蜂巢式电话、可携式媒体播放器、数位相框、多功能印表机、数位相机/摄影机、销售点(POS)终端、 电子书 、PC和笔记型电脑。 MAX11836 是以Maxim 的前一代MAX11835 元件为基础上,并增加了 驱动 /检测电路,可用于连接多达四个外部压力感应电阻(FSR),以测量触压。 F
[电源管理]
基于单片机控制的高精密直流电流源的设计
高精密电流源能为精密仪器提供精度较高的电流供给,适用于半导体和材料科学研究中各种电阻的自动测量任务。具体应用中,对电流源的精度、可控性要求较高,使用单片机控制的高精密电流源设计,相对于现行的其他设计方法而言,可以较好地满足上述要求,并且具有设计容易、性价比高、开发周期短等特点。本设计使用了ATMEL公司生产的AT89S系列高性价比的52单片机进行设计,体积轻小,实用性强,具有很好的应用前景。 1 系统组成及工作原理 本设计通过 AT89S52 单片机实现对D/A转换芯片DAC714和A/D转换芯片TLC2543的控制,来产生直流电压信号,经输出采样电路的电压/电流转换、放大,输出稳定的直流电流。系统中使用D/A输出
[电源管理]
基于单片机<font color='red'>控制</font>的高精密直流电流源的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved