首页> 中国专利> 验证主上游单元和主下游单元间的数据传输的完整性的方法

验证主上游单元和主下游单元间的数据传输的完整性的方法

摘要

本发明涉及一种用于验证主上游单元(10a)和主下游单元(20a)之间的数据传输的完整性的方法,该方法的特征在于该方法包括实现以下步骤:主上游单元(10a)的数据处理模块(11a)生成第一帧(T1),第一帧(T1)包括要传输的数据的数据包(P1)和所述数据包(P1)的循环冗余码(E1);将第一帧(T1)封装在第二帧(T2)中,第二帧还包括第一帧(T1)的循环冗余码(C1);将数据包(P1)的循环冗余码(E1)封装在第三帧(T3)中;至少一个辅上游单元(10b)的数据处理模块(11b)将从第一帧(T1)中提取的循环冗余码(E1)与从第三帧(T3)中提取出的循环冗余码(E1)进行比较;以及仅在比较结果为肯定的时才确定到主下游单元(20a)的数据传输的完整性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-13

    授权

    授权

  • 2017-08-25

    实质审查的生效 IPC(主分类):H04L1/00 申请日:20151126

    实质审查的生效

  • 2017-08-01

    公开

    公开

说明书

技术领域

本发明涉及电飞行控制,具体涉及一种用于验证主上游单元和主下游单元之间的数据传输的完整性的方法。

背景技术

电飞行控制是传统机械飞行控制的改进。

高速数字计算机的引入已使得飞行控制的计算机化额外进步,借此,飞行员仅需要对飞机的总体移动施加影响并且让计算机根据高度、速度等来控制必需的控制面。当前使用许多“线传飞控(tout numérique)”的飞机,该飞机的控制元件完全受计算机控制。

到目前为止,极少的直升机是通过电飞行控制来驾驶,并且没有直升机具有全数字平台的电飞行控制。

直升机的推进实际上比飞机的推进更加复杂。直升机是借助既确保升起又确保推进的两个旋翼来推进的。然而,在飞机上,这个两种功能是去耦合的(允许在单个轴上驱动),直升机不能在单个方向上移动而是始终面对六个自由度。旋翼的桨叶的方位上的任何改变均会影响驱动、升起、拖拽、功率和自转,并且两个旋翼必须抵消其各自的影响。

对于所述平台的开发,无论是基于三重还是基于四重架构(为了冗余),必须按照比目前可能具有的性能更高的性能构想在系统的所有计算单元之间的通信链路。

由于该应用非常关键(10-10完整性和10-10可用性),这些通信链路必须一定还是可靠的、安全的并且能够耐受恶劣的环境(尤其是闪电)。

此外,在航空电子设备系统(对于直升机甚至更是这样),重量是首要的,尤其是线缆的重量。因此重要的是获得每个计算机的外部连接的数量上的最大减少。

最后,飞行控制系统的信息量和总体性能要求变得越来越高,这些通信链路必须提供高的数据流率和低的延迟,当前并不提供这些。

目前最广泛使用的数据总线是ARINC-429。然而,该数据总线遭受如下数个缺陷:其比特率明显不足(100k比特/秒,然而需要至少15M比特/秒);以及其环境适应力(尤其是对抗闪电的环境适应力)差。1553总线具有同样的问题。

为了克服这些困难,提出了AFDX架构(航空电子全双工交换式以太网),该架构是具有增强的可靠性的冗余以太网络。比特率、环境适应力和可靠性是可接受的,但是该架构成本尤其高并且比ARINC-429的延迟性更差得多。

会期望提供一种如下数据链路,该数据链路可靠、安全、不受恶劣环境(尤其是闪电和传导敏感度)影响,不要求线缆冗余、成本比ARINC-429链路低、具有至少15M比特/秒的比特率和低于50μs的延迟,并且该数据链路与商业上可用的测试和开发设备兼容。

发明内容

在第一方面中,本发明因此涉及一种用于验证主上游单元和主下游单元之间的数据传输的完整性的方法,所述方法的特征在于所述方法包括实现以下步骤:

