數據總線協議_第1頁
數據總線協議_第2頁
數據總線協議_第3頁
數據總線協議_第4頁
數據總線協議_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1緒論1.1引言隨著科技的發(fā)展及戰(zhàn)爭的需要,戰(zhàn)車、艦船、飛機等武器平臺上電子設備越來越多,越來越復雜,于是將電子設備按一定的協議聯網加以有效地綜合,使之達成資源和功能共享已成為必然的規(guī)定。電子綜合的支撐技術是聯網技術,而武器平臺上的聯網技術不同于一般的局域網絡技術,它特別強調網絡的可靠性和實時性[1]。1553B總線最初是在七十年代末為適應飛機的發(fā)展由美國提出的飛機內部電子系統(tǒng)聯網標準,其后由于它的高可靠性和靈活性而在其他的機動武器平臺上也得到了較廣泛的應用。MIL-STD-1553B是70年代發(fā)展起來的“飛機內部時分制指令響應式多路傳輸數據總線”,它具有可靠性高、速度快、反映靈敏、雙冗余等特點,特別合用于快速反映武器系統(tǒng)[2]。雖然其傳輸速率只有1Mbit/s,但它并沒有因后來發(fā)展起來的高速網遭淘汰,而是隨微電子技術和計算機技術的發(fā)展而不斷提高。世界上許多集成電路公司和廠家都不斷開發(fā)和生產集成度更高、通用性更強的1553B總線系列器件。這些器件優(yōu)化了1553B總線通訊接口,減輕了主機的通訊承擔,從而提高了系統(tǒng)的可靠性[3]。1.2國內外1553B總線研究發(fā)展狀況及涉及領域隨著時代的發(fā)展,對于增長飛機推力、改善氣動性能等技術的成熟,航空系統(tǒng)設計任務的重點,逐漸集中在飛機內部的電子設計上。與此同時,信息工程、計算機技術、控制技術、電子技術都有了長足的進步。航空電子綜合化技術就是在這樣的背景下產生的[3]。技術的核心問題是實現信息采集、解決、分派、存儲的一個系統(tǒng)。MIL-STD-1553B多路總線是綜合化航空電子系統(tǒng)設備間的數據互換紐帶,它將所有的綜合化航空電子子系統(tǒng)連接在一起,共同構成具有特殊性的分布式計算機網絡,從而實現綜合系統(tǒng)內部的信息共享和系統(tǒng)綜合化控制。航空電子系統(tǒng)中,不僅需要不同的硬件接口來應付不同的航空設備,并且航空設備內部接口連線也十分復雜和混亂,可靠性能也不高[3]。為了解決這個狀況,提出了在航空電子系統(tǒng)中使用數據總線,使得不同的航空電子設備之間可以互相通信。美國軍方提出的MIL-STD-1553B數據總線協議就是在航空電子綜合化技術發(fā)展過程中形成的現代航空機載系統(tǒng)設備互聯的網絡接口標準。從推出到現在,通過三十數年的發(fā)展,1553B總線技術也在不斷的改善。目前1553B總線已經成為在航空航天領域占統(tǒng)治地位的總線標準。國內對1553B總線協議進行了跟蹤研究,制定了相應的國軍標GJB289A,科研院所和相關單位在這方面做了大量的工作,也取得了一定的成績。如成都恩菲特公司自主研發(fā)的eph31580型芯片[1]。如圖1.2所示:圖1.1成都恩菲特eph31580型芯片1.3本論文的研究內容及安排從接口實現的具體功能出發(fā),采用自頂向下的設計思想,結合大型可編程邏輯器件的特點,提出了一種基于FPGA的1553B總線接口系統(tǒng)的設計方法。對系統(tǒng)進行了總體分析及結構設計,使用硬件描述語言VHDL對設計進行了描述,最后在FPGA上進行了實現。1553B總線系統(tǒng)的關鍵核心部分是總線接口芯片,在充足檢索相關資料后,對MIL-STD-1553B數據總線協議進行分析研究,設計基于FPGA的1553B總線控制器,并要設計預留工作方式選擇信號及控制信號,以可將總線控制器、遠程終端接口、總線監(jiān)視器結合起來以達成通用航空總線接口的功能。完畢相應的軟件系統(tǒng)語言程序最后經綜合和仿真驗證后,在特定的FPGA中實現。采用的設計環(huán)節(jié)安排如下:第1章:重要闡述了MIL-STD-1553B總線技術的國內外發(fā)展情況以及相關領域的運用。第2章:查找一些MIL-STD-1553B數據總線協議的資料,并對其進行初步的制定環(huán)節(jié)。第3章:結合相關書籍和設計方法對1553B總線接口提出總體的設計方案。第4章:應用1553B總線接口的具體設計與實現FPGA,并最后對其中每個小模塊的設計作具體的設計。第5章:1553B總線接口實驗分析,重要介紹總線接口芯片測試系統(tǒng)設計及其測試的結果分析以及系統(tǒng)性能分析。第6章:總結了本文的研究設計工作,并對將來進一步的工作做了展望。2MIL-STD-1553B數據總線協議簡介2.11553B數據總線的應用和特點由于其傳輸速率高,設備之間連接簡樸靈活,噪聲容限高,通信效率高并且可靠,為美軍標所采用,將其作為機載設備互相通信的總線標準。從推出到現在,通過三十年的發(fā)展,1553B總線技術也在不斷的改善。目前1553B總線已經成為在航空航天領域占統(tǒng)治地位的總線標準[4]。MIL-STD-1553B的其可靠性、穩(wěn)定性的特點,在美國等過早已得到認可,且對1553B的使用,已由軍飛機的使用擴展到坦克、船舶、衛(wèi)星、武器等領域。圖2.11553B航空總線的大體應用領域綜合起來1553B總線有以下幾個優(yōu)良特點[5][6]:(1)實時性好,1553B總線的傳輸碼速率為1Mbps,每條消息最多包含32個字,傳輸一個固定不變的消息所需時間短。(2)合理的差錯控制措施和特有的方式命令,為保證數據傳輸的完整性,1553B采用了合理的差錯控制措施——反饋重傳糾錯方法。當總線控制器BC向某一終端RT發(fā)出一個命令或發(fā)送一個消息時,終端應在給定的響應時間內發(fā)回一個狀態(tài)字,假如傳輸的消息有錯,終端就拒絕發(fā)回狀態(tài)字,由此報告上次消息傳輸無效。而方式命令不僅使系統(tǒng)能完畢數據通訊控制任務,還能調查故障情況并完畢容錯管理功能。(3)總線效率高,總線形式的拓撲結構對總線效率的規(guī)定比較高,為此1553B對涉及總線效率指標的某些強制性規(guī)定如命令響應時間、消息間隔時間以及每次消息傳輸的最大和最小數據塊的長度都有嚴格限制。(4)具有命令/響應以及“廣播”通訊方式,BC可以以“廣播”方式向所有RT發(fā)送一個時間同步消息,這樣總線上的所有消息傳輸都由總線控制器發(fā)出的指令來控制,相關終端對指令應給予響應并執(zhí)行操作。這種方式非常適合集中控制的分布式解決系統(tǒng)。2.2編碼方式1553B總線上數據是以雙相曼徹斯特編碼的方式傳輸的。曼徹斯特碼是一種廣泛應用于航空電子綜合系統(tǒng)中的、線數據傳輸的雙極性碼。它在每個碼位中點存在一個跳變。1信號是一個由l到0的負跳沿,而O信號是由0到1的正跳沿。它自身包含了自定期的信息,因此它不需要獨立的信道來傳輸位定期信息,它可以直接從數據中分離出定期時鐘,在傳輸代碼信息的同時,也將時鐘同步信號一起傳輸到對方,每位編碼中有一跳變,不存在直流分量,因此具有自同步能力和良好的抗干擾性能[7]。它是重要用在數據同步傳輸中的一種編碼方式。圖2.2給出了ManehesterIx編碼的方式同時此種編碼方式還能與變壓器禍合相協調,十分適合用在變壓器禍合形式,長度為6m(20英尺)左右的場合,在航空電子綜合系統(tǒng)中,它是最重要的編碼形式[8]。圖2.2Manehester11編碼2.2.1FPG1)采用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。3)FPGA內部有豐富的觸發(fā)器和I/O引腳。4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。5)FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容[9]。可以說,FPGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA是由存放在片內RAM中的程序來設立其工作狀態(tài)的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,采用不同的編程方式。加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完畢后,FPGA進入工作狀態(tài)。掉電后,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA可以反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。2.3硬件描述語言(HDL)硬件描述語言HDL(HardwareDescriptionLanguage)是一種用形式化方法來描述數字電路和數字邏輯系統(tǒng)的語言。數字邏輯電路設計者可運用這種語言來描述自己的設計思想,然后運用EDA工具進行仿真,再自動綜合到門級電路,最后用ASIC或FPGA實現其功能[7]。舉個例子,在傳統(tǒng)的設計方法中,對2輸入的與門,我們也許需到標準器件庫中調個74系列的器件出來,但在硬件描述語言中,“&”就是一個與門的形式描述,“C=A&B”就是一個2輸入與門的描述。而“and”就是一個與門器件[10]。硬件描述語言發(fā)展至今已有二十數年歷史,當今業(yè)界的標準中(IEEE標準)重要有VHDL和VerilogHDL這兩種硬件描述語言。2.在數字電路設計中,數字電路可簡樸歸納為兩種要素:線和器件。線是器件管腳之間的物理連線;器件也可簡樸歸納為組合邏輯器件(如與或非門等)和時序邏輯器件(如寄存器、鎖存器、RAM等)。一個數字系統(tǒng)(硬件)就是多個器件通過一定的連線關系組合在一塊的。因此,VerilogHDL的建模事實上就是如何使用HDL語言對數字電路的兩種基本要素的特性及互相之間的關系進行描述的過程。隨著Verilog-XL算法的成功,VerilogHDL語言得到迅速發(fā)展。1989年,Cadence公司收購了GDA公司,VerilogHDL語言成為Cadence公司的私有財產。1990年,Cadence公司決定公開VerilogHDL語言,于是成立了OVI(OpenVerilogInternational)組織,負責促進VerilogHDL語言的發(fā)展。基于VerilogHDL的優(yōu)越性,IEEE于1995年制定了VerilogHDL的IEEE標準,即VerilogHDL1364-1995;2023年發(fā)布了VerilogHDL1364-2023標準。在這個標準中,加入了VerilogHDL-A標準,使Verilog有了模擬設計描述的能力[11][12]。VerilogHDL適合算法級(Algorithm)、寄存器傳輸級(RTL)、邏輯級(Logic)、門級(Gate)和板圖級(Layout)等各個層次的設計和描述[11]。具體如表2.2所示。表2.2不同層級的描述方式設計層次設計層次行為描述結構描述系統(tǒng)級系統(tǒng)算法系統(tǒng)邏輯圖寄存器數據流程圖、真值表寄存器ALUROL等輸出級狀態(tài)機分模塊描述門布爾方程邏輯門觸發(fā)器鎖存器級真值表構成的邏輯圖版圖級幾何圖形圖形連接關系2.VHDL語言可以成為標準化的硬件描述語言并獲得廣泛應用,它自身必然具有很多其他硬件描述語言所不具有的優(yōu)點[1]。歸納起來VHDL語言重要具有以下優(yōu)點:(1)VHDL語言功能強大,設計方式多樣VHDL語言具有強大的語言結構,只需采用簡樸明確的VHDL語言程序就可以描述十分復雜的硬件電路。同時,它還具有多層次的電路設計描述功能。此外,VHDL語言可以同時支持同步電路、異步電路和隨機電路的設計實現,這是其他硬件描述語言所不能比擬的。VHDL語言設計方法靈活多樣,既支持自頂向下的設計方式,也支持自底向上的設計方法;既支持模塊化設計方法,也支持層次化設計方法。(2)VHDL語言具有強大的硬件描述能力[10]VHDL語言具有多層次的電路設計描述功能,既可描述系統(tǒng)級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結構描述,也可以采用三者的混合描述方式。同時,VHDL語言也支持慣性延遲和傳輸延遲,這樣可以準確地建立硬件電路的模型。VHDL語言的強大描述能力還體現在它具有豐富的數據類型。VHDL語言既支持標準定義的數據類型,也支持用戶定義的數據類型,這樣便會給硬件描述帶來較大的自由度。(3)VHDL語言具有很強的移植能力VHDL語言很強的移植能力重要體現在:對于同一個硬件電路的VHDL語言描述,它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。(4)VHDL語言的設計描述與器件無關采用VHDL語言描述硬件電路時,設計人員并不需要一方面考慮選擇進行設計的器件。這樣做的好處是可以使設計人員集中精力進行電路設計的優(yōu)化,而不需要考慮其他的問題。當硬件電路的設計描述完畢以后,VHDL語言允許采用多種不同的器件結構來實現。(5)VHDL語言程序易于共享和復用VHDL語言采用基于庫(library)的設計方法。在設計過程中,設計人員可以建立各種可再次運用的模塊,一個大規(guī)模的硬件電路的設計不也許從門級電路開始一步步地進行設計,而是一些模塊的累加。這些模塊可以預先設計或者使用以前設計中的存檔模塊,將這些模塊存放在庫中,就可以在以后的設計中進行復用[11]。由于VHDL語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言,因此它可以使設計成果在設計人員之間方便地進行交流和共享,從而減小硬件電路設計的工作量,縮短開發(fā)周期。2.目前最重要的硬件描述語言是VHDL和VerilogHDL。VHDL發(fā)展的較早,語法嚴格,而VerilogHDL是在C語言的基礎上發(fā)展起來的一種硬件描述語言、語法較自由(目前ASIC設計多采用Verilog語言)[10]。VHDL和VerilogHDL兩者相比,VHDL是一種高級的描述語言,通常更適合行為級和RTL級的描述,可以用于高級建模,而VerilogHDL則是一種比較低檔的描述語言,更適合于RTL級,特別是門級電路的描述,易于控制電路的資源。此外,從兩種語言推動的過程來看,VHDL語言偏重標準化考慮,而Verilog語言由于是在Cadence扶植下針對EDA工具開發(fā)的硬件描述語言,因此,跟EDA工具的結合更為密切。學習VHDL比學習Verilog難一些,但Verilog自由的語法也使得的初學者容易上手但也容易犯錯。國外電子專業(yè)很多在本科階段專家VHDL,在研究生階段教Verilog。從國內來看,VHDL的參考書很多,便于查找資料,而VerilogHDL的參考書則很少,這給學習VerilogHDL帶來不少困難。結合兩者的優(yōu)點,經常采用VHDL和VerilogHDL兩種混合語言進行電子線路描述,使得運用語言描述硬件的效果更佳[12][13]。2.41553字結構1553B總線協議規(guī)定,總線上數據是以曼徹斯特編碼的字格式進行傳輸的。協議規(guī)定每次信息傳輸涉及命令字、數據字(指令字和狀態(tài)字)等幾種字格式。每種字的字長為20位,由于總線數據傳輸速率是1Mb1t/s,所以傳輸每一位需要1us的時間,傳輸一個完整的字需要20us。這幾種字格式的有效信息位是16位,每個字的前3位為同步位,用來表達數據到來并區(qū)分為什么種字類型。最后一位為校驗位,1553B協議規(guī)定總線上傳輸的數據所有采用奇校驗,這種做法方便各個終端設備的接口統(tǒng)一,保證數據傳輸的可靠性。由發(fā)送端為數據進行補奇,接受端進行奇校驗。數據是以曼徹斯特編碼的方式傳輸的。同步頭是判斷數據類型和捕獲總線上數據的重要信息,同步頭總共占用3個數據位,它的特點就是電平變化以1.5個數據位為單位,因此接受端只要判斷電平在1.5個數據單位變化就認為是同步頭。同步頭分為兩種:前1.5個數據位為高電平,后1.5個數據位為低電平的同步頭用來表達這個字為命令字(方式指令字)或者狀態(tài)字;前1.5個數據位為低電平,后1.5個數據位為高電平的同步頭用來表達這個字為數據字[15]。圖2.31553B總線命令字/數據字/狀態(tài)字格式圖2.5155B總線的網絡拓撲結構MIL-STD-1553B總線網絡由終端、字系統(tǒng)和總線傳輸介質組成。終端是使數據總線和子系統(tǒng)相連接的電子組件。字系統(tǒng)為多路數據總線上接受數據傳輸服務的裝置或功能單位??偩€控制器(BC)是總線系統(tǒng)上傳輸的信息并有選擇地提取信息以備后用的終端。1553B總線系統(tǒng)采用命令、響應式傳輸的操作方式。只有當總線控制器發(fā)出命令后,遠程終端才干做出響應,也即遠程終端永遠是被動的,即使它想給BC或者給別的RT發(fā)信息。2.6對于BC功能的155B工作模式1553B的三種工作模式:總線控制器(BusController),遠程終端(RemoteTerminal),總線監(jiān)控器(BusMonitor)。其中總線控制器(BC):對1553B總線的控制和管理,也是所有信息傳輸動作的發(fā)起者。任何時刻總線上只有一個總線控制器,其負責發(fā)送命令、參與數據傳輸、接受狀態(tài)響應和檢測總線系統(tǒng)。2.7155B總線的傳輸方式和數據格式

