處理器和arinc429總線的通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬計算機通信技術(shù)領(lǐng)域,具體涉及一種處理器和ARINC429總線的通信方法。
【背景技術(shù)】
[0002]ARINC429總線是一種廣播式傳輸?shù)臄?shù)據(jù)總線,傳輸?shù)膯蝹€數(shù)據(jù)字為32位,其中包括奇偶校驗位、符號\狀態(tài)矩陣、數(shù)據(jù)區(qū)和目標(biāo)標(biāo)識碼。ARINC429總線作為國際通用的航空標(biāo)準(zhǔn)總線傳輸方式,廣泛應(yīng)用在航空電子設(shè)備領(lǐng)域。ARINC429總線通過總線芯片HS-3282和處理計算機通訊,一般的通訊控制由處理計算機完成。處理計算機通過圖1和圖2所示的時序圖,對總線芯片進行控制,從而實現(xiàn)總線數(shù)據(jù)接收和發(fā)送的目的。傳統(tǒng)的ARINC429總線傳輸通過處理計算機控制HS-3282芯片完成數(shù)據(jù)接收和發(fā)送,控制邏輯由軟件實現(xiàn),軟件開發(fā)過程復(fù)雜,并且控制速度慢。軟件控制需要處理計算機分配專門的時鐘信號和控制單元來完成,占用了大量的處理計算機資源和系統(tǒng)運行時間,不利于高速的數(shù)據(jù)傳輸,因此有必要提出改進。
【發(fā)明內(nèi)容】
[0003]為了解決上述技術(shù)問題,本發(fā)明提供一種處理器和ARINC429總線的通信方法。
[0004]本發(fā)明提供一種處理器和ARINC429總線的通信方法,包括:
[0005]步驟1,所述ARINC429總線包括總線芯片HS-3282,所述ARINC429總線通過所述總線芯片HS-3282和所述處理器通信連接;
[0006]步驟2,提供可編程邏輯模塊,所述可編程邏輯模塊控制所述總線芯片HS-3282 ;
[0007]步驟3,提供獨熱狀態(tài)機,所述獨熱狀態(tài)機用于所述ARINC429總線的數(shù)據(jù)接收和發(fā)送控制。
[0008]優(yōu)選的,在步驟3中,所述獨熱狀態(tài)機包括發(fā)送狀態(tài)機和接收狀態(tài)機。
[0009]優(yōu)選的,所述發(fā)送狀態(tài)機的工作狀態(tài)包括:寫控制字狀態(tài)、空閑狀態(tài)、第一次寫FIFO狀態(tài)和第二次寫FIFO狀態(tài)。
[0010]優(yōu)選的,所述接收狀態(tài)機的工作狀態(tài)包括空閑狀態(tài)、接收第一次狀態(tài)、過渡狀態(tài)和接收第二次狀態(tài)。
[0011 ] 優(yōu)選的,在步驟3中,所述ARINC429總線數(shù)據(jù)接收包括如下步驟:
[0012]所述處理器發(fā)出D/R數(shù)據(jù)讀取標(biāo)志信號;
[0013]所述接收狀態(tài)機接收到D/R數(shù)據(jù)讀取標(biāo)志信號;
[0014]所述ARINC429總線通過所述總線芯片HS-3282發(fā)送數(shù)據(jù);
[0015]所述接收狀態(tài)機控制EN數(shù)據(jù)發(fā)送控制信號與D/R數(shù)據(jù)讀取標(biāo)志信號完成數(shù)據(jù)接收,將數(shù)據(jù)存儲到數(shù)據(jù)接收緩存區(qū),并發(fā)送數(shù)據(jù)接收完成中斷信號;
[0016]所述處理器在接收到數(shù)據(jù)接收完成中斷信號后,直接讀取由所述接收狀態(tài)機接收完成并存儲在固定地址的32位有效數(shù)據(jù)。
[0017]優(yōu)選的,在步驟3中,所述ARINC429總線數(shù)據(jù)發(fā)送包括如下步驟:
[0018]所述處理器將數(shù)據(jù)寫入到可編程邏輯的寄存器中,并發(fā)送到緩存區(qū);
[0019]所述發(fā)送狀態(tài)機接收到所述處理器發(fā)出的TX\R存儲器空標(biāo)志信號;
[0020]所述發(fā)送狀態(tài)機控制第一 PL數(shù)據(jù)字寫入FIFO標(biāo)志信號、第二 PL數(shù)據(jù)字寫入FIFO標(biāo)志信號和EN數(shù)據(jù)發(fā)送控制信號,對所述緩存區(qū)的數(shù)據(jù)進行讀??;
[0021]將讀取的數(shù)據(jù)通過所述總線芯片HS-3282發(fā)送至所述ARINC429總線。
[0022]相較于現(xiàn)有技術(shù),本發(fā)明提供的處理器和ARINC429總線的通信方法只需要處理器通過可編程邏輯模塊完成對數(shù)據(jù)接收寄存器和數(shù)據(jù)發(fā)送寄存器的訪問即可完成ARINC429總線的控制,可編程邏輯課多通道并行執(zhí)行,大大減少了軟件代碼量,簡化了軟件設(shè)計流程,提高了總線數(shù)據(jù)的傳輸速度。
【附圖說明】
[0023]圖1為本發(fā)明一種處理器和ARINC429總線的通信方法發(fā)送狀態(tài)機的工作狀態(tài)轉(zhuǎn)換結(jié)構(gòu)框圖;
[0024]圖2為本發(fā)明一種處理器和ARINC429總線的通信方法接收狀態(tài)機的工作狀態(tài)轉(zhuǎn)換結(jié)構(gòu)框圖。
【具體實施方式】
[0025]下面結(jié)合附圖1與附圖2對本實施例進行描述。
[0026]本發(fā)明公開一種處理器和ARINC429總線的通信方法,包括:
[0027]步驟1,所述ARINC429總線包括總線芯片HS-3282,所述ARINC429總線通過所述總線芯片HS-3282和所述處理器通信連接;
[0028]步驟2,提供可編程邏輯模塊,所述可編程邏輯模塊控制所述總線芯片HS-3282 ;
[0029]步驟3,提供獨熱狀態(tài)機,所述獨熱狀態(tài)機用于所述ARINC429總線的數(shù)據(jù)接收和發(fā)送控制。
[0030]在本實施例中,所述總線芯片HS-3282包含8個32位空間的FIFO,用于保存發(fā)送的8個ARINC429數(shù)據(jù)字。
[0031]所述總線芯片HS-3282的控制信號包括D/R數(shù)據(jù)讀取標(biāo)志、SEL總線選擇標(biāo)志、EN數(shù)據(jù)發(fā)送控制信號、PL數(shù)據(jù)字寫入FIFO標(biāo)志、TX\R存儲器空標(biāo)志和CWSTR控制字標(biāo)志。
[0032]所述獨熱狀態(tài)機包括發(fā)送狀態(tài)機和接收狀態(tài)機,請參閱圖1,所述發(fā)送狀態(tài)機的工作狀態(tài)包括:寫控制字狀態(tài)1、空閑狀態(tài)2、第一次寫FIFO狀態(tài)3和第二次寫FIFO狀態(tài)4,狀態(tài)的轉(zhuǎn)換順序依次為寫控制字狀態(tài)1、空閑狀態(tài)2、第一次寫FIFO狀態(tài)3和第二次寫FIFO狀態(tài)4,其中,空閑狀態(tài)2、第一次寫FIFO狀態(tài)3和第二次寫FIFO狀態(tài)4可依次循環(huán)轉(zhuǎn)換。
[0033]具體的,所述ARINC429總線數(shù)據(jù)發(fā)送包括如下步驟:
[0034]所述處理器將數(shù)據(jù)寫入到可編程邏輯的寄存器中,并發(fā)送到緩存區(qū);
[0035]所述發(fā)送狀態(tài)機接收到所述處理器發(fā)出的TX\R存儲器空標(biāo)志信號;
[0036]所述發(fā)送狀態(tài)機控制第一 PL數(shù)據(jù)字寫入FIFO標(biāo)志信號、第二 PL數(shù)據(jù)字寫入FIFO標(biāo)志信號和EN數(shù)據(jù)發(fā)送控制信號,對所述緩存區(qū)的數(shù)據(jù)進行讀?。?br>[0037]將讀取的數(shù)據(jù)通過所述總線芯片HS-3282發(fā)送至所述ARINC429總線。
[0038]請參閱圖2,所述接收狀態(tài)機的工作狀態(tài)包括:空閑狀態(tài)5、接收第一次狀態(tài)6、過渡狀態(tài)7和接收第二次狀態(tài)8,狀態(tài)的轉(zhuǎn)換順序依次為空閑狀態(tài)5、接收第一次狀態(tài)6、過渡狀態(tài)7和接收第二次狀態(tài)8,接收第二次狀態(tài)8可轉(zhuǎn)換為空閑狀態(tài)5,實現(xiàn)接收狀態(tài)機工作狀態(tài)的循環(huán)。
[0039]具體的,所述ARINC429總線數(shù)據(jù)接收包括如下步驟:
[0040]所述處理器發(fā)出D/R數(shù)據(jù)讀取標(biāo)志信號;
[0041 ] 所述接收狀態(tài)機接收到D/R數(shù)據(jù)讀取標(biāo)志信號;
[0042]所述ARINC429總線通過所述總線芯片HS-3282發(fā)送數(shù)據(jù);
[0043]所述接收狀態(tài)機控制EN數(shù)據(jù)發(fā)送控制信號與D/R數(shù)據(jù)讀取標(biāo)志信號完成數(shù)據(jù)接收,將數(shù)據(jù)存儲到數(shù)據(jù)接收緩存區(qū),并發(fā)送數(shù)據(jù)接收完成中斷信號;
[0044]所述處理器在接收到數(shù)據(jù)接收完成中斷信號后,直接讀取由所述接收狀態(tài)機接收完成并存儲在固定地址的32位有效數(shù)據(jù)。
[0045]本發(fā)明使用FPGA芯片的Spartan6XC6SLX150T芯片完成對ARINC429總線芯片HS-3282的控制,獨熱狀態(tài)機由verilog代碼編寫完成,Spartan6XC6SLX150T芯片的BRAM實現(xiàn)數(shù)據(jù)存儲,發(fā)送和接收獨熱狀態(tài)機通過總線訪問BRAM中的寄存器,BRAM的控制信號包括 BRAM_EN_pin、BRAM_WEN_pin、BRAM_Addr_pin、BRAM_Din_pin 和 BRAM_Dout_pin。
[0046]綜上所述,本發(fā)明提供的處理器和ARINC429總線的通信方法只需要處理器通過可編程邏輯模塊完成對數(shù)據(jù)接收寄存器和數(shù)據(jù)發(fā)送寄存器的訪問即可完成ARINC429總線的控制,大大減少了軟件代碼量,簡化了軟件設(shè)計流程,提高了總線數(shù)據(jù)的傳輸速度,進一步的,本發(fā)明提供的處理器和ARINC429總線的通信方法執(zhí)行速度為ns級,超越了現(xiàn)有技術(shù)的執(zhí)行速度us級。
[0047]上述實施例,只是本發(fā)明的較佳實施例,并非用來限制本發(fā)明實施范圍,故凡以本發(fā)明權(quán)利要求所述內(nèi)容所做的等效變化,均應(yīng)包括在本發(fā)明權(quán)利要求范圍之內(nèi)。
【主權(quán)項】
1.處理器和ARINC429總線的通信方法,其特征在于,包括: 步驟1,所述ARINC429總線包括總線芯片HS-3282,所述ARINC429總線通過所述總線芯片HS-3282和所述處理器通信連接; 步驟2,提供可編程邏輯模塊,所述可編程邏輯模塊控制所述總線芯片HS-3282 ; 步驟3,提供獨熱狀態(tài)機,所述獨熱狀態(tài)機用于所述ARINC429總線的數(shù)據(jù)接收和發(fā)送控制。2.根據(jù)權(quán)利要求1所述的處理器和ARINC429總線的通信方法,其特征在于,在步驟3中,所述獨熱狀態(tài)機包括發(fā)送狀態(tài)機和接收狀態(tài)機。3.根據(jù)權(quán)利要求2所述的處理器和ARINC429總線的通信方法,其特征在于,所述發(fā)送狀態(tài)機的工作狀態(tài)包括:寫控制字狀態(tài)、空閑狀態(tài)、第一次寫FIFO狀態(tài)和第二次寫FIFO狀??τ ο4.根據(jù)權(quán)利要求2所述的處理器和ARINC429總線的通信方法,其特征在于,所述接收狀態(tài)機的工作狀態(tài)包括空閑狀態(tài)、接收第一次狀態(tài)、過渡狀態(tài)和接收第二次狀態(tài)。5.根據(jù)權(quán)利要求2所述的處理器和ARINC429總線的通信方法,其特征在于,在步驟3中,所述ARINC429總線數(shù)據(jù)接收包括如下步驟: 所述處理器發(fā)出D/R數(shù)據(jù)讀取標(biāo)志信號; 所述接收狀態(tài)機接收到D/R數(shù)據(jù)讀取標(biāo)志信號; 所述ARINC429總線通過所述總線芯片HS-3282發(fā)送數(shù)據(jù); 所述接收狀態(tài)機控制ΕΝ數(shù)據(jù)發(fā)送控制信號與D/R數(shù)據(jù)讀取標(biāo)志信號完成數(shù)據(jù)接收,將數(shù)據(jù)存儲到數(shù)據(jù)接收緩存區(qū),并發(fā)送數(shù)據(jù)接收完成中斷信號; 所述處理器在接收到數(shù)據(jù)接收完成中斷信號后,直接讀取由所述接收狀態(tài)機接收完成并存儲在固定地址的32位有效數(shù)據(jù)。6.根據(jù)權(quán)利要求2所述的處理器和ARINC429總線的通信方法,其特征在于,在步驟3中,所述ARINC429總線數(shù)據(jù)發(fā)送包括如下步驟: 所述處理器將數(shù)據(jù)寫入到可編程邏輯的寄存器中,并發(fā)送到緩存區(qū); 所述發(fā)送狀態(tài)機接收到所述處理器發(fā)出的TX\R存儲器空標(biāo)志信號; 所述發(fā)送狀態(tài)機控制第一 PL數(shù)據(jù)字寫入FIFO標(biāo)志信號、第二 PL數(shù)據(jù)字寫入FIFO標(biāo)志信號和EN數(shù)據(jù)發(fā)送控制信號,對所述緩存區(qū)的數(shù)據(jù)進行讀?。? 將讀取的數(shù)據(jù)通過所述總線芯片HS-3282發(fā)送至所述ARINC429總線。
【專利摘要】本發(fā)明提供一種處理器和ARINC429總線的通信方法。所述處理器和ARINC429總線的通信方法包括:所述ARINC429總線包括總線芯片HS-3282,所述ARINC429總線通過所述總線芯片HS-3282和所述處理器通信連接;提供可編程邏輯模塊,所述可編程邏輯模塊控制所述總線芯片HS-3282;提供獨熱狀態(tài)機,所述獨熱狀態(tài)機用于所述ARINC429總線的數(shù)據(jù)接收和發(fā)送控制。本發(fā)明提供的處理器和ARINC429總線的通信方法只需要處理器通過可編程邏輯模塊完成對數(shù)據(jù)接收寄存器和數(shù)據(jù)發(fā)送寄存器的訪問即可完成ARINC429總線的控制,大大減少了軟件代碼量,簡化了軟件設(shè)計流程,提高了總線數(shù)據(jù)的傳輸速度。
【IPC分類】G06F13/40
【公開號】CN105389282
【申請?zhí)枴緾N201510679402
【發(fā)明人】關(guān)維周, 金輝, 楊軍, 葉曉宇, 范竹榮
【申請人】陜西寶成航空儀表有限責(zé)任公司
【公開日】2016年3月9日
【申請日】2015年10月19日