在航空電子綜合化系統(tǒng)中,快速、有效的數(shù)據(jù)傳輸對(duì)整個(gè)航空電子系統(tǒng)的性能有很大影響,因此數(shù)據(jù)總線被稱為現(xiàn)代航空電子系統(tǒng)的“骨架”。ARINC429是航空電子系統(tǒng)之間最常用的通信總線之一。要在計(jì)算機(jī)上實(shí)現(xiàn)與機(jī)載設(shè)備的ARINC429總線數(shù)據(jù)通信,必須實(shí)現(xiàn)429總線與計(jì)算機(jī)總線之間的數(shù)據(jù)傳輸。本文設(shè)計(jì)了基于USB總線的便攜式ARINC429總線通信設(shè)備,并通過實(shí)際運(yùn)行測(cè)試,對(duì)該設(shè)備的可靠性和穩(wěn)定性進(jìn)行了驗(yàn)證。
1系統(tǒng)總體設(shè)計(jì)
1.1系統(tǒng)功能分析
該系統(tǒng)主要分為3大功能單元:中央控制單元、429數(shù)據(jù)收發(fā)單元、429電平轉(zhuǎn)換單元。系統(tǒng)的功能結(jié)構(gòu)框圖如圖1所示。中央控制單元與PC機(jī)進(jìn)行USB通信,將USB總線轉(zhuǎn)換為自定義總線,并根據(jù)PC機(jī)發(fā)來的任務(wù)指令,通過自定義總線(數(shù)據(jù)線、地址線、控制線)控制429數(shù)據(jù)收發(fā)單元完成相應(yīng)的429總線數(shù)據(jù)收發(fā)任務(wù)。
1.2主要器件選擇
1.2.1 中央控制單元
中央控制單元負(fù)責(zé)與PC機(jī)進(jìn)行USB通信,并控制429數(shù)據(jù)收發(fā)單元完成通信工作。該單元采用SiliconLabs公司推出的C8051F340單片機(jī)。它是完全集成的混合信號(hào)SoC級(jí)MCU芯片,片內(nèi)集成有1個(gè)采樣率為200ksps的10位ADC、1個(gè)可編程增益放大器、2個(gè)電壓比較器、1個(gè)電壓基準(zhǔn)、 1個(gè)具有5個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣列(PCA)、5個(gè)通用的16位定時(shí)器、40個(gè)通用數(shù)字I/O端口,以及1個(gè)片上64 KB的Flash存儲(chǔ)器和4 KB的RAM,支持多種總線通信接口(I2C/SMBus、SPI、UART、USB)。C8051F340的最大指令處理速度為48 MIPS,具有片內(nèi)VDD監(jiān)視器、WDT和時(shí)鐘振蕩器,能有效地管理模擬和數(shù)字外設(shè)。
C8051F340最大的優(yōu)勢(shì)是在片內(nèi)集成了一個(gè) USB總線控制器,與USB2.0完全兼容,支持低速和全速兩種模式。這樣,在硬件上只需一片C8051F340就能與PC機(jī)直接進(jìn)行USB通信,無需外加USB接口芯片。
1.2.2 429數(shù)據(jù)收發(fā)單元
目前市面上的429通信專用芯片(如HS-3282、 DEI1016、HI-8585)只能實(shí)現(xiàn)1路發(fā)送或接收,要滿足本設(shè)計(jì)需求就需要8組429通信專用芯片(共計(jì)16片)。無論從成本上,還是從設(shè)計(jì)本身的可行性、可靠性來考慮,都是難以實(shí)現(xiàn)的。本文采用Actel公司的ProASIC3型FPGA,將設(shè)備的核心部分——429通信協(xié)議模塊在FPGA中實(shí)現(xiàn)。這樣使整體設(shè)計(jì)更加簡(jiǎn)潔,充分體現(xiàn)了模塊化設(shè)計(jì)和SoC設(shè)計(jì)思想,同時(shí)大大降低了設(shè)計(jì)成本。
Actel公司的ProASIC3型 F="PGA采用獨(dú)一無二的Flash架構(gòu)"。與基于SRAM架構(gòu)的FPGA不同,它掉電后數(shù)據(jù)不易失,無需配置芯片,從而實(shí)現(xiàn)了真正意義上的單芯片設(shè)計(jì)思想。同時(shí),它支持FlashLock、AES加密技術(shù),安全性強(qiáng);最高支持350 MHz單端翻轉(zhuǎn)率和700 MHz的差分信號(hào);支持19種I/O電平標(biāo)準(zhǔn)。
2硬件設(shè)計(jì)
2.1 C8051F340接口設(shè)計(jì)
C8051F340 作為設(shè)備的中央控制單元,其外圍接口主要分為兩部分:與PC機(jī)的USB通信接口和與ProASIC3的自定義總線接口。C8051F340的外圍接口電路如圖2所示。
由于C8051F340片內(nèi)集成了一個(gè)USB總線控制器,因此它與上位機(jī)的USB 通信直接通過D+和D-兩個(gè)差分信號(hào)引腳完成的,接口非常簡(jiǎn)單。C8051F340與ProASIC3之間的通信通過C8051F340的8位數(shù)據(jù)線、 16位地址線,以及讀(RD)、寫(WR)、復(fù)位(RESET)3個(gè)控制信號(hào)來完成。
C8051F340與ProASIC3均采用USB 總線供電,C8051F340采用3.3 V供電,而ProASIC3采用3.3 V和1.5 V供電。由于USB總線提供的是5 V電源,因此在本設(shè)計(jì)中采用了美國(guó)NS公司的電源穩(wěn)壓芯片LMlll7。該芯片根據(jù)電壓輸出的不同分為不同的型號(hào),這里選用了1.5 V和3.3 V兩種型號(hào)。
2.2 429電平轉(zhuǎn)換電路設(shè)計(jì)
2.2.1 429發(fā)送通道電平轉(zhuǎn)換電路
429發(fā)送通道電平轉(zhuǎn)換電路的功能是將ProASIC3產(chǎn)生的CMOS電平信號(hào)轉(zhuǎn)換為429電平信號(hào)。目前有幾家公司專門從事429通信芯片的生產(chǎn),其中也包括429發(fā)送通道電平轉(zhuǎn)換芯片。采用這種專用芯片的優(yōu)點(diǎn)是接口電路設(shè)計(jì)簡(jiǎn)單,缺點(diǎn)是芯片價(jià)格昂貴。本設(shè)計(jì)的需求為8路發(fā)送通道,從成本上考慮,不易采用專用芯片,而是利用集成運(yùn)放設(shè)計(jì)發(fā)送通道的電平轉(zhuǎn)換電路。圖3為429發(fā)送通道電平轉(zhuǎn)換電路。圖中的A和B是由ProASIC3產(chǎn)生的信號(hào),TXA和TXB是經(jīng)電平轉(zhuǎn)換電路調(diào)理后形成的ARINC429信號(hào)。
表1為429發(fā)送通道電平轉(zhuǎn)換電路的功能表:
該電路設(shè)計(jì)采用了Linear公司的雙運(yùn)放集成芯片LT1497。該芯片的最大特點(diǎn)為輸出功率大,最大輸出電流為±125 mA,完全滿足ARINC429通信標(biāo)準(zhǔn)的功率要求。采用NI公司的Multisim10進(jìn)行電路仿真,并實(shí)際運(yùn)行測(cè)試。測(cè)試表明,仿真結(jié)果與實(shí)際運(yùn)行結(jié)果一致,完全符合ARINC429通信標(biāo)準(zhǔn)要求。
2.2.2 429接收通道電平轉(zhuǎn)換電路
429接收通道電平轉(zhuǎn)換電路的功能與429發(fā)送通道電平轉(zhuǎn)換電路的功能完全相反,它是將429電平信號(hào)轉(zhuǎn)換為CMOS電平信號(hào),以便讓ProASIC3對(duì)其進(jìn)行處理。接收通道的電平轉(zhuǎn)換采用HOLT公司的HI-8448實(shí)現(xiàn)。HI-8448為8路429接收芯片,可負(fù)責(zé)8路429接收通道的電平轉(zhuǎn)換。
3 軟件設(shè)計(jì)
系統(tǒng)軟件程序主要由ProASIC3內(nèi)核、C8051F340固件程序和上位機(jī)控制界面程序3部分組成。
3.1 ProASIC3內(nèi)核設(shè)計(jì)
ProASIC3 內(nèi)核開發(fā)是在Actel公司提供的LiberoIDE 8.5集成開發(fā)環(huán)境下完成的。該環(huán)境集成了目前業(yè)界最權(quán)威的幾大FPGA開發(fā)軟件,其中綜合工具采用了Synplify公司的Synthesis 9.6A工具,仿真工具采用MentorGraphic公司的Modelsim 6.4A軟件。整個(gè)設(shè)計(jì)采用Verilog語言編程。ProASIC3內(nèi)核的總體框架設(shè)計(jì)如圖4所示。ProASIC3內(nèi)核設(shè)計(jì)包括收發(fā)控制器、發(fā)送 FIFO、接收FIFO、發(fā)送邏輯轉(zhuǎn)換模塊、接收邏輯轉(zhuǎn)換模塊、時(shí)鐘發(fā)生器模塊。收發(fā)控制器負(fù)責(zé)與C8051F340進(jìn)行總線通信,協(xié)調(diào)ProASIC3 內(nèi)部各個(gè)模塊之間的工作;發(fā)送FIFO用于緩存待發(fā)送的429數(shù)據(jù);接收FIFO用于緩存待讀取的429數(shù)據(jù);發(fā)送邏輯轉(zhuǎn)換模塊是將發(fā)送FIFO送來的并行數(shù)據(jù)組合為429串行數(shù)據(jù),然后通過端口TXA、TXB發(fā)送出去;接收邏輯轉(zhuǎn)換模塊是將收到的429串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),然后通過8位數(shù)據(jù)線傳給接收FIFO;時(shí)鐘發(fā)生器是用于產(chǎn)生各個(gè)模塊所需的工作時(shí)鐘。
3.2 C8051F340固件程序設(shè)計(jì)
C8051F340固件程序的開發(fā)是在Silicon Labs公司的C8051Fxxx IDE集成開發(fā)環(huán)境下完成的,采用C語言編程。Silicon Labs公司專為USB開發(fā)推出了USBXpress工具,USBXpress將單片機(jī)固件程序和上位機(jī)應(yīng)用程序所需的USB設(shè)備驅(qū)動(dòng)函數(shù)進(jìn)行了封裝,開發(fā)人員只需調(diào)用相關(guān)函數(shù)即可。圖5為C8051F340固件程序的流程。其中,USB_clock_Start()、USB_Init()、 USB_Int_Enable()均由USBXpress工具提供,可直接調(diào)用。
3.3 上位機(jī)控制界面程序
上位機(jī)控制界面程序的開發(fā)在VC 6.0環(huán)境下完成。作為人機(jī)交互界面,其基本功能有:對(duì)設(shè)備進(jìn)行復(fù)位;與設(shè)備進(jìn)行USB通信;設(shè)置429通信的波特率、校驗(yàn)方式、數(shù)據(jù)長(zhǎng)度;設(shè)置數(shù)據(jù)發(fā)送方式(手動(dòng)或定時(shí));設(shè)置定時(shí)發(fā)送時(shí)間;顯示接收數(shù)據(jù)。
在上位機(jī)控制界面程序中,與設(shè)備間的USB通信是通過調(diào)用USBXpress工具提供的API函數(shù)完成的。USBXpress工具提供了10個(gè)API函數(shù),其中最重要的就是SI_Write()和SI_Read()兩個(gè)函數(shù),它們分別實(shí)現(xiàn)寫USB總線操作和讀USB總線操作。
4 結(jié) 論
目前,該設(shè)備已投入某型機(jī)載設(shè)備的地面內(nèi)場(chǎng)檢測(cè)維護(hù)工作中。本文利用Silicon Labs公司的C8051F340單片機(jī)和Actel公司的ProASIC3系列FPGA設(shè)計(jì)的基于USB的便攜式ARINC429總線通信設(shè)備,在地面內(nèi)場(chǎng)檢測(cè)維護(hù)工作中,工作狀態(tài)穩(wěn)定,性能可靠,很好地滿足了預(yù)先的設(shè)計(jì)要求。