1553B總線的傳輸速度是1Mb/s,采用曼徹施特II型編碼,半雙工工作方式。信號以串行數字脈沖編碼調制(PCM)形式在數據總線上傳輸。邏輯1為雙極編碼信號1/0,即一個正脈沖繼之一個負脈沖,邏輯0為雙極編碼信號0/1,即一個負脈沖繼之一個正脈沖[14][15]。圖2.4155B總線的傳輸方式1553B信息流由一串1553B消息由命令字、數據字、狀態(tài)字組成。所有1553B字都是20bit長,每一個字都應是:3為同步頭+16位數據/命令/狀態(tài)為+1為奇偶校驗。同步和奇偶校驗位被1553硬件用在擬定1553信息格式和數據錯誤的時候[17]。3155B3總線接口設計總體方案3.11553B數據總線系統(tǒng)的設計總線系統(tǒng)原理工作硬件組成如圖3.1雙通道收發(fā)器宿主機接口雙端口存儲器CP雙通道收發(fā)器宿主機接口雙端口存儲器CPU接口寄存器及控制邏輯1553協議解決器通道A通道Aad cs通道B讀寫RAM控制(耦合器)通道B讀寫RAM控制圖3.1總線總體設計思緒組成1553B總線接口重要涉及3大模塊,雙通道收發(fā)器、1553B協議解決器和接口寄存器,以及使用FPGA的片內雙口RAM存儲器。雙通道收發(fā)器屬于電平轉換設備,不可以在FPGA內部實現,可以用收發(fā)芯片等來完畢其功能。1553B協議解決器完畢總線控制器的重要功能。CPU解決器,EPROM,RAM,信道切換邏輯等組成,完畢接受與發(fā)送消息的打包和解包解決,以便于子系統(tǒng)接受/發(fā)送。與宿主機接口模塊實現宿主機與總線接口板間的接口,連有雙端口存儲器,驅動電路和譯碼電路。雙口存儲器重要用于主機和總線接口板進行信息互換的緩沖區(qū),減少主機的負荷。3.21553B協議解決器結構1553B協議解決器是一個1553B總線接口的核心部分。它完畢涉及收發(fā)消息,數據流控制等多種協議解決流程。由于總線接口可以分為總線控制器BC、遠程終端RT和總線監(jiān)視器BM三種類型,所以協議解決器按功能可以劃分為BC、RT或者BM。本設計要實現的BC和RT在有些功能上是相同的,所以部分模塊是BC/RT通用的??偩€控制器BC實現的功能[18]總線控制器是總線信息傳輸的發(fā)起者,要實現的具體功能涉及:(l)信息的對的發(fā)送:涉及命令字/方式指令的寫入、添加同步頭、字計數、曼徹斯特編碼等。(2)信息的對的接受:涉及狀態(tài)字和數據字的接受、同步頭辨認、字計數、曼徹斯特解碼、產生中斷及奇偶校驗等。(3)字/消息的解決:涉及命令字提取,雙命令字的協調、狀態(tài)字的分析、接口寄存器的讀寫、自測試、存儲器及緩沖器讀寫等。所以,以下的實驗內容重要是圍繞著這子模塊進行編寫和設計。如圖3.3就是對該些部分的劃分結構。時鐘產生模塊主解決器時鐘產生模塊主解決器地址控制存儲器接口并行通信接口地址控制存儲器接口并行通信接口串行通信接口數字接受器模擬接受器串行通信接口數字接受器模擬接受器雙口RAM命令字/狀態(tài)字譯碼及發(fā)送命令字控制雙口RAM命令字/狀態(tài)字譯碼及發(fā)送命令字控制發(fā)生器控制發(fā)生器控制模擬發(fā)送器模擬發(fā)送器數字發(fā)送器狀態(tài)字設立/命令字寄存器發(fā)送超時監(jiān)測數字發(fā)送器狀態(tài)字設立/命令字寄存器發(fā)送超時監(jiān)測檢錯控制 檢錯控制圖3.2總線接口系統(tǒng)結構圖(1)模擬收發(fā)器部分:簡要來說接受部分是將雙電平曼徹斯特碼轉化為單電平曼徹斯特碼,而發(fā)送部分則是將單電平曼徹斯特碼轉化為雙電平曼徹斯特碼,涉及模擬接受器和模擬發(fā)送器兩部分。①模擬接受器:數字邏輯與數據總線相接的最基本前端模擬部件。由于FPGA純粹基于數字電路設計,所以對于模擬接受中的模擬量解決部分,要通過外部模擬電路進行實現。盡管總線上的信號是以數字形式傳輸的,但連接終端的雙絞屏蔽線電纜,其特性會引起信號衰減,終端收到的信號常是一個失真的正弦波??偩€上的輸入信號通過濾波消除了高頻噪聲。門限檢出為克制低頻噪聲發(fā)明了條件且具有與邏輯檢測相兼容的數字輸出。并將雙極性的曼徹斯特碼轉換為單極性的曼徹斯特碼。②模擬發(fā)送器:數字邏輯與數據總線相接的模擬部件,它是將FPGA發(fā)出的單極性信號轉變?yōu)榉螹IL-STD-1553B標準的雙極性信號。(2)總線接口部分:接受部分實現的功能是將曼徹斯特碼轉換為單極性不歸零碼(NRZ碼),并且實現對同步頭的檢測,以及奇偶位的校驗,實現串/并轉換。發(fā)送部分實現的功能是將曼徹斯特碼轉換為雙極性不歸零碼(NRZ碼),并且實現對同步頭的編碼,實現狀態(tài)字、數據字和命令字的編碼,以及奇偶位的產生,進行并/串轉換。根據1553B通訊協議的規(guī)定,發(fā)送器要嚴禁發(fā)送大于800微秒的消息。涉及數字接受器,數字發(fā)送器和發(fā)送超時檢測三部分。①數字發(fā)送器:該部分即為曼徹斯特碼編碼,它是將單極性不歸零碼轉換為單極性的曼徹斯特碼,并且實現對同步頭的編碼,以及奇偶位的產生,并對數據進行并/串轉換。②數字接受器:該部分即為曼徹斯特碼解碼,功能與發(fā)送器剛好相反,是將單極性曼徹斯特碼轉換為單極性不歸零碼,同時實現對同步頭的檢測,以及奇偶位校驗位檢測,位計數檢測,同步時鐘的提取,以及數據的串/并轉換。③發(fā)送超時檢測:在MIL-STD-1553B協議標準中規(guī)定發(fā)送器要嚴禁發(fā)送大于800微秒的消息。本模塊就是對發(fā)送器進行計時控制,當發(fā)送器發(fā)送的消息時間大于800微秒時,它就關斷發(fā)送器。(3)總線協議解決模塊:實現命令字、狀態(tài)字以及方式命令譯碼,進行RT地址比較,子地址比較,進行命令字、狀態(tài)字和方式命令譯碼,進行錯誤檢測及發(fā)送中斷信號等。并要為其余模塊發(fā)送相應控制量,實現對總線接口的控制。涉及命令字/狀態(tài)字譯碼及數據控制,地址控制,檢錯控制,命令字發(fā)送及狀態(tài)字設立,發(fā)送器控制等幾部分。①命令字/狀態(tài)字譯碼及命令字發(fā)送控制部分:該模塊實現的功能是在BC工作方式下發(fā)送命令字,且在BC/RT/MT三種工作模式下對命令字或狀態(tài)字進行譯碼,產生相應的控制信號實現對其他模塊的控制,如對地址控制部分,檢錯控制部分,命令字發(fā)送/狀態(tài)字設立部分,以及發(fā)送器控制部分等,本部分是接口芯片的一個核心部分。②地址控制部分:該模塊實現對各工作方式下輸入雙口RAM的地址的控制以及讀寫使能。涉及地址變換和地址選擇兩部分。③檢錯控制部分:該模塊用于檢測消息傳輸過程中發(fā)生的錯誤,涉及字計數檢測及RT響應超時檢測,并且根據其它模塊檢測到的RT地址錯誤、奇偶校驗錯誤和位計數錯誤等產生中斷信號[17]。④狀態(tài)字設立部分:該模塊實現RT工作方式下的返回狀態(tài)字設立,及對狀態(tài)字和當前命令字和上一命令字進行存儲,以備方式命令的消息方式的實現。⑤發(fā)送器控制模塊:針對不同的工作方式的所需要發(fā)送的數據的選擇。⑥時鐘產生:對外部輸入時鐘進行解決產生不同頻率的時鐘。它實質上是一個計數器,對外部輸入時鐘進行分頻解決。(4)主解決器接口部分:實現主解決機與總線接口互換信息的功能,通過共享RAM來實現。涉及并行通信接口、串行通信接口、存儲器接口和雙端口RAM。其中每部分的具體功能如下:①存儲器接口:它事實上是一個隔離器,對外部子系統(tǒng)解決器和總線接口芯片對雙口RAM進行訪問的信號進行解決,它不允許兩者同時對雙口RAM進行讀或者寫,當兩者同時讀或寫時,進行相應控制,規(guī)定兩者的訪問優(yōu)先級。②雙口RAM:它是整個芯片的數據存儲區(qū),用以存儲不同工作方式下的各類字,是傳輸消息的內容數據,也是解決器與總線接口芯片通信的數據互換媒介[18]。③并行通信控制接口:該部分重要實現總線接口芯片與主解決器并行通信。④串行通信接口:該部分即為了實現總線接口芯片的串行通信,在FPGA中嵌入UART(通用異步收發(fā)器),可以與具有UART的通信接口部件相連接,例如通過RS232總線與PC機進行串行通信。3.3總線接口寄存器模塊功能接口寄存器是以控制和狀態(tài)寄存器來實現的,重要有以下幾個寄存器:遠程終端命令字寄存器:RT模式下,存儲接受到的所有命令字和方式指令字。接受命令字寄存器:只在RT的模式下使用,信息完整的接受后,命令字會從遠程終端命令字寄存器送入此寄存器[18]。第一命令字寄存器:存放BC要發(fā)送的命令字,或者存放RT一>RT傳輸的第一個命令字。矢量字/第二命令字/方式指令數據寄存器:在BC模式下,可以存放RT一>RT傳輸時的第二個命令字或者方式指令需要的數據字;在RT模式下,存放方式指令提取的矢量字。第一狀態(tài)字寄存器:存放RT返回的狀態(tài)字,或者是RT一>RT模式下RT返回的第一個狀態(tài)字。同步/第二狀態(tài)字/返回方式指令數據寄存器:在BC模式下,此寄存器既可以存放來自RT一>RT模式下傳輸的第二個狀態(tài)字也可以存放來自RT的方式指令返回字:RT模式下,作為存放帶數據字的方式指令字的數據字的寄存器。操作寄存器:子系統(tǒng)用來控制總線接口的寄存器。配置整個接口的功能選擇。方式指令寄存器:RT接受到的方式指令[14]。41553B總線接口具體設計與實現4.1總線BC功能總線控制器BC是1553B總線上唯一可以發(fā)起和終止消息傳輸任務的終端。一條總線上只可以存在一個總線控制器,它是1553B總線的指揮和調度者。其重要功能是,向系統(tǒng)中的遠程終端發(fā)出指令,控制終端的行為。涉及發(fā)送廣播指令,模式代碼(modecode)指令;普通發(fā)送數據指令,普通接受數據指令。作為總線控制器,要實現的任務涉及:(1)數據字的對的接受:涉及接受器,同步檢出,數據檢出,曼徹斯特n碼錯誤檢出奇偶檢測,位/字計數;(2)數據字的發(fā)送:涉及發(fā)送控制,同步/數據編碼,時鐘產生;(3)字/消息的解決:涉及,a接受部分,計數器,狀態(tài)寄存器;b自測試部分;c主子系統(tǒng)接口部分,控制,數據地址,控制寄存器;d存儲器緩沖器部分;e狀態(tài)字譯碼部分,字計數辨認,消息錯誤檢出等任務[18]。作為MILSTD一1553B總線的通用接口應完畢以下功能:①將總線上的串行信息流轉換成解決機可以解決的并行信息或者與之相反;②接受或發(fā)送信息時,可以辨認或生成標準的1553B信息字和消息;③完畢與解決機之間的信息互換,這涉及1553B信息地址的分派,命令字(或狀態(tài)字)的譯碼或返回狀態(tài)字、發(fā)送數據字等。4.21553B協議解決器BC功能模塊設計4.2模擬收/發(fā)器是BCR/T/MT直接與傳輸電纜接口的關鍵部件,1553B總線采用的是雙相碼中的曼徹斯特碼,自身包含了自定期的信息,同時它能與變壓器禍合協調,十分適宜用于變壓器禍合形式,電纜長度為500英尺左右航電綜合系統(tǒng)中。簡要的說就是將雙電平曼徹斯特碼轉化為單電平曼徹斯特碼,以及將單電平曼徹斯特碼轉化為雙電平曼徹斯特碼。4.2總線接口的每一種類型的終端的設計都涉及模擬收發(fā)器、總線接口模塊、總線控制模塊、解決機接口模塊四部分,都需要完畢字解決和消息解決,而BC是總線上唯一被安排為執(zhí)行建立和啟動數據傳輸任務的終端,被指派啟動數據總線上信息傳輸任務的終端。針對BC功能,其FPGA部分的邏輯結構如圖4.1示。時鐘產生模塊時鐘產生模塊地址控制存儲器接口并行通信接口外部時鐘地址控制存儲器接口并行通信接口發(fā)送命令字串行通信接口外部控制信號發(fā)送命令字串行通信接口數字接受器雙口RAM數字接受器雙口RAM狀態(tài)字譯碼/接受數據字狀態(tài)字譯碼/接受數據字發(fā)生器控制發(fā)生器控制數字發(fā)送器發(fā)送超時監(jiān)測數字發(fā)送器發(fā)送超時監(jiān)測檢錯控制檢錯控制圖4.1總線控制器內部結構圖下面將結構圖中的各小模塊進行設計說明。4.2.3消息發(fā)送器在BC模式下,需要涉及到發(fā)送指令文字,所以發(fā)送消息控制模塊根據工作模式從接口寄存器中讀取相應的指令字,從而判斷消息傳輸模式是否帶數據字等。然后控制發(fā)送單元將指令字和數據字發(fā)送出去。BC在發(fā)送命令字的同時也對發(fā)出的命令字進行譯碼,涉及提取RT地址,以及要發(fā)送數據字的個數,來產生控制信號提供應其他模塊。在RT模式只需要發(fā)送狀態(tài)字、數據字和方式指令數據碼,數據字計數需要從命令字的字計數字段提取,方式指令數據碼是BC通過方式指令字讀取的RT狀態(tài),涉及上一狀態(tài)字、上一命令字、矢量字等。Moore型有限狀態(tài)機的輸出只與有限狀態(tài)機的當前狀態(tài)有關,與輸入信號的當前值無關。在圖4.2中描述了Moore型有限狀態(tài)機的示意圖.statelogicoutputlogicstateregisterinput state outputstatelogicoutputlogicstateregister currentstateclokreset圖4.2Moore型有限狀態(tài)機示意圖Moore型有限狀態(tài)機在時鐘clock脈沖的有效邊沿后的有限個門延時后,輸出達成穩(wěn)定值。即使在一個時鐘周期內輸入信號發(fā)生變化,輸出也會在一個完整的時鐘周期內保持穩(wěn)定值而不變。輸入對輸出的影響要到下一個周期才干反映出來,Moore型有限狀態(tài)機最重要的特點就是將輸入與輸出信號隔離開來。單進程Moore型有限狀態(tài)機,其VHDL語言描述如下:Libraryieee;Useieee.std_logic_1164.all;EntitymooreisPort(datain:instd_logic_vector(1downto0);Clk,clr:instdlogic;q:outstd_logic_vector(3downto0);Endmoore;ArchitecturebehavofmooreisTypest_typeis(st0,st1,st2,st3,st4);Signalc_st:st_type;BeginProcesss(clk,clr)BeginIfclr=’1’thenC_st<=st0;q<=”0000”;Elsifclkeventandclk=’1’thenCasec_stisWhenst0=>ifdatain”10”thencst<=st1;Elsec_st<=st0;endif;q<=”1001”;Whenst1=>ifdatain”11”thencst<=st2;Elsec_st<=st1;endif;q<=”0101”;Whenst2=>ifdatain”01”thencst<=st3;Elsec_st<=st0;endif;q<=”1100”;Whenst3=>ifdatain”00”thencst<=st4;Elsec_st<=st2;endif;q<=”0010”;Whenst4=>ifdatain”11”thencst<=st0;Elsec_st<=st3;endif;q<=”1001”;Whenothers=>c_st,=st0;Endcase;Endif;Endprocess;Endbehav;其特點是組合進程和時序進程在同一個進程中,此進程可以認為是一個混合進程。注旨在此進程中,CASE語句處在測試時鐘上升沿的ELSIF語句中,因此在綜合時,對Q的賦值操作必然引進對Q鎖存的鎖存器。這就是說,此進程中能產生兩組同步的時序邏輯電路,一組是狀態(tài)機自身,另一組是由CLK作為鎖存信號的4位鎖存器,負責鎖存輸出數據Q。與多進程的狀態(tài)機相比,這個狀態(tài)機結構的優(yōu)勢是,輸出信號不會出現毛刺現象。這是由于Q的輸出信號在下一個狀態(tài)出現時,由時鐘上升沿鎖入鎖存器后輸出,即有時序器件同步輸出,從而很好地避免了競爭冒險現象。從輸出的時序上看,由于Q的輸出信號要等到進入下一狀態(tài)的時鐘信號的上升沿進行鎖存,即Q的輸出信號在當前狀態(tài)中由組合電路產生,而在穩(wěn)定了一個時鐘周期后在次態(tài)由鎖存器輸出,因此要比多進程狀態(tài)機的輸出晚一個時鐘周期,這是此類狀態(tài)機的缺陷。圖4.3單進程Moore狀態(tài)機的工作時序圖:圖4.3單進程Moore型狀態(tài)機的工作時序4.2.41:I/O寫寄存器寄存器的寫操作VHDL語言描述如下:write:proeess(strb,wr)FPGA的I/O端口進程beginif(wr’eventandwr=’0’if(ios=’0’andstrb=’0’)then判斷是信息否是寫外部caseaddriswhen”11111”=>commandword<=datadsp;寫入I/Owhen”11110”=>dataword<=datadsp;寫入I/Owhen”11101”=>timerword<=datadsp;寫入I/Owhenothers=>null;endcase;endif;endif;endproeess;其操作波形如圖4.4所示:圖中在wr下降沿,在strb和ios信號為低電平時分別對I/O端口1F,lE,1D都進行了寫操作。圖4.4I/O接口寫操作2:I/O讀寄存器讀寄存器的VHDL實現如下:read:process(strb,rd)讀FPGA的I/O進程beginif(rd’eventandrd=’0’)thenif(ios=’0’andstrb=’0’)thencaseaddriswhen”11100”=>datadsp<=datal553;when”11011”=>datadsp<=statusl553;when”11010”=>datadsp<=timervalue;whenother=>datadsp=>”zzzzzzzzzzzzzzzz”;讀其它I/O端口則總線置為高阻狀態(tài)endcase;endif;elsedatadsp<=“zzzzzzzzzzzzzzzz”;endif;endprocess:4.2.5計數器單元的功能是實現一個4~12微妙的計數器,如圖4.5所示。該計數器的輸入信號有:(l)clock32m,32兆赫茲的時鐘輸入信號;(2)timerstart,計數器啟動信號;TIMRERDATAIN[8…0]CLOCKDATAIN[8…0]CLOCK32MTIMERSTARTTIMERCLRSUPERTIMEATIMERCTLCLOCK32MTIMERSTART TIMERRORTIMERCLRTIMERCTL圖4.5計數器方框圖(3)timerclr,計數器清零信號;(4)timerctl,計數器控制信號,當該端口收到一個高脈沖時,表達F206要寫入新的計數值,該計數值由F206通過I/O地址ID寫入FPGA的寄存器timerword;計數器收到該信號后,就會把新的計數值裝入計數周期單元中,該值由用戶自己定義大小,它的取值范圍M為:4微妙12微妙計數器的時鐘周期計數器的時鐘周期可算得,128384之間;(5)datain[0..8]這9位數據線是寫入計數周期的數據輸入;(6)timererror,它是一個輸出信號,高脈沖表達計數器超時錯誤(超過了timerword的值的大小)。在收到一個timerstart信號后,計數器開始計數,只要中間過程中沒收到清零信號,當計數值到達timerword以后,就會在timererror輸出一個電平,該輸出會告知中斷單元發(fā)送一個超時中斷給F206。下面是產生timererror信號的VHDL語言描述:eounter:proeess(eloek32m)——計數進程beginif(cloek32m=’l’)then——計數器時鐘信號if(timercl=’1’)then——timereontervalue<=imerword;——假如清零則把計數最大值timerword裝入elsif(starttime=’1’)then——timercontervalue<=timercontervalue+1;——每一個loek32m時鐘到后計數值加—if(timereontervalue>=timerword)then——判斷計數值是否大于最大值timerwordtimererror<=’1’;——timercontervalue<=0:——計數值清零elsetimererror<=’1’;——endif;endif;endif;endprocess;4.2.6MIL-STD-1553B總線為軍用總線,廣泛運用于航空電子綜合系統(tǒng)中,1553B總線自身在兼顧實時性的條件下,采用了合理的差錯控制措施即反饋重傳糾錯(ARQ)方法來保證數據傳輸的可靠性。而總線接口是實現航空電子綜合化系統(tǒng)的關鍵部件,重要完畢總線的信息綜合,資源共享,任務協調和容錯重構。航空電子系統(tǒng)對于可靠性的規(guī)定嚴格,所以對于MIL-STD-1553B總線接口的可靠性設計就顯得尤為重要。在該總線接口設計過程中要保證電路可靠的工作,錯誤檢測是一個至關重要的部分,一般要提高系統(tǒng)工作的可靠性要從兩方面出發(fā):硬件和軟件。在硬件上由于數字電路設計中對于故障的解決可采用冗余技術,將故障的影響掩蓋起來。在本次設計中重要從軟件上進行可靠性設計,對總線上的數據進行曼徹斯特II型碼字的解碼、采用奇偶校驗的方法對接受的數據進行編碼檢錯,同時涉及系統(tǒng)的時間范圍規(guī)定如消息間隔和RT響應時間等,以及對消息進行字計數檢測等,這樣可以在增長少量硬件的基礎上迅速地完畢檢錯任務。該檢錯控制模塊分為三部分:字計數部分、RT,的響應超時檢測和中斷信號產生部分。其間互相聯系如圖4.6所示。1、字計數部分:用于檢測發(fā)送或接受消息的過程中數據字個數是否對的,判斷是否發(fā)送/接受規(guī)定個數的數據字。工作在BC模式時,根據來自自身命令字分析模塊的消息類型、加載信號、數據字計數值,以及來自編解碼模塊的數據發(fā)送/接受完畢信號、總線上輸入輸出的曼徹斯特碼正反相信號來控制字計數。RT響應超時檢測RT_ADDRRT地址輸入RT響應超時檢測RESET復位信號‘0’有效CLK12系統(tǒng)時鐘錯誤中斷產生單元MODE模式選擇RTCSRT響應超時信號錯誤中斷產生單元RX/RX_N接受曼徹斯特碼REQ_AYN異步請求信號TX/TX_N發(fā)送狀態(tài)曼徹斯特碼CODE_ERR 總線碼字錯誤信號PARITY_ERR奇偶校驗錯誤字計數單元字計數單元RAERRRT地址錯誤STAERR狀態(tài)字錯誤位置位T_R當前消息類型CNTERR字錯誤信號RX_RDY接受數據完畢信號TX_RDY發(fā)送數據完畢信號CNT數據字計數值fa發(fā)出中斷INT1LOAD數據字技術加載信號圖4.6檢錯控制部分輸入輸出管腳說明圖該模塊的工作過程如下:由總線上曼徹斯特碼型的正反相信號來判斷是否正在接受/發(fā)送數據,再根據編解碼模塊的接受/發(fā)送完畢反饋信號RX_RDY、TX_RDY來進行計數,每接受或發(fā)送出一個有效數據相應的計數信號減一;在接受時當計數器的值減到“0”時,進行4us時間的等待,假如無數據輸入則認為數據個數不多于命令字規(guī)定的個數;若檢測到4us內有數據輸入則認為數據個數多于命令字規(guī)定的個數;當計數的值不為“0”時,進行計時,假如在4us內沒有接受到有效的數據,就認為接受到的數據個數少于命令字規(guī)定的個數;當發(fā)送時,當計數器的值減到“0”時,就不再發(fā)送數據;無論是少于還是多于規(guī)定的數據字個數均屬于字計數錯誤,發(fā)送錯誤標志信號CNTERR。2、錯誤中斷產生部分:錯誤中斷產生部分根據系統(tǒng)中檢測到的錯誤狀態(tài)來進行中斷位的置位。涉及各個其它模塊的異常。如奇偶校驗錯誤、位計數、字計數錯誤、RT響應超時、狀態(tài)字返回錯誤標志、RT地址錯誤等發(fā)生以及有異步服務請求時,中斷信號INT1置“1”。4.2.7FIFO(FirstInFirstOut)全稱是先進先出的存儲器。先進先出也是FIFO的重要特點。FIFO只允許兩端一個寫,一個讀,因此FIFO是一種半共享式存儲器。在雙機系統(tǒng)中,只允許一個CPU往FIFO寫數據,另一個CPU從FIFO讀數據。并且,只要注意標志輸出,空指示不寫,滿指示不讀,就不會發(fā)生寫入數據丟失和讀出數據無效。雙口RAM和FIFO運用多端口存儲器設計多機系統(tǒng)。雙口RAM和FIFO比較如下:(1)FIFO的仲裁控制簡樸,但其容量不如雙口RAM。由于先進先出的特點,特別適合數據緩沖和突發(fā)傳送數據。某些芯片的內部就集成小容量FIFO,例如,DSP的同步串口就集成兩個FIFO,用于接受和發(fā)送數據緩沖。雙口RAM的仲裁邏輯比FIFO復雜,但其容量較大。由于存儲數據完全共享,合用于雙機系統(tǒng)的全局存儲器和大容量數據存儲共享,例如大容量磁盤的數據緩存可采用雙口RAM。(2)FIFO只給外部提供一個讀和一個寫信號,因此CPU用一個I/O地址便可讀或寫FIFO,使硬件趨于簡樸,給編程也帶來一些方便,但CPU不能對FIFO內部的存儲器進行尋址。雙口RAM由于有兩套地址線,使硬件較FIFO復雜,但允許CPU訪問內部存儲單元,因此CPU之間可以自己定主和分派數據塊以及數據單元,使軟件設計更加靈活。在異種機系統(tǒng)設計中,運用雙口RAM和FIFO可以實時、快速、靈活和方便地進行互相通信,得到滿意的效果。雙口RAMdata-in data-out雙口RAM wr rd數據滿標志寫地址計數器wr-dr數據滿標志寫地址計數器wr-en fullclk數據空標志讀地址計數器rd-clk empty數據空標志讀地址計數器rd-enRST圖4.6RAM讀寫模塊這兩個數據緩沖器是直接面向總線端的,接受緩沖器直接接受來自曼徹斯特解碼器輸出的數據字,發(fā)送緩沖器中的數據字直接送給曼徹斯特編碼器進行編碼發(fā)送。同理,子系統(tǒng)通過FIFO向共享RAM讀寫數據也是同樣的流程。RAM讀寫模塊的流程如4.8圖所示:開始開始獲取子地址讀數據開獲取子地址讀數據開始 是否 否 寫數據開始讀取RAM指定地址數據送入發(fā)送FIFO寫數據開始讀取RAM指定地址數據送入發(fā)送FIFO 是獲取子地址 否獲取子地址發(fā)送FIFO內數據個數等于子數據發(fā)送FIFO內數據個數等于子數據個數 讀接受FIFO數據寫入RAM讀接受FIFO數據寫入RAM 讀收FIFO讀空否 是讀收FIFO讀空讀取數據完畢 讀取數據完畢 是 寫入數據完畢寫入數據完畢 結束結束 圖4.7讀寫RAM模塊的流程圖4.3BC/RT/MT通用終端設計從上面所講的來看,很明顯終端接口可以特定地設計為RT、BC或MT單個類型。但更靈活的終端接口的設計也是用戶所希望的,這種終端可以執(zhí)行三種功能中的任何一種(TR,BC,MT)。下面將要講的就是通用終端的功能部件與接口的設計。作為MIL-STD-1553B總線的通用接口應完畢以下功能:①將總線上的串行信息流轉換成解決機可以解決的并行信息或者與之相反;②接受或發(fā)送信息時,可以辨認或生成標準的1553B信息字和消息;③完畢與解決機之間的信息互換,這涉及1553B信息地址的分派,命令字(或狀態(tài)字)的譯碼或返回狀態(tài)字、發(fā)送數據字等[21]。通過對以上幾點進行分析總結歸納得知,所有要實現的任務涉及:(1)數據字的對的接受:涉及接受器,同步檢出,數據檢出,曼徹斯特n碼錯誤檢出,奇偶檢測,位/字計數;(2)數據字的發(fā)送:涉及發(fā)送控制,同步/數據編碼,奇偶產生,時鐘產生;(3)字/消息的解決:涉及,a接受部分,命令字譯碼,狀態(tài)字譯碼,地址辨認,方式指令執(zhí)行,字計數辨認,錯誤消息檢出;b發(fā)送部分,字計數,狀態(tài)寄存器;c自測試部分;d子系統(tǒng)接口控制,數據地址,控制寄存器;e存儲器緩沖區(qū)[19]。4.4總線接口系統(tǒng)的綜合與實現當所有模塊完畢代碼編寫且功能仿真對的無誤后需要對整個設計進行綜合實現,本設計在進行綜合時由于所采用的FPGA器件邏輯資源比較豐富而沒有對面積進行過多的約束,只是采用了Altera綜合工具XST的默認面積約束。而在進行設計時,對這一方面的規(guī)定予以了考慮,采用模塊復用的方法使整體設計占用面積較小。在進行時間約束時,運用綜合工具找出了系統(tǒng)的關鍵途徑,并對其進行了一定的修改,使得系統(tǒng)的最大工作頻率得到了提高,滿足了系統(tǒng)的工作規(guī)定。本設計是采用Altera系列中的EP1C3T144C8解決器來實現的。在完畢對芯片的綜合后,可以用Altera的可編程邏輯器件開發(fā)工具對綜合進行解決和分析[17]。4.5本章小結本章是全文的重點,它一方面在對1553B總線接口的功能進行具體分析的基礎上,針對BC/RT/MT三種終端的功能提出了基于FPGA的1553B協議芯片整體設計方案。另一方面在整體設計方案的基礎上對各個小模塊進行仿真實現功能、設計過程以及輸入輸出管腳說明等。然后對BC/RT/MT通用終端的設計進行了闡述,交代了工作流程。最后介紹了總線接口系統(tǒng)的綜合與實現過程。然而,具體的設計是否滿足1553B總線傳輸規(guī)定還需要對整個設計進行測試加以驗證,對于暫時不能滿足規(guī)定的部分要做進一步的調試。本文將在下一章中專門介紹設計的驗證及測試結果。51553B總線各個模塊的仿真和測試5.1協議芯片測試系統(tǒng)的系統(tǒng)設計上一章具體介紹了基于FPGA的1553B總線接口的設計,在本章里將重要介紹總線接口芯片測試系統(tǒng)的設計及測試過程和測試結果。由于現成的開發(fā)板無法滿足1553B總線測試的規(guī)定,因此自行設計并制作實驗板來對上述設計進行測實驗證。配置EEPROM配置EEPROM隔離變壓器A電平轉換芯片模擬收發(fā)器FPGA隔離變壓器A電平轉換芯片模擬收發(fā)器FPGA耦電源及時鐘電路合電源及時鐘電路變隔離變壓器B壓隔離變壓器B器FLASHDSPFLASHDSPSDRAMSDRAM圖5.11553B總線接口測試系統(tǒng)硬件結構圖實驗板采用FPGA+DSP的方式,其硬件結構框圖如圖5.1所示。其中FPGA用來進行1553B總線接口芯片的設計,而DSP則用來模擬外部主解決器對1553B接口芯片進行數據的初始化以及測實驗證等。數據信號流程方面:接受數據時1553B總線上的輸入信號通過模擬收發(fā)器,進入FPGA芯片EP1C3T144C8,在這里完畢數據字的同步檢出、數據檢出、曼徹斯特II型碼錯誤檢出、奇偶校驗等協議解決后的消息數據以雙口RAM為媒介通過16位并行數據總線送入主解決器進行分析解決。在這里,DSP解決器可以對數據進行打包或解包解決,即定義一個協議使得接受消息數據加上包頭和包尾形成幀格式,再發(fā)給子系統(tǒng)。本文的設計僅為測試1553B接口芯片的設計,并未考慮與子系統(tǒng)的接口,因此DSP只用來做數據的讀入讀出驗證,并未進行消息的解包和打包解決。同理,當發(fā)送數據時,DSP通過16位數據線將數據傳輸到EP1C3T144C8,由FPGA來完畢涉及發(fā)送控制、同步/數據編碼、奇偶位產生等功能,從FPGA出來的數據通過模擬收發(fā)器后送到數據總線上進行傳輸。5.1.1模擬收發(fā)器模擬收發(fā)器是BC/RT/MT直接與傳輸電纜接口的關鍵部件,1553B總線采用的是雙相碼的曼徹斯特碼,自身包含了自定期信息,它能與變壓器耦合相協調,十分適宜與變壓器耦合的形式,電纜長度為150米左右的航空電子綜合系統(tǒng)中。模擬收發(fā)器的重要作用是將雙電平的曼徹斯特碼轉化為單電平的曼徹斯特碼,以及將單電平的曼徹斯特碼轉化為雙電平的曼徹斯特碼。在本設計中,模擬收發(fā)器采用國產芯片JM763M125來實現。當它作為模擬發(fā)送器時,重要是接受曼徹斯特II型單相TTL數據并將其轉化為差分的相位調制的雙相1553B總線數據;同理作為模擬接受器時重要是將總線上的1553B類型的雙相差分數據轉變?yōu)閱蜗嗟腡TL電平數據。其轉換波形如圖5.3所示:圖5.2模擬收發(fā)器轉換波形圖1553B總線規(guī)定,用作主總線和短接線的電纜都應為可屏蔽雙絞線,模擬收發(fā)器可采用變壓器耦合或直接耦合兩種方式來聯入總線。由于直接耦合不利于終端故障的隔離,因一個終端故障將導致整個總線系統(tǒng)的完全癱瘓,所以應當盡量避免在空中直接耦合短截線的耦合方式,而是采用變壓器耦合的方式,變壓器耦合的短截線長度理論上不超過6m。假如使用變壓器耦合短截線,則應注意如下幾點。(1)耦合變壓器:變壓器耦合結構如圖5.4所示,較高匝數在短截線的隔離電阻一側。變壓器輸入阻抗即從圖中B點看去的開路阻抗應大于3000歐。(2)故障隔離:隔離電阻應以和每個連接物串聯的方式接到數據電纜上。(3)電纜耦合:所有耦合變壓器和隔離電阻,如前面(1)和(2)規(guī)定,應具有連續(xù)的可提供最小為75%覆蓋的屏蔽。該隔離電阻和耦合變壓器應以盡也許短的短截線連到干線上。(4)短截線電壓規(guī)定:每條數據總線都應設計成圖上A點的短截線對于數據總線上任一終端的傳輸都有1~14V的線-線、峰-峰電壓幅度。圖5.3用變壓器耦合的數據總線接口在本文的設計里,隔離變壓器和模擬收發(fā)器分別采用的是BTTC公司的BUS-25679和國產收發(fā)器芯片JM763M125。隔離變壓器和模擬收發(fā)器的連接圖如圖5.5所示。圖5.4隔離變壓器與模擬收發(fā)器部分電路圖5.1.2FPGA芯片EP1C3T144C現場可編程門陣列(FPGA,FieldProgrammableGateArray)的出現是超大規(guī)模集成電路(VISI)技術和計算機輔助設計(CAD)技術發(fā)展的結果。FPGA器件集成度高、體積小,具有通過用戶編程實現專門應用的的功能。它允許電路設計者運用基于計算機的開發(fā)平臺,通過設計輸入、仿真、測試和校驗,直到達成預期的效果。運用FPGA可以大大縮短系統(tǒng)的研制周期,減少資金投入。更吸引人的是采用FPGA器件可以將本來的電路板級產品集成為芯片級產品,從而減少了功耗,提高了可靠性,同時還可以很方便的對設計進行在線修改。FPGA器件成為研制開發(fā)的抱負器件,特別適于產品的樣機開發(fā)和小批量生產,因此人們也把FPGA稱為可編程的ASIC??梢詳喽‵PGA在結構、密度、功能、速度和靈活性方面將得到進一步的發(fā)展。隨著工藝和結構的改善,FPGA的集成度將進一步提高,性能將進一步完善,成本將逐漸下降,在現代電子系統(tǒng)設計中將起到越來越重要的作用。AlteraCyclone系列FPGA是A1tera公司2023年9月份推出的,基于1.5v,O.13μm工藝,Cyclone是一個性價比很高的FPGA系列。其中EPlC3T144是Cyclone系列中的一員,共有2910邏輯單元,59904RAMbits,1個PLLs,最多有104個用戶I/O,可以說這款FPGA的資源非常豐富,足夠滿足大型設計的需要。本設計選用Altera公司的Cyclone系列芯片,芯片型號為EPlC3T144C8,由于該芯片是Altera公司推出的低價格、高容量的FPGA,其以較低的價格、優(yōu)良的特性及豐富的片上資源在實際應用中被廣泛的采用,這些都是其他同類產品無法相比的。1.EPlC3T144C8芯片采用1.5V內核電壓,0.33μmSRAM工藝,與其他同類產品相比具有以下特點:(1)邏輯資源豐富,邏輯單元(LE)數量為2910個。(2)有104個可用I/O引腳,I/O輸出可以根據需要調整驅動能力,并具有壓擺率控制、三態(tài)緩沖、總線保持等功能:整個器件的I/0引腳分為四個區(qū),每個區(qū)可以獨立采用不同的輸入電壓,并可提供不同電壓等級的I/0輸出。(3)多電壓接口,支持LVTTL,LVCMOS,LVDS等I/0標準。(4)靈活的時鐘管理,片內配有一個鎖相環(huán)(PLL)電路,可以提供輸入時鐘的1~32倍頻或分頻、156~417ps相移和可變占空比的時鐘輸出,輸出時鐘的特性可直接在開發(fā)軟件QuartosII6.0里設定。經鎖相環(huán)輸出的時鐘信號既可以作為內部的全局時鐘,也可以輸出到片外供其它電路使用。(5)內有SignalTap嵌入式邏輯分析器,極大地方便了設計者對芯片內部邏輯進行檢查,而不需要將內部信號輸出到I/O管腳上。本設計對FPGA芯片的供電采用TI公司LDO電源芯片TPS70448來實現。它能同時輸出1.5V的核電壓和3.3V的I/O電壓以及輔助電壓,并且具有POR(PowerOnReset)功能,非常適合對與多種電壓輸入的芯片如FPGA、DSP等供電。TPS70448供電部分的電路圖如圖5.6所示:圖5.5FPGA供電芯片TPS70448電路圖5.1.3FPGA下載電路Altera器件的編程連接硬件涉及:ByteBlaster并口下載電纜、ByteBlasterMV并口下載電纜、MasterBlaster串口/USB通信電纜、BitBlaster串口下載電纜。本設計采用了ByteBlasterMV串口口下載電纜[1]。ByteBlasterMV串口下載電纜采用兩種下載模式:被動串行模式和JTAG仿真下載模式。如表5.1所示。表5.1FPGA器件的下載模式為了運用ByteBlasterMV并口下載電纜配置1.5VCyclone系列EPlC3T144,3.3V電源中應當連接上拉電阻,電纜的VCC腳連接到3.3V電源,而器件的VCCINT引腳連到相應的1.5V電源。對于PS配置,器件的VCCIO引腳必須連到2.5V或3.3V電源。對于JTAG在線配置和在線編程,電纜的VCC引腳必須連接3.3V電源。ByteBlasterMV并口下載電纜與PC機相連的是25針插頭,與PCB電路板相連的是10針插座。數據從PC機并口通過ByteBlasterMV并口電纜下載到電路板。FPGA芯片的主串模式配置電路圖如圖5.6所示圖5.6采用主串模式對FPGA進行配置電路圖5.2實驗結果分析5.2.1BC是總線上啟動消息傳輸任務的終端,所有的消息傳輸都是由BC發(fā)出命令字來開始的。下面給出幾種典型的消息傳輸格式的仿真圖。圖5.7為BC發(fā)送給RT地址7的接受命令3823H,接受數據字個數為3,數據存儲在雙口RAM的224、225、226地址空間。RT在接受到命令字和數據字之后,返回狀態(tài)字,BC對的接受狀態(tài)字后,消息傳送完畢。圖5.7BC向RT傳輸接受數據命令格式的仿真圖5.3本章小結本章一方面介紹了基于FPGA的1553B協議芯片測試系統(tǒng)的硬件構成,對其中的關鍵器件如模擬收發(fā)器、FPGA芯片、DSP芯片等進行了簡樸的說明。然后重點交代了BC/RT/MT三種終端模式下的時序仿真過程,對1553B常見的幾種消息傳輸格式進行了仿真驗證并給出了仿真結果。章節(jié)最后通過兩塊實驗板對接來傳輸消息的方式對整體設計進行了實際硬件測試,通過示波器觀測到的總線上對的的波形來驗證了設計的對的性,同時也說明本文的設計方案是合理的,可行的。6總結及后期展望6.1論文總結在柴老師的耐心指導下,通過半個學期的努力,對基于FPGA的MIL-STD-1553B航空總線接口控制系統(tǒng)有了一些了解,并進行了較為淺入的學習和研究,在研究了總線接口協議的基礎上,成功地完畢了基于FPGA的1553B總線接口系統(tǒng)的設計,在驗證方面,達成了前后仿真一致,并完畢了系統(tǒng)的綜合、布局布線。最后自行設計了硬件測試電路板,完畢了總線接口系統(tǒng)的測試與驗證。本文采用自主設計體系結構的技術路線,運用自上而下的設計方法進行設計,在此基礎上完畢了1553B總線BC接口的VHDL設計、系統(tǒng)的綜合/仿真及FPGA實現。通過測試與驗證,該設計具有一定的通用性,它的邏輯只涉及到接口自身,與外部解決器的接口十分簡樸。并且由于選用的器件資源比較豐富,對以后進行功能的添加也十分的方便。在設計的最后針對器件進行再一次的優(yōu)化,這樣縮短了設計周期,提高了系統(tǒng)性能,并且大大提高了芯片的資源運用率。此方案初步達成用戶規(guī)定,其結構緊湊,具有高性能、高靈活性等特點,具有很大的開發(fā)應用前景。雖然畢業(yè)設計未能取得所有的成功,但是無論是對于我的制作和思考能力上都有獲得了豐富的經驗。我深刻的知道要想所有完畢我的這個畢設項目需要很豐富的知識,思考和動手能力等等,但我不氣餒畢竟畢業(yè)設計對于我們這樣初生牛犢的學生來說本來就是一個難得的將理論與實際相結合的鍛煉機會。通過對航空總線控制地設計,我學到了對以往知識的總結和應用,同時也鍛煉了我綜合運用所學專業(yè)基礎知識解決實際問題的能力,提高了我查閱文獻資料、設計手冊、設計規(guī)范以及電腦制圖等其他專業(yè)能力水平。并且通過對整體的掌控,對局部的取舍,以及對細節(jié)的斟酌解決,也使我的能力得到了鍛煉,經驗得到了豐富,并且意志品質力,抗壓能力及耐力也都得到了不同限度的提高。6.2后期展望隨著越是對本畢業(yè)設計課題的進一步的了解,越是發(fā)現里面的內容和要研究的方案需要很強的理論基礎和很強的動手能力??v觀我的大體設計系統(tǒng)圖,對于BC功能的設計其中是很復雜的,為此對于我一名本科生無疑是一項巨作。所以我在投入我大量的時間和力所能及的能力上我只對BC功能,FPGA的1553B協議解決器中有將近13個模塊簡樸地制作出了7個模塊,其中尚有一些小細節(jié)的環(huán)節(jié)還沒來得及完善和簡化。所以由于時間,能力等等各種條件的約束下,我只可以做出了這么多。對于設計的最終結果就是設計預留工作方式選擇信號及控制信號,以可將總線控制器、遠程終端接口、總線監(jiān)視器結合起來以達成通用航空總線接口的功能。完畢相應的硬件描述語言程序最后經綜合和仿真驗證后,在特定的FPGA中實現。每個子模塊都可以實現仿真,且能實現BC功能的所有運轉,實現數據的發(fā)送和接受最后連接到遠程終端和監(jiān)控器上實現整個過程的運作,希望下屆的學弟們能繼續(xù)完畢我這未完畢的巨作。參考文獻[1].百度文庫[2].李文軍,邰炳昌.飛機MIL-STD-1553B總線的測試系統(tǒng)[J].飛機設計,2023.[3].ArmstrongJ.R,GrayF.G.VHDLDesignRepresentationandSynthesis.PrenticeHall,2023.[4].吳勇,朱建民等.航電綜合化系統(tǒng)總線接口板研究設計[J].火力與指揮控制.2023.[5].解傳軍,王海濱.基于FPGA的航空總線協議接口設計[J].電子設計工程,2023.[6].Altera公司.QUARTUSIIGettingstarted.2023.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論