(a)由所述主上游单元的数据处理模块生成第一帧并传输到所述主上游单元的接口模块,所述第一帧包括要被传输的数据的数据包和所述数据包的循环冗余码,

(b)由所述主上游单元的所述接口模块将所述第一帧封装在第二帧中,所述第二帧还包括所述第一帧的循环冗余码;

(c)将所述第二帧传输到所述主下游单元的接口模块和至少一个辅上游单元的接口模块;

(d)由所述主下游单元的接口模块和所述至少一个辅上游单元的接口模块从所述第二帧中提取所述第一帧;并传输到所述主下游单元的数据处理模块和所述至少一个辅上游单元的数据处理模块;

(e)由所述主下游单元的所述数据处理模块从所述第一帧中提取数据包;并且由所述至少一个辅上游单元的数据处理模块提取数据包的循环冗余码;

(f)由所述主上游单元的所述接口模块将所述数据包的循环冗余码封装在第三帧中;

(g)将所述第三帧传输到所述至少一个辅上游单元的接口模块;

(h)由所述至少一个辅上游单元的接口模块从所述第三帧中提取数据包的循环冗余码;并且传输到所述至少一个辅上游单元的数据处理模块;

(i)由所述至少一个辅上游单元的数据处理模块比较从所述第一帧和从所述第三帧中提取出的各个循环冗余码;并且仅在比较结果为肯定的时才确认到所述主下游单元的数据传输的完整性。

根据其他的有利的非限制性的特征,步骤(c)还包括将所述第二帧传输到至少一个辅下游单元的接口模块;步骤(d)包括由所述至少一个辅下游单元的接口模块从所述第二帧提取所述第一帧,并且传输到所述至少一个辅下游单元的数据处理模块;以及步骤(e)包括由所述至少一个辅下游单元的数据处理模块从所述第一帧提取数据包。

该方法还包括额外的步骤(j):将由所述至少一个辅下游单元的数据处理模块提取的数据包传输到所述主下游单元的数据处理模块;由所述主下游单元的数据处理模块比较所接收到的各数据包;以及仅在比较结果为肯定的时才确认到所述主下游单元的数据传输的完整性。

要被传输的数据包是由所述主上游单元的数据处理模块根据控制数据生成的第一数据包,步骤(e)包括由所述至少一个辅上游单元的数据处理模块从所述第一帧中提取数据包;并且所述方法还包括:由所述至少一个辅上游单元的数据处理模块根据与所述第一数据包的相同的控制数据来生成第二数据包;由所述至少一个辅上游单元的数据处理模块比较所述第一数据包和所述第二数据包;以及仅在比较结果为肯定的时才确认到所述主下游单元的数据传输的完整性。

该方法包括实现以下步骤:

(α)由所述至少一个辅上游单元的数据处理模块生成第四帧,并且传输到所述至少一个辅上游单元的接口模块,所述第四帧包括所述第二数据包和所述第二数据包的循环冗余码;

(β)由所述至少一个辅上游单元的所述接口模块将所述第四帧封装在第五帧中,所述第五帧还包括所述第四帧的循环冗余码;

(γ)将所述第五帧传输到所述主上游单元的接口模块;

(δ)由所述主上游单元的接口模块从所述第五帧提取所述第四帧,并且传输到所述主上游单元的数据处理模块;

(ε)由所述主上游单元的数据处理模块从所述第四帧提取所述第二数据包;

(ζ)由所述主上游单元的数据处理模块比较所述第一数据包和所述第二数据包;以及仅在比较结果为肯定的时才确认到所述主下游单元的数据传输的完整性。

所述第二帧和所述第三帧符合高级数据链路控制标准。

所述上游单元和下游单元经由单个有线链路在物理上连接。

所述有线链路符合标准RS-485。

在第二方面,本发明涉及一种飞行计算机,所述飞行计算机包括被配置为实现根据第一方面所述的方法的主上游单元、主下游单元和至少一个辅上游单元。

在第三方面,本发明提出了一种飞机飞行控制系统,所述飞机飞行控制系统包括至少三个根据第二方面的计算机,所述计算机的上游单元从至少一个飞机驾驶部件接收飞行控制数据,以及所述计算机的下游单元将控制指令给到飞机的至少一个致动器。

