基于航空通信总线的数据传输系统和方法
【专利摘要】本发明涉及一种基于航空通信总线的数据传输系统和方法。所述系统包括处理器、逻辑器件和至少一个航空通信总线设备,所述处理器通过所述逻辑器件与至少一个航空通信总线设备相连,所述逻辑器件内部为每个航空通信总线设备设有相应的先入先出阵列,所述先入先出阵列用于暂存所述航空通信总线设备发送给处理器接收的数据,所述处理器根据每个航空通信总线设备传输的数据密度为所述逻辑器件中相应的先入先出阵列设置触发深度;当所述先入先出阵列中的数据达到触发深度时,所述逻辑器件产生中断信号通知所述处理器接收数据。上述基于航空通信总线的数据传输系统和方法,能够减少中断申请次数,提高处理器处理数据效率,节省资源。
【专利说明】基于航空通信总线的数据传输系统和方法
【技术领域】
[0001]本发明涉及数据传输领域,特别是涉及一种基于航空通信总线的数据传输系统和方法。
【背景技术】
[0002]航空通信有特定的通信要求,为此制定了相应的通信规范。目前主要采用的是美国航空无线通信公司Arinc (Aeronautical Radio Inc.)制定的429规范。429规范规定了飞机电子系统之间数字式数据传输的标准格式,在飞机上使用429纵向的电子设备均应遵守该规范,这样才能保证电子设备之间数据通讯的标准化。
[0003]因429总线是一种外围总线,与处理器(如X86架构的处理器)标准接口连接时往往需要协议转换芯片才能使用。因处理器相对外部设备来说属于高速设备,故外部设备(即429总线设备)的响应速度直接决定了整个系统的性能。目前处理器通过中断方式接收429总线设备的传输的数据,因每收到一个数据就会发出中断通知处理器进行接收,如此处理器的效率会大大降低,影响整个系统的处理速度,且当处理器繁忙或数据量太大时,会造成数据丢失。
【发明内容】
[0004]基于此,有必要针对现有 技术中因频繁中断造成处理器处理效率低的问题,提供一种能提高处理效率、节省系统资源的基于航空通信总线的数据传输系统。
[0005]此外,还有必要针对现有技术中因频繁中断造成处理器处理效率低的问题,提供一种能提高处理效率、节省系统资源的基于航空通信总线的数据传输方法。
[0006]一种基于航空通信总线的数据传输系统,包括处理器、逻辑器件和至少一个航空通信总线设备,所述处理器通过所述逻辑器件与至少一个航空通信总线设备相连,所述逻辑器件内部为每个航空通信总线设备设有相应的先入先出阵列,所述先入先出阵列用于暂存所述航空通信总线设备发送给处理器接收的数据,所述处理器根据每个航空通信总线设备传输的数据密度为所述逻辑器件中相应的先入先出阵列设置触发深度;当所述先入先出阵列中的数据达到触发深度时,所述逻辑器件产生中断信号通知所述处理器接收数据。
[0007]在其中一个实施例中,所述系统还包括计时器,所述计时器用于当所述先入先出阵列中数据未达到相应的触发深度时,判断所述航空通信总线设备将数据传输到所述逻辑器件的先入先出阵列中的数据传输间隔时间是否大于预设时间间隔,若是,则通知所述逻辑器件产生中断信号,所述逻辑器件将产生的中断信号发送给所述处理器。
[0008]在其中一个实施例中,所述逻辑器件为FPGA或CPLD。
[0009]在其中一个实施例中,所述航空通信总线为Arinc429总线。
[0010]在其中一个实施例中,所述触发深度最大值为32、64或128。
[0011]一种基于航空通信总线的数据传输方法,包括以下步骤:
[0012]将处理器通过逻辑器件与至少一个航空通信总线设备相连;[0013]将逻辑器件内部的先入先出阵列与航空通信总线设备对应,所述先入先出阵列用于暂存所述航空通信总线设备发送给处理器接收的数据;
[0014]根据每个航空通信总线设备传输的数据密度对逻辑器件中相应的先入先出阵列设置触发深度;
[0015]当所述先入先出阵列中的数据达到触发深度时,所述逻辑器件产生中断信号通知所述处理器接收数据。
[0016]在其中一个实施例中,所述方法还包括:
[0017]当所述先入先出阵列中数据未达到相应的触发深度时,判断所述航空通信总线设备将数据传输到所述逻辑器件的先入先出阵列中的数据传输间隔时间是否大于预设时间间隔,若是,则通知所述逻辑器件产生中断信号,所述逻辑器件将产生的中断信号发送给所述处理器。
[0018]在其中一个实施例中,所述逻辑器件为FPGA或CPLD。
[0019]在其中一个实施例中,所述航空通信总线为Arinc429总线。
[0020]在其中一个实施例中,所述触发深度最大值为32、64或128。
[0021]上述基于航空通信总线的数据传输系统和方法,通过将航空通信总线设备发送的数据暂存在逻辑器件内部对应的先入先出阵列中,根据对应的先入先出阵列的数据密度灵活设置对应的触发深度,当达到该对应的先入先出阵列的触发深度时,发送中断信号给处理器接收数据,可减少中断申请次数,提高处理器处理数据效率,节省资源。
【专利附图】
【附图说明】
[0022]图1为一个实施例中基于航空通信总线的数据传输系统的结构示意图;
[0023]图2为一个实施例中处理器接收Arinc429设备发送数据的示意图;
[0024]图3为数据密度高的示意图;
[0025]图4为数据密度低的示意图;
[0026]图5为一个实施例中基于航空通信总线的数据传输方法的流程示意图。
【具体实施方式】
[0027]下面结合具体的实施例及附图对基于航空通信总线的数据传输系统和方法的技术方案进行详细的描述,以使其更加清楚。
[0028]如图1所示,在一个实施例中,一种基于航空通信总线的数据传输系统,包括处理器10、逻辑器件30和至少一个航空通信总线设备50。其中,处理器10通过逻辑器件30与至少一个航空通信总线设备50相连。通过逻辑器件30将航空通信总线设备50的接口转换为标准的三总线结构,即数据总线(DATA BUS)、地址总线(ADDRESS BUS)和控制总线(CTRL BUS)。在逻辑器件30下可连接多个航空通信总线设备,如图1中,逻辑器件30为FPGA (Field Programmable Gate Array,现场可编程逻辑器件),DATA-1 至 DATA-n 为数据总线,每个航空通信总线设备50通过一个DATA与FPGA相连,数据总线宽度与Airnc429设备宽度相同,处理器与FPGA之间通过三总线相连。图1中,采用粗线表示总线,DATA表示数据总线,ADDR表示地址总线,CTRL表示控制总线,CTRL-1、CTRL-2……、CTRL_n表示控制总线,DATA-1至DATA-n表示对应的Arinc429 (I)至Arinc429 (η)分别与FPGA进行相互传输的数据。
[0029]在其他实施例中,逻辑器件30 可为 CPLD (Complex Programmable LogicDevice,复杂可编程逻辑器件)。
[0030]如图2所示,在逻辑器件30内部为每个航空通信总线设备50设有相应的FIFO(First Input First Output,先入先出阵列),FIFO用于暂存航空通信总线设备50发送给处理器接收的数据。例如FIF01与Arinc429 (I)对应,FIF02与Airnc429 (2)对应。处理器10根据每个航空通信总线设备50传输的数据密度为逻辑器件30中相应的先入先出阵列设置触发深度。当逻辑器件30中的先入先出阵列中的数据达到触发深度时,逻辑器件30产生中断信号通知处理器10接收数据。图2中,采用粗线表示总线,细线表示某一种具体的信号,例如RDl、RD2、RDn为CTRL控制总线中接收数据时产生的使能信号,INT为CTRL
控制总线中的中断信号,DATA-1U DATA-21、.......DATA-nl表示对应的Arinc429 (I)、
Arinc429 (2)、......、Arinc429 (η)发送给 FPGA 的数据。
[0031]本实施例中,FIFO的触发深度最大值可预先设定,如32、64、128、256等等。在触发深度最大值范围内可根据实际应用对FIFO的触发深度进行设置。若应用在数据密度高的场合,可设置较深的FIFO的触发深度,只有达到设置的触发深度时才向处理器10发送中断信号,通知处理器10接收数据,如此可降低申请中断次数,节省资源;若应用在数据密度低的场合,可设置较浅的FIFO的触发深度,以保证数据能及时的传输给处理器10。数据密度的高低是根据数据传输间隔时间确定的,如图3所示,数据传输间隔时间tl、t2和t3较小,表示数据密度高,如图4所示,数据传输间隔时间tl、t2较大,表示数据密度低。数据传输间隔时间是指传输的相邻两个数据之间的间隔时间。 [0032]数据密度的高低可根据设置的时间阈值判断,当数据传输间隔时间大于设置的时间阈值时,数据密度低,当数据传输间隔时间小于设置的时间阈值时,数据密度高。
[0033]触发深度越接近预设的触发深度最大值,表示为深触发深度,否则为浅触发深度。
[0034]进一步的,在一个实施例中,上述基于航空通信总线的数据传输系统还包括计时器,计时器用于当逻辑器件30内部的先入先出阵列中数据未达到相应的触发深度时,判断航空通信总线设备50将数据传输到逻辑器件30内部相对应的先入先出阵列中的数据传输间隔时间是否大于预设时间间隔,若是,则通知逻辑器件30中断信号,逻辑器件30将产生的中断信号发送给处理器10。其中,预设时间间隔可根据需要设定,本实施例中预设时间间隔一般为4飞个数据传输所需要时间。
[0035]如此设置超时判断,可防止出现因已传输到先入先出阵列中的数据未达到触发深度,下一条将要传输到先入先出阵列的数据需要等待较长时间才会进行传输而造成数据滞留在FIFO中,不能及时的传输给处理器10,影响传输效率的情况。
[0036]上述基于航空通信总线的数据传输系统,通过将航空通信总线设备50发送的数据暂存在逻辑器件30内部对应的先入先出阵列中,根据对应的先入先出阵列的数据密度灵活设置对应的触发深度,当达到该对应的先入先出阵列的触发深度时,发送中断信号给处理器10接收数据,可减少中断申请次数,提高处理器处理数据效率,节省资源。
[0037]如图5所示,在一个实施例中,一种基于航空通信总线的数据传输方法,包括以下步骤:
[0038]步骤S110,将处理器通过逻辑器件与至少一个航空通信总线设备相连。[0039]具体的,逻辑器件可为FPGA或CPLD。航空通信总线设备为Arinc429总线设备。通过逻辑器件将航空通信总线设备的接口转换为标准的三总线结构,即数据总线、地址总线和控制总线。如图1所示,在逻辑器件下可连接多个航空通信总线设备,逻辑器件为FPGA, DATA-1至DATA-n为数据总线,每个航空通信总线设备通过一个DATA与FPGA相连,数据总线宽度与Airnc429设备宽度相同,处理器与FPGA之间通过三总线相连。图1中,采用粗线表示总线,DATA表示数据总线,ADDR表示地址总线,CTRL表示控制总线,CTRL-U
CTRL-2、.......CTRL-n表示控制总线,DATA-1至DATA-n表示对应的Arinc429 (I)至
Arinc429(n)分别与FPGA进行相互传输的数据。
[0040]步骤S120,将逻辑器件内部的先入先出阵列与航空通信总线设备对应,先入先出阵列用于暂存所述航空通信总线设备发送给处理器接收的数据。
[0041]步骤S130,根据每个航空通信总线设备传输的数据密度对逻辑器件中相应的先入先出阵列设置触发深度。
[0042]本实施例中,FIFO的触发深度最大值可预先设定,如32、64、128、256等等。在触发深度最大值范围内可根据实际应用对FIFO的触发深度进行设置。若应用在数据密度高的场合,可设置较深的FIFO的触发深度,只有达到设置的触发深度时才向处理器发送中断信号,通知处理器接收数据,如此可降低申请中断次数,节省资源;若应用在数据密度低的场合,可设置较浅的FIFO的触发深度,以保证数据能及时的传输给处理器。数据密度的高低是根据数据 传输间隔时间确定的,如图3所示,数据传输间隔时间tl、t2和t3较小,数据密度高,如图4所示,数据传输间隔时间tl、t2较大,数据密度低。数据传输间隔时间是指传输的相邻两个数据之间的间隔时间。
[0043]数据密度的高低可根据设置的时间阈值判断,当数据传输间隔时间大于设置的时间阈值时,数据密度低,当数据传输间隔时间小于设置的时间阈值时,数据密度高。
[0044]触发深度越接近预设的触发深度最大值,表示为深触发深度,否则为浅触发深度。
[0045]步骤S140,当先入先出阵列中的数据达到触发深度时,逻辑器件产生中断信号通知处理器接收数据。
[0046]上述基于航空通信总线的数据传输方法,通过将航空通信总线设备发送的数据暂存在逻辑器件内部对应的先入先出阵列中,根据对应的先入先出阵列的数据密度灵活设置对应的触发深度,当达到该对应的先入先出阵列的触发深度时,发送中断信号给处理器接收数据,可减少中断申请次数,提高处理器处理数据效率,节省资源。
[0047]进一步的,在一个实施例中,上述基于航空通信总线的数据传输方法,还包括:当所述先入先出阵列中数据未达到相应的触发深度时,判断所述航空通信总线设备将数据传输到所述逻辑器件的先入先出阵列中的数据传输间隔时间是否大于预设时间间隔,若是,则通知所述逻辑器件产生中断信号,所述逻辑器件将产生的中断信号发送给所述处理器。
[0048]其中,预设时间间隔可根据需要设定,本实施例中预设时间间隔一般为4飞个数据传输所需要时间。
[0049]如此设置超时判断,可防止出现因已传输到先入先出阵列中的数据未达到触发深度,下一条将要传输到先入先出阵列的数据需要等待较长时间才会进行传输而造成数据滞留在FIFO中,不能及时的传输给处理器,影响传输效率的情况。
[0050]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发 明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种基于航空通信总线的数据传输系统,其特征在于,包括处理器、逻辑器件和至少一个航空通信总线设备,所述处理器通过所述逻辑器件与至少一个航空通信总线设备相连,所述逻辑器件内部为每个航空通信总线设备设有相应的先入先出阵列,所述先入先出阵列用于暂存所述航空通信总线设备发送给处理器接收的数据,所述处理器根据每个航空通信总线设备传输的数据密度为所述逻辑器件中相应的先入先出阵列设置触发深度;当所述先入先出阵列中的数据达到触发深度时,所述逻辑器件产生中断信号通知所述处理器接收数据。
2.根据权利要求1所述的基于航空通信总线的数据传输系统,其特征在于,所述系统还包括计时器,所述计时器用于当所述先入先出阵列中数据未达到相应的触发深度时,判断所述航空通信总线设备将数据传输到所述逻辑器件的先入先出阵列中的数据传输间隔时间是否大于预设时间间隔,若是,则通知所述逻辑器件产生中断信号,所述逻辑器件将产生的中断信号发送给所述处理器。
3.根据权利要求1所述的基于航空通信总线的数据传输系统,其特征在于,所述逻辑器件为FPGA或CPLD。
4.根据权利要求1所述的基于航空通信总线的数据传输系统,其特征在于,所述航空通信总线为Arinc429总线。
5.根据权利要求1所述的基于航空通信总线的数据传输系统,其特征在于,所述触发深度最大值为32、64或128。
6.一种基于航空通信总线的数据传输方法,包括以下步骤: 将处理器通过逻 辑器件与至少一个航空通信总线设备相连; 将逻辑器件内部的先入先出阵列与航空通信总线设备对应,所述先入先出阵列用于暂存所述航空通信总线设备发送给处理器接收的数据; 根据每个航空通信总线设备传输的数据密度对逻辑器件中相应的先入先出阵列设置触发深度; 当所述先入先出阵列中的数据达到触发深度时,所述逻辑器件产生中断信号通知所述处理器接收数据。
7.根据权利要求6所述的基于航空通信总线的数据传输方法,其特征在于,所述方法还包括: 当所述先入先出阵列中数据未达到相应的触发深度时,判断所述航空通信总线设备将数据传输到所述逻辑器件的先入先出阵列中的数据传输间隔时间是否大于预设时间间隔,若是,则通知所述逻辑器件产生中断信号,所述逻辑器件将产生的中断信号发送给所述处理器。
8.根据权利要求6所述的基于航空通信总线的数据传输方法,其特征在于,所述逻辑器件为FPGA或CPLD。
9.根据权利要求6所述的基于航空通信总线的数据传输方法,其特征在于,所述航空通信总线为Arinc429总线。
10.根据权利要求6所述的基于航空通信总线的数据传输方法,其特征在于,所述触发深度最大值为32、64或128。
【文档编号】H04L12/40GK103905280SQ201210572580
【公开日】2014年7月2日 申请日期:2012年12月25日 优先权日:2012年12月25日
【发明者】陈志列, 何丽红, 袁伟评, 熊威 申请人:研祥智能科技股份有限公司, 北京市研祥兴业国际智能科技有限公司