新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的MIII總線與RS422通信協(xié)議轉(zhuǎn)換板的設(shè)計

基于FPGA的MIII總線與RS422通信協(xié)議轉(zhuǎn)換板的設(shè)計

作者: 時間:2011-02-15 來源:網(wǎng)絡(luò) 收藏

引言

機載數(shù)據(jù)總線在飛機上的地位非常重要。機載總線轉(zhuǎn)換板則是為計算機與機載設(shè)備之間的連接提供的硬件基礎(chǔ)。機載設(shè)備通過總線轉(zhuǎn)換板與計算機進行通信以收發(fā)數(shù)據(jù)。因此,用于測試系統(tǒng)的轉(zhuǎn)換板的研制與開發(fā)就成為航電發(fā)展的一個重要部分。本文介紹的MIII總線轉(zhuǎn)換板的主要功能是將機載火控設(shè)備的MIII總線數(shù)據(jù)轉(zhuǎn)換成串口數(shù)據(jù),以方便實現(xiàn)與PC機的通信,這樣,PC機就可讀取機載設(shè)備數(shù)據(jù)或發(fā)送指令以操作總線設(shè)備。

該轉(zhuǎn)換卡采用Top-Down自頂向下的設(shè)計方法,并綜合可配置微處理器技術(shù),來對系統(tǒng)進行模塊化設(shè)計。頂層模塊則采用圖形設(shè)計方式,底層模塊由VerilogHDL語言描述,并利用Quartus lI完成仿真及綜合,然后在ALTERA公司的Cyclone II系列EP2C40芯片來實現(xiàn)。此設(shè)計提升了系統(tǒng)的處理速度和穩(wěn)定性。降低了系統(tǒng)的功耗和成本。

1 MIII總線介紹

MIII總線是某型飛機火控電子設(shè)備的專用數(shù)據(jù)通信總線,又稱第三級總線。MIII總線是單向地址、雙向數(shù)據(jù)、半雙工通信總線。

MIII總線的接口邏輯信號與電信號之間的邏輯關(guān)系是:邏輯“1”對應(yīng)邏輯高電平;邏輯“0”對應(yīng)邏輯高電平。

MIII總線接口信號線根據(jù)功能可分為三組,即數(shù)據(jù)通信總線、地址通信總線和信號控制總線。其中,數(shù)據(jù)通信總線包括0pKlK2~15pKlK-2;地址通信總線:0pAl~15pAl。總線的“輸入”表示從MIII總線轉(zhuǎn)換板向某飛機火控設(shè)備輸出數(shù)碼標(biāo)志,“輸出”則表示從某飛機火控設(shè)備向MIII總線轉(zhuǎn)換板輸入數(shù)碼標(biāo)志。MIII的A1地址選通主要用于跟蹤地址數(shù)據(jù)與選擇設(shè)備,外部寫選通則用于在從MIII總線轉(zhuǎn)換板向某飛機火控設(shè)備傳輸數(shù)據(jù)和地址時的數(shù)碼跟蹤。外部接收選通則用于在從某飛機火控設(shè)備向MIII總線轉(zhuǎn)換板傳輸數(shù)據(jù)時的數(shù)碼跟蹤。

2 RS422通信協(xié)議

RS422通信協(xié)議標(biāo)準(zhǔn)的全稱為TIA/EIA-422-B串行通信標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)的數(shù)據(jù)傳輸采用差分傳輸方式,也稱作平衡傳輸。由于RS-422標(biāo)準(zhǔn)的接收器采用高輸入阻抗和發(fā)送驅(qū)動器,故比RS232具備更強的驅(qū)動能力,并可支持點對多點的雙向通信。RS-422四線接口由于采用了單獨的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,各裝置之間的任何必須的信號交換均可以按軟件(XON/XOFF握手)或硬件方式(一對單獨的雙絞線)來實現(xiàn)。

3 轉(zhuǎn)換板總體設(shè)計

