首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
模拟电路
» 嵌入式双机容错实时系统的设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
嵌入式双机容错实时系统的设计
发短消息
加为好友
520503
当前离线
UID
872339
帖子
13270
精华
0
积分
6635
阅读权限
90
在线时间
361 小时
注册时间
2012-3-2
最后登录
2016-3-10
论坛元老
UID
872339
1
#
打印
字体大小:
t
T
520503
发表于 2014-3-6 12:51
|
只看该作者
嵌入式双机容错实时系统的设计
计算机系统
,
嵌入式
,
可靠性
,
能力
,
软件
容错实时系统的研究主要集中在两个方面:① 改进实时调度算法,使之确保实时任务在正常运行和遇到错误时,均能在规定时限到来以前获得正确的输出。② 将过去应用于普通计算机系统中的冗余容错策略移植到实时系统中。
在具有硬件容错能力的计算机系统中,其失效65%来自软件,仅有8%来自于硬件。因此,软件容错能力成为决定计算机系统可靠性的关键。为了在出现硬件或软件的暂时或永久故障的情况下,保证关键任务仍能在规定的时限范围内完成运算,并输出正确的结果,提出一种双处理器实时嵌入式容错系统体系结构。该系统结构采用多处理器体系结构,实现计算机之间的通信,并无缝整合了计算机硬件、操作系统、应用软件级的软件容错设计,达到从整体上提高系统可靠性的目的。
1 双机容错实时系统的体系结构
本系统采用图1所示的双机容错系统硬件结构模型。该系统在双机比较系统的基础上,结合多处理机的松耦合与紧耦合系统结构,在不同的处理机间通过通道互连实现通信,为在硬件容错中结合软件容错提供可能。
图1 双机容错系统结构模型
A机和B机各有独自的外围控制逻辑和外设,这样不会引起系统资源的竞争,增加整体系统的稳定性。当然,这样是以花费更多的硬件设施为代价的。比较器及不一致检测用专门设计的仲裁检测电路来实现,其根据A机与B机周期向其发送的自检测信号来判断A机系统和B机系统运行的状况。
双机系统的运行状态如下:
① 如果A机与B机均正常运行,则将计算机A作为主系统,计算机B作为备份使用,A机的运行结果作为系统输出,A机运行到检测点,向B机发送日志,B机更新日志列表。
② 如果A机正常而B机故障,亦将A机的运行结果作为系统输出,同时将B机的运行故障状态报告给A机,并向B机进行复位控制操作。
③ 如果A机故障,B机正常,则进行开关切换操作,B机进行系统备份任务重调度,B机运行结果作为系统输出,并向A机进行复位控制操作,在检测点更新A机日志,保持需要备份的任务状态一致。
2 软件设计与实现
图2所示模型结合嵌入式实时系统的体系结构,采用层次结构和模块结构相结合,无缝整合了计算机硬件、操作系统、应用软件级的软件容错设计。在整体上采用分层的结构模型,克服了软、硬件分离和脱节的问题,提高系统的灵活性和可移植性。模型的每一层均可以看作是一个相对独立的系统。在每一层中按照系统功能,划分不同的功能模块。
图2 双机容错系统软件体系结构
该系统采用对称结构,为支持容错处理,每个节点从下到上分为3个主要部分,即MCFT(Multiprocessor Communication for Fault Tolerance)、RTOS系统级容错组件、任务级动态冗余组件。
2.1 多机容错通信模块MCFT
在操作系统与硬件之间加入MCFT层,MCFT作为BSP(Board Support Package)的一部分,作为硬件平台的抽象层,为操作系统提供统一的界面,提高系统的可移植性。有容错需求的任务,通过MCFT所提供的功能传递日志,保持主系统和备份系统的关键任务的状态和数据一致。MCFT屏蔽了底层通信的具体实现细节,使系统的实现与连接介质无关。
MPFT管理着一些数据包,并且在各个节点之间发送和接收这些数据包,数据包的结构如下:
2.2 RTOS系统级容错组件
RTOS系统级容错组件,包括系统内核级容错支持组件、系统自诊断组件和主/备用机切换支持组件。
(1) 内核级容错支持组件
为支持操作系统级和应用级通信,在该系统中,每个节点上保存两个对象表,一个本地任务表,一个容错任务表。本地任务表在每个节点上都是不同的,它包含在此节点上创建的所有任务。容错对象表包含系统中所有的容错任务,在所有节点上是一样的。为保持在所有节点上容错任务表的一致性,每个节点对容错对象的创建、删除等都必须通知给备份节点。利用检查点技术和传递日志法,保持主系统和备份系统的备份任务的状态和数据一致。一旦主机发生故障,系统程序自动进行主/备用机切换,备用机系统使备份任务就绪,利用实时任务的调度策略,使备份任务在备份机上发生重调度,成为主机。
(2) 系统自诊断组件
如图3所示,系统中采用自诊断的方法来诊断系统级的故障,用任务级的检测来诊断应用级的故障。
自诊断划分为几个不同的测试阶段,系统启动自检测阶段和周期自检测阶段。自动启动诊断的因素有:主/备用机定时切换和主机发生故障。周期自检测阶段根据系统需求,周期性检测外设和通信口。每个阶段对应设备的几种功能块,包括CPU的自诊断、中断响应自诊断、串口自诊断、定时器自诊断、离散量自诊断、RAM自诊断等。
由于结果比较是实时系统中任何事务处理都需要经历的步骤,因此把任务级的故障检测放到结果判别部分进行。
(3) 主/备用机切换支持组件
仲裁检测电路中对主/备用机设置了“看门狗”监视器。当主/备用机处于正常工作状态时,运行于CPU上的某一任务周期性地对“看门狗”施加复位信号,这样,“看门狗”计数器就不可能产生溢出触发信号;当CPU出现故障时,“看门狗”会输出一个离散触发信号并发出报警,此时,系统进行自动切换,让备用的系统机工作。
图3 主控流程
2.3 任务级动态冗余
在实时多任务系统中,采用另一种软件冗余方法——任务级动态冗余。任务级动态冗余方法是实时系统中瞬间故障的恢复方法之一。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议