自主可控计算机双机系统切换仲裁策略及实现

2017-04-25 13:27秦友伦
电子设计工程 2017年8期
关键词:龙芯分机双机

梅 勇,袁 强,秦友伦

(中国兵器工业第58研究所 四川 绵阳621000)

自主可控计算机双机系统切换仲裁策略及实现

梅 勇,袁 强,秦友伦

(中国兵器工业第58研究所 四川 绵阳621000)

为了实现自主可控计算机高可靠的需求,提出了一种双机系统切换的设计方案,并完成双机系统切换仲裁原理与策略及软件实现。采用国产龙芯处理器2I(2J)+VxWorks+双机热备份方案,完成了主备选择、数据及程序同步设计、故障检测、双机切换、双机仲裁逻辑,实现了双机仲裁、心跳、故障检测等任务。实际应用表明,该策略既实现了系统自主可控的需求,又达到了高国产化率、高可靠性要求。

自主可控计算机;双机切换;双机仲裁逻辑;龙芯2J;VxWorks

自主可控计算机是国家重大项目中的关键设备,是发射控制的主控单元。主要通过通讯接口控制远端设备执行特定功能,并对远端被控设备反馈的信息进行分析、处理及结果显示。该设备在整个系统中作用重大,在实际应用中处于1年时间的超长加电连续工作状态,设备具有很高的任务可靠度[1-5]。

国家已经提出了建立自主可控计算机平台的要求,包括采用自主CPU、自主操作系统和自主数据库等。通过多方面的调研及论证,采用国产龙芯处理器2I(2J)+VxWorks+双机热备份方案,既实现自主可控又能达到高国产化率、高可靠性要求。

1 系统组成

自主可控计算机整机为一体化加固桌面机,由2套配置完全相同的主板和电源板组成双机热备冗余系统,双机系统在工作中分别处于主机状态、备机状态。双机工作状态的仲裁切换由仲裁切换板上的仲裁切换逻辑电路实现,仲裁切换逻辑电路检测主、备机的心跳信号和故障报警信号,如果主机的心跳信号超时或发出故障报警,立即裁决备机进入主机状态,并同时控制相关接口设备切换。主备双机之间通过两路TTL电平标准的串行通道完成数据同步。双机系统和仲裁切换板以及电源通过1块无源底板实现系统连接。系统集成一块液晶显示屏和一套键盘鼠标设备,另外提供一个VGA视频接口,支持外接显示[6-11]。监控设备主控计算机系统框图如图1所示。

图1 系统组成示意图

2 双机系统切换仲裁原理与策略

2.1 主备选择

主备选择是指在多机冗余(包括双机)情况下,当系统加电启动或主机崩溃后从多个冗余分机中选出一台为系统的主机。主备选择应当考虑到选择出来的主机是冗余中当前性能最优的。由于系统使用的两台分机,型号和资源配置完全一致,所运行的软件环境也是相同的,本系统采用竞争机制进行主备选择。即当系统加电启动,仲裁逻辑模块先确定槽位“A”分机为主机,如检测到该分机心跳异常,如果槽位“B”正常,则裁决“B”分机为主机。在主机崩溃或发生故障后,仲裁逻辑模块检测到热备机心跳信号正常,则裁决热备机转为主机。

2.2 数据及程序同步设计

整机系统主要通过以太网接口控制被测设备执行特定功能,并对控制设备反馈的信息进行分析、判断及显示。在系统中主要由主机负责与被测设备进行数据交互,并将交互的数据通过主备机之间的TTL串行总线转发给备机。备机完成数据保存以及应用软件同步,一旦主机出现故障,备机获取主机权限后,将按照最后一次接收到的正确的控制命令和返回数据顺序往下执行控制操作。系统双机之间提供互为备份的两个TTL串行通道作为数据同步通道。

2.3 故障检测

故障检测对于双机热备份系统是非常重要的保障机制。使用两种方式来反应系统是否存在故障,即心跳信号与故障信号。仲裁切换逻辑则一直检测心跳信号与故障信号的状态,若发现异常则进行相应的切换、重启或报警。其检测、切换、重启或报警逻辑框图如图2所示。

