基于DSP的1553B總線通訊檢測儀的設計
mil-std-1553b是一種時分制,命令/響應,集中控制式多路傳輸的半雙工串行數據總線,其傳輸速度為1mb/s,字長為20b,數據有效長度為16b,信息量最大的長度為32個字。其信息格式有總線控制器bc(bus
controller)到遠程終端rt(remote terminal),rt到rc,rt到rt,廣播式和系統(tǒng)控制式。
mil-std-1553b總線協(xié)議已經發(fā)展成為國際公認的數據總線標準,廣泛地應用于航空電子綜合系統(tǒng)中,目前國內外開發(fā)的各種1553b總線采集卡,大多采用的是美國ddc公司生產的bu-6150接口芯片,但是該芯片價格比較昂貴,開發(fā)成本較高,另許多商家望而興嘆。本文介紹的基于dsp的1553b總線通訊模塊的設計,采用ti公司tms320f206dsp芯片進行數字信號處理,用fpga進行現場反復編程,降低了設計成本,滿足了1553b通訊模塊的開發(fā)需求。
1 tms320f206的簡介
該1553b總線通訊模塊的dsp采用ti公司的tms320f206,用來實現1553b總線協(xié)議的主體部分,實現字和消息的處理等功能,tms320f206是ti公司近年來推出的一種性價比較高的定點dsp芯片,采用靜態(tài)cmos集成電路工藝制造而成,dsp芯片先進的哈佛結構允許程序存儲器和數據存儲器獨立編址、獨立訪問,兩條總線可允許數據與指令的讀取同時進行,從而使數據的吞吐率提高了一倍;專用的指令集提供了功能強大的信號處理操作。tms320f206主要特點如下:
(1)5v工作電壓,20mhz主頻時,指令周期50ns;3個外部引腳中斷;8級內部硬件堆棧,存放調用/中斷返回地址;硬件等待;休眠的idle模式,低功耗;標準的ieee1149.1仿真口。
(2)片內64k程序空間,64k數據空間,64ki/o空間,32k全局存儲空間,片內544×16b雙尋址ram,32k×16b用戶可編程flash,作為程序空間,4k×16b單尋址ram,程序空間和數據空間之前可以進行數據搬移。
(3)片內16b定時器,片上軟等待產生器,可以分別為程序空間,數據空間,i/o空間產生0-7個等待,片上振蕩器和鎖相環(huán)有倍頻和分頻功能,32b算術邏輯單元/累加器,16×16b乘法器,全雙工異步串口uart,增強的同步串口,帶4級fifo。
2 系統(tǒng)的組成框圖和工作原理
檢測儀采用單片機技術,可編程邏輯器件(fpga)技術,數字信號處理(dsp)技術,結合1553b總線收發(fā)技術研制而成。既可以對單個航空電子設備進行離線檢測,也可對飛機的整個總線的運行和各個記載設備的數據傳輸進行在線檢測。檢測儀整體采用個人數字助理(pda)技術,數據輸入、輸出、處理、控制、顯示等均集中在檢測儀。
系統(tǒng)組成框圖如圖1所示。
從數據信號流程方面:收數據時,外部數據送到收發(fā)器進行電壓轉換后,成為一組20b的串行數據,經過fpga芯片ep20k200處理成16b并行數據經擴展口送到dsp處理,然后經雙口ram進行數據緩存,需要顯示數據時,單片機cpu對雙口ram送來的16b并行數據進行分析存儲,按要求轉換成十六進制,二進制或者工程單位制送顯示器顯示,發(fā)數據時,cpu將鍵盤輸入的數據按照十六進制、二進制或者工程單位制經轉換后送雙口ram緩存,dsp從雙口ram讀入數據,預處理后送ep20k200,ep20k200再進行轉換處理,輸出一組20b的串行數據到收發(fā)器,經變壓耦合成符合1553b標準要求的串行數據,再經收發(fā)接口發(fā)送到數據總線上。
3 硬件電路設計
3.1 接收器和發(fā)送器
1553b航空電子系統(tǒng)中,各終端設備與總線之間采用的是耦合的方式,分為變壓器耦合和直接耦合,采用的美國ddc公司的bu-63152芯片,具有兩個完全獨立的雙余度端口,完全滿足1553b總線收、發(fā)的要求,接收器操作模式下,在引腳stromb控制下,數據被變成雙向的ttl電平,從rx data out和其非腳輸出到下一級譯碼電路,發(fā)送器操作模式下,在引腳inhibit控制下,發(fā)送器部分從編碼電路接收數據,發(fā)送到數據總線上。
3.2 fpga模塊
將fpga技術與數字信號處理dsp技術相結合是現代電子設計中常用的方法,該模塊中的fpga芯片接口主要實現以下功能:
(1)將總線上的串行信息流轉換成處理機可以處理的并行信息或者與之相反;
(2)接收或發(fā)送信息時,能夠識別或生成標準的1553b信息字和消息。
(3)完成與處理機之間的信息交換,包括1553b信息地址的分配,命令字(或狀態(tài)字)的譯碼或返回狀態(tài)字、發(fā)送數據字等。
用fpga實現編解碼器,其基本功能與前面提到的bu-61580芯片相似,是該1553b總線檢測儀的關鍵技術。
3.3 dsp模塊
tms320f206是ti公司近年推出的一款設計成本最低,結構功能復雜度也較低的定點dsp,片內32k flash,4.5k ram可以滿足處理規(guī)模適中的任務,該檢測儀中dsp模塊的設計主要是對時鐘電路,中斷以及數據和地址總線的接口技術的把握,其主要接口電路如圖2所示。
由dsp接口電路圖可以看出,dsp模塊為整個系統(tǒng)提供了時鐘電路,dsp芯片的中斷由ep20k200產生,一方面通知f206讀取數據,一方面通知dsp進行錯誤處理,由于dsp芯片的流水線操作方式,數字信號處理速度功能強大,滿足了1553b協(xié)議傳輸速率大的特點。
3.4 雙口ram和顯示模塊
由于在高速數據處理和采集系統(tǒng)中容易造成數據堵塞現象,高速數據接口的設計對整個系統(tǒng)數據傳輸的暢通起著重要的作用,該設計中采用的美國ddc公司的8k雙口靜態(tài)ram idt7025解決了數據堵塞的問題。
在該設計中顯示模塊采用了一種內存接顯示模塊的硬件連接方式。dsp將欲顯示的數據送入雙口ram,51單片機不斷掃描內存,根據內存中的數據做出相應的處理,不斷刷新顯示屏上的內容,雙口ram的busy信號線為避免左右端口同時對同一存儲單元寫操作提供了硬件支持。設計中液晶顯示模塊采用16×16點陣的中文顯示模塊。
4 系統(tǒng)軟件設計
該1553b航空電子總線檢測儀軟件設計主要包括3大部分,用以驅動數據采集板卡,完成對各寄存器的配置,實現數據的收發(fā)檢測。
4.1 fpga控制程序
該部分采用硬件描述語言vhdl進行編程,用synplify進行綜合,以及采用max+plus ii進行時序仿真,在fpga上實現的mil-std-1553b總線接口中的曼徹斯特碼編碼、解碼器,該邏輯可由狀態(tài)機實現,可劃分為4個狀態(tài)進行;第1個狀態(tài)行是空閑狀態(tài),當檢測到數據跳變沿時,進入第2個狀態(tài);第2個狀態(tài)為有效同步字頭檢測狀態(tài);當檢測到有效同步字頭時,啟動第3個狀態(tài),用鎖相環(huán)分離時鐘,進行碼型轉換;當數據有效時進入第4個狀態(tài),進行并/串轉換及奇偶校驗。fpga接收數據流程如圖3所示。
4.2 dsp模塊控制程序
dsp部分的軟件采用c語言和匯編語言混合編程,即具有c語言可移植性強的特點,又具有匯編語言執(zhí)行速率快和直觀的特點,該設計中dsp軟件設計主要完成對fpga和其內部通訊寄存器初始化;向fpga發(fā)送數據時的控制命令操作,接受數據時命令字,狀態(tài)字的處理,以及通知fpga接受數據等,是整個系統(tǒng)控制的核心部分。圖4給出dsp軟件控制流程圖。
5 結語
基于1553b總線的航空電子檢測儀主要用于部隊航空電子設備在線和離線檢測,同時滿足bc和rt的功能,pda的設計對檢測也提供了極大便利,當然由于設計處于樣機階段,還存在一些不完善的地方,今后的改進空間還比較大。
評論