一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于时钟对齐与同步的双处理器锁步系统的制作方法

2022-02-22 19:21:54 来源:中国专利 TAG:

1.本发明属于航空电子系统领域,特别涉及一种基于时钟对齐与同步的双处理器锁步系统,满足民用航空电子设备对高完整性和高可靠性的需求。


背景技术:

2.基于民机安全性理论,核心设备的完整性须达到10-9
,产品的完整性指标是由产品架构和数据处理的各个环节的完整性指标决定的。而单一环节的完整性指标是以产品基本可靠性为依据,通过在该环节增加数据校验的复杂度来提高该环节的完整性。基于当前元器件的可靠性和产品设计的复杂度,产品的基本可靠性一般在10-3
到10-5
的水平,单单通过增加校验算法(如crc、ecc等)的复杂度来提高特定环节的完整性会造成设计复杂性大幅度提升,甚至在工程上是不可实现的。锁步(lockstep)作为一项安全关键技术,是解决航空电子设备高完整性需求的有效手段。学术界早已有相关理论,如今随着技术进步,工业界经反复迭代创新,已形成产品,被应用于波音777、波音787等客机项目的ima(综合模块化航空电子系统)。该技术的应用对提升飞行的安全性和可靠性,对计算机余度管理技术的发展,都产生了重要影响。
3.参见图1所示的一典型处理器lockstep框架,核心是由两个相同处理器组成的双余度系统,通常设计一个master cpu(主控cpu),另一个为monitor cpu(监控cpu),监控cpu负责监视主控cpu的运行,在lockstep状态下,两个处理器运行相同的计算任务。双处理器外围扩展一个check部件(如cpld,fpga等),周期地对两处理器计算结果作校对,一致则由主控cpu对外输出计算结果;如发现不一致,表明出现故障,系统停止工作,防止错误蔓延到更上层系统。国外早期多采用这种方式,设计简单,但这种lockstep检测策略不完善,需要在处理器外额外扩展不同的硬件电路进行同步校对,效率较低,导致cpu处理能力下降。
4.随着cpu技术发展,也有厂商定制锁步功能的双核处理器,可以在双核间作指令级的同步校对,并能迅速定位故障,进行隔离。这种定制指令级的锁步颗粒度细,可以简化系统设计,但是需要有自主处理器芯片设计和制造能力,设计验证复杂,成本高昂,这一领域市场规模小,没有厂商有意愿提供此类货架产品,因而目前在国内较难实现。


技术实现要素:

