基于PowerPC和X86的二余度非相似飞控计算机系统设计与实现

点赞:13020 浏览:49116 近期更新时间:2024-02-18 作者:网友分享原创网站原创

摘 要:为了抑制共模故障和提高飞控计算机系统的可靠性,设计实现了一种二余度非相似的飞控计算机原型系统.首先,给出了该系统的硬件结构和原理,硬件结构包括基于PowerPC和X86处理器构成的主副通道、用于交叉通信的双口RAM、基于FPGA的仲裁模块等部分;其次,系统中的余度控制软件部分主要给出了任务同步和仲裁处理软件模块的软件实现流程图,这是非相似余度的关键问题;最后,在实现实物系统的基础上,开展了一系列的仿真实验,验证了该设计系统的可行性.

关 键 词:非相似余度;飞控计算机;PowerPC处理器;X86处理器

中图分类号:TP393文献标识码:A文章编号:1004373X(2014)20009104

DesignandrealizationofdualredundancydissimilarflightcontrolputersystembasedonPowerPCandVortex86

TAOXianglin,LUXiong,YINBin

(CollegeofAutomationEngineering,NanjingUniversityofAeronauticsandAstronautics,Nanjing210016,China)

Abstract:Inordertooidthemonmodefaultsandimprovethereliabilityoftheflightcontrolputer(FCC)system,theprototypesystemofdualredundancydissimilarFCCwasdesignedandrealized.Hardwarestructureandprincipleofthesystemaregiven.ThehardwarestructureincludestheprimaryandredundantcontrolputerswithPowerPCandVortex86processor,twoportRAMforcrosunicationandarbitrationmodulebasedonFPGA.Aortheredundancycontrolsoftwareinthesystem,thesoftwareflowchartorengineeringrealizationofthetasksynchronizationandthearbitrationprocessingsoftwaremodulearegiven.Thesearethecoresectionsofthesystem.Basedontherealizationoftheproposedsystem,aseriesofsimulationexperimentsoftheproposedapproachwerecarriedouttoverifythefeasibilityofthesystem.

Keywords:dissimilarredundancy;flightcontrolputer;PowerPCprocessor;X86processor

0引言

近年来,余度技术被广泛地应用在民用和军事方面[12],以提高飞控计算机系统的可靠性.当系统的某一部分出现故障时,余度技术可以确保系统在规定的时间内完成规定的功能.对于飞控计算机而言,余度技术是一种常见的容错方法,它可以确保系统在一定的时间内即使存在故障也能正常工作[3].

为了有效抑制共性故障和提高系统的可靠性,本文基于PowerPC和X86处理器,设计实现了一种二余度非相似飞控计算机系统.在该非相似余度系统中,所有的余度资源都采用不同的硬件设备和软件设计[45].

1系统硬件结构

系统总体硬件结构如图1所示,主要由主副计算机通道、通信模块和仲裁模块组成.

1.1主副计算机通道

考虑到本系统的需求和处理器的特点,在二余度非相似飞控计算机系统设计中,X86和PowerPC的处理器分别被选作为主副通道.

(1)主通道主要由X86处理器和串行接口的ADC模块(AD7908)构建.主通道通过PC104总线实现通信和资源扩展,所使用的是FreeDos操作系统.

(2)副通道主要由PowerPC处理器和并行接口的ADC模块(AD7829)组成.副通道是通过LBC总线完成通信,使用的操作系统是Linux.

图1系统硬件结构图

主副通道配备各自接口(串口、离散I/O、模拟量输入输出等)和硬件资源(看门狗、电源、存储器等).

1.2通信模块

通信模块用于实现数据传递、主副通道状态交换和任务同步等功能,为系统中的关键环节.在三种通用的通信方式――总线、网络协议(TCP/IP)和双口RAM[6]中,本系统选用双口RAM.本设计的通信模块原理图如图2所示.

图2通信模块示意图

在图2中,主副通道通过PC104总线和LBC总线与双口RAM相连.双口RAM包含3个环形缓冲区[7],分别用于存放正常工作时采集的数据、FPGA发送过来的状态信号、故障发生时自检采集的数据.为了避免访问相同地址所造成的冲突,主副通道和FPGA在读写操作前通过读取双口RAM的状态信号来判断双口RAM是否工作[8].1.3仲裁模块

仲裁模块主要由故障分析单元和通道切换单元组成,负责故障检测、故障定位、故障隔离和选择输出通道等功能.仲裁模块是通过FPGA实现的,其原理图如图3所示.

仲裁模块在一个判定周期内的工作流程如下:

(1)仲裁模块对采集数据进行比较,如果两者的偏差在一定的范围内,那么判定系统正常并优先选择主通道作为输出通道,否则判定系统存在故障.