心跳信号的产生及作用:主、备机分别通过软件产生(周期性方波信号)心跳信号,用于表征软件工作正常,如软件无异常的长时间的阻塞等待式操作,或操作系统工作正常(未死机)。

故障信号的产生及作用:主、备机通过周期性任务检测软硬件的状态,用于表征硬件连接状态。如网络连接或USB连接断开,则使故障信号有效。

系统仲裁主要通过“故障报警”和“心跳”组合判断分机故障情况。

2.4 双机切换

双机切换设计主要是指双工系统变成单工系统或单工系统变成双工系统,

1)切出

当一个分机自检出现轻度故障:“故障报警”信号输出或“心跳”信号异常,仲裁电路检测到分机“故障报警”或“心跳”异常,裁决系统另一分机成为主机,系统由双工变成单工状态,并控制接口切换电路进行切换,同时作出故障恢复或故障报警提示。

切出时机:某一个分机出现轻度故障(“故障报警”信号输出或“心跳”信号异常);或接收到控制程序发出的切出命令。

图2 故障检测、切换、重启、报警逻辑框图

2)切入

当一个分机修复完成后,加入到系统中,并且将系统状态恢复到双工的过程称为切入,切入过程中最重要的是保证状态同步的一致。双机系统的切入操作分为两个步骤进行:状态同步和备机加入。备机启动完成、自检合格后,通过备用数据同步通道向主机发出数据同步“请求”,主机收到“请求”后,将到接收到“请求”时刻以前的一个操作周期内的数据向请求机发送,并同步发送新产生的数据。当数据同步完成,备机发出“心跳”脉冲,报告热备机加入完成,系统进入双机热备份状态,分机切入流程如图3所示。

图3 分机切入流程

2.5 双机仲裁逻辑

仲裁逻辑电路为系统分机提供“心跳”和“故障报警”两个IO输入接口和一个“裁决”信号输出接口。“心跳”为周期信号,是仲裁逻辑判别主备机存在及是否处于正常工作状态的主要依据,但鉴于系统开销问题,“心跳”周期不可能无限小,因此在系统设计上增加“故障报警”的电平信号,该信号可在检测到故障时立即向仲裁发出故障报警,缩短从发生故障到切换的时间,增加切换效率。仲裁逻辑如图4所示。

图4 仲裁逻辑图

3 系统实现

软件主要包含两个部分:一个是用于启动的PMON引导程序,另一个是VxWorks 6.7系统。在系统上电后,首先由PMON初始化处理器,内存、南桥控制器等。然后拷贝VxWorks镜像到内存,跳转到相应地址后开始进入VxWorks系统启动过程,之后VxWorks系统将负责初始化所有硬件并加载硬件驱动,加载VxWorks的系统内核。最后执行位于系统内核层级的双机仲裁、心跳、故障检测等任务,完成全部的启动流程[12-15]。

3.1 启动流程

基于龙芯2G+的主控制板的BSP包含两个部分:一个是用于启动的PMON引导程序,另一个是VxWorks 6.7的BSP支持包。在系统上电后,首先由PMON初始化龙芯2G+处理器,内存、南北桥控制器等。然后拷贝VxWorks镜像到内存,跳转到相应地址后开始进入VxWorks系统启动过程,之后VxWorks系统将负责初始化所有硬件并加载硬件驱动,加载VxWorks的系统内核。最后执行系统内核任务及用户自定义任务后,完成BSP的全部启动流程。启动流程图如图5所示。

图5 启动流程图

3.2 心跳产生模块

心跳模块采用看门狗定时机制,首先将判断当前软件及硬件状态寄存器是否有故障状态存在,若存在故障,则此次不会触发心跳,而是触发仲裁逻辑,若不存在故障,则向GPIO周期性输出高或低电平模拟心跳行为,该模块作为系统底层内部模块运行使用。心跳产生逻辑如图6所示。

图6 心跳产生逻辑

3.3 仲裁模块

仲裁模块主要是为上层应用提供仲裁切换接口,通过该接口可实现切换功能的人工干预。提供接口SWAI_SwitchDevice。同时仲裁模块还对仲裁板发出的仲裁完成信号进行响应,读取仲裁状态位,判断当前系统为工作机或是备机,从而通知上层应用应该进入何种状态。仲裁逻辑如图7所示。