MIII總線轉(zhuǎn)換板的總體結(jié)構(gòu)如圖l所示,由接口電平轉(zhuǎn)換電路、總線接口控制邏輯、雙口存儲器和RS422轉(zhuǎn)換模塊組成。其中總線接口控制單元主要用于地址和數(shù)據(jù)的收發(fā)和寄存,以及接口控制信號和驅(qū)動信號的產(chǎn)生等;雙口存儲器RAM用來存放數(shù)據(jù)和地址,包括MIII總線發(fā)送的數(shù)據(jù)以及PC機發(fā)送到MIII總線上的數(shù)據(jù)和地址;接口電平轉(zhuǎn)換電路由單雙向驅(qū)動電路芯片組成,該電路的作用是提供符合MIII總線要求的驅(qū)動電平信號。



3.1 總線轉(zhuǎn)換設(shè)計邏輯

在總線接口控制單元的設(shè)計開發(fā)中,在嚴(yán)格執(zhí)行國軍標(biāo)對地面設(shè)備的研制規(guī)范等要求下,為了保證系統(tǒng)的可靠性,提高系統(tǒng)的可擴展性和性能,設(shè)計時應(yīng)采用模塊化設(shè)計方法,并盡可能采用成熟的技術(shù)和器件。

基于上述設(shè)計原則,MIII總線接口板的硬件電路應(yīng)采用器件來實現(xiàn)。而采用實現(xiàn)也具有設(shè)計周期短、成本低、運行速度快、電路性能可靠、擁有集成軟核、方便二次開發(fā)等優(yōu)點。

本接口板的設(shè)計采用自上而下(Top-Down)的設(shè)計技術(shù)路線。設(shè)計從系統(tǒng)的整體出發(fā),應(yīng)用Ouartus II軟件,并采用結(jié)構(gòu)化描述方式來對設(shè)計對象的功能特性進行分析,然后自上而下逐步將問題細(xì)化,再根據(jù)分析的結(jié)果劃分功能模塊,并根據(jù)電路功能出發(fā)使用VerilogHDL語言對各模塊電路進行數(shù)據(jù)流描述,然后利用Quartus II軟件進行各模塊的功能仿真,在確認(rèn)無誤之后,再連接各模塊進行邏輯綜合及優(yōu)化,最后下載到芯片。

3.2 RS422轉(zhuǎn)換模塊

此模塊采用SP3490芯片進行RS422通信協(xié)議轉(zhuǎn)換。SP3490芯片Sipex的+3.3V低功率全雙工收發(fā)轉(zhuǎn)換芯片,完全可以滿足各種規(guī)格的RS-485和RS-422串行通信協(xié)議。圖2所示為RS422轉(zhuǎn)換模塊的電路原理圖。



3.3 總線接口控制單元

總線接口控制單元的主要功能是MIII總線地址和數(shù)據(jù)的收發(fā)、轉(zhuǎn)換、寄存以及接口控制信號和驅(qū)動信號的產(chǎn)生等。總線接口控制單元可以基于FPGA嵌入軟核的SOPC系統(tǒng)來實現(xiàn)。SOPC是一種特殊的系統(tǒng),它是片上系統(tǒng)(SOC),即由單個芯片完成整個系統(tǒng)的主要邏輯功能,但它不是簡單的SOC,它也是可編程系統(tǒng),因而具有靈活的設(shè)計方式,并可在FPGA中植入軟核處理器。也可以根據(jù)設(shè)計要求,利用相應(yīng)的EDA工具來對NIOS II及其外圍設(shè)備進行構(gòu)建,以使該系統(tǒng)在硬件結(jié)構(gòu)、功能特點、資源占用等方面全面滿足系統(tǒng)的設(shè)計要求。此系統(tǒng)的開發(fā)工具采用Altera公司推出的Quartus II系列軟件。FPGA采用Altera公司生產(chǎn)的Cyclone II系列的EP2C40芯片,此芯片采用TSMC驗證的90nm低K介電質(zhì)工藝制造的成本優(yōu)化架構(gòu),并具有更多的特性和非常大的容量,以及很低的單位邏輯單元成本,故可滿足系統(tǒng)要求。

(1)Nios II處理器

Nios II處理器主要負(fù)責(zé)解析從RS422串口接收的控制命令,以控制總線轉(zhuǎn)換器,使其按照設(shè)定的工作模式運行;同時,該處理器還實時打包接收到的MIII總線數(shù)據(jù),并通過RS422串口上傳至PC機,實現(xiàn)PC對MIII總線信息的獲取。采用QuartusII軟件SOPC Builder生成的Nios II處理器單元如圖3所示。