根据其他有利的非限制性的特征,计算机的每个上游单元连接到其他计算机的下游单元。

在第四方面和第五方面,本发明涉及一种计算机程序产品,所述计算程序产品包括代码指令,所述代码指令用于执行根据本发明的第一方面所述的用于验证主上游单元和主下游单元之间的数据传输的完整性的方法,本发明还涉及一种计算机设备可读的存储装置,在所述存储装置中,所述计算机程序产品包括代码指令,所述代码指令用于执行根据本发明的第一方面所述的用于验证主上游单元和主下游单元之间的数据传输的完整性的方法。

附图说明

在阅读以下的优选实施例描述时,本发明的其他特性和优点将变得明显。该描述是参照附图来给出的,在附图中:

图1示出了其中实现本发明方法的飞行控制系统的架构;

图2是本发明方法所使用的HDLC帧的示例的示意图;

图3a-h示出了本发明方法的一个优选实施例中的、用于验证数据传输的完整性的一个方面的步骤;

图4a-f示出了本发明方法的一个优选实施例中的、用于验证所生成的数据的完整性的一个方面的步骤。

具体实施方式

架构

之前提到的ARINC-429是对用于数字数据传送的架构、电子界面和协议进行描述的标准。该架构基于“单一”链路,即,三倍或四倍的单向链路1至N(以获得“三重”或“四重”架构)。因此,即使N-1条链路故障,系统仍能够运作。

提出本方法以按照简单且充分安全的方式来使用与ARINC-429的物理界面和协议不同的物理界面和协议,而同时保持其拓扑,从而保持ARINC-429的优点同时改进ARINC-429的性能,尤其是在比特率、延迟和环境适应力方面改进ARINC-429的性能。

参照图1,本方法被实现于包括一个或多个(冗余)计算机1(飞行控制计算机-FCC)的飞机(尤其是直升机)的FCS类型系统(飞行控制系统)中。每个计算机可被视为飞行员对气动控制面(即,由致动器驱动的、能够修改飞机飞行路径的各种飞机元件)的飞行控制的传输“线路”。飞行员操纵生成飞行控制数据的驾驶部件(例如,驾驶杆),由模块2(侧杆单元-SSU,侧杆单元被用于致动飞机的控制面)将飞行控制数据注入到线路1中。

图1具体示出了具有第一线路1.1、第二线路1.2和第三线路1.3的三重架构。这些线路相同。

用“线路”来表示多个互连单元10、20的独立组,互连单元10包括至少一个“上游”单元10(飞行控制处理器-FCP),互连单元20包括至少一个“下游”单元20(致动器控制处理器-ACP)。

每个上游单元10接收输入的飞行控制数据(解释飞行员期望的飞机的全局移动)并且生成飞行控制指令(解释要由飞机致动元件执行的动作),所述飞行控制指令通过飞机来传送。每个下游单元20(远距离的、位于致动器处)接收这些飞行控制数据并生成致动器控制指令以获得飞行控制面的主动移动(例如,如果飞行员希望修改直升机的方位,则抗扭矩旋翼桨叶的事故率增加)。

在一条线路中,遵循COM/MON(“命令/监控”)架构来对单元10、20加倍。具体地,存在主上游单元10a和至少一个辅上游单元10b。类似地,(如参照图1中所示),存在主下游单元20a和至少一个辅下游单元20b。主单元10a、20a是主单元,而辅单元10b、20b接收主单元10a、20a接收的数据的副本,并且被单独用来监控并验证主单元10a、20a所给出的数据。

每个单元10a、10b、20a、20b包括数据处理模块11a、11b、21a、21b(典型地处理器执行数据处理)和接口模块12a、12b、22a、22b(典型地,现场可编程们阵列——FPGA,其管理与其他单元之间的通信)。这两个模块可经由本地通信链路来连接。