(2)如果发生故障,故障检测和仲裁模块向主副通道发送相应的自检和互检信号,进行故障检测.本系统的自检过程为:主副通道先分别采集一个固定已知的值,然后FPGA比较主副通道采集的数据.

(3)根据自检和互检结果,仲裁模块隔离故障通道并为飞控计算机系统选择输出通道.

基于PowerPC和X86的二余度非相似飞控计算机系统设计与实现参考属性评定
有关论文范文主题研究: 关于计算机系统的论文范文集 大学生适用: 学年论文、电大毕业论文
相关参考文献下载数量: 28 写作解决问题: 学术论文怎么写
毕业论文开题报告: 标准论文格式、论文前言 职称论文适用: 论文发表、职称评副高
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 最新题目

图3仲裁模块原理图

2余度控制的软件设计

2.1任务同步

主副通道具有不同的处理器、指令系统和编译效率,因而具有不同的算法执行时间,在数据采集时就可能存在任务不同步的现象[910].本文设计的系统采取的任务同步是在每次采集数据完成后进行任务同步.任务同步流程图如图4所示.

图4任务同步流程图

任务同步的流程如下:

(1)主副通道分别将数据写入双口RAM的采集数据存储区.

(2)FPGA判断主副通道数据是否都写入双口RAM.

FPGA定时检测该数据存储区,如果检测到有数据写入,就将代表主副通道数据写入的标志位flag1,flag2置位.

当flag1和flag2同时为1的时候,进入数据比较环节.在规定的时间内,当标志位flag1,flag2不能同时为1时,则进入仲裁模块.

(3)FPGA对两个通道采集的数据进行比较.若比较的结果在设定的范围内,则分别向主副通道发送同步完成信号,并启动下一次数据采集和同步;否则判定系统存在故障,进入仲裁模块.

2.2仲裁处理软件模块

当任务同步成功时,仲裁模块优先选择主通道作为输出通道[11];当任务同步失败时,仲裁模块进行故障检测和选择输出通道,其流程图如图5所示.

图5仲裁模块软件流程图

(1)当检测到系统发生故障,仲裁模块向主副通道发送自检信号.

(2)主副通道同时进行自检,并将自检结果发送至仲裁模块.

(3)根据自检结果,仲裁模块进行故障定位.

(4)仲裁模块选择输出通道.如果主副通道都正常,优先选择主通道输出;如果主副通道其中一个故障,选择正常通道输出并对故障通道进行互检;如果主副通道均故障,则输出前10次正常工作时的采集数据的平均值.

3实验和仿真结果

3.1系统原型实现

基于以上硬件和软件设计方案,本二余度非相似飞控计算机系统的实物图如图6所示.为了验证系统的有效性,本文进行了相应的实验.

图6二余度非相似飞控计算机系统的实物图

主通道选择基于Vortex86DXSoc处理器的NAC1911单板机作为控制系统,采用AD7908采集数据.副通道选择基于MPC8309处理器的TWRMPC8309单板机作为控制系统,采用AD7829采集数据.主副通道分别将采集的数据送到双口RAM,并且将采集的数据显示在型号为DE2115的FPGA开发板上.图6中8个数码管分别显示主通道(左4个数码管)和副通道(右4个数码管)采集的电压值,分别为1.688V和1.788V.经过任务同步和仲裁模块,FPGA将采集的电压转换为PWM波来控制演示电机.

表1为在该系统中注入不同故障的情况下主副通道的电压采集值和自检时采集的固定电压值.

表1故障注入时主副通道的电压采集值

3.2仿真实验

余度设计软件仿真中的相关信号为:

(1)clk为50MHz时钟.

(2)PC_WR是X86与FPGA相连的PC104总线的写信号,下降沿表示在进行写操作.在仿真实验中,以检测总线写信号的下降沿来确定数据是否写入双口RAM.

(3)data_X86是PC104的数据线,addr_X86是PC104的地址线.

(4)syn_X86是任务同步后向X86发送的状态信号,syn_X86等于11表示同步失败,进行自检;syn_X86等于ff表示一次任务同步成功,可以启动下一次数据采集和任务同步;syn_X86等于aa表示任务同步正在进行,主副通道等待.

(5)dcount是等待计数器,在每一次clk的下降沿计数,dcount可计数255次大概计时2s.

图7为主通道数据写入FPGA,但是在dcount计数到255时仍检测不到副通道的数据,所以发出syn_X86等于11和syn_MPC等于11的状态信号,表示同步失败,进行自检.图8为主副通道均正常时的余度软件实现的信号变化过程.

图7副通道故障时的仿真图

图8主副通道正常的仿真图

4结论

本文研究了基于PowerPC和X86的二余度非相似飞控计算机系统,给出了系统的硬件结构和余度软件设计.实验和仿真结果部分给出了系统的实物图和余度设计仿真,验证了二余度非相似飞控计算机系统的可行性和有效性.