当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]摘要:为满足对安全关键领域日益增长的可靠性需求,提出一种基于松耦合多处理器体系结构的双机容错实时嵌入式系统设计方案。该方案无缝整合了计算机硬件级、操作系统级、应

摘要:为满足对安全关键领域日益增长的可靠性需求,提出一种基于松耦合多处理器体系结构的双机容错实时嵌入式系统设计方案。该方案无缝整合了计算机硬件级、操作系统级、应用级的容错技术,以达到从整体上提高系统可靠性的目的。 关键词:容错 双机热备份 可靠性 实时嵌入式系统 引 言   实时系统的基本特性是任务响应时间的确定和系统处理任务的高吞吐量。相对于其他计算机系统而言,实时系统对可靠性和防危要求十分严格。特别是所谓的安全关键系统SCS(Safety Critical Systems),这类系统失效,将带来灾难性的后果。在实时嵌入式系统的运行过程中,容错是最重要的可靠性保障手段。   容错实时系统的研究主要集中在两个方面[1]:① 改进实时调度算法,使之确保实时任务在正常运行和遇到错误时,均能在规定时限到来以前获得正确的输出。② 将过去应用于普通计算机系统中的冗余容错策略移植到实时系统中。   在具有硬件容错能力的计算机系统中,其失效65%来自软件[2],仅有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所示模型结合嵌入式实时系统的体系结构,采用层次结构和模块结构相结合,无缝整合了计算机硬件、操作系统、应用软件级的软件容错设计。在整体上采用分层的结构模型,克服了软、硬件分离和脱节的问题,提高系统的灵活性和可移植性。模型的每一层均可以看作是一个相对独立的系统。在每一层中按照系统功能,划分不同的功能模块。     


 该系统采用对称结构,为支持容错处理,每个节点从下到上分为3个主要部分,即MCFT(Multiprocessor Communication for Fault?Tolerance)、RTOS系统级容错组件、任务级动态冗余组件。   2.1 多机容错通信模块MCFT   在操作系统与硬件之间加入MCFT层,MCFT作为BSP(Board Support Package)的一部分,作为硬件平台的抽象层,为操作系统提供统一的界面,提高系统的可移植性。有容错需求的任务,通过MCFT所提供的功能传递日志,保持主系统和备份系统的关键任务的状态和数据一致。MCFT屏蔽了底层通信的具体实现细节,使系统的实现与连接介质无关。   MPFT管理着一些数据包,并且在各个节点之间发送和接收这些数据包,数据包的结构如下:  typedef struct{?    MP_packet_Classes the_class;?    Ob jects_Id id;?    Ob jects_Id source_tid;?    Priority_Control source_priority;?    unsigned32 return_code;?    unsigned32 length;?    unsigned32 to_convert;?    Watchdog_Interval timeout;?    }MP_packet_Prefix;?   2.2 RTOS系统级容错组件   RTOS系统级容错组件,包括系统内核级容错支持组件、系统自诊断组件和主/备用机切换支持组件。   (1) 内核级容错支持组件   为支持操作系统级和应用级通信,在该系统中,每个节点上保存两个对象表,一个本地任务表,一个容错任务表。本地任务表在每个节点上都是不同的,它包含在此节点上创建的所有任务。容错对象表包含系统中所有的容错任务,在所有节点上是一样的。为保持在所有节点上容错任务表的一致性,每个节点对容错对象的创建、删除等都必须通知给备份节点。利用检查点技术和传递日志法,保持主系统和备份系统的备份任务的状态和数据一致。一旦主机发生故障,系统程序自动进行主 /备用机切换,备用机系统使备份任务就绪,利用实时任务的调度策略,使备份任务在备份机上发生重调度,成为主机。   (2) 系统自诊断组件   如图3所示,系统中采用自诊断的方法来诊断系统级的故障,用任务级的检测来诊断应用级的故障。   自诊断划分为几个不同的测试阶段,系统启动自检测阶段和周期自检测阶段。自动启动诊断的因素有:主/备用机定时切换和主机发生故障。周期自检测阶段根据系统需求,周期性检测外设和通信口。每个阶段对应设备的几种功能块,包括CPU的自诊断、中断响应自诊断、串口自诊断、定时器自诊断、离散量自诊断、 RAM自诊断等。   由于结果比较是实时系统中任何事务处理都需要经历的步骤,因此把任务级的故障检测放到结果判别部分进行。   (3) 主/备用机切换支持组件   仲裁检测电路中对主/备用机设置了“看门狗”监视器。当主/备用机处于正常工作状态时,运行于CPU上的某一任务周期性地对“看门狗”施加复位信号,这样,“看门狗”计数器就不可能产生溢出触发信号;当CPU出现故障时,“看门狗”会输出一个离散触发信号并发出报警,此时,系统进行自动切换,让备用的系统机工作。[!--empirenews.page--]

                      图3 主控流程   2.3 任务级动态冗余   在实时多任务系统中,采用另一种软件冗余方法——任务级动态冗余[3]。任务级动态冗余方法是实时系统中瞬间故障的恢复方法之一。   在实时多任务的环境下,充分利用操作系统提供的功能,对各个基本任务建立后备任务作为冗余,并对后备任务进行容错调度,从而起到类似于重试或卷回恢复的作用。利用检查点技术和传递日志法保持主系统和备份系统的状态的一致性,实现错误恢复,有较高的性价比。    根据应用程序,结合实时性要求,采用以下的措施:   ① 把应用程序分解成多个任务,任务以过程的形式出现,各个任务进入运行的顺序是从1到?n,并在每个任务的最后设置检查点,传递日志。  ② 根据应用程序的要求事先给各个任务安排优先级,使得任务可以根据要求及时占有处理器,实现实时处理。   ③ 为各基本任务准备一个后备任务存放在内存中,平时后备任务不建立,不占有系统资源,仅在需要时才激活使用,后备任务的优先级比相应的优先级要高。马上建立就抢占执行,是某种意义上的重试或程序卷回。  ④ 为实现恢复功能的后备任务,可以和原有任务完全一样,也可以是替换算法。   下面的算法能为各个任务产生容错调度,从而实现任务冗余:   Step1: 建立任务 T1,T2,…,Tn;??  Step2: while N=1;N<=Nmax;??   N=N+1; ?    运行任务Ti; ?    检测Ti的结果; ?    IF结果通过THEN输出结果,删除任务Ti; ?    ELSE激活任务Ti     ;break; ?    END   Step3:N>Nmax 系统报警   当后备任务执行了Nmax次之后还通不过检测,就认为系统出现永久故障,系统报警。Nmax是个阀门值,是由实时要求所决定的。 3 可靠性分析   在考虑了双机的切换问题(包括切入成功率,与此相关的切入时间和再次切入的时间及其故障判别问题)后,完整的双机容错系统的稳态可用度为[4]            其中:λ为平均失效率,β为故障诊断率,是平均诊断时间的倒数;μ为平均维修率,是平均维修时间的倒数;α为加入失效率,是平均切入时间的倒数;C为故障判别率;α′为再次切入失效率,是再次切入时间的倒数(重启双工时间的倒数);D为切入成功率。   采用对称双机系统,在典型值的计算中可以获得99.999 95%的可用度。 4 结论?   随着实时系统在安全领域内越来越多的应用,可靠性已经成为衡量系统优劣的重要因素之一。传统的实时系统容错只满足了系统某一方面的容错需求。为了在出现硬件或软件的暂时或永久故障的情况下,系统仍能在规定的时限范围内完成运算,并输出正确的结果,本文提出一个软、硬件结合的完整的解决方案,能满足系统的强实时性、高可靠性、服务不断流的要求。此方案应用于RTEMS中,具有很高的可靠性。                 参考文献 1 陈宇. 高可靠容错实时系统的支撑技术研究:[博士研究生论文]. 成都:电子科技大学,2003-05 2 Kim K. The Distrubuted Recovery Block Scheme, in Software Fault Tolerance, M.R.Lyu, ed. Wiley,1995:189~2104? 3 KrishnaC, Shin K. On Scheduling Tasks with a Quick Recovery from Failure. IEEE Trans. Computer.May,1986, C-35:448~454? 4 金士尧,胡华平,李宏亮. 具有容错结构的高可用计算机双系统研究.中国工程科学,1999,1 (3) : 46"50 陈筠:硕士研究生,主要研究方向为嵌入式多处理器操作系统、嵌入式可靠性技术。桑楠:副教授,主要研究方向为可信性计算理论与应用。熊光泽:教授,博士生导师,主要研究方向为实时计算系统与应用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

【2024年3月25日,德国慕尼黑和瑞典瓦尔贝格讯】不同汽车的独特性给汽车零部件供应商和OEM厂商等带来了挑战,因为每辆车的驾驶方式、驾驶地点、驾驶者、设计、用途以及道路和交通状况都是独一无二的。为保证每辆汽车都能正常运...

关键字: AI 机器学习 嵌入式系统

GD32F303作为一款先进的微控制器,在嵌入式系统领域有着广泛的应用。本文旨在深入探究GD32F303的发布时间,并分析其背后的技术背景和市场环境。通过对相关资料的梳理和分析,本文揭示了GD32F303发布的历史背景、...

关键字: GD32F303 微控制器 嵌入式系统
关闭
关闭