基于DSP的1553B總線通訊檢測儀的設(shè)計(jì)
MIL-STD-1553B總線協(xié)議已經(jīng)發(fā)展成為國際公認(rèn)的數(shù)據(jù)總線標(biāo)準(zhǔn),廣泛地應(yīng)用于航空電子綜合系統(tǒng)中,目前國內(nèi)外開發(fā)的各種1553B總線采集卡,大多采用的是美國DDC公司生產(chǎn)的BU-6150接口芯片,但是該芯片價(jià)格比較昂貴,開發(fā)成本較高,另許多商家望而興嘆。本文介紹的基于DSP的1553B總線通訊模塊的設(shè)計(jì),采用TI公司TMS320F206DSP芯片進(jìn)行數(shù)字信號(hào)處理,用FPGA進(jìn)行現(xiàn)場反復(fù)編程,降低了設(shè)計(jì)成本,滿足了1553B通訊模塊的開發(fā)需求。
1 TMS320F206的簡介
該1553B總線通訊模塊的DSP采用TI公司的TMS320F206,用來實(shí)現(xiàn)1553B總線協(xié)議的主體部分,實(shí)現(xiàn)字和消息的處理等功能,TMS320F206是TI公司近年來推出的一種性價(jià)比較高的定點(diǎn)DSP芯片,采用靜態(tài)CMOS集成電路工藝制造而成,DSP芯片先進(jìn)的哈佛結(jié)構(gòu)允許程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器獨(dú)立編址、獨(dú)立訪問,兩條總線可允許數(shù)據(jù)與指令的讀取同時(shí)進(jìn)行,從而使數(shù)據(jù)的吞吐率提高了一倍;專用的指令集提供了功能強(qiáng)大的信號(hào)處理操作。TMS320F206主要特點(diǎn)如下:
(1)5V工作電壓,20MHz主頻時(shí),指令周期50ns;3個(gè)外部引腳中斷;8級(jí)內(nèi)部硬件堆棧,存放調(diào)用/中斷返回地址;硬件等待;休眠的IDLE模式,低功耗;標(biāo)準(zhǔn)的IEEE1149.1仿真口。
(2)片內(nèi)64k程序空間,64k數(shù)據(jù)空間,64kI/O空間,32k全局存儲(chǔ)空間,片內(nèi)544×16b雙尋址RAM,32k×16b用戶可編程FLASH,作為程序空間,4k×16b單尋址RAM,程序空間和數(shù)據(jù)空間之前可以進(jìn)行數(shù)據(jù)搬移。
(3)片內(nèi)16b定時(shí)器,片上軟等待產(chǎn)生器,可以分別為程序空間,數(shù)據(jù)空間,I/O空間產(chǎn)生0-7個(gè)等待,片上振蕩器和鎖相環(huán)有倍頻和分頻功能,32b算術(shù)邏輯單元/累加器,16×16b乘法器,全雙工異步串口UART,增強(qiáng)的同步串口,帶4級(jí)FIFO。
2 系統(tǒng)的組成框圖和工作原理
檢測儀采用單片機(jī)技術(shù),可編程邏輯器件(FPGA)技術(shù),數(shù)字信號(hào)處理(DSP)技術(shù),結(jié)合1553B總線收發(fā)技術(shù)研制而成。既可以對(duì)單個(gè)航空電子設(shè)備進(jìn)行離線檢測,也可對(duì)飛機(jī)的整個(gè)總線的運(yùn)行和各個(gè)記載設(shè)備的數(shù)據(jù)傳輸進(jìn)行在線檢測。檢測儀整體采用個(gè)人數(shù)字助理(PDA)技術(shù),數(shù)據(jù)輸入、輸出、處理、控制、顯示等均集中在檢測儀。
系統(tǒng)組成框圖如圖1所示。
從數(shù)據(jù)信號(hào)流程方面:收數(shù)據(jù)時(shí),外部數(shù)據(jù)送到收發(fā)器進(jìn)行電壓轉(zhuǎn)換后,成為一組20b的串行數(shù)據(jù),經(jīng)過FPGA芯片EP20K200處理成16b并行數(shù)據(jù)經(jīng)擴(kuò)展口送到DSP處理,然后經(jīng)雙口RAM進(jìn)行數(shù)據(jù)緩存,需要顯示數(shù)據(jù)時(shí),單片機(jī)CPU對(duì)雙口RAM送來的16b并行數(shù)據(jù)進(jìn)行分析存儲(chǔ),按要求轉(zhuǎn)換成十六進(jìn)制,二進(jìn)制或者工程單位制送顯示器顯示,發(fā)數(shù)據(jù)時(shí),CPU將鍵盤輸入的數(shù)據(jù)按照十六進(jìn)制、二進(jìn)制或者工程單位制經(jīng)轉(zhuǎn)換后送雙口RAM緩存,DSP從雙口RAM讀入數(shù)據(jù),預(yù)處理后送EP20K200,EP20K200再進(jìn)行轉(zhuǎn)換處理,輸出一組20b的串行數(shù)據(jù)到收發(fā)器,經(jīng)變壓耦合成符合1553B標(biāo)準(zhǔn)要求的串行數(shù)據(jù),再經(jīng)收發(fā)接口發(fā)送到數(shù)據(jù)總線上。
3 硬件電路設(shè)計(jì)
3.1 接收器和發(fā)送器
1553B航空電子系統(tǒng)中,各終端設(shè)備與總線之間采用的是耦合的方式,分為變壓器耦合和直接耦合,采用的美國DDC公司的BU-63152芯片,具有兩個(gè)完全獨(dú)立的雙余度端口,完全滿足1553B總線收、發(fā)的要求,接收器操作模式下,在引腳STROMB控制下,數(shù)據(jù)被變成雙向的TTL電平,從RX DATA OUT和其非腳輸出到下一級(jí)譯碼電路,發(fā)送器操作模式下,在引腳INHIBIT控制下,發(fā)送器部分從編碼電路接收數(shù)據(jù),發(fā)送到數(shù)據(jù)總線上。
3.2 FPGA模塊
將FPGA技術(shù)與數(shù)字信號(hào)處理DSP技術(shù)相結(jié)合是現(xiàn)代電子設(shè)計(jì)中常用的方法,該模塊中的FPGA芯片接口主要實(shí)現(xiàn)以下功能:
(1)將總線上的串行信息流轉(zhuǎn)換成處理機(jī)可以處理的并行信息或者與之相反;
(2)接收或發(fā)送信息時(shí),能夠識(shí)別或生成標(biāo)準(zhǔn)的1553B信息字和消息。
(3)完成與處理機(jī)之間的信息交換,包括1553B信息地址的分配,命令字(或狀態(tài)字)的譯碼或返回狀態(tài)字、發(fā)送數(shù)據(jù)字等。
用FPGA實(shí)現(xiàn)編解碼器,其基本功能與前面提到的BU-61580芯片相似,是該1553B總線檢測儀的關(guān)鍵技術(shù)。
3.3 DSP模塊
TMS320F206是TI公司近年推出的一款設(shè)計(jì)成本最低,結(jié)構(gòu)功能復(fù)雜度也較低的定點(diǎn)DSP,片內(nèi)32k FLASH,4.5k RAM可以滿足處理規(guī)模適中的任務(wù),該檢測儀中DSP模塊的設(shè)計(jì)主要是對(duì)時(shí)鐘電路,中斷以及數(shù)據(jù)和地址總線的接口技術(shù)的把握,其主要接口電路如圖2所示。
由DSP接口電路圖可以看出,DSP模塊為整個(gè)系統(tǒng)提供了時(shí)鐘電路,DSP芯片的中斷由EP20K200產(chǎn)生,一方面通知F206讀取數(shù)據(jù),一方面通知DSP進(jìn)行錯(cuò)誤處理,由于DSP芯片的流水線操作方式,數(shù)字信號(hào)處理速度功能強(qiáng)大,滿足了1553B協(xié)議傳輸速率大的特點(diǎn)。
3.4 雙口RAM和顯示模塊
由于在高速數(shù)據(jù)處理和采集系統(tǒng)中容易造成數(shù)據(jù)堵塞現(xiàn)象,高速數(shù)據(jù)接口的設(shè)計(jì)對(duì)整個(gè)系統(tǒng)數(shù)據(jù)傳輸?shù)臅惩ㄆ鹬匾淖饔茫撛O(shè)計(jì)中采用的美國DDC公司的8k雙口靜態(tài)RAM IDT7025解決了數(shù)據(jù)堵塞的問題。
在該設(shè)計(jì)中顯示模塊采用了一種內(nèi)存接顯示模塊的硬件連接方式。DSP將欲顯示的數(shù)據(jù)送入雙口RAM,51單片機(jī)不斷掃描內(nèi)存,根據(jù)內(nèi)存中的數(shù)據(jù)做出相應(yīng)的處理,不斷刷新顯示屏上的內(nèi)容,雙口RAM的BUSY信號(hào)線為避免左右端口同時(shí)對(duì)同一存儲(chǔ)單元寫操作提供了硬件支持。設(shè)計(jì)中液晶顯示模塊采用16×16點(diǎn)陣的中文顯示模塊。
4 系統(tǒng)軟件設(shè)計(jì)
該1553B航空電子總線檢測儀軟件設(shè)計(jì)主要包括3大部分,用以驅(qū)動(dòng)數(shù)據(jù)采集板卡,完成對(duì)各寄存器的配置,實(shí)現(xiàn)數(shù)據(jù)的收發(fā)檢測。
4.1 FPGA控制程序
該部分采用硬件描述語言VHDL進(jìn)行編程,用Synplify進(jìn)行綜合,以及采用Max+Plus II進(jìn)行時(shí)序仿真,在FPGA上實(shí)現(xiàn)的MIL-STD-1553B總線接口中的曼徹斯特碼編碼、解碼器,該邏輯可由狀態(tài)機(jī)實(shí)現(xiàn),可劃分為4個(gè)狀態(tài)進(jìn)行;第1個(gè)狀態(tài)行是空閑狀態(tài),當(dāng)檢測到數(shù)據(jù)跳變沿時(shí),進(jìn)入第2個(gè)狀態(tài);第2個(gè)狀態(tài)為有效同步字頭檢測狀態(tài);當(dāng)檢測到有效同步字頭時(shí),啟動(dòng)第3個(gè)狀態(tài),用鎖相環(huán)分離時(shí)鐘,進(jìn)行碼型轉(zhuǎn)換;當(dāng)數(shù)據(jù)有效時(shí)進(jìn)入第4個(gè)狀態(tài),進(jìn)行并/串轉(zhuǎn)換及奇偶校驗(yàn)。FPGA接收數(shù)據(jù)流程如圖3所示。
4.2 DSP模塊控制程序
DSP部分的軟件采用C語言和匯編語言混合編程,即具有C語言可移植性強(qiáng)的特點(diǎn),又具有匯編語言執(zhí)行速率快和直觀的特點(diǎn),該設(shè)計(jì)中DSP軟件設(shè)計(jì)主要完成對(duì)FPGA和其內(nèi)部通訊寄存器初始化;向FPGA發(fā)送數(shù)據(jù)時(shí)的控制命令操作,接受數(shù)據(jù)時(shí)命令字,狀態(tài)字的處理,以及通知FPGA接受數(shù)據(jù)等,是整個(gè)系統(tǒng)控制的核心部分。圖4給出DSP軟件控制流程圖。
5 結(jié)語
基于1553B總線的航空電子檢測儀主要用于部隊(duì)航空電子設(shè)備在線和離線檢測,同時(shí)滿足BC和RT的功能,PDA的設(shè)計(jì)對(duì)檢測也提供了極大便利,當(dāng)然由于設(shè)計(jì)處于樣機(jī)階段,還存在一些不完善的地方,今后的改進(jìn)空間還比較大。