在本说明书的其余部分中,将以具有如下四个单元10a、10b、20a和20b的线路1来作为示例:一个主上游单元10a、一个辅上游单元10b、一个主下游单元20a和一个辅下游单元20b。可以看出,线路1特别在于单个物理链路(单个线缆)将上游单元10连接到下游单元20,从而允许重量和成本上的显著减少。尽管有该单个线缆,但是本方法保证了线路1内的数据传输的完整性。换言之,可以以小于10-10的错误率来保证从主上游单元10a传输到主下游单元20a的数据是有效的。

要注意到,如图1所示,仍可以提供从一条线路1.1、1.2、1.3到另一条线路的跨接线缆连接(从而即使例如在飞机为军用飞机的情况下线路中固有的线缆连接由于例如枪击被物理损坏,仍能够使得每条线路1的操作不中断)。即使利用这些跨接线缆连接,要提供的物理链路的数量仍远远低于现有技术。

线路1内的物理接口(硬件)优选地符合标准RS-485(对于该标准,比特率可达到若干M比特/秒),并且有利地被配备有电绝缘以充分抵抗闪电和电磁事件(并且因此具有良好的环境适应力)。尽管RS-485不是专用于电飞行控制,但是本方法保证了充分可靠性。

数据传输的完整性的验证

利用本发明,可确保主上游单元10a的数据处理模块11a所产生的数据包P1被相同地传输到主下游单元20a的数据处理模块21a。现在所要描述的本方法的该方面假设由数据处理模块11a(根据飞行控制数据)正确地生成数据包P1。然而,如下面所阐述的那样,在一个可选实施例中,该方法包括对由数据处理模块11a所生成的数据(以及因此的数据包P1)的完整性进行验证。

用于数据传输(下游单元10和上游单元20之间的数据传输,即接口模块12和22之间的数据传输——要注意到,任何格式均可用于同一单元内的处理模块和接口模块之间的传输)的协议有利地符合标准HDLC(“高级数据链路控制”,标准ISO/IEC 13239:2002)。所使用的单元是具有如可在图2中看到的那样的结构的帧。每个帧由两个相同的标记来限定,并且包括20至32个八位字节的数据字段。地址字段用作2个八位字节的消息标识符,并且等价于ARINC–429标签。1个八位字节的控制字段未被使用。在两个帧之间,有至少15比特具有值“1”。本方法所关注的帧是第二帧T2和第三帧T3以及可选的第五帧T5。

该方法开始于图3a中所示的步骤(a),主上游单元10a的数据处理模块11a生成第一帧T1(以任何格式),该第一帧T1包括要被传输的数据的数据包P1和所述数据包P1的循环冗余码E1。给出了T1=P1+E1。数据包P1的循环冗余码E1(通常称为“校验和”)是通过循环冗余校验(CRC)来获得的,尤其是通过已知的哈希方法来获得。在本领域技术人员的认知内,应用2个八位字节的CRC-16-CCITT。特别地经由本地通信链路将帧T1传输到主上游单元10a的接口模块12a。

在图3b中示出的步骤(b)处,该接口模块12a将第一帧T1封装在第二帧T2中(这时,有利地第二帧T2符合之前在图2中描述的格式),第二帧T2还包括第一帧T1的循环冗余码C1。换言之,第二帧T2的数据字段由数据包P1和相关联的CRC E1构成。CRC C1可以与例如CRC E1或4个八位字节的CRC–32–IEEE类型相同。

在图3c中示出的步骤(c)处,第二帧T2(经由线缆)至少被传输到主下游单元20a的接口模块22a和辅上游单元10b的接口模块12b。在存在至少一个辅下游单元20b的情况下(如在该示例中那样),第二帧T2还被传输到其接口模块22b。

每个接口模块22a、22b、12b在步骤d)处(通过分离出帧标识符和CRC C1)从第二帧T2中提取第一帧T1,并且将该帧传输到相关联的数据处理模块21a、21b、11b。