具體工作時,當(dāng)數(shù)據(jù)流向為RS422串口到MIII總線時,NIOSII處理器可將數(shù)據(jù)從RS422串口接收緩沖存儲器中讀出,并輸出至MIII總線發(fā)送緩沖單元中,同時還將數(shù)據(jù)發(fā)送到外部的SRAM中進行存儲;而當(dāng)數(shù)據(jù)流向為MIII總線到RS422串口時,其方式其之類似,其不同點是由于MIII總線的傳輸速率遠(yuǎn)大于串口的傳輸速率,因而要插入相應(yīng)的等待和協(xié)調(diào)控制信號。

(2)MIII總線收發(fā)

MIII總線收發(fā)功能則獨立于Nios系統(tǒng)。它充分利用FPGA可靈活配置的特點,并用VerilogHDL語言實現(xiàn)MIII總線的實時性和可靠性要求較高的關(guān)鍵部分,然后模擬MIII總線的邏輯功能,最終實現(xiàn)MIII總線數(shù)據(jù)、地址的收發(fā)以及與Nios系統(tǒng)通過自定義的接口實現(xiàn)通訊。MIII總線的信號時序如圖4所示。



該轉(zhuǎn)換板的讀寫時序可用VerilogHDL語言描述,然后采用有限狀態(tài)機實現(xiàn)上述操作,并用Quartus II進行時序仿真,其仿真波形如圖5所示。本文采用的是用時鐘同步輸出信號的Moore型狀態(tài)機,該方式可有效消除狀態(tài)機輸出信號的毛刺。



3.4 接口電平轉(zhuǎn)換電路

由于FPGA可編程器件的輸入/輸出電平通常是3.3 V,而對接MIII總線設(shè)備是OC門輸入/輸出。OC門又稱集電極開路(漏極開路)電路,其內(nèi)部電壓為+5 V。所以,F(xiàn)PGA的輸入/輸出需要進行兩次電壓轉(zhuǎn)換。

其中,第一次電壓轉(zhuǎn)換是把FPGA輸入/輸出電平的3.3 V轉(zhuǎn)換為5 V電平。由于數(shù)據(jù)信號是讀寫雙向的,而地址和控制信號是單向的(由MIII總線發(fā)送到對接MIII總線設(shè)備),因此,其數(shù)據(jù)信號應(yīng)當(dāng)用74LS245芯片來進行轉(zhuǎn)換,而地址和控制線則應(yīng)用74LS244芯片來轉(zhuǎn)換,其電路原理如圖6所示。



由于對接MIII總線設(shè)備內(nèi)部是OC門輸入/輸出,而且由于OC門電路的輸出管的集電極懸空,使用時需外接一個上拉電阻到電源。一般情況下,OC門會使用上拉電阻以輸出高電平,此外,為了加大輸出引腳的驅(qū)動能力,選擇上拉電阻阻值的原則是降低功耗及芯片的灌電流能力應(yīng)當(dāng)足夠大,從而確保足夠的驅(qū)動電流足夠小?;诖嗽瓌t,本設(shè)計選擇上拉電阻阻值為680Ω。其具體的電平轉(zhuǎn)換電路原理圖如圖7所示。


FPGA輸入/輸出的信號,經(jīng)過以上兩個步驟的電平轉(zhuǎn)換,就能符合MIII總線對接設(shè)備的輸入/輸出信號要求。至此,只需MIII總線轉(zhuǎn)換板輸入/輸出的地址、數(shù)據(jù)和控制信號按照MIII總線時序進行收發(fā),就可以實現(xiàn)MIII總線通信。

4 結(jié)束語

本文介紹了某型火控電子設(shè)備的專用數(shù)據(jù)通信總線(MIII總線)轉(zhuǎn)換板的設(shè)計方法,給出了MIII總線的總線通信功能。同時介紹了應(yīng)用F-PGA實現(xiàn)MIII總線部分電路的實現(xiàn)方法。事實上,利用FPGA可簡化系統(tǒng)結(jié)構(gòu),縮短設(shè)計周期,提高系統(tǒng)的性能和可擴展性。目前,該轉(zhuǎn)換板經(jīng)過與某型火控電子設(shè)備聯(lián)調(diào)證明,其功能正常,工作穩(wěn)定,且已得到了用戶好評,收到了良好的社會和經(jīng)濟效益。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