5.本发明的目的在于提供一种基于时钟对齐与同步的双处理器锁步系统,取消了处理器外围扩展的同步校对硬件,设计成双处理器内部校对验证,显著降低因锁步带来的性能下降,处理器可采购商用货架产品,以较低的成本实现10-9
级的高完整性需求。
6.本发明通过以下技术方案实现:
7.一种基于时钟对齐与同步的双处理器锁步系统,包含同源时钟模块、主控cpu、监控cpu,主控cpu与监控cpu的配置如下:
8.a)、主控cpu与监控cpu的锁相环模块接同源时钟模块,使同源时钟模块驱动主控cpu与监控cpu同时上电复位;
9.b)、主控cpu与监控cpu上运行vxworks 653操作系统,在module os入口处设置第一次时钟对齐检测点,使主控cpu与监控cpu同时进module os;
10.c)、每个major frame周期开始处设置时钟对齐检测点,使主控cpu与监控cpu每次同时启动新一轮分区调度;其中,major frame是vxworks 653调度的主时间框架,major frame的第一个分区设计为空(spare)分区;
11.d)、major frame周期内的分区切换开始处再次设置时钟对齐检测点,使主控cpu与监控cpu每次同时启动分区切换;
12.e)、在每个时钟对齐检测点,由监控cpu通过pcie总线或以太网向主控cpu发送时间戳,由主控cpu进行比对,若发现主控cpu与监控cpu的时钟漂移累积为t,超过精度要求所设阈值,则在运行超前cpu的dec定时器中断处理函数中增加步长t,使得下一次时钟中断时,主控cpu和监控cpu的系统时间戳对齐同步。
13.优选地,同源时钟模块包含同源时钟晶振和时钟缓冲器,同源时钟晶振通过监控两路看门狗的复位输出和电源状态指示信号来保证主控cpu、监控cpu的同步复位,通过时钟缓冲器保证输出到两个cpu的时钟一致性。
14.本发明相比早前方案,有益效果在于:
15.a)由于采用同源时钟模块设计,可保证两侧处理器内核初始状态的一致性,同时为消除两侧内核时钟细微差异累积误差,该模块会周期的输出同步信号给处理器,利用vxworks 653系统时钟中断完成两路处理器运行误差的周期修正,进而保证两侧数据处理的“持续一致性”。
16.b)由于取消了外围同步校对部件,在主控cpu侧进行数据校对验证,相对于外部fpga部件,极大简化设计,减少性能损耗,同时可通过时钟对齐的阈值控制同步精度,可满足不同高完整性应用场景,提高系统综合效率。
附图说明
17.图1为传统典型处理器的锁步框架。
18.图2为本实施例所示的一种基于时钟对齐与同步的双处理器锁步系统的框架示意图。
19.图3为vxworks 653软件框架。
20.图4为基于时钟对齐与同步的双处理器锁步系统的应用示例。
21.图5为时钟对齐检测点时序示意图。
22.图6为时钟对齐示意图。
具体实施方式
23.下面结合附图和实施例对本发明作进一步的详细说明。
24.如图2所示,本实施例所示的一种基于时钟对齐与同步的双处理器锁步系统,包含同源时钟模块、主控cpu、监控cpu,同源时钟模块作为主控cpu与监控cpu的内核时钟源,为主控cpu、监控cpu提供内核时钟、同源复位和同步操作触发源。该同源时钟模块包含同源时钟晶振和时钟缓冲器,同源时钟晶振通过监控两路看门狗的复位输出和电源状态指示信号来保证主控cpu、监控cpu的同步复位。该同源时钟模块通过时钟缓冲器保证输出到主控
cpu、监控cpu的时钟一致性。通过以上措施,保证两路cpu通道初始状态的一致性。
25.对比图1所示,本实施例采用同源时钟模块,与图1另一不同之处是取消了外围同步校对部件。主控cpu、监控cpu之间可设计通过pcie总线或以太网进行数据交换。结合同源输入时钟和基于分时分区操作系统的时钟对齐设计,可以把双处理器计算结果的校对验证放在主控cpu端完成,能够极大降低硬件设计复杂度,降低处理器性能损耗。
26.双处理器锁步的核心在于两侧数据的校对验证,而校对验证的前提是要能保证两侧数据具有可比性,排除上一周期与下一周期数据不一致引起的虚警,关键就在于两侧内核时钟能保证对齐同步。同源时钟模块为主控cpu、监控cpu两路处理器通道提供内核输入时钟和初始状态的一致性。由于主控cpu、监控cpu的时钟路径和锁相环的差异可能造成工作时钟的细微差别,这种细微差异在cpu内核长时间运行后可能会累积超过一个或数个指令工作周期,这样主控cpu、监控cpu之间的数据校对就没有可比性。因此本发明的一个关键设计在于必须周期性检测主控cpu、监控cpu的内核时钟,如发现两者的时钟漂移超过一定阈值,则需要对超前运行的内核进行时钟校准,类似于“拨慢”时钟,使两cpu内核再一次对齐,实现时钟同步。要达到此目的,需要结合处理器内核时钟定时器和操作系统的分时分区特性。
27.本实施例在处理器之上运行vxworks 653分时分区操作系统,主控cpu、监控cpu由同源时钟模块驱动同时启动,运行相同的任务应用。vxworks 653是符合arinc 653标准的分时分区操作系统。arinc 653是国际机载实时操作系统领域的行业标准,无论是民用还是军用航空器都会选用符合arinc 653标准的实时操作系统。
28.如图3所示,运行vxworks 653操作系统的软件分为mos(module os)、pos(partition os)、partition application三层。每个application与一个pos联编组成一个分区应用,与其他分区在地址空间和运行时间上隔离。module os负责所有分区的运行调度。本发明拟采用三个层级的check point予以保证主控cpu、监控cpu的内核时钟对齐同步。首先是通过外部同步触发源与vxworks 653操作系统的时钟中断进行关联,保证操作系统调度周期和相位的一致性;其次是设计一个空分区(spare partiton),排序在所有分区首部,每个调度周期开始时进行主控cpu、监控cpu的内核时钟对齐,空分区的存在能保证其余分区任务时间片不被占用;第三是在一个分区时间片结束开始下一个分区运行即分区切换(partition switch)时,再次进行时钟对齐,这样就能保证主控cpu、监控cpu上分区运行时序的一致性,进而能够保证两侧数据校对具备可比性。
29.要实现主控cpu、监控cpu两侧内核时钟的对齐同步,关键在研究如何应用vxworks 653操作系统时钟中断与处理器的内核时钟定时器进行关联。现代处理器内核通常会有多个不同功能的时钟定时器,如tb(time base)、dec(decrementer)。tb定时器由锁相环模块驱动,为内核指令运行提供基准时钟周期(tick),dec定时器通常用作操作系统时钟中断的减法计数器。本发明中,在check point时如检测发现主控cpu、监控cpu的时钟差异累积已超过阈值,可通过修改vxworks 653系统时钟中断的步长,使得运行快的一侧时钟慢下来等待另一侧,实现对齐,使得两侧时钟再次同步。
30.下面对一种基于时钟对齐与同步的双处理器锁步系统的应用进行举例说明。
31.参见图4所示,主控cpu与监控cpu采用飞思卡尔公司的p2010 cpu,同源时钟模块由晶振和cpld时钟buffer组成,提供时钟输入源。主控cpu与监控cpu通过pcie总线或者以
太网通讯方式进行数据校对。与图2不同的是,本实施例根据项目实际需求,与外系统设备数据交互采用航空专用以太网(afdx,avionics full duplex switched ehernet)。afdx终端基于arinc664标准,用fpga设计实现。如图4所示,a664终端通过pcie挂到p2010 cpu上,两侧a664终端也采用同步时钟保证相同输入频率,通过spi总线进行终端间的数据校对。关键数据经两侧处理器同步处理后,先在主控cpu上进行校对,一致则发给a664终端,两a664终端在逻辑处理完后再次完成校对,一致则通过a664网络发送给其他设备;若校对不一致,此帧数据将被丢弃处理,防止故障蔓延。
32.参见图5表示本实施例中时钟对齐检测点check point的时序设计,主控cpu与监控cpu的配置如下:
33.1主控cpu与监控cpu的锁相环模块接同源时钟模块,使同源时钟模块驱动主控cpu与监控cpu同时上电复位。硬件设计时,两个处理器内核时钟、ddr控制器的参考时钟以及cpld的工作时钟都是由同一个晶振激励产生,保证两cpu同时进入上电复位指令。
34.2主控cpu与监控cpu上运行vxworks 653操作系统,在module os入口处设置第一次时钟对齐检测点,使主控cpu与监控cpu同时进module os。
35.3在每个major frame周期开始处设置时钟对齐检测点,使主控cpu与监控cpu每次同时启动新一轮分区调度。major frame是vxworks 653调度的主时间框架,major frame的第一个分区设计为空分区,如图6所示,在spare分区开始处设时钟对齐检测点,保证两cpu同步进入major frame。
36.4在major frame内部分区切换开始处再次进行时钟对齐检测,如图6所示,使主控cpu与监控cpu每次同时启动分区切换。
37.5应用分区结束时作data check,一致则发给a664终端。
38.6a664终端在输出时再一次作data check,一致,则输出至外部。
39.在每个时钟对齐检测点,由监控cpu通过pcie总线或以太网向主控cpu发送信号,由主控cpu进行检测。图6为在check point处作时钟对齐的示意。如在major framek开始处,检测发现主控cpu与监控cpu的时钟漂移累积为t,超过精度要求所设阈值,主控cpu当前运行超前,则在主控cpu的dec定时器的中断处理函数中增加步长t,相当于拨慢内核时钟,到下次majorframe时,两cpu时钟漂移控制在精度要求范围内,实现时钟对齐同步目的。
40.本实施例提出的一种基于时钟对齐与同步的双处理器锁步系统,实现例如综合模块化航空电子系统。该设计方法极大的丰富了具有高完整性需求的锁步技术实现形式。该发明的应用独立于硬件平台,适用范围广,具有显著的市场前景和经济效益。
41.综上所述,仅为本发明的较佳实施例,并非用来限定本发明实施的范围,凡依本发明权利要求范围所述的形状、构造、特征及精神所为的均等变化与修饰,均应包括与本发明的权利要求范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献