图3d中示出的辅上游单元10b的数据处理模块11b在步骤e)处提取数据包P1的循环冗余码E1,而同时主下游单元20a的数据处理模块21a(以及当可适用时,辅下游单元20b的数据处理模块21b)从第一帧T1中提取数据包P1。会注意到,自相矛盾的是,辅上游单元10b的数据处理模块11b可以忽略数据包P1并且仅仅考虑数据包P1的循环冗余码E1(与下游侧上的作用相反),这是由于,如会看到的那样,这会使得辅上游单元10b能够实现传输完整性测试。断言为,只要线缆为单个线缆,在辅上游单元10b已经正确地接收到数据包P1的循环冗余码E1的情况下,则可假设对于数据包P1也是如此,这是由于CRC是P1的标记,这适用于所有接收方。如果在传输时发生错误(在接口模块12a处)或在传输之前发生错误(在数据处理模块11a处),则E1的所有传输会是错误的。然而,在下面描述的实施例中将实施额外的测试。在该阶段,图3e中示出的那样,上游数据处理模块11a、11b中的每个均具有一个版本的CRC E1。

因此,在图3f中示出的步骤(f)处,此时主上游单元10a的接口模块12a将(其从数据处理模块11a中接收到的)数据包P1的循环冗余码E1封装在第三帧T3中。换言之,帧T3的数据字段不包含P1(并且实际上仅包含E1)。该第三帧还包括数据包P1的循环冗余码E1的循环冗余码C1’(类似于CRC C1)。要注意到,CRC C1和C1’不同,这是由于哈希数据是不同的。

在图3g中示出的步骤(g)处,第三帧T3(经由线缆)被传输到辅上游单元10b的接口模块12b(下游单元20a、20b不是其接收方)。

类似于步骤(d)处的作用,步骤(h)处的接口模块12b(通过分理出帧标识符和CRC C1’)从第三帧T3中提取CRC E1并将其传输到相关联的数据处理模块11b。

那么数据处理模块具有两个版本的CRC E1(一个提取自第一帧T1,而一个提取自第三帧T3),并且可以在图3h中示出的步骤(i)处(逐位)比较这两个版本。仅在比较结果为肯定的时,换言之,两个E1相同,这标志着第二帧T2和第三帧T3的各传输已经被正确实施(否则,这两个CRC中的至少一个会是不同的),才确认到主下游单元20a的数据传输的完整性。在该阶段,主下游单元20a的数据处理模块21a可以确保数据包P1的传输是无错的。

要注意到,如果存在至少一个辅下游单元20b,则该方法可包括额外的步骤(j)以将辅下游单元20b的数据处理模块21b提取的数据包P1传输到主下游单元20a的数据处理模块21a。如在步骤(i)中那样,由至少一个辅上游单元10b的数据处理模块11b在接收到的各数据包P1之间进行比较,仅在比较结果为肯定的时,换言之,两个P1是相同的,这标志着第二帧T2的每个“下游”去封装已经被正确实施(否则,这个两个P1中的至少一个会是不同的),才确认到主下游单元20a的数据传输的完整性。

所生成数据的完整性的验证

之前描述的步骤对数据包P1已经被正确传输给予保证,但是不是对该数据包P1为正确给予保证。根据一个优选实施例,该方法包括(单个或两个)验证步骤以验证主上游单元10a的数据处理模块11a(根据控制数据)所生成的数据的完整性。

出于此目的,要传输的数据包P1被命名为第一数据包,第一数据包将与监控数据包P2进行比较。那么该方法包括由辅上游单元10b的数据处理模块11b根据与用于第一数据包P1相同的控制数据来生成第二数据包P2,如可从图4a中看到的那样。

根据之前描述的单个验证步骤(e),该验证步骤包括由至少一个辅上游单元10b的数据处理模块21a从第一帧T1提取数据包P1(想起之前描述的在步骤(e)处提取数据包P1的CRC E1的情况)。

这时可由辅上游单元10b的数据处理模块11b来执行第一数据包P1和第二数据包P2之间的新的比较。那么仅在比较结果为肯定的时,即,P1和P2相同,解释为所传输的数据包P1正确,才确认到主下游单元20a的数据传输的完整性。

在一个优选实施例中,该方法包括在图中示出的额外的步骤,用来执行数据包P1的双重验证。现在要描述的步骤可在上述的步骤(a)-(i)之前执行,或者与步骤(a)-(i)并发地执行。要注意到,数据包P1可以被生成两次,从而一次验证数据生成的完整性并且第二次验证数据传输的完整性。优选地,这两个测试重叠以节约时间。

