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