图7 仲裁逻辑

4 结 论

自主可控计算机采用国产龙芯处理器2I(2J)+ VxWorks+双机热备份方案,完成了主备选择、数据及程序同步设计、故障检测、双机切换、双机仲裁逻辑,实现了双机仲裁、心跳、故障检测等任务,既实现自主可控又能达到高国产化率、高可靠性要求。

[1]吴蓬勃.龙芯3A处理器在某军用系统上的应用研究[J].电子技术,2014(2):32-36.

[2]齐劲松,郭江宇,吴玉生,等.基于龙芯3A+2H的火控计算机系统设计[J].测控技术,2014,33(7): 85-87.

[3]胡海根.软硬结合打造自主可控产业链[J].航空制造技术,2014(18):96-96.

[4]孙大东,杨帆.自主可控信息系统军民融合式发展的探索与实践[J].中国军转民,2015(2):32-33.

[5]秦磊华,谭志虎.信息产业自主可控人才培养问题研究[J].科技管理研究,2016,36(1):37-41.

[6]周群.基于龙芯3A的舰艇用计算机主模块的设计与实现[D].北京:中国科学院大学(工程管理与信息技术学院),2014.

[7]权天.基于龙芯3A处理器的嵌入式系统的设计与实现[D].西安:西安电子科技大学,2014.

[8]贾颖,尚慧萍,郑慧英.测控中心计算机系统的自主可控技术研究 [J].飞行器测控学报,2015(2): 115-119.

[9]张小可.基于XTX模块的低辐射加固笔记本的设计与实现[D].北京:中国科学院大学(工程管理与信息技术学院),2015.

[10]潘岩.加固便携计算机主板设计与实现 [D].济南:山东大学,2014.

[11]龚俊.基于龙芯3A的Linux系统网络设备性能优化设计与实现[D].成都:电子科技大学,2015.

[12]袁俊卿.基于龙芯3A2H平台VxWorks板级支持包的移植与优化[D].北京:中国科学院大学(工程管理与信息技术学院),2015.

[13]夏豪骏,王海瑞.基于龙芯平台的J-Link协议移植实现[J].计算机工程,2014,40(2):267-270.

[14]史毅龙.基于“龙芯”计算机平台Vxworks操作系统研究[D].北京:中国科学院研究生院(空间科学与应用研究中心),2015.

[15]周洁.基于VxWorks车载控制设备基础软件平台设计与实现[D].成都:西南交通大学,2014.

Double machine system switching arbitration strategy and implementation of independently controllable computer

MEI Yong,YUAN Qiang,QIN You-lun
(N0.58 Research Institute of China Ordnance Industries,Mianyang 621000,China)

In order to satisfy the requirement of independently controllable computer high reliability,the design of double machine system switching is designed in this paper,which complete double machine system switching of arbitration principle and strategy,the software implementation.The system uses domestic godson processor2I(2J)+VxWorks+double-machine hot backup plan,completed the main machine selection,data and program synchronous design,fault detection,double machine system switching,double machine arbitration logic,has realized the double machine arbitration,heart rate,fault detection etc.Actual application shows that the system to achieve both the requirement of independently controllable,and reached high domestic rate,high reliability requirements.

independently controllable computer;double machine system switching;double machine arbitration logic;godson processor2J;VxWorks

TN702

:A

:1674-6236(2017)08-0183-04

2016-09-16稿件编号:201609151

梅 勇(1979—),男,湖北武汉人,副总工程师。研究方向:嵌入式系统研究。

猜你喜欢
龙芯分机双机
基于国产化龙芯的动环数据采集系统
基于无线技术的铁路客车火灾报警装置设计概述
双机、双桨轴系下水前的安装工艺
一种通用的硬币清分机设计
宽带接入网环境下区间电调分机接入方式研究
双机牵引ZDJ9道岔不同步问题的处理
某型微波着陆引导设备模拟训练系统设计
Loader轴在双机桁架机械手上的应用
“龙芯之父”胡伟武
龙芯发布新一代处理器产品