在图4b中示出的步骤(α)(该步骤可与步骤(a)同时,与步骤(a)类似)处,由辅上游单元10b的数据处理模块11b来生成第四帧T4,第四帧T4包括第二数据包P2和所述第二数据包P2的循环冗余码E2。这给出T4=P2+E2。该帧T4(该帧一般必须与第一帧T1相同)被传输到辅上游单元10b的接口模块12b。

在图4c中示出的步骤(β)(该步骤可与步骤(b)同时,与步骤(b)类似)处,该接口模块12b将第四帧T4封装在第五帧T5中(第五帧T5再次有利地符合之前在图2中描述的格式,还包括第四帧T4的循环冗余码C2)。换言之,第五帧T5的数据字段由数据包P2和相关联的CRC E2构成,并且该第五帧T5一般必须与第二帧T2相同。

在图4d中示出的步骤(γ)(该步骤可与步骤(c)同时,与步骤(c)类似)处,第五帧T5(经由同一线缆,或经由直接链路,这是由于所有的上游模块10都被布置在彼此附近)被传输到主上游单元10a的接口模块12a。

接口模块12a在步骤(δ)(该步骤可与步骤(d)同时,与步骤(d)类似)处(通过分离出帧标识符和CRC C2)从第五帧T5提取第四帧T4并将该帧传输到相关联的数据处理模块11a。

然后,主上游单元10a的数据处理模块11a在图4e中示出的步骤(ε)(该步骤可与步骤(e)同时,与步骤(e)类似)处从第四帧T4中提取第二数据包P2。

那么,该模块具有要两个版本的被传输的数据包(从第一帧T1提取的第一数据包P1、以及从第四帧T4提取的第一数据包的副本P2),并且可以在图4f中所示的步骤(ζ)(该步骤可与之前提到的辅上游单元10b的数据处理模块11b处的比较同时,与该比较类似)处比较这两个版本。仅在比较结果为肯定的时,换言之数据包P1和数据包P2是相同的,这标志着这些数据包各自(根据相同的数据)的生成已经被正确地执行,才确认到辅上游单元10b的数据传输的完整性。在该阶段,主上游单元10a的数据处理模块11a可确保数据包P1已经被无错误地生成(并且因此被无错误地传输)。

FCC计算机和FCS系统

在第二方面,本发明涉及FCC类型的飞行计算机1,换言之,“线路”包括主上游单元10a、主下游单元20a和至少一个辅上游单元10b(以及有利地至少一个辅下游单元20b),这些单元被配置为实现根据第一方面的方法。

如所阐述的那样,同一线路1的单元10a、10b、20a和20b经由单个有线链路(特别地,符合标准RS-485的有线链路)而被物理地连接。

在第三方面,本发明涉及飞机(特别地,直升机)的(FCS类型的)飞行控制系统,该飞行控制系统包括至少三个根据第二方面的计算机1.1、1.2、1.3,以获得图1中所示的类型的架构。

计算机1.1、1.2、1.3的上游单元10a、10b从飞机的至少一个驾驶部件(驾驶杆、踏板等)接收飞行控制数据,并且计算机1.1、1.2、1.3的下游单元20a、20b将控制指令给到飞机的至少一个致动器(致动控制面的汽缸等)。优选地,计算机1.1、1.2、1.3的每个上游单元10a、10b被连接到其他计算机1.1、1.2、1.3的下游单元20a、20b和/或计算机1.1、1.2、1.3的所有上游单元10a、10b(分别是计算机1.1、1.2、1.3的所有下游单元20a、20b)彼此连接。

因此,飞机包括飞行控制系统、驾驶部件和致动器。

计算机程序产品

在第三和第四方面,本发明涉及计算机程序产品,该计算机程序产品包括代码指令,代码指令用于执行(特别地,在这些单元的数据处理装置11a、11b、21a、21b上)用于验证主上游单元10a和主下游单元20a之间的数据传输的完整性的方法,本发明还涉及包含该计算机程序产品的计算机设备可读的存储装置(特别地,这些单元的存储器)。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号