CN104579862A - 用于飞机的数据通信网络 - Google Patents

用于飞机的数据通信网络 Download PDF

Info

Publication number
CN104579862A
CN104579862A CN201410529999.9A CN201410529999A CN104579862A CN 104579862 A CN104579862 A CN 104579862A CN 201410529999 A CN201410529999 A CN 201410529999A CN 104579862 A CN104579862 A CN 104579862A
Authority
CN
China
Prior art keywords
data
frame
queue
descriptor
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410529999.9A
Other languages
English (en)
Other versions
CN104579862B (zh
Inventor
P.博布雷克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GE Aviation Systems LLC
Original Assignee
GE Aviation Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GE Aviation Systems LLC filed Critical GE Aviation Systems LLC
Publication of CN104579862A publication Critical patent/CN104579862A/zh
Application granted granted Critical
Publication of CN104579862B publication Critical patent/CN104579862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明题为用于飞机的数据通信网络。提供一种控制具有经过多个数据队列(40)被提供数据的中央数据服务器(28)的通信网络中的数据通信的方法。到达中央数据服务器(28)的数据可存储在多个数据队列(40)的每个中。多个数据队列(40)中的数据则可基于预定计划表来提供给中央数据服务器(28)。

Description

用于飞机的数据通信网络
技术领域
本发明涉及用于飞机的数据通信网络。
背景技术
对于当代飞机,航空电子‘平台’由多种组件(例如传感器、传感器数据集中器、数据通信网络、射频传感器和通信设备、计算元件、效应器和图形显示器)来组成。这些组件必须通过数据通信网络来共享信息。
这些平台元件的遗留化身采取单独子系统元件的形式,常常称作“联合系统”。联合系统是独立封装中的应用特定子系统,其中具有其自己的专用逻辑、处理器和输入/输出接口。多个分离联合系统依靠数据源的公共子集,但是没有联合系统之间的处理资源和接口的共享。
降低对联合系统的依靠的先前工作引起ARINC 653和ARINC 664标准的引入。ARINC 653(A653)是一种操作系统,其中向例如与联合系统功能关联的各应用准予在其中运行的其自己的时间片分区和其自己的存储器空间分区。这实现多个联合系统功能将要在公共处理器上被托管并且基于ARINC 664第7部分(A664p7)共享到航空电子数据网络的公共接口和布线的方面。
在这些系统中,数据以较高频率来取样、发布和传送,以及在ARINC 653分区中运行的应用更频繁地运行,以便确保应用所产生的结果具有充分低的输入数据取样时间到处理输出(input-data-sample-time-to-processed-output)延迟。数据发布速率的频率和应用执行的频率均趋向于比同步数据及其处理时原本所需的要更为频繁。
发明内容
在一个实施例中,本发明涉及一种控制具有经过多个数据队列被提供数据的中央数据服务器(CDS)的通信网络中的数据通信的方法,该方法包括存储到达多个数据队列的每个的到达数据字,确定数据队列中存储的各数据字的存储完成时间,按照所确定完成时间、按时间顺序在先进先出(FIFO)存储器中存储每个所存储数据字的队列标识符,基于FIFO存储器的最早存储器位置中的队列标识符来选择用于CDS的数据队列,以及服务于与所选队列标识符对应的多个队列之一中的数据字。
附图说明
附图包括:
图1是按照本发明的一个实施例的用于飞机的数据通信网络的示意图。
图2是按照本发明的一个实施例的航空电子数据服务器的示意图。
具体实施方式
本发明的所述实施例针对具有航空电子数据服务器(ADS)的航空电子数据通信网络以及用于飞机的组件的实施例,其支持向飞机上的任何目的地分布数据值的任何源的需要。在可能的同时,本发明的实施例无需施加关于飞机的所有数据通路必须经过数据通信网络的要求,因为将存在某些点对点流(例如,对于其,使其经过ADS将没有优势)。但是,需要转换、互配、处理、同步、业务整形、策略、多播等的数据流的至少大多数能够获益于ADS提供的功能性。
如图1示意所示,飞机10示为具有多个远程输入单元(RIU)12(例如各种传感器或仪表)以及至少一个用户单元14,其电连接到数据通信网络16供飞机10的操作。每个RIU 12可向数据通信网络16提供数据或数据帧,以及各用户单元14可基于原始数据的至少一部分来消耗消息。用户单元14例如可包括附加航空电子系统、处理器、显示器或冗余检验系统。RIU 12和用户单元14可按不同数据传输速率(其可由数据通信网络有效地管理)来提供并且消耗数据。设想附加RIU 12和/或用户单元14或者单元12、14的布置。将会理解,虽然本发明的一个实施例在飞机环境中示出,但是本发明并不受此限,而是一般应用于非飞机应用(例如其它移动应用和非移动工业、商业以及住宅应用)中的数据通信网络。
图2示出包括航空电子数据服务器(ADS)18的数据通信网络的高级框图。ADS 18可包括:多个物理RIU 20,连接到公共入口接口22;入口端口调度器24;帧描述符管理器(FDM)25,具有描述符查找表(DLT)26、策略器27和描述符多播分布器(DMD)29;中央数据服务器(CDS)28;出口参数消息调度器(PMS)30,具有参数消息构造器(PMC)31;多个物理用户单元32,连接到公共出口接口34;以及多个虚拟链路36。
每个RIU 20经由一个数据耦合38和至少一个数据队列40来连接到公共入口接口22,从而定义物理入口端口42。数据耦合38可具有从物理连接器来接收数据帧的能力,并且例如可包括物理连接器、例如以太网端口和/或软件或协议层兼容性,例如媒体接入控制(MAC)或因特网协议(IP)路由选择或者串行接口。物理入口端口42共同定义入口物理接口44。虽然示出有限数量的物理入口端口42,但是设想可存在任何数量,其中一个工作示例包括48个入口端口42,其中前16个端口42可以是例如以太网端口42,以及其余32个端口用于ARINC 429接口。设想备选数量的端口以及两个或更多接口的备选划分。ADS 18能够与多个物理RIU 20和虚拟链路36数据协议、例如以太网、IEEE 802.3、ARINC 664第7部分(A664p7)、CAN总线、ARINC 429(A429)、ARINC 661和其它遗留协议等进行接口。设想接口协议可以具有或者可以没有物理接口,并且可包括例如无线技术、例如蓝牙或WiFi。
公共入口接口22还可连接到一个虚拟入口端口46,其中端口46经由数据队列40向接口22提供至少部分原始数据。虚拟入口端口46共同定义入口虚拟接口48。各物理和/或虚拟入口端口42、46能够向公共入口接口22提供至少部分原始数据。
入口端口调度器24接收来自公共入口接口22的输入,向FDM 25和CDS 28提供输出,并且还可包括到达时间(ToA)记录器50和入口端口集中器52。策略器27可监测和/或影响FDM 25的操作。DMD 29可提供到一组每出口端口描述符队列43(其工作在先进先出(FIFO)配置)的输出连接。如果同一消息将要传送给一个以上物理用户单元32,则DMD 29可将同一描述符写到每出口端口描述符队列43的一个以上每出口端口描述符队列。每个每出口端口描述符队列43还连接到队列充溢度接口70。
CDS 28包括存储器,以用于存储至少一个循环缓冲器54、当前值表(CVT)56和参数消息表58。例如,CDS 28存储器可包括硬盘驱动器、固态驱动器、四倍数据速率(QDR)存储器或者为了冗余度所设置的多个存储器元件。在所示实施例中,CDS 28包括三个循环缓冲器54,各通过其进行操作的数据速率来定义,例如10兆位/每秒(Mbps)循环缓冲器60、100 Mbps循环缓冲器62和1千兆位/每秒(Gbps)循环缓冲器64。在各循环缓冲器54中,最早存储的数据采用从入口端口调度器24的输出到达的最新数据来改写。
各物理用户单元32经由一个数据耦合38和至少一个数据队列(例如一组每出口端口数据消息队列41)连接到公共出口接口34,从而定义物理出口端口66。物理出口端口66共同定义出口物理接口68。各物理出口端口66的每个每出口端口数据消息队列41还连接到队列充溢度接口70。公共出口接口34还可连接到一个虚拟出口端口72,其中端口72经由数据队列40从接口34接收消息。虚拟出口端口72共同定义出口虚拟接口74。设想各物理出口端口66可与一个数据消息队列41、但与任何数量的每出口端口数据描述符队列43关联,其中所示实施例对每物理出口端口66、72具有例如一个数据队列41和四个描述符队列43。
出口参数消息调度器(PMS)30还可包括出口仲裁器、例如基于规则的调度器76,其可使用队列充溢度接口70来确定从每出口端口描述符队列43的哪一个接收DMD 29所提供的描述符。那个描述符用来读取和检验来自CDS 28的所指定数据帧。如果该帧经过这样检验,则PMS 30还可经过公共出口接口34把来自CDS 28的输出提供给物理出口端口66,其与每出口端口描述符队列43(从其中接收描述符)关联。
出口参数消息调度器(PMS)30还可包括参数消息构造器(PMC)31,其可使用参数消息表58的内容和CVT 56和/或循环缓冲器54(例如,如果它包含A429多字消息)中包含的数据值来始发消息的构造,供用户单元32和/或出口端口66、72消耗。
PMS 30、基于规则的调度器76和/或PMC 31例如可包括运行于网络的通用计算机的可执行程序或者运行于专用计算机的可执行程序。备选地,PMS 30、基于规则的调度器76和/或PMC 31可包括硬编码功能逻辑装置。基于规则的调度器76可接收来自每出口端口描述符队列43和队列充溢度接口70的输入,以便使PMS 30能够选择和检验从CDS 28送往公共出口接口34的消息。备选地,PMS 30和/或PMC 31可使用参数消息表58从CVT 56和/或循环缓冲器54来选择哪些数据值可用来构成输出到公共出口接口34的消息。虽然每出口端口描述符队列43示为与PMS 30分离,但是设想一实施例,其中队列43可包含在PMS 30和/或基于规则的调度器76中。
虚拟链路36还可包括ADS 18的附加本地或远程组件,由此消息可经过至少一个数据队列40和虚拟链路36从虚拟出口接口74来传送,并且由入口虚拟接口48接收。所示的示例虚拟链路36包括:至少一个分布式处理器78,能够对消息执行处理或计算功能;图形渲染器80,能够提供内容(例如使用ARINC 661小部件)供航空电子显示;虚拟端系统82,用于与遗留飞机系统进行接口;网络大容量存储存储器84,用于冗余存储,或者消息环回端口86,用于将消息从PMS 30传送给一个或多个出口端口68。设想虚拟链路36还可使用虚拟链路ID(VLid)来识别。
ADS 18进行操作以支持交换功能,以支持将原始数据值的任何源分布到飞机10上的任何目标或用户单元32的需要。设想本发明的实施例可以不需要施加关于所有原始数据流必须经过ADS 18的要求,因为将存在某些点对点流,例如对于其,使它们经过ADS 18将不存在优势。但是,可要求例如转换、互配、处理、同步、业务整形、策略、多播等的交换功能的所有原始数据流可获益于ADS 18提供的功能性。另外,一个以上ADS 18可设置在同一飞机10或数据通信网络16上,以便经由存储装置或者另一个ADS 18来提供附加交换能力、冗余安全措施、数据镜像,供检验和验证或者分布式处理。
设想各物理出口端口66可配置有多个每出口端口描述符队列43,以便基于如基于规则的仲裁器76所解释的消息的优先级为将要由参数消息调度器30所消耗的描述符提供多个通路。设想各物理出口端口66可对应于任何数量的每出口端口描述符队列43,其中所示实施例具有例如四个队列43。还设想每出口端口描述符队列仅服务于一个物理出口端口66或虚拟出口端口72。
各描述符队列43和各出口数据队列41配置成向队列充溢度接口70传送指示队列41、43的充溢程度的信号,其由基于规则的仲裁器76和参数消息调度器30用来选择将要从哪一个每出口端口描述符队列43来接收下一个描述符。
在描述ADS 18的操作之前,对整个ADS 18所使用的数据的概述将帮助了解数据通信网络16的操作。一开始,RIU 20可向ADS 18提供数据帧,其中数据帧具有至少一个标识符和对应原始数据。入口物理接口22和/或入口端口调度器24中的至少一个将所接收数据帧解析为标识符解析描述符和解析对应原始数据。可由ADS 18进一步更新的解析描述符用来识别和描述原始数据的目的,例如数据应当被传送到的位置或者从其中传送数据的位置,而解析原始数据包含有效载荷。ADS 18稍后使用描述符来识别原始数据的位置,并且可将描述符和/或原始数据构或计算为操作数据或消息,以供出口端口66、72消耗。
在一个示例中,ADS 18操作能够从异步连接的RIU 20来接收数据帧,将原始数据存储在CDS 28存储器、例如CVT 56或循环缓冲器54中,从所存储数据帧来形成消息,并且将所形成消息发送给至少一个用户单元32。另外,可存在直接环回能力,其用作由参数构造器31所构成的帧出现在入口端口供帧交换的部件。将详细描述ADS 18的单独部分和ADS 18操作。
入口物理接口功能
首先,数据从一个或多个物理接口端口42的RIU 20提供给公共入口接口22。入口物理接口44可包括例如作为数据耦合38的组成部分、能够将特定物理入口端口42所提供的数据或模拟信号转换为数据流或数据帧(其存储在FIFO入口数据队列40中)的组件。在这个示例中,数据耦合38可执行下列入口功能:消除损坏字/帧/数据;实现消除非IP数据帧(例如不等于0x0800的有效载荷类型/长度字段);对第一类型的数据的到达时间加时间标签;以及将数据帧排队,从而挂起后续传递和处理。可作为进入入口端口42、46队列40的数据帧来生成的一些输出是:到达端口(PoA),以实施数据帧仅在其所指定入口端口42、46进入;第一字的到达时间(ToA);已完成帧的ToA的一位脉冲(用于入口端口调度器24的ToA记录器50;下面进行描述);当读取帧时的帧定界的帧的开始和帧的结束指示符;以及单位为字节数的帧长度。
使用到RIU 20的外部接口的以太网范例,作为举例,各物理入口端口42的数据耦合38与媒体接入控制器(MAC)的接收段(其中具有生成、存储和恢复上述参数的辅助逻辑)相似,连接到一个或多个队列40,例如数据FIFO队列40和帧描述符FIFO队列40。
设想入口端口包括不只是与外部入口物理接口44关联的那些端口,而且还包括内部或入口虚拟接口48,例如与虚拟链路36的输出关联的那些端口,例如互配(例如虚拟端系统82、参数消息构造器31)、分布式处理器78和图形渲染器80。
为了便于健康监测,每端口统计可由入口物理接口44或数据耦合38来保持。这些可包括所接收帧的数量、因例如循环冗余校验(CRC)差错而丢弃的帧的数量、所丢弃的发育不全(<64字节)帧的数量和/或超过在端口所允许的最大帧大小的所丢弃的帧的数量。同样,可由策略器27来保持统计,其指示与特定输入端口调度器24提供给FDM 25的特定流指数关联的已通过或丢弃的帧的数量。
入口调度器
入口端口调度器24将从入口物理和/或虚拟接口44、48所接收的原始数据组织为FIFO顺序,从而挂起已完成数据帧的到达。在这个意义上,ADS 18的交换部分可以是存储和转发设计,使得各种大小的大数据帧能够在到达不同入口端口42、46之后毗连地存储在中央存储器、例如CDS 28中。设想ADS 18提供主控时间,其可以是或者可以不是跨各种飞机组件(包括CDS 28、CVT 56、PMS 30和/或用户单元32或者数据通信网络16的多个ADS 18)同步的。入口端口调度器24也可以可选地控制帧描述符管理(FDM)功能,其中例如数据帧可解析为包括标识符或描述符和对应原始数据的独立部分。
到达时间记录器
入口调度器操作也可包括ToA记录器50和一个或多个入口端口集中器52。ToA记录器50基于ADS 18的主控时间信号来确定哪一个入口端口42、46的数据帧接下来将要存储。入口端口集中器52将到达数据帧或A429字汇集给两个CDS 28目的地中的至少一个:潜在地许多循环缓冲器54(在排队类型数据的情况下)或者在取样类型数据(下面进行描述)的情况下的CVT 56其中之一。
例如,每当数据帧或A429字完全到达其物理入口端口42的数据队列40时,一位脉冲可发送给入口调度器24的ToA记录器50,以记录数据帧的完成时间。有可能使若干短原始数据帧到达任何给定端口42、46上,而先前到达的数据帧从其它端口42、46的数据队列40来传递。为此,设想ToA记录器50可例如每端口42、46每数据帧只使用一位,但是其准确表示所有端口42、46上的完成组合的相对时间。共同表示时钟周期期间在端口42、46的任一个上的帧的已完成到达的位可组织为到达时间字(TAW)。
每当数据帧或A429完成它在入口端口42、46的到达时,它可切换专用于那个输入端口42、46的线路,并且设置TAW位。同样,时钟周期期间的任何已完成到达可使整个TAW被写入ToA记录器50中,从而按照FIFO排序来组织到达TAW值。如果时钟循环期间不存在新数据帧或A429字完成,则没有TAW被写到ToA记录器50。备选地,如果数据帧或A429字在同一时钟周期期间在多个端口上并发地完成其到达,则可设置写入ToA记录器50的TAW的一个以上位。
入口端口集中器52接收在ToA记录器50的输出可用的最早TAW字,以确定哪一个数据帧或A429字首先完成到达。因此,入口端口集中器52充当端口选择器,其确定哪一个入口端口42、46的数据帧接下来被处理并且传递给CDS 28。有可能的是,帧或字在时钟循环的分辨率之内在不同端口上同时完成到达,并且从ToA记录器50所接收的RAW将使多个位被设置。在那种情况下,入口调度器24将服务于所有端口,其数据帧在下一个TAW字从ToA记录器50来接收之前按照例如循环顺序同时完成到达。这个操作可保证所有入口端口42、46的数据速率公平性,而与其数据到达速率和/或数据帧大小无关。
入口端口集中器
可存在用于入口端口调度器24的三个入口端口集中器52。例如,一个入口端口集中器52集中所解析的以太网帧或原始数据,供写入一个或多个循环缓冲器54,其中其存储信息和流标识符提供给DLT 26和策略器27,在由PSM 30调度成这样做时,其可使描述符由DMD 29写入描述符队列43并且由基于规则的调度器76来服务。
第二集中器52可将以太网帧、原始数据和/或A429字集中到CVT 56中,供以后由PMS 30和/或PMC 31利用。第三集中器52可将数据和/或A429字(例如具有多字消息的那些数据或A429字)集中到组织为FIFO的一个或多个循环缓冲器54中,以便保存原始数据的样本的时间顺序和/或A429字的顺序。这些在本文中称作A429输出队列。
一旦选择特定入口端口以由ToA记录器50来服务,入口端口集中器52协调所解析原始数据从所选入口端口42、46到CDS 28的CVT 56或循环缓冲器54和/或FDM 25中的至少一个的传递。
帧描述符管理器
由入口物理接口44功能所产生的帧报头、帧长度、ToA和PoA由FDM 25用来创建数据帧的描述符,并且向该组每出口端口描述符队列43广播那个描述符。FDM 25还可接收写到CDS 28的各以太网帧或A429字的帧头指针(HOF指针,用于识别所解析数据的地址)和帧存储时间(ToFS,用于识别可以可接受地存储所解析数据多长时间)。存在由DMD 29用于描述符分布的两个不同路由选择通路,一个用于以太网帧以及一个用于A429数据字。另外,存在这些通路的每个的不同描述符。
帧描述符管理器FDM包括数据通路查找表(DLT)26、策略器27和描述符多播分布器(DMD)29,其使同一描述符能够被写到多个每出口端口描述符队列43。DMD 29通过DLT 26所输出的位的集合来控制,其识别描述符将要写到哪些每出口端口描述符队列43。
入口查找表
入口查找表可结合到入口端口调度器24,以及用来识别数据流并且将唯一指数指配给入口端口42、46其中之一上始发的每个流。这个指数用作多种数据通路存储和控制功能的流标识符。例如,该指数用作DLT 26检索策略参数和路由选择位(其指示DMD 29可将帧描述符存储到哪些队列43中)的关键字。该指数还用来检索要在CDS 28中存储帧数据的地址,例如,它可用来检索和存储循环缓冲器54的最近偏移地址。入口查找表可包括随机存取存储器、哈希逻辑和存储器或者内容可寻址存储器(CAM),其输出、流指数或关键字通过所接收数据帧的端口号和所选位来确定。例如,基于每物理以太网端口,可提供配置选项以指示UDP/IP/MAC报头的哪些位识别数据流的类型。备选地,ARINC 429数据流可通过与ARINC 429字的8位标签所集中的入局ARINC 429物理端口号来识别。
这个流指数还可提供针对仿冒或数据损坏的故障安全保护。例如,DLT 26输出可包含指示帧的预计到达端口(EpoA)的字段。可针对如入口物理接口44所报告的、帧到达的实际端口号进行检查。如果它们不匹配,则可丢弃该帧。
对于ARINC 429接口,A429标签和端口号被集中并且用来访问独立查找表,其输出可以是流指数。
使用流指数,为CDS 28写入功能性提供起始位置和帧长度,使得可写入原始数据帧的内容,开始于正确数量的CDS 28位置的正确基址。
流标识符对DLT 26中存储的路由选择、策略和存储参数表进行寻址。这个DLT 26的输出位字段根据数据源以及它将要存储的位置可具有不同解释。以太网帧能够存储在CDS 28的循环缓冲器54或CVT 56区域中。A429数据字能够存储在CVT 56中或者直接发送给48个出口A429队列其中之一或者它们两者。A429多字消息可以不存储在CVT 56中,除非目标用户单元32具有防止背对背A429消息的时间混叠或者过滤属性同一A429消息的重复字的方法。
在一个示例中,通过流指数所选择的DLT 26输出可包括下列任何组合:CDS 28缓冲器基址加上一位,指示这个基址是否表示CVT 56位置;循环缓冲器54 ID;循环缓冲器54大小;虚拟链路(VL;例如虚拟出口端口72)账户标识符(VLacctID);预计PoA(EpoA),实施数据仅在其所指定入口端口上进入;1位字段,指示这是否为ARINC 429字描述符;端口掩码位向量,指示哪些出口端口66、72接收帧;位字段,指示将要对其中写入描述符的每出口端口描述符队列41的优先级;基于帧的策略的A664p7带宽分配间隙(BAG);策略丢弃位和策略旁路位;以及根据上述CVT位置位的值对最大帧长度(Smax)或CVT 56帧长度进行基于帧的整顿的抖动容限(JitterT)。
CDS 28写控制功能性支持两种类型的写操作:CVT 56写操作和循环缓冲器54写操作。DLT 26输出具有CVT位置位,以指示基址字段中的是是否为CVT 56位置(例如,是否CVT位置位=1)。对于指示CVT 56写操作的任何给定流指数,写入CVT 56中的帧应当始终具有相同大小。CVT 56位还指示Smax字段中的值是CVT 56帧的固定长度还是可用长度帧的最大帧大小(Smax)(其在非CVT 56帧的情况下将要由策略器27来实施)。对于CVT 56帧,如果物理接口功能所计算的帧大小不是与Smax字段中的值完全匹配,则可丢弃CVT 56帧。同样,对于非CVT-56帧,如果帧大小大于Smax,则可丢弃帧。
在CVT 56写操作的情况下,帧的位置和长度是预定或静态的。最近接收的帧中的值简单地改写先前接收的帧中的值。DLT 26的输出直接提供将要写入CVT 56中的帧的基址和长度。数据是否写入CVT 56存储器中通过其PoA来确定或整顿,即,允许由入口端口调度器24的入口查找表所确定的流指数到达给定物理入口端口42上。通过防止物理入口端口42上的未经授权流被写到CVT 56,可以不允许其损坏CVT 56存储器。此外,如上所述,如果由入口物理接口44所计算的帧长度不匹配Smax字段,则可丢弃帧。
注意,有可能监测包含在CVT 56中写入的取样端口数据的以太网帧,因此其它ADS 18可存储或镜像相同数据。可通过例如向连接到另一个ADS 18的物理出口端口66提供消息,来实现这个监测。备选地,数据监测可使用集中数据存储装置来实现,集中数据存储装置例如可以是作为虚拟入口或出口端口46、72的所有ADS 18可访问的。其一个示例示为网络大容量存储84虚拟链路36。还有可能将A429字存储在CVT 46位置中,并且将其写到A429输出队列41的一个或多个。但是,到达入口A429链路之一上的A429字不能离开以太网端口,除非它首先使用PMC 31(下面进行描述)来封装为以太网帧。
如果DLT 26输出指示写操作是循环缓冲器54写操作(例如,如果CVT位置位=0,指示非CVT 56帧),则帧可写到如例如循环基址(从DLT 26输出的字段所得到)和循环缓冲器偏移表(由入口端口调度器24所保持)所确定的下一个可用循环缓冲器54存储器位置。基址和偏移地址可用来跟踪将要在循环缓冲器54中写入的下一个位置。
各循环缓冲器54的基址通过DLT 26输出的存储器基址字段来确定。DLT 26输出的另一个字段指示循环缓冲器大小。写入循环缓冲器54中的任何数据字的地址是循环缓冲器54基址和循环缓冲器偏移的总和。循环缓冲器偏移以每个字被写入之后的循环缓冲器54大小为模来递增,同时循环缓冲器基址保持为固定。在将数据帧或A429字的最后一个字写入循环缓冲器54之后,将下一个位置的偏移地址记录在通过流指数所指示的循环缓冲器偏移表的位置中,并且作为写入同一循环缓冲器54中的下一帧的起始偏移来提供。
虽然本发明的实施例不受限制,但是所示实施例可具有总共256循环缓冲器8K深度。作为举例,这可允许为各物理入口和/或出口端口42、66创建循环缓冲器54。作为备选示例,可为每一个流指数创建循环缓冲器54。作为又一示例,各循环缓冲器54可表示虚拟输出端口或虚拟中继的集合。“中继”与虚拟端口的出口集合关联。这些虚拟端口能够映射到物理出口端口66或虚拟输出端口72的任何集合。例如,同一ARINC 653(A653)航空电子应用由于可用性原因而可驻留在多个线路可更换单元(LRU:line replaceable unit)上,例如处理空中数据的应用。这些可连接到ADS 18的不同物理出口端口66。但是,应用的所有实例都可配置成形成单个中继编组,使得它们共享同一循环缓冲器54,以便将其数据和带宽要求与其它A653应用完全隔离。因此,这个粒度等级使循环缓冲器54能够按(分布式)A653应用来分配。
每次将数据写入循环缓冲器54时,描述符多播分布功能复制描述符,其指示缓冲器54中的关联数据帧的存储位置。另外,基于规则的调度器76和/或PMS 30可操作出口调度功能,其确保在各物理出口端口66接收帧的副本(若规定这样做的话)。
在所示配置中,只使用三个循环缓冲器54。这些通过将具有相同数据速率的物理出口端口55或用户单元32与公共循环缓冲器54关联来分配。这提供对A664p7排队类型数据帧的中央缓冲器的最有效(共享存储器)利用。在这个配置中,全部10 Mbps物理出口端口66可形成一个中继编组(10 Mbps循环缓冲器60),全部100 Mbps物理出口端口66可形成另一个中继编组(100 Mbps循环缓冲器62),以及全部1000 Mbps(1 Gbps)物理出口端口可形成中继编组(1 Gbps循环缓冲器64)。虽然存在三个循环缓冲器60、62、64,以及虽然数据帧可对具有不同数据速率的物理出口端口66来定界,但是CDS 28将仅存储帧的一个副本。对其写入帧的循环缓冲器60、62、64对应于最慢物理出口端口66(将要对其复制帧)的数据速率。为了简洁起见,本文档的其余部分将假定具有相同出口数据速率的每组物理出口端口66存在循环缓冲器54:10 Mbps 60、100 Mbps 62或1 Gbps 64。
策略功能
策略功能由策略器27来执行,策略器27可以是由状态机所控制的FDM 29中的专用硬件逻辑流水线。策略器27功能性取决于入局数据是A429数据字还是以太网帧。策略器27进行判定,其确定是否允许以太网帧描述符被传递到描述符多播分布器29上,以及是否允许入局数据被存储在CDS 28的CVT 56或循环缓冲器54中。根据定义,ARINC 429帧没有产生描述符多播分布器29的以太网帧描述符。在这种情况下,入口端口调度器24可为绕过CDS 28的独立数据通路提供独立描述符。在另一种情况下,策略器27可确定A429数据字是否可存储在DVT 56中。
对于被提供以便存储在CVT 56中的数据帧,如果帧长度不等于所提供帧长度,则丢弃该帧。不需要实施BAG或抖动容限策略。
对于被提供以存储在循环缓冲器54中并且经过整顿的数据帧,策略器27使用DLT 26的VLacctID来执行辅助查找,以便确定具有那个VLacctID的前一帧的到达时间,以实施BAG和抖动容限限制。如果帧的EPoA不匹配PoA或者帧长度超过为虚拟链路(VL)所提供的最大帧长度Smax或者存在BAG/抖动违反,则策略器27可禁用当前帧描述符的多播分布,并且预占将帧写入CDS 28中。
策略器27中的基于帧的BAG和抖动容限策略可用来确保进入循环缓冲器54的数据的最大聚合速率低于确保从那个缓冲器接收数据的最慢(可能的虚拟)端口的最小所需生存时间所需的速率。基于帧的BAG和抖动容限策略也可用来确保数据通信网络16中的出口端口66、72没有超过其带宽和等待时间预算。如果策略器27确定已经超过给定VLacctID的所配置最大数据速率,即,不满足所配置BAG或抖动容限,则它可防止描述符被写到每出口端口描述符队列43,并且由此防止帧被传送给物理用户单元32。
作为举例,策略器27可使用从DLT 26所得到的6个值:控制位(Ctrl)、VLacctID、预计到达端口(EPoA)、最大帧大小(Smax)、带宽分配间隙(BAG)和抖动容限(JitterT),以确定是否允许以太网帧描述符被传递到描述符多播分配功能上,以及是否允许入局数据被存储在CDS 28中。A664p7允许多个虚拟链路(VL)属于同一VL账户、即具有同一VLacctID,并且由此使用配置用于那个VlacctID的Smax、BAG和JitterT来联合整顿。策略器27从入口调度器24(其包括跟踪当前时间T的时间管理器)得到实际到达端口(PoA)、到达时间(ToA)、当前时间(T)和帧到达指示。
描述符多播分布
描述符多播分布器(DMD)29使用DLT 26所输出的端口掩码位的集合来确定哪一组每出口端口描述符队列43将要随帧描述符的副本来写入。为各端口66、72(将接收将要由PMS 30从循环缓冲器54来读取的帧的副本的)写入描述符的一个副本。当PMS 30调度特定出口端口66的基于规则的调度器76的操作时,它选择每出口端口描述符队列43,其输出可用来从CDS 28读取帧,并且将它传送给物理出口端口66。可注意,CVT 56中存储的以太网帧和A429数据字不依靠DMD,因为其分布由PMS 30和PMC 31(下面进行描述)来控制。
由DMD 29为交换数据帧所输出的描述符可包括帧的第一字的位置(HOFpointer)、帧存储时间(ToFS)、帧长度、优先级(P)和端口掩码。使用DMD 29从DLT 26所接收的端口掩码和优先级,DMD 29产生每出口端口优先级一位,以指示哪些每出口端口描述符队列43接受交换数据帧描述符的副本以及将要在其中放置那个描述符的队列43的优先级。这个机制可例如用来确保没有从ADS 18所接收的各参数数据帧的副本被镜像到另一个ADS 18。相反,如果参数数据帧从另一个ADS 18来接收,则通过将与ADS连接出口端口对应的各端口掩码位值设置为零(例如通过无法识别出口端口66、72),它可存储在本地CVT 56中但是没有重新分布到其它ADS 18。通过将与ADS连接出口端口对应的各端口掩码位值设置为零,可防止消息在多个ADS 18之间无限地传播(其可导致数据通信网络16上的带宽过负荷)。
具有参数数据的帧(例如具有A/D值的以太网帧、ARINC 429字、(一个或多个)离散位的值等)可存储在CDS 28的CVT 56区域的专用预定位置中。在典型飞机上,可存在2至4个ADS 18,其包括用于为每个ADS 18提供镜像机身中的另一ADS 18的内容的能力的机制。写入CVT 56中(而不是从另一个ADS 18所接收)的各参数帧的描述符可复制到连接到另一个ADS 18的各出口端口66、72的最高优先级的每出口端口描述符队列43上。基于规则的调度器76的服务原则将确保任何伴随ADS 18接收最近帧的副本,如以下所述。
中央数据服务器写控制功能
与DMD 29同时地,如果策略器27传递送往CDS 28的帧,则它存储在循环缓冲器54或CVT 56中。对CDS 28写控制功能的输入可包括帧存储时间(ToFS)、来自入口物理接口44功能的帧长度加上来自入口端口调度器24和DLT 26的循环缓冲器54或CVT 56存储器位置。循环缓冲器54或CVT 56存储器位置成为地址计数器的初始值,并且成为提供给DMD 29、将要包含在帧的描述符中的帧指针(HOFpointer)头。用于对读出的帧检验的ToFS可作为属于帧的第一字来存储在CDS 28存储器中,以及所有后续帧数据字继续每次一个来写入,例如作为64个数据位加上ECC,其中地址计数器在各写入之后递增。写控制器将所执行的字节写入次数与从入口物理接口44所得到的帧长度进行比较。这继续进行到写入最后一个字。所写入的最后一个字可能不是完整64位字,在这种情况下,可将最后一个字填充到64个信息位连同有效ECC。
如所示,CDS 28写控制功能可配置用于专用于存储分别送往10 Mbps、100 Mbps或1 Gbps出口端口66、72的帧的三个不同循环缓冲器60、62、64。总是仅存储帧的一个副本,同时可向每出口端口描述符队列43多播引用该帧的描述符的多个副本。其中可存储帧的循环缓冲器60、62、64取决于将要对其复制/多播那个帧的最慢出口端口66、62。这些循环缓冲器60、62、64的每个中存储的连续帧毗连地存储在缓冲器60、62、64中,其中最早帧的字由最新帧来改写。当数据写到循环缓冲器60、62、64时,帧的长度通过由物理入口接口44功能对那个帧所计数的字节数(例如FrameLength输入)来确定。在适当提供的决定性系统中,设想其多播尚未对其全部出口端口66、72完成的循环缓冲器中的帧的过早改写决不应当发生。然而,改写可易于通过64位时间戳ToFS(其是在帧头写入CDS 28的第一字)的失配来检测,其中包含在描述符中的ToFS值由DMD 29写入队列43中。在失配的情况下,可丢弃该帧。可执行附加检查,以检验用来从CDS 28读取帧的描述符没有读取由另一个帧所改写的位置。例如,通过将附加帧报头位包含在写入队列43并且随数据帧存储于CDS 28的描述符中,例如,可检查目标MAC地址。
DLT 26中的位指示来自数据帧的所解析数据是否写入静态CVT 56存储器位置(其保留用于取样类型数据)或者循环缓冲器60、62、64中。当CVT 56位置位设置为例如一时,CDS 28基址指示CVT 56位置,以及Smax/FrameSize值被解释为将要在那个基址开始所存储的预先配置帧大小。在这个示例中,帧长度是固定的,并且入口端口调度器24的策略功能将不允许所解析数据被写入,除非入口接口功能所指示的帧长度完全匹配ILUT所指示的帧长度。这可防止在所保留帧大小错误的情况下在CVT 56中的数据的潜在帧间混叠。基址作为预设加载到地址计数器中,并且写入CDS 28,直至达到从DLT 26所读取的Smax/FrameSize值所指示的帧大小。
为了保护CVT 56中存储的陈旧值,CVT 56中存储的参数以太网帧附加有64位时间值,其接着所解析数据帧的最后一个字存储在CVT 56中。这些参数数据帧除了存储在CVT 56中之外,还镜像到其它ADS 18。因此,可要求预占地识别连接到其它ADS 18的物理入口端口42,使得如果参数数据帧没有从另一个ADS 18到达,则可向连接到其它ADS 18的物理出口端口66的最高优先级每出口端口描述符队列43多播描述符的副本。换言之,如果更多最新数据帧从非ADS源(例如RIU 20)到达ADS 18,则可向各物理出口端口66的最高优先级队列多播那个描述符的副本,使得数据帧可能由附加ADS 18尽可能快地来镜像。相反,如果数据帧从另一个ADS 18到达,则可清除描述符多播中的端口掩码位,以确保该描述符没有重新分布到送往ADS 18的任何物理出口端口66,以防止相同数据在无限循环中无限复制。
不属于多字消息的ARINC 429数据帧可在CVT 56中写入,供PMC 31封装到参数消息中。ARINC 429指定32位数据字,CDS 28中的各CVT 56位置仍然是64位字加上ECC的8位。为了保护CVT 56中的A429字的陈旧值,每个A429字采用时间的32 MSB(LSB为216微秒)来加时间标签。因此,CVT 56中存储的每个A429字具有作为MSB的时间的32位以及作为LSB的32位A429字。
中央数据服务器存储器
CDS 28例如可使用四倍数据速率(QDR)存储器,其与双倍数据速率存储器(DDR)相比是较浅的。与DDR相似,它们是同步的,并且能够经过ECC保护,但是大多数提供并发读和写访问,其中具有单独DDR读/写数据端口和DDR读地址端口。这些存储器具体设计用于数据交换应用。在ADS 18中,为了满足吞吐量目标,CDS 28存储器可例如以250 MHz来计时。例如,具有双倍38位宽DDR数据端口的QDR具有足够带宽来支持全双工数据的16 Gbps。基于数据要求或吞吐量需要来设想备选存储器速度。
虽然CDS 28可采用总共256个循环缓冲器54来组织,但是所示CDS 28组织为三个循环缓冲器60、62、64加上CVT 56。各循环缓冲器60、62、64保留用于数据存储,同时CVT 56保存所解析参数数据、报头和地址列表,其将由ADS 18用来构成定制消息,如以下所述。
在存在3个循环缓冲器的情况下,对于按我们的示例的1 Gbps、100 Mbps和10 Mbps数据存储,在其中放置帧的循环缓冲器取决于向其多播帧的最慢端口。对于根据相同出口速率所编组的端口的任何集合,CDS 28在端口的聚合数据速率(即,10 Mbps、100 Mbps、1 Gbps)必须具有足够存储,以适应它以那个速率耗尽512个帧所花费的时间。例如,CDS 28可为CVT 56提供2兆字节的存储,同时允许专用于每个出口数据速率的循环缓冲器60、62、64的大小的灵活分配,其还可按照循环缓冲器54的数量、在那个速率配置多少入口或出口端口42、46、66和72、预期的所解析数据帧保持时间以及那个缓冲器中包含的帧的生存的必要时间来调整。
作为举例,缺省分配可以每个循环缓冲器60、62、64为24兆字节。对于各循环缓冲器60、62、64,存储时间可以为8×24M/(PortSpeed×端口数量)。例如,24兆字节循环缓冲器提供大于20秒除以为缓冲器馈送的10 Mbps入口端口42、46的数量、2秒除以100 Mbps端口42、46的数量或者0.2秒除以1 Gbps端口42、46的数量的存储时间。各循环缓冲器的大小可以是适当可配置的。在任何入口或出口端口42、46、66、72的任何未使用线路速率为共享那个缓冲器的所有端口提供残留存储时间。
对于帧交换,循环缓冲器60、62、64可消除必须建立所解析数据帧的固定块大小和必须跟踪未占用缓冲器分配(其原本使整个ADS 18暴露于因单一事件扰乱(SEU)引起的存储器泄漏)。SEU被认为是由亚原子粒子、例如中子所引起,其发生频率随高度而增加,并且其能够损坏存储器以及甚至逻辑中存储的值。在循环缓冲器溢出的情况下,最新数据改写旧数据。ADS 18中的所有FIFO队列40也可使用循环缓冲器54范例。这样,保证损坏循环缓冲器60、62、64的读和写指针的任何SEU在它完全改写缓冲器60、62、64所花费的时间量之内被校正。
出口调度
PMS 30的出口调度功能确定从CDS 28读取哪一个数据以及哪一个出口端口66、72对它进行接收。出口调度功能性通过四个主要功能组件来确定:每出口端口描述符队列43、PMS 30、参数消息构造器31以及出口仲裁器、例如基于规则的调度器76。基于规则的调度器76按照各出口端口66、72的四个优先化描述符队列43进行保持和操作。各队列43可具有足够容量来保存512个描述符。每出口端口描述符队列43中的描述符由描述符多播分布器29使用广播总线来写入。备选地,PMS 30可保持计划表,其指示基于规则的调度器76接下来应当服务于哪一个出口端口66、72或者PMC 31应当使用哪一个消息描述符来访问参数消息表58,以使用从CVT 56和/或从A429输出队列所读取的数据来始发所构成消息。
基于规则的调度
基于规则的调度器76作为PMS 30中的用户可配置组件进行操作。PMS 30允许对基于规则的调度器76的各出口端口66、72访问,基于规则的调度器76用来从其四个优先级队列43(若其中之一可用的话)来选择描述符。描述符可用来提供对CDS 28的读访问。例如,PMS 30可按照循环方式、严格定时的计划表或者预定算法来准予对基于规则的调度器76的各出口端口66、72访问。设想其它服务方式,例如考虑基于出口端口66、72的关键性来准予附加或优先化访问的加权计划表。关于准予对CDS 28的访问,PMC 31可被认为是另一个出口端口66、72,其被准予以例如1 Gpbs的最大保证带宽以及小于66微秒的各访问之间的最大保证等待时间对CDS 28的保证带宽访问。基于规则的调度器76提供仲裁,以确定在各端口66、72的访问机会期间读取哪一个优先级队列43的描述符。那个描述符然后用来读取从CDS 28所得到的帧的副本并且传送给一个出口端口66、72。
基于规则的调度器76可从每个每出口端口描述符队列43接受作为输入的一组充溢度阈值位或者值以及经由队列充溢度接口70从各出口物理端口队列41接受队列充溢度指示,其中阈值位在队列43的充溢度超过所配置阈值时可例如设置为一,而每当队列41过满而无法接受帧时将另一个阈值位设置为一。队列充溢度接口70中包含的位共同表示每出口端口66、72的多个队列41、43的充溢度。如果每出口端口描述符队列43过满,则基于规则的调度器76可基于队列43优先级来修改服务方法,或者如果队列41过满,则可暂时挂起向队列41发送附加帧。例如,当服务于出口端口66、72时,如果基于规则的调度器76基于所接收充溢度阈值来确定那个端口66、72的每出口端口描述符队列43的一个或多个过满,则调度器76可决定首先服务于满队列43。在另一种情况下,当服务于出口端口66、72时,如果基于规则的调度器76确定出口端口队列41过满而无法接受另一个帧,则调度器76可决定优先服务于那个端口66、72,直到队列41能够接受另一个帧。在又一种情况下,如果在被服务的出口端口66、72的任何每出口端口描述符队列43中不存在要服务的描述符,则基于规则的调度器76可按照循环类型(或者备选)方式将控制访问切换到服务于下一个出口端口66、72。
如先前所述,存在各出口端口66、72的四个每出口端口描述符队列43,其经过优先化。哪一个队列43开始使其描述符被服务取决于四个描述符队列43的每个的充溢度。例如,各队列43的充溢度可通过七个阈值等级加上空标志来测量。在这个示例中,七个阈值等级可指示“充溢度”的变化等级。使用优先级编码器逻辑,七个阈值和空标志可转换为3位值,其确定哪一个每出口端口描述符队列43将使描述符由PMS 30来服务(即,从CDS 28读取数据)。这12个位加上4位计数器的输出可用来对例如16K×3查找表(其中存储基于规则的调度器76的服务规则)进行寻址。备选地,基于规则的调度器76的规则可以是例如用于确定服务规则的算法。对各端口具有作为对这个查找表的输入的4位计数器的目的是避免具有静态阈值组合、从而引起对不确定时间周期服务于同一队列的理论可能性。它是保证对给予各优先级的服务速率的下限的一种方式。
在根据基于规则的调度器76优先级从所选每出口端口描述符队列43中读取所选描述符之后,完成帧从CDS 28中读取,并且在允许下一个出口端口66、72使描述符由调度器76来服务并且被准予从CDS 28接收帧的机会之前传送给端口41。对于交换数据帧,在读出过程期间,描述符的ToFS可与所存储帧进行比较。如果它们不一致,则可丢弃该帧。每个出口以太网端口还可具有可编程最大生存期(MaxAge),以及如果ToFS与输入端口调度器24写控制功能中的时间计数器的当前值的差大于MaxAge参数,则可丢弃该帧。否则,帧由PMS 30从CDS 28中读取,传递给其出口端口66、72,并且传送给用户单元32或虚拟链路36。
参数消息调度器
参数消息调度器(PMS)30进行操作以调度将哪一个消息发送给哪一个出口端口66、72。PMS 30例如按照循环方式确定哪一个出口端口接下来由基于规则的调度器76来服务,以及使用从基于规则的调度器76所选的每出口端口队列43所接收的描述符,从CDS 28的循环缓冲器54来读取完整数据帧。将这个所读取帧传送给使用公共出口接口34所服务的出口端口66、72。
PMS 30可调度PMC 31的操作,好像它是出口端口一样,并且控制哪些消息由PMC 31通过交给它待构成消息的描述符来构成。由PMC 31所接收的描述符引用参数消息表58中的条目的列表,其详述来自CVT 56或A429输出队列的哪些数据将要放入所构成的帧中。例如,PMS 30可为PMC 31提供地址列表的地址和列表长度。列表中的地址是将要放入待构成的数据帧中的CVT 56或A429输出列表中包含的数据的位置。
可严格地调度参数数据帧的构造。作为举例,总共4096个帧构造的调度可采用500微秒的所调度数据帧离开分辨率来支持。可存在表示500微秒的时间增量的计数器值的表、计数器阈值的表和消息描述符的表,其全部通过描述符表地址计数器(DTAC)的条目来引用。下面进一步描述待构成的数据帧的描述符格式。计数器值表、计数器阈值表和描述符表的各条目与待构成的数据帧的实例关联。
消息构造的调度如下所述进行:DTAC扫描4096个计数值的完整表。各计数值被递增并且与从最大计数阈值的表所得到的其最大计数阈值进行比较。如果计数小于其阈值,则递增值简单地回写到计数值的表中,并且可触发消息构造。但是,如果计数大于或等于对消息预设的最大值,则回写的计数值为零,并且将DTAC所引用的描述符表条目的内容的值(其可以是待传送的定制消息的描述符)传递给PMC 31,以发起消息构造功能。
在这个示例中,如果存在少于4096个待构成的消息,则在描述符表中将存在未使用描述符条目(其可从未使消息构造发生)。在期望禁用特定描述符位置条目的情况下,由于计数值的不充分位数(即,11),对应最大计数表条目可设置为无法达到的值、即4096。在这个示例中,由于PMS 30能够每隔500微秒调度总共4096个消息,所以PMS 30将不可能是形成ADS 18的定制消息中的限制因素。备选地,任何消息的构造的计划表分辨率可采取500微秒的增量。
参数消息构造功能
当PMS 30确定调度消息构造时,它将描述符连同描述符可用指示一起传递给PMC 31功能。描述符包含识别信息,使得PMC 31可确定以太网/A664p7帧的数据源是否来自A429队列40之一,和/或它是否为将要使用CVT 56地址的列表从CVT 56来散射采集的数据。例如,如果描述符的最高有效位(MSB)指示消息将要从A429队列40中的数据来构成,则描述符可包含从参数消息表58直接读取并且放入消息构造队列40中、之后接着来自(一个或多个)A429队列的数据的UDP/IP/MAC报头的基址(HOLpointer)和长度。
相反,如果参数消息描述符的MSB指示帧将要从CVT 56中的数据来构成,则HOLpointer是参数消息表58的有序和毗连列表的CVT 56中的基址以及将要用于消息的构造中的CVT 56地址描述符。在这个示例中,长度字段指示地址描述符的那个列表的长度。PMC 31使用这些地址描述符来采集所选CVT 56数据值。在构造期间,地址描述符的列表首先从参数消息表58来读取。地址描述符然后用来通过从参数消息表58进行读取来构成消息的报头以及通过从CVT 56和/或A429输出队列的所选位置进行读取来构成消息的有效载荷。
完整数据帧或“消息”由报头、参数值的列表和报尾组成。各数据帧报头字段和各参数值存储在CDS 28的固定但非毗连位置,如上所述。因此,待构成的各数据帧必须包括将用来从CVT 56中读取这些散射值的地址的有序列表。为了使PMS 30存储器保持为较小,地址描述符的列表本身可保持在CDS 28的存储器的静态区域、例如CVT 56的参数消息表58中。
由PMS 30提供给PMC 31的参数消息描述符可包括例如列表指针(HOLpointer)的18位头、32位字中的地址的列表长度以及为控制位所保留字段。在这个示例中,HOLpointer可经过左移位并且附加有零,使得各地址列表仅在64字节边界上开始。‘S’控制位还可指示描述符是否用于A664p7消息。如果描述符用于A664p7消息,则描述符中的EflowID字段可用来跟踪A664p7序列号。还设想零的参数消息描述符MSB值可引用间接引用将要写入消息中的数据位置的地址的列表。这些地址例如可连同字节选择和控制信息(其指示所引用数据位置将要如何封装到消息中)一起包含在CVT 56的64位位置中。如果存在,则控制字段可包含指示LSB或MSB对齐、大字节序、小字节序或者改动的大字节序格式(munged big endian format)等。设想附加控制字段内容和效果。
如果所构成的消息为A664p7消息,则PMC 31可使用从PMS 30所接收的消息描述符中的字段(EflowID)来访问那个VL的序列号(SN)。SN字节可按照A664p7中所述的规则来递增,并且作为PMC 31所构成的消息有效载荷的最后一个字节来放置。一旦消息帧完成,则将它传递到专用环回端口86中,其计算CRC、例如CRC-32,并且按照环回方式将该帧传回到ADS 18的公共入口接口22中。
对于在传递给用户单元32之前将所构成消息回送给ADS 18的公共入口接口,存在多种原因。主要原因是安全性。即使各参数消息帧的构造经过严格调度,但是设想A664p7帧必须由独立策略器27逻辑来整顿,以回避对单一故障的弱点。这是要求A664p7交换机中的入口端口调度器24的策略功能的原因,即使用户单元32可能已经执行业务整形。在ADS 18中,策略器27与PMS 30(并且因此与PMC 31)隔离,以满足这个要求。
环回构成消息的第二原因可在于,它避免DMD功能的重复。环回端口86没有对消息执行大量操作,并且因而可以不受操作延迟限制。因此,环回端口86的操作数据速率可处于例如千兆位速率。通过例如将帧的描述符分布到高优先级每出口端口描述符队列43,并且适当地对基于规则的调度器76进行编程,能够使对环回等待时间的所产生影响是可忽略的。设想环回PMC 31数据的单一环回端口86可足以支持例如在少于500微秒之内超过100个消息(各具有512字节的平均长度)的传输。但是,附加环回端口86能够在ADS 18中配置,并且专用于PMC 31生成消息。
ARINC 429数据通路
ARINC 429数据字到达编号为16至48的物理入口端口42上。到达时间记录器50指示接下来应当服务于哪一个入口端口42的字。随后,入口端口调度器24解析数据帧,以识别到达端口(PoA)和A429 8位标签,并且将每个提供给DLT 26,其确定该字是否将要存储在CVT 56(和/或任何循环缓冲器54)中以及A429出口端口66的哪些将要接收该字的副本。PMS 30将参数消息描述符提供给PMC 31功能,以构成以太网或A664p7消息。
不是多字消息的组成部分的A429字也能够存储在CVT 56中。在这种情况下,每个字随其LSB为216微秒的32位时间标签来存储。在这个示例中,PMC 31功能可获取A429字连同CVT 56中的其它参数一起来构成以太网或A664p7帧。
ARINC 664第7部分序列号同步
还设想本文所述的数据通信网络16可提供跨多个ADS 18的A664p7序列号同步。在许多航空电子平台中,驻留在不同ADS 18实例上的PMC 31功能同步地分布具有相同内容的A664p7数据帧会是有利的。这相当于双端系统LRU的虚拟化,但是其中两个虚拟端系统驻留在不同服务器和电路板上。这个A664p7序列号同步可使用消息交换协议来实现,其中消息交换协议检验时间同步已经实现,提供ADS 18之间的消息(其包含所有EflowID的序列号的值),并且提供指示在所指定的将来时间阀值时、例如当序列号的差异变得过大时序列号重置为零的消息。
处理器阵列
ADS 18还可提供一个或多个处理器78或者分布式处理器阵列78。如所示,各处理器78包括其自己的虚拟入口和虚拟出口端口72,其连接到交换功能,并且表现为例如以太网端口。处理器78可使用单个执行线程或者多个执行线程来操作,以用于执行供应那个处理器78的消息的计算。对所供应消息执行的功能通过消息的报头中的信息来驱动。处理器阵列配置成服务于作为集中虚拟RIU(VRIU)的ADS 18。例如,VRIU能够执行从原始传感器数据的工程单位转换,计算所得出的参数,和/或通过处理原始数据来构成远程应用的定制消息。定制消息的调度使系统等待时间为最小,并且实现分布式处理的同步。
可适用处理器78的一个示例可包括具有专门设计用于航空电子系统的关键任务应用的10/100以太网接口的单芯片微处理器。可适用处理器78的另一个示例可以是通用微处理器。另外,微处理器可支持双锁步CPU,其中具有其高速缓存和内部存储器(其包括用于非易失性存储的内部FLASH存储器)中的ECC。上述处理器78可用来实现ADS 18的可缩放处理架构。还设想这类处理器78可与上述PMS 30和PMC 31功能结合用来提供实际上能够分解为串行或并行处理线程的集合的任何应用的优化并行处理。
如本文所述,在将描述符发送给PMC 31时,PMS 30可采集、格式化和分布消息,以构成消息。消息的PMS 30调度如何能够用来同步传感器处理器的操作的示例如下:运行于处理器78的线程将仅在接收调用它的定制消息时激活。运行于处理器78的线程的输出可以是参数消息,其可由虚拟入口端口46在公共入口接口22来接收,由入口端口调度器24来调度,并且存储在CVT 56中。此外,PMS 30可通过基于经处理的参数消息(如上所述)采集、格式化消息并且将其分布到另一个处理器78供处理,经过处理器78第二次进行迭代。这个过程可重复进行,直到取得预期最终结果。因此,通用处理器的处理能力可协作地流水线化,以形成优化的分布式多处理系统。如果各线程具有已知最大执行或处理时间,则PMS 30和PMC 31功能还可在可用或必要时优化处理器78的利用。
另一个详述示例还可示出三个参数消息的数据流。例如,PMS 30从CVT 56采集第一组参数,并且构成第一处理器的第一消息。PMS 30还可采集第二组参数,并且构成第二处理器的第二消息。第一和第二处理器并行地运行其不同消息触发程序,并且经过入口数据通路,将经处理的结果写入CVT 56中。PMS 30随后可从第一和第二经处理的结果来构成第三消息,并且将用于附加处理的第三消息提供给第一、第二或第三处理器,依此类推。另外,在这个示例中,虽然第一和第二处理器并发地处理第一和第二消息,但是PMS 30可构成两个附加参数消息、例如第四和第五消息,供在第一和第二处理器中处理。这个处理能够严格地流水线化,使得处理器78能够以极少空闲时间进行并行执行。
给定处理器78运行哪一个任务(或线程)的选择通过它从PMS 30接收的消息的报头来确定,以及由那个任务所处理的数据包含在消息的主体中。不需要基于来自定时器节拍的中断的任务切换,因为能够因PMS 30消息的生成遵守严格时间计划表而有效地实现基于定时器节拍的中断机制,如上所述。因此,可通过使来自PMS 30的消息能够中断处理器,来模仿定时器节拍。可通过使各处理器78保持状态并且在消息驱动中断之后恢复其操作的专用RAM的可用性,来进一步促进将这个PMS消息中断驱动处理映射到处理器78上。对于其中给定处理线程在任务切换或事件驱动中断必须发生之前无法运行完成的中断驱动处理,这个中断驱动处理能力会是有用的。如果实现消息驱动中断,则还可以有可能使因某个异步事件而从外部源、例如RIU 20到达的消息完全绕过CVT 56,并且经过ADS 18的交换功能(经由例如循环缓冲器54其中之一)直接发送给所选处理器78。
互配
互配可设计成执行如不同入口或出口物理接口44、68所确定的从一种协议到另一种协议的转换。一个关键互配功能是虚拟端系统(VES)82,其用作例如连接到ADS 18的任何LRU的A664p7接口,从而使它们支持到ADS 18的简单以太网接口,并且使用例如巨型以太网帧来将COM端口数据传输到VES 82。VES 82可支持多个遗留、当前和/或将来逻辑格式和协议。
本文所公开的实施例为航空电子数据通信网络的航空电子数据服务器提供协调操作。在上述实施例中可实现的一个优点在于,上述实施例与飞机数据的有效集合、及时处理、准确调度以及将那个数据分布到协调服务器、系统、用户单元和显示器配合操作。另外,上述实施例提供分布式处理器之间的同步处理,同时仅要求数据服务器经过时间同步。由于上述航空电子数据服务器的有效操作,因未协调网络利用引起的过度网络和计算带宽的低效可最小化,从而产生增加的带宽效率和更低的功率要求。此外,由于增加的效率和更低的功率要求,因较低热分布而可设计较小电路封装,从而产生优良空间和尺寸优点。当设计飞机组件时,要解决的重要因素是尺寸、功率要求和可靠性。降低的尺寸、功率要求和可靠性与飞行期间的竞争优点相关。
上述实施例的另一个优点在于,通过以适当速率改写数据以使得例如送往慢出口端口的帧没有被快速出口端口的快速到达帧改写,通过出口端口速率所分隔的CDS中的多个循环缓冲器的利用允许增加的数据效率。这个利用允许数据帧在被改写之前被消耗的最高概率。另外,循环缓冲器的利用消除对确定跟踪自由或未使用存储器块的方法的需要。最早数据始终使用循环缓冲器来改写,从而提供快速且不复杂的操作。
上述实施例的又一优点在于,上述实施例明显限制或消除对当前或遗留端系统和交换机、例如A664p7系统的需要。另外,上述实施例提供跨多个服务器或存储装置的数据的镜像,从而在故障的情况下提供冗余措施。上述实施例的又一优点在于,所述网络通过允许多个处理器或者多个服务器执行相同计算(其可相互进行比较),来提供处理任务的冗余检验。
在上述实施例的又一优点中,基于规则的调度器基于一个或多个充溢度指示符来提供服务数据和出口端口的仲裁,从而允许服务优先级被建立。服务优先级允许出口调度功能的自适应但决定性的操作,而无需浪费未利用服务计划表。
在尚未描述的方面,各个实施例的不同特征和结构可根据需要相互结合使用。一个特征可能没有在所有实施例中示出并不是要被理解为它可以不存在,而是为了描述的简洁而这样做。因此,不同实施例的各种特征可根据需要相混合和匹配,以形成新实施例,无论是否明确描述新实施例。由本公开涵盖本文所述特征的全部组合或置换。
本书面描述使用示例来公开本发明,其中包括最佳模式,以及还使本领域的技术人员能够实施本发明,包括制作和使用任何装置或系统并且执行任何结合的方法。本发明的专利范围由权利要求书来定义,并且可包括本领域的技术人员想到的其它示例。如果这类其它示例具有与权利要求书的文字语言完全相同的结构元件,或者如果它们包括具有与权利要求书的文字语言的非实质差异的等效结构元件,则它们意在落入权利要求书的范围之内。
附图标记说明
10 飞机 44 入口物理接口
12 远程输入单元(RIU) 46 虚拟入口端口
14 订户单元 48 入口虚拟接口
16 数据通信网络 50 到达时间(ToA)记录器
18 航空电子数据服务器(ADS) 52 入口端口集中器
20 物理RIU 54 循环缓冲器
22 公共入口接口 56 当前值表(CVT)
24 入口端口调度器 58 参数消息表
26 描述符查找表(DLT) 60 10 Mbps循环缓冲器
27 策略器 62 100 Mbps循环缓冲器
28 中央数据服务器(CDS) 64 1 Gbps循环缓冲器
29 描述符多手分布器(DMD) 66 物理出口端口
30 出口参数消息调度器(PMS) 68 出口物理接口
31 参数构造器(PMC) 70 队列充溢度接口
32 物理订户单元 72 虚拟出口端口
34 公共出口接口 74 虚拟出口接口
36 虚拟链路 76 基于规则的调度器
38 数据耦合 78 分布式处理器
40 数据队列 80 图形渲染器
41 每出口端口数据消息队列 82 虚拟端系统(VES)
42 物理入口端口 84 网络大容量存储
43 每出口端口描述符队列 86 环回端口

Claims (7)

1. 一种控制通信网络中的数据通信的方法,所述通信网络具有经过多个数据队列(40)被提供数据的中央数据服务器(CDS)(28),所述方法包括:
存储到达至少所述多个数据队列(40)的每个的到达数据帧;
确定所述数据队列(40)中存储的各数据帧的存储完成时间;
按照所述确定的完成时间、按时间顺序在先进先出(FIFO)存储器中存储每个所存储数据帧的队列标识符;
基于所述FIFO存储器中的最早时间存储器位置中的所述队列标识符来选择用于所述CDS(28)的所述数据队列(40);以及
服务于与所述选择的队列标识符对应的所述多个队列(40)其中之一中的数据帧。
2. 如权利要求1所述的方法,其中,所述确定存储完成时间包括记录到达时间。
3. 如权利要求2所述的方法,其中,所述记录到达时间还包括在所有所述数据完成到达之后记录到达时间。
4. 如权利要求2所述的方法,其中,具有相同到达时间的一个以上数据帧存储在一个以上数据队列(40)。
5. 如权利要求4所述的方法,其中,具有相同到达时间的所述一个以上队列(40)标识符的任一个按照任何顺序存储在所述FIFO存储器队列中。
6. 如权利要求1所述的方法,其中,所述服务于所述数据帧包括将所述数据帧的至少一个字写到所述CDS(28)。
7. 如权利要求6所述的方法,其中,所述服务于所述数据帧还包括将所述帧的至少一个字写到所述CDS(28)的当前值表(CVT)(56)位置或循环缓冲器(54)位置的至少一个中。
CN201410529999.9A 2013-10-11 2014-10-10 用于飞机的数据通信网络 Active CN104579862B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/052,264 2013-10-11
US14/052264 2013-10-11
US14/052,264 US9015379B1 (en) 2013-10-11 2013-10-11 Method of controlling data communication

Publications (2)

Publication Number Publication Date
CN104579862A true CN104579862A (zh) 2015-04-29
CN104579862B CN104579862B (zh) 2018-08-10

Family

ID=51946722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410529999.9A Active CN104579862B (zh) 2013-10-11 2014-10-10 用于飞机的数据通信网络

Country Status (7)

Country Link
US (1) US9015379B1 (zh)
JP (1) JP5868470B2 (zh)
CN (1) CN104579862B (zh)
BR (1) BR102014024137A2 (zh)
CA (1) CA2867214C (zh)
FR (1) FR3011954B1 (zh)
GB (1) GB2521032B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111030905A (zh) * 2019-12-05 2020-04-17 深圳前海达闼云端智能科技有限公司 网络传输方法及can总线网络、存储介质及电子设备
CN113282350A (zh) * 2021-05-26 2021-08-20 重庆零壹空间科技集团有限公司 遥测数据判读方法、装置、计算机设备和可读存储介质
CN116028398A (zh) * 2022-11-01 2023-04-28 中科计算技术西部研究院 一种互连网络仲裁系统、装置、方法及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556953B (zh) * 2013-07-29 2019-04-19 Lg电子株式会社 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法和接收广播信号的方法
FR3018977B1 (fr) * 2014-03-24 2018-01-12 Thales Structure de controleur d'echanges de messages et de communications generique pour des systemes de communication avioniques rebondants
US10491639B2 (en) * 2015-03-17 2019-11-26 The Boeing Company Scalable security architecture systems and methods
US10949427B2 (en) 2017-01-31 2021-03-16 Microsoft Technology Licensing, Llc Stream data processing on multiple application timelines
US10778575B2 (en) 2017-02-20 2020-09-15 Ge Aviation Systems Llc Systems and methods for scheduling a message
GB2563894A (en) * 2017-06-29 2019-01-02 Airbus Operations Ltd Data centric messaging
FR3091440B1 (fr) * 2018-12-26 2021-01-15 Thales Sa Commutateur comportant un port d’observabilité et système de communication comportant un tel commutateur
CN109445464B (zh) * 2019-01-08 2021-06-25 深圳市道通智能航空技术股份有限公司 一种飞行控制方法及飞行控制系统
US20220131598A1 (en) * 2020-10-26 2022-04-28 Ge Aviation Systems Llc Converged avionics data network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049414A (zh) * 2012-12-28 2013-04-17 中国航空工业集团公司第六三一研究所 Fc总线与can总线间数据的转换及传输方法
CN103139316A (zh) * 2011-11-23 2013-06-05 中国航空工业集团公司第六三一研究所 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法
CN103339903A (zh) * 2011-01-28 2013-10-02 纳派泰克股份公司 用于接收和转发数据分组的装置和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933155A (en) * 1996-11-06 1999-08-03 Silicon Graphics, Inc. System and method for buffering multiple frames while controlling latency
US6771653B1 (en) * 1999-09-23 2004-08-03 International Business Machines Corporation Priority queue management system for the transmission of data frames from a node in a network node
JP2004343734A (ja) * 2003-04-23 2004-12-02 Sumitomo Electric Ind Ltd 光加入者線端局装置およびフレームスケジューリング方法
US7336676B2 (en) * 2004-01-20 2008-02-26 Mediatek Inc. Multi-queue single-FIFO architecture for quality of service oriented systems
US20100306256A1 (en) * 2009-06-02 2010-12-02 Sun Microsystems, Inc. Distributed Database Write Caching With Limited Durability
TWI419519B (zh) * 2009-12-22 2013-12-11 Ind Tech Res Inst 適用於多媒體串流的網路封包傳送系統與方法
US8675689B2 (en) 2011-02-15 2014-03-18 General Electric Company Method of time synchronization of free running nodes in an avionics network
US20130208630A1 (en) * 2012-02-15 2013-08-15 Ge Aviation Systems Llc Avionics full-duplex switched ethernet network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103339903A (zh) * 2011-01-28 2013-10-02 纳派泰克股份公司 用于接收和转发数据分组的装置和方法
CN103139316A (zh) * 2011-11-23 2013-06-05 中国航空工业集团公司第六三一研究所 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法
CN103049414A (zh) * 2012-12-28 2013-04-17 中国航空工业集团公司第六三一研究所 Fc总线与can总线间数据的转换及传输方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111030905A (zh) * 2019-12-05 2020-04-17 深圳前海达闼云端智能科技有限公司 网络传输方法及can总线网络、存储介质及电子设备
CN111030905B (zh) * 2019-12-05 2021-11-26 达闼机器人有限公司 网络传输方法及can总线网络、存储介质及电子设备
CN113282350A (zh) * 2021-05-26 2021-08-20 重庆零壹空间科技集团有限公司 遥测数据判读方法、装置、计算机设备和可读存储介质
CN113282350B (zh) * 2021-05-26 2023-01-13 重庆零壹空间科技集团有限公司 遥测数据判读方法、装置、计算机设备和可读存储介质
CN116028398A (zh) * 2022-11-01 2023-04-28 中科计算技术西部研究院 一种互连网络仲裁系统、装置、方法及存储介质
CN116028398B (zh) * 2022-11-01 2023-10-31 中科计算技术西部研究院 一种互连网络仲裁系统、装置、方法及存储介质

Also Published As

Publication number Publication date
US9015379B1 (en) 2015-04-21
GB2521032B (en) 2015-12-23
BR102014024137A2 (pt) 2016-05-24
GB201417396D0 (en) 2014-11-19
JP2015076885A (ja) 2015-04-20
CA2867214A1 (en) 2015-04-11
US20150106537A1 (en) 2015-04-16
CN104579862B (zh) 2018-08-10
CA2867214C (en) 2017-07-11
JP5868470B2 (ja) 2016-02-24
FR3011954B1 (fr) 2017-12-15
FR3011954A1 (fr) 2015-04-17
GB2521032A (en) 2015-06-10

Similar Documents

Publication Publication Date Title
CN104579862A (zh) 用于飞机的数据通信网络
CN104579863A (zh) 用于飞机的数据通信网络
CN104579865B (zh) 对于飞行器的数据通信网络
CN104579864B (zh) 用于飞机的数据通信网络
CN105794161B (zh) 用于飞行器的数据通信网络
US7676588B2 (en) Programmable network protocol handler architecture
US20170149518A1 (en) Interface Device and Method for Exchanging User Data
US20120192190A1 (en) Host Ethernet Adapter for Handling Both Endpoint and Network Node Communications
US20090282179A1 (en) Method and system of grouping interrupts from a time-dependent data storage means
CN103959261A (zh) 网络处理器中的多内核互联
US10505704B1 (en) Data uploading to asynchronous circuitry using circular buffer control
US9282051B2 (en) Credit-based resource allocator circuit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant