基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)和方法
【專利摘要】本發(fā)明涉及一種基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)和方法。所述系統(tǒng)包括處理器、邏輯器件和至少一個航空通信總線設備,所述處理器通過所述邏輯器件與至少一個航空通信總線設備相連,所述邏輯器件內部為每個航空通信總線設備設有相應的先入先出陣列,所述先入先出陣列用于暫存所述航空通信總線設備發(fā)送給處理器接收的數(shù)據(jù),所述處理器根據(jù)每個航空通信總線設備傳輸?shù)臄?shù)據(jù)密度為所述邏輯器件中相應的先入先出陣列設置觸發(fā)深度;當所述先入先出陣列中的數(shù)據(jù)達到觸發(fā)深度時,所述邏輯器件產(chǎn)生中斷信號通知所述處理器接收數(shù)據(jù)。上述基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)和方法,能夠減少中斷申請次數(shù),提高處理器處理數(shù)據(jù)效率,節(jié)省資源。
【專利說明】基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)和方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)傳輸領域,特別是涉及一種基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)和方法。
【背景技術】
[0002]航空通信有特定的通信要求,為此制定了相應的通信規(guī)范。目前主要采用的是美國航空無線通信公司Arinc (Aeronautical Radio Inc.)制定的429規(guī)范。429規(guī)范規(guī)定了飛機電子系統(tǒng)之間數(shù)字式數(shù)據(jù)傳輸?shù)臉藴矢袷剑陲w機上使用429縱向的電子設備均應遵守該規(guī)范,這樣才能保證電子設備之間數(shù)據(jù)通訊的標準化。
[0003]因429總線是一種外圍總線,與處理器(如X86架構的處理器)標準接口連接時往往需要協(xié)議轉換芯片才能使用。因處理器相對外部設備來說屬于高速設備,故外部設備(即429總線設備)的響應速度直接決定了整個系統(tǒng)的性能。目前處理器通過中斷方式接收429總線設備的傳輸?shù)臄?shù)據(jù),因每收到一個數(shù)據(jù)就會發(fā)出中斷通知處理器進行接收,如此處理器的效率會大大降低,影響整個系統(tǒng)的處理速度,且當處理器繁忙或數(shù)據(jù)量太大時,會造成數(shù)據(jù)丟失。
【發(fā)明內容】
[0004]基于此,有必要針對現(xiàn)有 技術中因頻繁中斷造成處理器處理效率低的問題,提供一種能提高處理效率、節(jié)省系統(tǒng)資源的基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)。
[0005]此外,還有必要針對現(xiàn)有技術中因頻繁中斷造成處理器處理效率低的問題,提供一種能提高處理效率、節(jié)省系統(tǒng)資源的基于航空通信總線的數(shù)據(jù)傳輸方法。
[0006]一種基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),包括處理器、邏輯器件和至少一個航空通信總線設備,所述處理器通過所述邏輯器件與至少一個航空通信總線設備相連,所述邏輯器件內部為每個航空通信總線設備設有相應的先入先出陣列,所述先入先出陣列用于暫存所述航空通信總線設備發(fā)送給處理器接收的數(shù)據(jù),所述處理器根據(jù)每個航空通信總線設備傳輸?shù)臄?shù)據(jù)密度為所述邏輯器件中相應的先入先出陣列設置觸發(fā)深度;當所述先入先出陣列中的數(shù)據(jù)達到觸發(fā)深度時,所述邏輯器件產(chǎn)生中斷信號通知所述處理器接收數(shù)據(jù)。
[0007]在其中一個實施例中,所述系統(tǒng)還包括計時器,所述計時器用于當所述先入先出陣列中數(shù)據(jù)未達到相應的觸發(fā)深度時,判斷所述航空通信總線設備將數(shù)據(jù)傳輸?shù)剿鲞壿嬈骷南热胂瘸鲫嚵兄械臄?shù)據(jù)傳輸間隔時間是否大于預設時間間隔,若是,則通知所述邏輯器件產(chǎn)生中斷信號,所述邏輯器件將產(chǎn)生的中斷信號發(fā)送給所述處理器。
[0008]在其中一個實施例中,所述邏輯器件為FPGA或CPLD。
[0009]在其中一個實施例中,所述航空通信總線為Arinc429總線。
[0010]在其中一個實施例中,所述觸發(fā)深度最大值為32、64或128。
[0011]一種基于航空通信總線的數(shù)據(jù)傳輸方法,包括以下步驟:
[0012]將處理器通過邏輯器件與至少一個航空通信總線設備相連;[0013]將邏輯器件內部的先入先出陣列與航空通信總線設備對應,所述先入先出陣列用于暫存所述航空通信總線設備發(fā)送給處理器接收的數(shù)據(jù);
[0014]根據(jù)每個航空通信總線設備傳輸?shù)臄?shù)據(jù)密度對邏輯器件中相應的先入先出陣列設置觸發(fā)深度;
[0015]當所述先入先出陣列中的數(shù)據(jù)達到觸發(fā)深度時,所述邏輯器件產(chǎn)生中斷信號通知所述處理器接收數(shù)據(jù)。
[0016]在其中一個實施例中,所述方法還包括:
[0017]當所述先入先出陣列中數(shù)據(jù)未達到相應的觸發(fā)深度時,判斷所述航空通信總線設備將數(shù)據(jù)傳輸?shù)剿鲞壿嬈骷南热胂瘸鲫嚵兄械臄?shù)據(jù)傳輸間隔時間是否大于預設時間間隔,若是,則通知所述邏輯器件產(chǎn)生中斷信號,所述邏輯器件將產(chǎn)生的中斷信號發(fā)送給所述處理器。
[0018]在其中一個實施例中,所述邏輯器件為FPGA或CPLD。
[0019]在其中一個實施例中,所述航空通信總線為Arinc429總線。
[0020]在其中一個實施例中,所述觸發(fā)深度最大值為32、64或128。
[0021]上述基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)和方法,通過將航空通信總線設備發(fā)送的數(shù)據(jù)暫存在邏輯器件內部對應的先入先出陣列中,根據(jù)對應的先入先出陣列的數(shù)據(jù)密度靈活設置對應的觸發(fā)深度,當達到該對應的先入先出陣列的觸發(fā)深度時,發(fā)送中斷信號給處理器接收數(shù)據(jù),可減少中斷申請次數(shù),提高處理器處理數(shù)據(jù)效率,節(jié)省資源。
【專利附圖】
【附圖說明】
[0022]圖1為一個實施例中基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)的結構示意圖;
[0023]圖2為一個實施例中處理器接收Arinc429設備發(fā)送數(shù)據(jù)的示意圖;
[0024]圖3為數(shù)據(jù)密度高的示意圖;
[0025]圖4為數(shù)據(jù)密度低的示意圖;
[0026]圖5為一個實施例中基于航空通信總線的數(shù)據(jù)傳輸方法的流程示意圖。
【具體實施方式】
[0027]下面結合具體的實施例及附圖對基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)和方法的技術方案進行詳細的描述,以使其更加清楚。
[0028]如圖1所示,在一個實施例中,一種基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),包括處理器10、邏輯器件30和至少一個航空通信總線設備50。其中,處理器10通過邏輯器件30與至少一個航空通信總線設備50相連。通過邏輯器件30將航空通信總線設備50的接口轉換為標準的三總線結構,即數(shù)據(jù)總線(DATA BUS)、地址總線(ADDRESS BUS)和控制總線(CTRL BUS)。在邏輯器件30下可連接多個航空通信總線設備,如圖1中,邏輯器件30為FPGA (Field Programmable Gate Array,現(xiàn)場可編程邏輯器件),DATA-1 至 DATA-n 為數(shù)據(jù)總線,每個航空通信總線設備50通過一個DATA與FPGA相連,數(shù)據(jù)總線寬度與Airnc429設備寬度相同,處理器與FPGA之間通過三總線相連。圖1中,采用粗線表示總線,DATA表示數(shù)據(jù)總線,ADDR表示地址總線,CTRL表示控制總線,CTRL-1、CTRL-2……、CTRL_n表示控制總線,DATA-1至DATA-n表示對應的Arinc429 (I)至Arinc429 (η)分別與FPGA進行相互傳輸?shù)臄?shù)據(jù)。
[0029]在其他實施例中,邏輯器件30 可為 CPLD (Complex Programmable LogicDevice,復雜可編程邏輯器件)。
[0030]如圖2所示,在邏輯器件30內部為每個航空通信總線設備50設有相應的FIFO(First Input First Output,先入先出陣列),F(xiàn)IFO用于暫存航空通信總線設備50發(fā)送給處理器接收的數(shù)據(jù)。例如FIF01與Arinc429 (I)對應,F(xiàn)IF02與Airnc429 (2)對應。處理器10根據(jù)每個航空通信總線設備50傳輸?shù)臄?shù)據(jù)密度為邏輯器件30中相應的先入先出陣列設置觸發(fā)深度。當邏輯器件30中的先入先出陣列中的數(shù)據(jù)達到觸發(fā)深度時,邏輯器件30產(chǎn)生中斷信號通知處理器10接收數(shù)據(jù)。圖2中,采用粗線表示總線,細線表示某一種具體的信號,例如RDl、RD2、RDn為CTRL控制總線中接收數(shù)據(jù)時產(chǎn)生的使能信號,INT為CTRL
控制總線中的中斷信號,DATA-1U DATA-21、.......DATA-nl表示對應的Arinc429 (I)、
Arinc429 (2)、......、Arinc429 (η)發(fā)送給 FPGA 的數(shù)據(jù)。
[0031]本實施例中,F(xiàn)IFO的觸發(fā)深度最大值可預先設定,如32、64、128、256等等。在觸發(fā)深度最大值范圍內可根據(jù)實際應用對FIFO的觸發(fā)深度進行設置。若應用在數(shù)據(jù)密度高的場合,可設置較深的FIFO的觸發(fā)深度,只有達到設置的觸發(fā)深度時才向處理器10發(fā)送中斷信號,通知處理器10接收數(shù)據(jù),如此可降低申請中斷次數(shù),節(jié)省資源;若應用在數(shù)據(jù)密度低的場合,可設置較淺的FIFO的觸發(fā)深度,以保證數(shù)據(jù)能及時的傳輸給處理器10。數(shù)據(jù)密度的高低是根據(jù)數(shù)據(jù)傳輸間隔時間確定的,如圖3所示,數(shù)據(jù)傳輸間隔時間tl、t2和t3較小,表示數(shù)據(jù)密度高,如圖4所示,數(shù)據(jù)傳輸間隔時間tl、t2較大,表示數(shù)據(jù)密度低。數(shù)據(jù)傳輸間隔時間是指傳輸?shù)南噜弮蓚€數(shù)據(jù)之間的間隔時間。 [0032]數(shù)據(jù)密度的高低可根據(jù)設置的時間閾值判斷,當數(shù)據(jù)傳輸間隔時間大于設置的時間閾值時,數(shù)據(jù)密度低,當數(shù)據(jù)傳輸間隔時間小于設置的時間閾值時,數(shù)據(jù)密度高。
[0033]觸發(fā)深度越接近預設的觸發(fā)深度最大值,表示為深觸發(fā)深度,否則為淺觸發(fā)深度。
[0034]進一步的,在一個實施例中,上述基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng)還包括計時器,計時器用于當邏輯器件30內部的先入先出陣列中數(shù)據(jù)未達到相應的觸發(fā)深度時,判斷航空通信總線設備50將數(shù)據(jù)傳輸?shù)竭壿嬈骷?0內部相對應的先入先出陣列中的數(shù)據(jù)傳輸間隔時間是否大于預設時間間隔,若是,則通知邏輯器件30中斷信號,邏輯器件30將產(chǎn)生的中斷信號發(fā)送給處理器10。其中,預設時間間隔可根據(jù)需要設定,本實施例中預設時間間隔一般為4飛個數(shù)據(jù)傳輸所需要時間。
[0035]如此設置超時判斷,可防止出現(xiàn)因已傳輸?shù)较热胂瘸鲫嚵兄械臄?shù)據(jù)未達到觸發(fā)深度,下一條將要傳輸?shù)较热胂瘸鲫嚵械臄?shù)據(jù)需要等待較長時間才會進行傳輸而造成數(shù)據(jù)滯留在FIFO中,不能及時的傳輸給處理器10,影響傳輸效率的情況。
[0036]上述基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),通過將航空通信總線設備50發(fā)送的數(shù)據(jù)暫存在邏輯器件30內部對應的先入先出陣列中,根據(jù)對應的先入先出陣列的數(shù)據(jù)密度靈活設置對應的觸發(fā)深度,當達到該對應的先入先出陣列的觸發(fā)深度時,發(fā)送中斷信號給處理器10接收數(shù)據(jù),可減少中斷申請次數(shù),提高處理器處理數(shù)據(jù)效率,節(jié)省資源。
[0037]如圖5所示,在一個實施例中,一種基于航空通信總線的數(shù)據(jù)傳輸方法,包括以下步驟:
[0038]步驟S110,將處理器通過邏輯器件與至少一個航空通信總線設備相連。[0039]具體的,邏輯器件可為FPGA或CPLD。航空通信總線設備為Arinc429總線設備。通過邏輯器件將航空通信總線設備的接口轉換為標準的三總線結構,即數(shù)據(jù)總線、地址總線和控制總線。如圖1所示,在邏輯器件下可連接多個航空通信總線設備,邏輯器件為FPGA, DATA-1至DATA-n為數(shù)據(jù)總線,每個航空通信總線設備通過一個DATA與FPGA相連,數(shù)據(jù)總線寬度與Airnc429設備寬度相同,處理器與FPGA之間通過三總線相連。圖1中,采用粗線表示總線,DATA表示數(shù)據(jù)總線,ADDR表示地址總線,CTRL表示控制總線,CTRL-U
CTRL-2、.......CTRL-n表示控制總線,DATA-1至DATA-n表示對應的Arinc429 (I)至
Arinc429(n)分別與FPGA進行相互傳輸?shù)臄?shù)據(jù)。
[0040]步驟S120,將邏輯器件內部的先入先出陣列與航空通信總線設備對應,先入先出陣列用于暫存所述航空通信總線設備發(fā)送給處理器接收的數(shù)據(jù)。
[0041]步驟S130,根據(jù)每個航空通信總線設備傳輸?shù)臄?shù)據(jù)密度對邏輯器件中相應的先入先出陣列設置觸發(fā)深度。
[0042]本實施例中,F(xiàn)IFO的觸發(fā)深度最大值可預先設定,如32、64、128、256等等。在觸發(fā)深度最大值范圍內可根據(jù)實際應用對FIFO的觸發(fā)深度進行設置。若應用在數(shù)據(jù)密度高的場合,可設置較深的FIFO的觸發(fā)深度,只有達到設置的觸發(fā)深度時才向處理器發(fā)送中斷信號,通知處理器接收數(shù)據(jù),如此可降低申請中斷次數(shù),節(jié)省資源;若應用在數(shù)據(jù)密度低的場合,可設置較淺的FIFO的觸發(fā)深度,以保證數(shù)據(jù)能及時的傳輸給處理器。數(shù)據(jù)密度的高低是根據(jù)數(shù)據(jù) 傳輸間隔時間確定的,如圖3所示,數(shù)據(jù)傳輸間隔時間tl、t2和t3較小,數(shù)據(jù)密度高,如圖4所示,數(shù)據(jù)傳輸間隔時間tl、t2較大,數(shù)據(jù)密度低。數(shù)據(jù)傳輸間隔時間是指傳輸?shù)南噜弮蓚€數(shù)據(jù)之間的間隔時間。
[0043]數(shù)據(jù)密度的高低可根據(jù)設置的時間閾值判斷,當數(shù)據(jù)傳輸間隔時間大于設置的時間閾值時,數(shù)據(jù)密度低,當數(shù)據(jù)傳輸間隔時間小于設置的時間閾值時,數(shù)據(jù)密度高。
[0044]觸發(fā)深度越接近預設的觸發(fā)深度最大值,表示為深觸發(fā)深度,否則為淺觸發(fā)深度。
[0045]步驟S140,當先入先出陣列中的數(shù)據(jù)達到觸發(fā)深度時,邏輯器件產(chǎn)生中斷信號通知處理器接收數(shù)據(jù)。
[0046]上述基于航空通信總線的數(shù)據(jù)傳輸方法,通過將航空通信總線設備發(fā)送的數(shù)據(jù)暫存在邏輯器件內部對應的先入先出陣列中,根據(jù)對應的先入先出陣列的數(shù)據(jù)密度靈活設置對應的觸發(fā)深度,當達到該對應的先入先出陣列的觸發(fā)深度時,發(fā)送中斷信號給處理器接收數(shù)據(jù),可減少中斷申請次數(shù),提高處理器處理數(shù)據(jù)效率,節(jié)省資源。
[0047]進一步的,在一個實施例中,上述基于航空通信總線的數(shù)據(jù)傳輸方法,還包括:當所述先入先出陣列中數(shù)據(jù)未達到相應的觸發(fā)深度時,判斷所述航空通信總線設備將數(shù)據(jù)傳輸?shù)剿鲞壿嬈骷南热胂瘸鲫嚵兄械臄?shù)據(jù)傳輸間隔時間是否大于預設時間間隔,若是,則通知所述邏輯器件產(chǎn)生中斷信號,所述邏輯器件將產(chǎn)生的中斷信號發(fā)送給所述處理器。
[0048]其中,預設時間間隔可根據(jù)需要設定,本實施例中預設時間間隔一般為4飛個數(shù)據(jù)傳輸所需要時間。
[0049]如此設置超時判斷,可防止出現(xiàn)因已傳輸?shù)较热胂瘸鲫嚵兄械臄?shù)據(jù)未達到觸發(fā)深度,下一條將要傳輸?shù)较热胂瘸鲫嚵械臄?shù)據(jù)需要等待較長時間才會進行傳輸而造成數(shù)據(jù)滯留在FIFO中,不能及時的傳輸給處理器,影響傳輸效率的情況。
[0050]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā) 明專利的保護范圍應以所附權利要求為準。
【權利要求】
1.一種基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括處理器、邏輯器件和至少一個航空通信總線設備,所述處理器通過所述邏輯器件與至少一個航空通信總線設備相連,所述邏輯器件內部為每個航空通信總線設備設有相應的先入先出陣列,所述先入先出陣列用于暫存所述航空通信總線設備發(fā)送給處理器接收的數(shù)據(jù),所述處理器根據(jù)每個航空通信總線設備傳輸?shù)臄?shù)據(jù)密度為所述邏輯器件中相應的先入先出陣列設置觸發(fā)深度;當所述先入先出陣列中的數(shù)據(jù)達到觸發(fā)深度時,所述邏輯器件產(chǎn)生中斷信號通知所述處理器接收數(shù)據(jù)。
2.根據(jù)權利要求1所述的基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述系統(tǒng)還包括計時器,所述計時器用于當所述先入先出陣列中數(shù)據(jù)未達到相應的觸發(fā)深度時,判斷所述航空通信總線設備將數(shù)據(jù)傳輸?shù)剿鲞壿嬈骷南热胂瘸鲫嚵兄械臄?shù)據(jù)傳輸間隔時間是否大于預設時間間隔,若是,則通知所述邏輯器件產(chǎn)生中斷信號,所述邏輯器件將產(chǎn)生的中斷信號發(fā)送給所述處理器。
3.根據(jù)權利要求1所述的基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述邏輯器件為FPGA或CPLD。
4.根據(jù)權利要求1所述的基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述航空通信總線為Arinc429總線。
5.根據(jù)權利要求1所述的基于航空通信總線的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述觸發(fā)深度最大值為32、64或128。
6.一種基于航空通信總線的數(shù)據(jù)傳輸方法,包括以下步驟: 將處理器通過邏 輯器件與至少一個航空通信總線設備相連; 將邏輯器件內部的先入先出陣列與航空通信總線設備對應,所述先入先出陣列用于暫存所述航空通信總線設備發(fā)送給處理器接收的數(shù)據(jù); 根據(jù)每個航空通信總線設備傳輸?shù)臄?shù)據(jù)密度對邏輯器件中相應的先入先出陣列設置觸發(fā)深度; 當所述先入先出陣列中的數(shù)據(jù)達到觸發(fā)深度時,所述邏輯器件產(chǎn)生中斷信號通知所述處理器接收數(shù)據(jù)。
7.根據(jù)權利要求6所述的基于航空通信總線的數(shù)據(jù)傳輸方法,其特征在于,所述方法還包括: 當所述先入先出陣列中數(shù)據(jù)未達到相應的觸發(fā)深度時,判斷所述航空通信總線設備將數(shù)據(jù)傳輸?shù)剿鲞壿嬈骷南热胂瘸鲫嚵兄械臄?shù)據(jù)傳輸間隔時間是否大于預設時間間隔,若是,則通知所述邏輯器件產(chǎn)生中斷信號,所述邏輯器件將產(chǎn)生的中斷信號發(fā)送給所述處理器。
8.根據(jù)權利要求6所述的基于航空通信總線的數(shù)據(jù)傳輸方法,其特征在于,所述邏輯器件為FPGA或CPLD。
9.根據(jù)權利要求6所述的基于航空通信總線的數(shù)據(jù)傳輸方法,其特征在于,所述航空通信總線為Arinc429總線。
10.根據(jù)權利要求6所述的基于航空通信總線的數(shù)據(jù)傳輸方法,其特征在于,所述觸發(fā)深度最大值為32、64或128。
【文檔編號】H04L12/40GK103905280SQ201210572580
【公開日】2014年7月2日 申請日期:2012年12月25日 優(yōu)先權日:2012年12月25日
【發(fā)明者】陳志列, 何麗紅, 袁偉評, 熊威 申請人:研祥智能科技股份有限公司, 北京市研祥興業(yè)國際智能科技有限公司