基于arinc 429的通信方法、裝置及擴(kuò)展接口的制作方法
【專利摘要】本發(fā)明適用于通信【技術(shù)領(lǐng)域】,提供了一種基于ARINC?429的通信方法、裝置及擴(kuò)展接口。包括:接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求;獲取ARINC?429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)數(shù)據(jù)封裝位數(shù)將待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包;獲取存儲(chǔ)數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中;將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC?429收發(fā)器。本發(fā)明通過緩存區(qū)的標(biāo)識(shí)號(hào)實(shí)現(xiàn)了對(duì)緩存區(qū)的區(qū)分,同時(shí)實(shí)現(xiàn)了將與ARINC?429收發(fā)器數(shù)據(jù)發(fā)送和接收過程中涉及的緩存進(jìn)行了隔離,大大提高了數(shù)據(jù)通信的效率以及通信的可靠性。
【專利說明】基于ARINC 429的通信方法、裝置及擴(kuò)展接口
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信【技術(shù)領(lǐng)域】,尤其涉及一種基于ARINC 429的通信方法、裝置及擴(kuò)
展接口。
【背景技術(shù)】
[0002]由于ARlNCXAeronauticalRadio Incorporated)429總線結(jié)構(gòu)簡單、性能穩(wěn)定、抗干擾性強(qiáng)、可靠性高,且采用非集中控制,因此,在航空領(lǐng)域被廣泛使用。而使用X86系統(tǒng)的主板常用的 X86 系統(tǒng)總線有 LPC (Low Pin Count), SPI (Serial Peripheral Interface),PCI (Peripheral Component Interconnect)、PCIX(PC1-X)以及 I2C(Inter — IntegratedCircuit)等,沒有直接和ARINC429總線相連的接口,因此,如果使用X86系統(tǒng)的計(jì)算機(jī)/設(shè)備需要和ARINC 429總線上其它外設(shè)通訊時(shí),現(xiàn)有技術(shù)就存在擴(kuò)展性差的現(xiàn)象,無法實(shí)現(xiàn)X86系統(tǒng)和ARINC 429總線直接通信。
[0003]則需要對(duì)現(xiàn)有主板接口進(jìn)行擴(kuò)展以實(shí)現(xiàn)與ARINC 429總線的通信。
[0004]現(xiàn)有技術(shù)主要使用可編程邏輯器件來實(shí)現(xiàn)現(xiàn)有X86系統(tǒng)主板上通用接口的擴(kuò)展,以實(shí)現(xiàn)與ARINC 429總線的互聯(lián)互通。同時(shí),為了能夠使得操作系統(tǒng)支持對(duì)該設(shè)備的訪問,需要設(shè)計(jì)相關(guān)的驅(qū)動(dòng)軟件。此外,為了支持429的多通道,硬件上需要對(duì)多個(gè)429芯片采用并聯(lián)的方式,且需要可編程邏輯器件來進(jìn)行邏輯上的優(yōu)化處理,確保每一個(gè)通道的數(shù)據(jù)能夠收發(fā)。所以,現(xiàn)有技術(shù)在接口擴(kuò)展時(shí)擴(kuò)展方式復(fù)雜,且擴(kuò)展后的接口可擴(kuò)展性差。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例的目的在于提供一種基于ARINC 429的通信方法,旨在解決由于現(xiàn)有技術(shù)無法提供一種有效的擴(kuò)展方式,導(dǎo)致擴(kuò)展的ARINC 429總線接口可擴(kuò)展性差的問題。
[0006]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種基于ARINC 429的通信方法,所述方法包括下述步驟:
[0007]接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù);
[0008]獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包;
[0009]獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中;
[0010]將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器。
[0011]本發(fā)明實(shí)施例的另一目的在于提供一種基于ARINC 429的通信裝置,其特征在于,所述裝置包括:
[0012]發(fā)送請(qǐng)求接收單元,用于接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù);[0013]數(shù)據(jù)包封裝單元,用于獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包;
[0014]數(shù)據(jù)包存儲(chǔ)單元,用于獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中;以及
[0015]數(shù)據(jù)包發(fā)送單元,用于將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器。
[0016]本發(fā)明實(shí)施例的另一目的還在于提供一種包括上述基于ARINC 429的通信裝置的擴(kuò)展接口。
[0017]本發(fā)明實(shí)施例通過對(duì)一現(xiàn)有X86系統(tǒng)總線發(fā)送過來待發(fā)送數(shù)據(jù)根據(jù)ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù)進(jìn)行封裝,并將封裝后的數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)的標(biāo)識(shí)號(hào)在多個(gè)緩存區(qū)中對(duì)應(yīng)的緩存區(qū)中,最后將獲取的緩存區(qū)中存儲(chǔ)的數(shù)據(jù)包發(fā)送到ARINC 429收發(fā)器,從而通過緩存區(qū)的標(biāo)識(shí)號(hào)實(shí)現(xiàn)了對(duì)緩存區(qū)的區(qū)分,同時(shí)實(shí)現(xiàn)了將與ARINC 429收發(fā)器通信時(shí)數(shù)據(jù)發(fā)送和接收過程中涉及的緩存進(jìn)行了隔離,大大提高了數(shù)據(jù)通信的效率以及通信的可靠性。
【專利附圖】
【附圖說明】
[0018]圖1是本發(fā)明實(shí)施例一提供的基于ARINC 429的通信方法的實(shí)現(xiàn)流程圖;
[0019]圖2是本發(fā)明實(shí)施例一提供的基于ARINC 429的通信方法的具體示例示意圖;
[0020]圖3是本發(fā)明實(shí)施例二提供的基于ARINC 429的通信方法的實(shí)現(xiàn)流程圖;
[0021]圖4是本發(fā)明實(shí)施例三提供的基于ARINC 429的通信裝置的結(jié)構(gòu)圖;以及
[0022]圖5是本發(fā)明實(shí)施例四提供的基于ARINC 429的通信裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述:
[0025]實(shí)施例一:
[0026]圖1示出了本發(fā)明實(shí)施例一提供的基于ARINC 429的通信方法的實(shí)現(xiàn)流程,詳述如下:
[0027]在步驟SlOl中,接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù)。
[0028]在本發(fā)明實(shí)施例中,設(shè)備驅(qū)動(dòng)程序接收操作系統(tǒng)中文件系統(tǒng)通過X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,其中,數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù),X86系統(tǒng)總線可以是LPC、SP1、PCI或PCIX等常用X86系統(tǒng)總線。
[0029]在步驟S102中,獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包。
[0030]在本發(fā)明實(shí)施例中,由于ARINC 429收發(fā)器(例如,HS-3282控制芯片等)有著本身的規(guī)范,因此,需要設(shè)備驅(qū)動(dòng)程序獲取ARINC 429收發(fā)器設(shè)置的數(shù)據(jù)封裝格式,例如,封裝的數(shù)據(jù)包的位數(shù),典型地,ARINC 429收發(fā)器為HS-3282控制芯片時(shí),HS-3282可支持的數(shù)據(jù)包位數(shù)為32、25位。當(dāng)設(shè)備驅(qū)動(dòng)程序獲取到ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù)時(shí),根據(jù)該數(shù)據(jù)封裝位數(shù)將待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包。
[0031]在步驟S103中,獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中。
[0032]在本發(fā)明實(shí)施中,預(yù)先設(shè)置有多個(gè)緩存區(qū),每個(gè)緩存區(qū)對(duì)應(yīng)著不同的標(biāo)識(shí)號(hào),設(shè)備驅(qū)動(dòng)程序根據(jù)獲取的標(biāo)識(shí)號(hào)可以獲取對(duì)應(yīng)緩存區(qū)的地址,從而將數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中。優(yōu)選地,在將數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)之前,可檢測(cè)獲取的緩存區(qū)是否已滿,當(dāng)獲取的緩存區(qū)未滿時(shí),則將數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)。當(dāng)獲取的緩存區(qū)已滿時(shí),則需要等待。在具體實(shí)施過程中,為了保證發(fā)送數(shù)據(jù)的順序,多個(gè)緩存區(qū)可以以隊(duì)列結(jié)構(gòu)進(jìn)行組織,從而形成多個(gè)FIFO (First Input First Output,FIFO)隊(duì)列,當(dāng)然也可以以其它數(shù)據(jù)結(jié)構(gòu)進(jìn)行組織,在此不用發(fā)限制本發(fā)明。
[0033]在本發(fā)明實(shí)施例中,緩存區(qū)的標(biāo)識(shí)號(hào)可以包含在數(shù)據(jù)發(fā)送請(qǐng)求中,也可以預(yù)先設(shè)置緩存區(qū)的分配規(guī)則,從而可以從數(shù)據(jù)發(fā)送請(qǐng)求中或根據(jù)分配規(guī)則獲取緩存區(qū)的標(biāo)識(shí)號(hào),進(jìn)而可根據(jù)標(biāo)識(shí)號(hào)與緩存區(qū)的對(duì)應(yīng)關(guān)系獲取對(duì)應(yīng)緩存區(qū)的地址。
[0034]可以看出,在本發(fā)明實(shí)施例中,通過對(duì)多個(gè)緩存區(qū)的獨(dú)立操作(例如,讀、寫操作)實(shí)現(xiàn)了數(shù)據(jù)讀、寫的分離,從而實(shí)現(xiàn)了數(shù)據(jù)的多通道訪問,減少了數(shù)據(jù)讀取中的出錯(cuò)率,提高了數(shù)據(jù)讀取的可靠性。
[0035]在步驟S104中,將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器。
[0036]在本發(fā)明實(shí)施例中,設(shè)備驅(qū)動(dòng)程序?qū)⒋鎯?chǔ)的獲取的緩存區(qū)中存儲(chǔ)的數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器之前,可以先檢測(cè)ARINC 429收發(fā)器是否在向獲取的緩存區(qū)發(fā)送數(shù)據(jù),是則等待,否則將存儲(chǔ)的數(shù)據(jù)包發(fā)送到ARINC 429收發(fā)器。
[0037]作為示例地,圖2示出了本實(shí)施例的一【具體實(shí)施方式】。在該示例中包括X86系統(tǒng)總線接口 10、現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array, FPGA) 20,以及 ARINC429收發(fā)器30。其中,ARINC 429收發(fā)器由多個(gè)HS-3282控制芯片組成,F(xiàn)PGA則提供了多個(gè)緩存區(qū),其中的緩存區(qū)以FIFO隊(duì)列的形式表示。FIFI_TX1、FIFI_TX2以及FIFI_TX3表示存儲(chǔ)從X86系統(tǒng)總線接口發(fā)送過來的數(shù)據(jù)的緩存區(qū)FIFO隊(duì)列,F(xiàn)IFI_RX1、FIFI_RX2、FIFI_RX3以及FIFI_RX4表示存儲(chǔ)從ARINC 429收發(fā)器30發(fā)送過來的數(shù)據(jù)的緩存區(qū)FIFO隊(duì)列。
[0038]在本發(fā)明實(shí)施例中,使用FPGA提供多個(gè)緩存區(qū),從而可以實(shí)現(xiàn)通信通道的快速擴(kuò)展,提高了擴(kuò)展接口的可擴(kuò)展性,另外,由于HS-3282性能穩(wěn)定,因此,本發(fā)明實(shí)施例使用多個(gè)HS-3282控制芯片作為ARINC 429收發(fā)器,可以較大地提高擴(kuò)展接口的穩(wěn)定性。
[0039]本發(fā)明實(shí)施例通過對(duì)一現(xiàn)有X86系統(tǒng)總線發(fā)送過來待發(fā)送數(shù)據(jù)根據(jù)ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù)進(jìn)行封裝,并將封裝后的數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)的標(biāo)識(shí)號(hào)在多個(gè)緩存區(qū)中對(duì)應(yīng)的緩存區(qū)中,最后將獲取的緩存區(qū)中存儲(chǔ)的數(shù)據(jù)包發(fā)送到ARINC 429收發(fā)器,從而通過緩存區(qū)的標(biāo)識(shí)號(hào)實(shí)現(xiàn)了對(duì)緩存區(qū)的區(qū)分,同時(shí)實(shí)現(xiàn)了將與ARINC 429收發(fā)器通信時(shí)數(shù)據(jù)發(fā)送和接收過程中涉及的緩存進(jìn)行了隔離,大大提高了數(shù)據(jù)通信的效率以及通信的可靠性。[0040]實(shí)施例二:
[0041]圖3示出了本發(fā)明實(shí)施例二提供的基于ARINC 429的通信方法的實(shí)現(xiàn)流程,詳述如下:
[0042]在步驟S301中,接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù)。
[0043]在步驟S302中,獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包。
[0044]在步驟S303中,獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中。
[0045]在步驟S304中,將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器。
[0046]在本發(fā)明實(shí)施例中,步驟S301至步驟S304與實(shí)施例一中步驟SlOl至S 104對(duì)應(yīng)相同,在此不再贅述。
[0047]在步驟S305中,當(dāng)接收到所述ARINC 429收發(fā)器發(fā)送的中斷信號(hào)后,獲取待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量。
[0048]在本發(fā)明實(shí)施例中,當(dāng)ARINC 429收發(fā)器需要向前述X86系統(tǒng)總線發(fā)送數(shù)據(jù)時(shí),可以以中斷的方式進(jìn)行處理。ARINC 429收發(fā)器首先發(fā)送一中斷信號(hào),當(dāng)中央處理單元(CPU)接收到中斷信號(hào)后,調(diào)用預(yù)設(shè)的中斷服務(wù)程序,中斷服務(wù)程序獲取待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量。
[0049]可選地,作為一示例,當(dāng)待讀取數(shù)據(jù)包的數(shù)量為空時(shí),則判斷待讀取數(shù)據(jù)包所在緩存區(qū)的溢出標(biāo)識(shí),如果該標(biāo)識(shí)為真,則待讀取數(shù)據(jù)包的數(shù)量為對(duì)應(yīng)緩存區(qū)的最大容量,否則數(shù)量為O。
[0050]在步驟S306中,根據(jù)所述待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量讀取所述待讀取數(shù)據(jù)包。
[0051]在步驟S307中,從讀取到的所述待讀取數(shù)據(jù)包中解析出原始數(shù)據(jù),將所述原始數(shù)據(jù)發(fā)送給所述X86系統(tǒng)總線。
[0052]在本發(fā)明實(shí)施例中,當(dāng)CPU接收到中斷信號(hào)后,可以通過將包括中斷參數(shù)的中斷信號(hào)(例如,中斷入口參數(shù))發(fā)送給中斷服務(wù)程序,通過中斷服務(wù)程序執(zhí)行獲取待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)、待讀取數(shù)據(jù)包的數(shù)量的步驟,以及步驟S306、S307,具體地,可以調(diào)用預(yù)設(shè)的回調(diào)函數(shù),執(zhí)行獲取待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)、待讀取數(shù)據(jù)包的數(shù)量的步驟,以及步驟S306、S307當(dāng)X86系統(tǒng)總線(例如,PCI系統(tǒng)總線)接收到數(shù)據(jù)后,可以根據(jù)預(yù)設(shè)數(shù)據(jù)封裝格式進(jìn)行封裝并輸出。具體地,向X86系統(tǒng)發(fā)送封裝好的數(shù)據(jù)。
[0053]在本發(fā)明實(shí)施例中,提供了 ARINC 429收發(fā)器向常用X86系統(tǒng)總線發(fā)送數(shù)據(jù)的方法,實(shí)現(xiàn)ARINC 429收發(fā)器與常用X86系統(tǒng)總線的通信,保證了數(shù)據(jù)通信的效率以及通信的可靠性。
[0054]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如R0M/RAM、磁盤、光盤等。
[0055]實(shí)施例三:[0056]圖4示出了本發(fā)明實(shí)施例三提供的基于ARINC 429的通信裝置的結(jié)構(gòu),為了便于說明,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分,其中包括:
[0057]發(fā)送請(qǐng)求接收單元41,用于接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù)。
[0058]數(shù)據(jù)包封裝單元42,用于獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包。
[0059]數(shù)據(jù)包存儲(chǔ)單元43,用于獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中。
[0060]數(shù)據(jù)包發(fā)送單元44,用于將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器。
[0061 ] 在本發(fā)明實(shí)施例中,各單元的實(shí)施方式與實(shí)施例中各步驟的實(shí)施方式對(duì)應(yīng)相同,在此不再贅述。
[0062]實(shí)施例四:
[0063]圖5示出了本發(fā)明實(shí)施例四提供的基于ARINC 429的通信裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,其中,基于ARINC 429的通信裝置包括發(fā)送請(qǐng)求接收單元51、數(shù)據(jù)包封裝單元52、數(shù)據(jù)包存儲(chǔ)單元53、數(shù)據(jù)包發(fā)送單元54、數(shù)量獲取單元55、數(shù)據(jù)包讀取單元56以及原始數(shù)據(jù)發(fā)送單元57,具體地:
[0064]發(fā)送請(qǐng)求接收單元51,用于接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù)。
[0065]數(shù)據(jù)包封裝單元52,用于獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包。
[0066]數(shù)據(jù)包存儲(chǔ)單元53,用于獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中。
[0067]在本發(fā)明實(shí)施例中,在將數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)之前,可檢測(cè)獲取的緩存區(qū)是否已滿,當(dāng)獲取的緩存區(qū)未滿時(shí),則將數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)。當(dāng)獲取的緩存區(qū)已滿時(shí),則需要等待。因此,優(yōu)選地,本發(fā)明實(shí)施例中數(shù)據(jù)包存儲(chǔ)單元53還可以包括緩存區(qū)檢測(cè)單元531。
[0068]緩存區(qū)檢測(cè)單元531,用于檢測(cè)數(shù)據(jù)包存儲(chǔ)單元53獲取的緩存區(qū)是否已滿,當(dāng)所述獲取的緩存區(qū)未滿時(shí),緩存區(qū)檢測(cè)單元531觸發(fā)數(shù)據(jù)包存儲(chǔ)單元53執(zhí)行將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中的步驟。
[0069]數(shù)據(jù)包發(fā)送單元54,用于將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器。
[0070]數(shù)量獲取單元55,用于當(dāng)接收到所述ARINC 429收發(fā)器發(fā)送的中斷信號(hào)后,獲取待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量;
[0071]數(shù)據(jù)包讀取單元56,用于根據(jù)所述待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量讀取所述待讀取數(shù)據(jù)包;以及
[0072]原始數(shù)據(jù)發(fā)送單元57,用于從讀取到的所述待讀取數(shù)據(jù)包中解析出原始數(shù)據(jù),將所述原始數(shù)據(jù)發(fā)送給所述X86系統(tǒng)總線。
[0073]在本發(fā)明的另一實(shí)施例中,還提供了一種擴(kuò)展接口,所述擴(kuò)展接口包括前述實(shí)施中所述的基于ARINC 429的通信裝置。
[0074]本發(fā)明實(shí)施例通過對(duì)一現(xiàn)有X86系統(tǒng)總線發(fā)送過來待發(fā)送數(shù)據(jù)根據(jù)ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù)進(jìn)行封裝,并將封裝后的數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)的標(biāo)識(shí)號(hào)在多個(gè)緩存區(qū)中對(duì)應(yīng)的緩存區(qū)中,最后將獲取的緩存區(qū)中存儲(chǔ)的數(shù)據(jù)包發(fā)送到ARINC 429收發(fā)器,從而通過緩存區(qū)的標(biāo)識(shí)號(hào)實(shí)現(xiàn)了對(duì)緩存區(qū)的區(qū)分,同時(shí)實(shí)現(xiàn)了將與ARINC 429收發(fā)器通信時(shí)數(shù)據(jù)發(fā)送和接收過程中涉及的緩存進(jìn)行了隔離,大大提高了數(shù)據(jù)通信的效率以及通信的可靠性,同時(shí),本發(fā)明實(shí)施例還提供了 ARINC 429收發(fā)器向常用X86系統(tǒng)總線發(fā)送數(shù)據(jù)的方法,實(shí)現(xiàn)ARINC 429收發(fā)器與常用X86系統(tǒng)總線的通信,保證了數(shù)據(jù)通信的效率以及通信的可靠性。
[0075]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于ARINC 429的通信方法,其特征在于,所述方法包括下述步驟: 接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù);獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包; 獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中; 將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC 429收發(fā)器。
2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū)的步驟之后,將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中的步驟之前,所述方法還包括: 檢測(cè)所述獲取的緩存區(qū)是否已滿; 當(dāng)所述獲取的緩存區(qū)未滿時(shí),執(zhí)行將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中的步驟。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)接收到所述ARINC 429收發(fā)器發(fā)送的中斷信號(hào)后,獲取待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量; 根據(jù)所述待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量循環(huán)讀取所述待讀取數(shù)據(jù)包; 從讀取到的所述待讀取數(shù) 據(jù)包中解析出原始數(shù)據(jù),將所述原始數(shù)據(jù)發(fā)送給所述X86系統(tǒng)總線。
4.如權(quán)利要求1至3任一所述的方法,其特征在于,所述X86系統(tǒng)總線為LPC、SP1、PC1、PCIX或12C總線。
5.如權(quán)利要求4所述的方法,其特征在于,所述ARINC429收發(fā)器由多個(gè)HS-3282組成。
6.一種基于ARINC 429的通信裝置,其特征在于,所述裝置包括: 發(fā)送請(qǐng)求接收單元,用于接收X86系統(tǒng)總線發(fā)送過來的數(shù)據(jù)發(fā)送請(qǐng)求,所述數(shù)據(jù)發(fā)送請(qǐng)求包括待發(fā)送數(shù)據(jù); 數(shù)據(jù)包封裝單元,用于獲取ARINC 429收發(fā)器預(yù)設(shè)的數(shù)據(jù)封裝位數(shù),根據(jù)所述數(shù)據(jù)封裝位數(shù)將所述待發(fā)送數(shù)據(jù)封裝為待發(fā)送的數(shù)據(jù)包; 數(shù)據(jù)包存儲(chǔ)單元,用于獲取存儲(chǔ)所述數(shù)據(jù)包的緩存區(qū)的標(biāo)識(shí)號(hào),根據(jù)所述標(biāo)識(shí)號(hào)從預(yù)設(shè)的多個(gè)緩存區(qū)中獲取所述標(biāo)識(shí)號(hào)對(duì)應(yīng)的緩存區(qū),將所述數(shù)據(jù)包存儲(chǔ)到獲取的緩存區(qū)中;以及 數(shù)據(jù)包發(fā)送單元,用于將所述獲取的緩存區(qū)中存儲(chǔ)的所述數(shù)據(jù)包發(fā)送到所述ARINC429收發(fā)器。
7.如權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)包存儲(chǔ)單元還包括: 緩存區(qū)檢測(cè)單元,用于檢測(cè)所述獲取的緩存區(qū)是否已滿。
8.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 數(shù)量獲取單元,用于當(dāng)接收到所述ARINC 429收發(fā)器發(fā)送的中斷信號(hào)后,獲取待讀取數(shù)據(jù)包所在的緩存區(qū)的 標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量; 數(shù)據(jù)包讀取單元,用于根據(jù)所述待讀取數(shù)據(jù)包所在的緩存區(qū)的標(biāo)識(shí)號(hào)以及所述待讀取數(shù)據(jù)包的數(shù)量讀取所述待讀取數(shù)據(jù)包;以及 原始數(shù)據(jù)發(fā)送單元,用于從讀取到的所述待讀取數(shù)據(jù)包中解析出原始數(shù)據(jù),將所述原始數(shù)據(jù)發(fā)送給所述X86系統(tǒng)總線。
9.如權(quán)利要求1至8所述的裝置,其特征在于,所述ARINC429收發(fā)器由多個(gè)HS-3282組成。
10.一種擴(kuò)展接口,所述 擴(kuò)展接口包括權(quán)利要求9所述的裝置。
【文檔編號(hào)】H04L12/861GK103888375SQ201210553612
【公開日】2014年6月25日 申請(qǐng)日期:2012年12月19日 優(yōu)先權(quán)日:2012年12月19日
【發(fā)明者】陳志列, 熊威, 何麗紅, 袁偉評(píng) 申請(qǐng)人:研祥智能科技股份有限公司