




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1緒論1.1引言隨著科技的發(fā)展及戰(zhàn)爭(zhēng)的需要,戰(zhàn)車、艦船、飛機(jī)等武器平臺(tái)上電子設(shè)備越來越多,越來越復(fù)雜,于是將電子設(shè)備按一定的協(xié)議聯(lián)網(wǎng)加以有效地綜合,使之達(dá)成資源和功能共享已成為必然的規(guī)定。電子綜合的支撐技術(shù)是聯(lián)網(wǎng)技術(shù),而武器平臺(tái)上的聯(lián)網(wǎng)技術(shù)不同于一般的局域網(wǎng)絡(luò)技術(shù),它特別強(qiáng)調(diào)網(wǎng)絡(luò)的可靠性和實(shí)時(shí)性[1]。1553B總線最初是在七十年代末為適應(yīng)飛機(jī)的發(fā)展由美國(guó)提出的飛機(jī)內(nèi)部電子系統(tǒng)聯(lián)網(wǎng)標(biāo)準(zhǔn),其后由于它的高可靠性和靈活性而在其他的機(jī)動(dòng)武器平臺(tái)上也得到了較廣泛的應(yīng)用。MIL-STD-1553B是70年代發(fā)展起來的“飛機(jī)內(nèi)部時(shí)分制指令響應(yīng)式多路傳輸數(shù)據(jù)總線”,它具有可靠性高、速度快、反映靈敏、雙冗余等特點(diǎn),特別合用于快速反映武器系統(tǒng)[2]。雖然其傳輸速率只有1Mbit/s,但它并沒有因后來發(fā)展起來的高速網(wǎng)遭淘汰,而是隨微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展而不斷提高。世界上許多集成電路公司和廠家都不斷開發(fā)和生產(chǎn)集成度更高、通用性更強(qiáng)的1553B總線系列器件。這些器件優(yōu)化了1553B總線通訊接口,減輕了主機(jī)的通訊承擔(dān),從而提高了系統(tǒng)的可靠性[3]。1.2國(guó)內(nèi)外1553B總線研究發(fā)展?fàn)顩r及涉及領(lǐng)域隨著時(shí)代的發(fā)展,對(duì)于增長(zhǎng)飛機(jī)推力、改善氣動(dòng)性能等技術(shù)的成熟,航空系統(tǒng)設(shè)計(jì)任務(wù)的重點(diǎn),逐漸集中在飛機(jī)內(nèi)部的電子設(shè)計(jì)上。與此同時(shí),信息工程、計(jì)算機(jī)技術(shù)、控制技術(shù)、電子技術(shù)都有了長(zhǎng)足的進(jìn)步。航空電子綜合化技術(shù)就是在這樣的背景下產(chǎn)生的[3]。技術(shù)的核心問題是實(shí)現(xiàn)信息采集、解決、分派、存儲(chǔ)的一個(gè)系統(tǒng)。MIL-STD-1553B多路總線是綜合化航空電子系統(tǒng)設(shè)備間的數(shù)據(jù)互換紐帶,它將所有的綜合化航空電子子系統(tǒng)連接在一起,共同構(gòu)成具有特殊性的分布式計(jì)算機(jī)網(wǎng)絡(luò),從而實(shí)現(xiàn)綜合系統(tǒng)內(nèi)部的信息共享和系統(tǒng)綜合化控制。航空電子系統(tǒng)中,不僅需要不同的硬件接口來應(yīng)付不同的航空設(shè)備,并且航空設(shè)備內(nèi)部接口連線也十分復(fù)雜和混亂,可靠性能也不高[3]。為了解決這個(gè)狀況,提出了在航空電子系統(tǒng)中使用數(shù)據(jù)總線,使得不同的航空電子設(shè)備之間可以互相通信。美國(guó)軍方提出的MIL-STD-1553B數(shù)據(jù)總線協(xié)議就是在航空電子綜合化技術(shù)發(fā)展過程中形成的現(xiàn)代航空機(jī)載系統(tǒng)設(shè)備互聯(lián)的網(wǎng)絡(luò)接口標(biāo)準(zhǔn)。從推出到現(xiàn)在,通過三十?dāng)?shù)年的發(fā)展,1553B總線技術(shù)也在不斷的改善。目前1553B總線已經(jīng)成為在航空航天領(lǐng)域占統(tǒng)治地位的總線標(biāo)準(zhǔn)。國(guó)內(nèi)對(duì)1553B總線協(xié)議進(jìn)行了跟蹤研究,制定了相應(yīng)的國(guó)軍標(biāo)GJB289A,科研院所和相關(guān)單位在這方面做了大量的工作,也取得了一定的成績(jī)。如成都恩菲特公司自主研發(fā)的eph31580型芯片[1]。如圖1.2所示:圖1.1成都恩菲特eph31580型芯片1.3本論文的研究?jī)?nèi)容及安排從接口實(shí)現(xiàn)的具體功能出發(fā),采用自頂向下的設(shè)計(jì)思想,結(jié)合大型可編程邏輯器件的特點(diǎn),提出了一種基于FPGA的1553B總線接口系統(tǒng)的設(shè)計(jì)方法。對(duì)系統(tǒng)進(jìn)行了總體分析及結(jié)構(gòu)設(shè)計(jì),使用硬件描述語(yǔ)言VHDL對(duì)設(shè)計(jì)進(jìn)行了描述,最后在FPGA上進(jìn)行了實(shí)現(xiàn)。1553B總線系統(tǒng)的關(guān)鍵核心部分是總線接口芯片,在充足檢索相關(guān)資料后,對(duì)MIL-STD-1553B數(shù)據(jù)總線協(xié)議進(jìn)行分析研究,設(shè)計(jì)基于FPGA的1553B總線控制器,并要設(shè)計(jì)預(yù)留工作方式選擇信號(hào)及控制信號(hào),以可將總線控制器、遠(yuǎn)程終端接口、總線監(jiān)視器結(jié)合起來以達(dá)成通用航空總線接口的功能。完畢相應(yīng)的軟件系統(tǒng)語(yǔ)言程序最后經(jīng)綜合和仿真驗(yàn)證后,在特定的FPGA中實(shí)現(xiàn)。采用的設(shè)計(jì)環(huán)節(jié)安排如下:第1章:重要闡述了MIL-STD-1553B總線技術(shù)的國(guó)內(nèi)外發(fā)展情況以及相關(guān)領(lǐng)域的運(yùn)用。第2章:查找一些MIL-STD-1553B數(shù)據(jù)總線協(xié)議的資料,并對(duì)其進(jìn)行初步的制定環(huán)節(jié)。第3章:結(jié)合相關(guān)書籍和設(shè)計(jì)方法對(duì)1553B總線接口提出總體的設(shè)計(jì)方案。第4章:應(yīng)用1553B總線接口的具體設(shè)計(jì)與實(shí)現(xiàn)FPGA,并最后對(duì)其中每個(gè)小模塊的設(shè)計(jì)作具體的設(shè)計(jì)。第5章:1553B總線接口實(shí)驗(yàn)分析,重要介紹總線接口芯片測(cè)試系統(tǒng)設(shè)計(jì)及其測(cè)試的結(jié)果分析以及系統(tǒng)性能分析。第6章:總結(jié)了本文的研究設(shè)計(jì)工作,并對(duì)將來進(jìn)一步的工作做了展望。2MIL-STD-1553B數(shù)據(jù)總線協(xié)議簡(jiǎn)介2.11553B數(shù)據(jù)總線的應(yīng)用和特點(diǎn)由于其傳輸速率高,設(shè)備之間連接簡(jiǎn)樸靈活,噪聲容限高,通信效率高并且可靠,為美軍標(biāo)所采用,將其作為機(jī)載設(shè)備互相通信的總線標(biāo)準(zhǔn)。從推出到現(xiàn)在,通過三十年的發(fā)展,1553B總線技術(shù)也在不斷的改善。目前1553B總線已經(jīng)成為在航空航天領(lǐng)域占統(tǒng)治地位的總線標(biāo)準(zhǔn)[4]。MIL-STD-1553B的其可靠性、穩(wěn)定性的特點(diǎn),在美國(guó)等過早已得到認(rèn)可,且對(duì)1553B的使用,已由軍飛機(jī)的使用擴(kuò)展到坦克、船舶、衛(wèi)星、武器等領(lǐng)域。圖2.11553B航空總線的大體應(yīng)用領(lǐng)域綜合起來1553B總線有以下幾個(gè)優(yōu)良特點(diǎn)[5][6]:(1)實(shí)時(shí)性好,1553B總線的傳輸碼速率為1Mbps,每條消息最多包含32個(gè)字,傳輸一個(gè)固定不變的消息所需時(shí)間短。(2)合理的差錯(cuò)控制措施和特有的方式命令,為保證數(shù)據(jù)傳輸?shù)耐暾裕?553B采用了合理的差錯(cuò)控制措施——反饋重傳糾錯(cuò)方法。當(dāng)總線控制器BC向某一終端RT發(fā)出一個(gè)命令或發(fā)送一個(gè)消息時(shí),終端應(yīng)在給定的響應(yīng)時(shí)間內(nèi)發(fā)回一個(gè)狀態(tài)字,假如傳輸?shù)南⒂绣e(cuò),終端就拒絕發(fā)回狀態(tài)字,由此報(bào)告上次消息傳輸無效。而方式命令不僅使系統(tǒng)能完畢數(shù)據(jù)通訊控制任務(wù),還能調(diào)查故障情況并完畢容錯(cuò)管理功能。(3)總線效率高,總線形式的拓?fù)浣Y(jié)構(gòu)對(duì)總線效率的規(guī)定比較高,為此1553B對(duì)涉及總線效率指標(biāo)的某些強(qiáng)制性規(guī)定如命令響應(yīng)時(shí)間、消息間隔時(shí)間以及每次消息傳輸?shù)淖畲蠛妥钚?shù)據(jù)塊的長(zhǎng)度都有嚴(yán)格限制。(4)具有命令/響應(yīng)以及“廣播”通訊方式,BC可以以“廣播”方式向所有RT發(fā)送一個(gè)時(shí)間同步消息,這樣總線上的所有消息傳輸都由總線控制器發(fā)出的指令來控制,相關(guān)終端對(duì)指令應(yīng)給予響應(yīng)并執(zhí)行操作。這種方式非常適合集中控制的分布式解決系統(tǒng)。2.2編碼方式1553B總線上數(shù)據(jù)是以雙相曼徹斯特編碼的方式傳輸?shù)?。曼徹斯特碼是一種廣泛應(yīng)用于航空電子綜合系統(tǒng)中的、線數(shù)據(jù)傳輸?shù)碾p極性碼。它在每個(gè)碼位中點(diǎn)存在一個(gè)跳變。1信號(hào)是一個(gè)由l到0的負(fù)跳沿,而O信號(hào)是由0到1的正跳沿。它自身包含了自定期的信息,因此它不需要獨(dú)立的信道來傳輸位定期信息,它可以直接從數(shù)據(jù)中分離出定期時(shí)鐘,在傳輸代碼信息的同時(shí),也將時(shí)鐘同步信號(hào)一起傳輸?shù)綄?duì)方,每位編碼中有一跳變,不存在直流分量,因此具有自同步能力和良好的抗干擾性能[7]。它是重要用在數(shù)據(jù)同步傳輸中的一種編碼方式。圖2.2給出了ManehesterIx編碼的方式同時(shí)此種編碼方式還能與變壓器禍合相協(xié)調(diào),十分適合用在變壓器禍合形式,長(zhǎng)度為6m(20英尺)左右的場(chǎng)合,在航空電子綜合系統(tǒng)中,它是最重要的編碼形式[8]。圖2.2Manehester11編碼2.2.1FPG1)采用FPGA設(shè)計(jì)ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。5)FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容[9]??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA是由存放在片內(nèi)RAM中的程序來設(shè)立其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完畢后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA可以反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.3硬件描述語(yǔ)言(HDL)硬件描述語(yǔ)言HDL(HardwareDescriptionLanguage)是一種用形式化方法來描述數(shù)字電路和數(shù)字邏輯系統(tǒng)的語(yǔ)言。數(shù)字邏輯電路設(shè)計(jì)者可運(yùn)用這種語(yǔ)言來描述自己的設(shè)計(jì)思想,然后運(yùn)用EDA工具進(jìn)行仿真,再自動(dòng)綜合到門級(jí)電路,最后用ASIC或FPGA實(shí)現(xiàn)其功能[7]。舉個(gè)例子,在傳統(tǒng)的設(shè)計(jì)方法中,對(duì)2輸入的與門,我們也許需到標(biāo)準(zhǔn)器件庫(kù)中調(diào)個(gè)74系列的器件出來,但在硬件描述語(yǔ)言中,“&”就是一個(gè)與門的形式描述,“C=A&B”就是一個(gè)2輸入與門的描述。而“and”就是一個(gè)與門器件[10]。硬件描述語(yǔ)言發(fā)展至今已有二十?dāng)?shù)年歷史,當(dāng)今業(yè)界的標(biāo)準(zhǔn)中(IEEE標(biāo)準(zhǔn))重要有VHDL和VerilogHDL這兩種硬件描述語(yǔ)言。2.在數(shù)字電路設(shè)計(jì)中,數(shù)字電路可簡(jiǎn)樸歸納為兩種要素:線和器件。線是器件管腳之間的物理連線;器件也可簡(jiǎn)樸歸納為組合邏輯器件(如與或非門等)和時(shí)序邏輯器件(如寄存器、鎖存器、RAM等)。一個(gè)數(shù)字系統(tǒng)(硬件)就是多個(gè)器件通過一定的連線關(guān)系組合在一塊的。因此,VerilogHDL的建模事實(shí)上就是如何使用HDL語(yǔ)言對(duì)數(shù)字電路的兩種基本要素的特性及互相之間的關(guān)系進(jìn)行描述的過程。隨著Verilog-XL算法的成功,VerilogHDL語(yǔ)言得到迅速發(fā)展。1989年,Cadence公司收購(gòu)了GDA公司,VerilogHDL語(yǔ)言成為Cadence公司的私有財(cái)產(chǎn)。1990年,Cadence公司決定公開VerilogHDL語(yǔ)言,于是成立了OVI(OpenVerilogInternational)組織,負(fù)責(zé)促進(jìn)VerilogHDL語(yǔ)言的發(fā)展?;赩erilogHDL的優(yōu)越性,IEEE于1995年制定了VerilogHDL的IEEE標(biāo)準(zhǔn),即VerilogHDL1364-1995;2023年發(fā)布了VerilogHDL1364-2023標(biāo)準(zhǔn)。在這個(gè)標(biāo)準(zhǔn)中,加入了VerilogHDL-A標(biāo)準(zhǔn),使Verilog有了模擬設(shè)計(jì)描述的能力[11][12]。VerilogHDL適合算法級(jí)(Algorithm)、寄存器傳輸級(jí)(RTL)、邏輯級(jí)(Logic)、門級(jí)(Gate)和板圖級(jí)(Layout)等各個(gè)層次的設(shè)計(jì)和描述[11]。具體如表2.2所示。表2.2不同層級(jí)的描述方式設(shè)計(jì)層次設(shè)計(jì)層次行為描述結(jié)構(gòu)描述系統(tǒng)級(jí)系統(tǒng)算法系統(tǒng)邏輯圖寄存器數(shù)據(jù)流程圖、真值表寄存器ALUROL等輸出級(jí)狀態(tài)機(jī)分模塊描述門布爾方程邏輯門觸發(fā)器鎖存器級(jí)真值表構(gòu)成的邏輯圖版圖級(jí)幾何圖形圖形連接關(guān)系2.VHDL語(yǔ)言可以成為標(biāo)準(zhǔn)化的硬件描述語(yǔ)言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語(yǔ)言所不具有的優(yōu)點(diǎn)[1]。歸納起來VHDL語(yǔ)言重要具有以下優(yōu)點(diǎn):(1)VHDL語(yǔ)言功能強(qiáng)大,設(shè)計(jì)方式多樣VHDL語(yǔ)言具有強(qiáng)大的語(yǔ)言結(jié)構(gòu),只需采用簡(jiǎn)樸明確的VHDL語(yǔ)言程序就可以描述十分復(fù)雜的硬件電路。同時(shí),它還具有多層次的電路設(shè)計(jì)描述功能。此外,VHDL語(yǔ)言可以同時(shí)支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn),這是其他硬件描述語(yǔ)言所不能比擬的。VHDL語(yǔ)言設(shè)計(jì)方法靈活多樣,既支持自頂向下的設(shè)計(jì)方式,也支持自底向上的設(shè)計(jì)方法;既支持模塊化設(shè)計(jì)方法,也支持層次化設(shè)計(jì)方法。(2)VHDL語(yǔ)言具有強(qiáng)大的硬件描述能力[10]VHDL語(yǔ)言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路,也可以描述門級(jí)電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時(shí),VHDL語(yǔ)言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL語(yǔ)言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL語(yǔ)言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會(huì)給硬件描述帶來較大的自由度。(3)VHDL語(yǔ)言具有很強(qiáng)的移植能力VHDL語(yǔ)言很強(qiáng)的移植能力重要體現(xiàn)在:對(duì)于同一個(gè)硬件電路的VHDL語(yǔ)言描述,它可以從一個(gè)模擬器移植到另一個(gè)模擬器上、從一個(gè)綜合器移植到另一個(gè)綜合器上或者從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)上去執(zhí)行。(4)VHDL語(yǔ)言的設(shè)計(jì)描述與器件無關(guān)采用VHDL語(yǔ)言描述硬件電路時(shí),設(shè)計(jì)人員并不需要一方面考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化,而不需要考慮其他的問題。當(dāng)硬件電路的設(shè)計(jì)描述完畢以后,VHDL語(yǔ)言允許采用多種不同的器件結(jié)構(gòu)來實(shí)現(xiàn)。(5)VHDL語(yǔ)言程序易于共享和復(fù)用VHDL語(yǔ)言采用基于庫(kù)(library)的設(shè)計(jì)方法。在設(shè)計(jì)過程中,設(shè)計(jì)人員可以建立各種可再次運(yùn)用的模塊,一個(gè)大規(guī)模的硬件電路的設(shè)計(jì)不也許從門級(jí)電路開始一步步地進(jìn)行設(shè)計(jì),而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊,將這些模塊存放在庫(kù)中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用[11]。由于VHDL語(yǔ)言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語(yǔ)言,因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間方便地進(jìn)行交流和共享,從而減小硬件電路設(shè)計(jì)的工作量,縮短開發(fā)周期。2.目前最重要的硬件描述語(yǔ)言是VHDL和VerilogHDL。VHDL發(fā)展的較早,語(yǔ)法嚴(yán)格,而VerilogHDL是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來的一種硬件描述語(yǔ)言、語(yǔ)法較自由(目前ASIC設(shè)計(jì)多采用Verilog語(yǔ)言)[10]。VHDL和VerilogHDL兩者相比,VHDL是一種高級(jí)的描述語(yǔ)言,通常更適合行為級(jí)和RTL級(jí)的描述,可以用于高級(jí)建模,而VerilogHDL則是一種比較低檔的描述語(yǔ)言,更適合于RTL級(jí),特別是門級(jí)電路的描述,易于控制電路的資源。此外,從兩種語(yǔ)言推動(dòng)的過程來看,VHDL語(yǔ)言偏重標(biāo)準(zhǔn)化考慮,而Verilog語(yǔ)言由于是在Cadence扶植下針對(duì)EDA工具開發(fā)的硬件描述語(yǔ)言,因此,跟EDA工具的結(jié)合更為密切。學(xué)習(xí)VHDL比學(xué)習(xí)Verilog難一些,但Verilog自由的語(yǔ)法也使得的初學(xué)者容易上手但也容易犯錯(cuò)。國(guó)外電子專業(yè)很多在本科階段專家VHDL,在研究生階段教Verilog。從國(guó)內(nèi)來看,VHDL的參考書很多,便于查找資料,而VerilogHDL的參考書則很少,這給學(xué)習(xí)VerilogHDL帶來不少困難。結(jié)合兩者的優(yōu)點(diǎn),經(jīng)常采用VHDL和VerilogHDL兩種混合語(yǔ)言進(jìn)行電子線路描述,使得運(yùn)用語(yǔ)言描述硬件的效果更佳[12][13]。2.41553字結(jié)構(gòu)1553B總線協(xié)議規(guī)定,總線上數(shù)據(jù)是以曼徹斯特編碼的字格式進(jìn)行傳輸?shù)摹f(xié)議規(guī)定每次信息傳輸涉及命令字、數(shù)據(jù)字(指令字和狀態(tài)字)等幾種字格式。每種字的字長(zhǎng)為20位,由于總線數(shù)據(jù)傳輸速率是1Mb1t/s,所以傳輸每一位需要1us的時(shí)間,傳輸一個(gè)完整的字需要20us。這幾種字格式的有效信息位是16位,每個(gè)字的前3位為同步位,用來表達(dá)數(shù)據(jù)到來并區(qū)分為什么種字類型。最后一位為校驗(yàn)位,1553B協(xié)議規(guī)定總線上傳輸?shù)臄?shù)據(jù)所有采用奇校驗(yàn),這種做法方便各個(gè)終端設(shè)備的接口統(tǒng)一,保證數(shù)據(jù)傳輸?shù)目煽啃?。由發(fā)送端為數(shù)據(jù)進(jìn)行補(bǔ)奇,接受端進(jìn)行奇校驗(yàn)。數(shù)據(jù)是以曼徹斯特編碼的方式傳輸?shù)?。同步頭是判斷數(shù)據(jù)類型和捕獲總線上數(shù)據(jù)的重要信息,同步頭總共占用3個(gè)數(shù)據(jù)位,它的特點(diǎn)就是電平變化以1.5個(gè)數(shù)據(jù)位為單位,因此接受端只要判斷電平在1.5個(gè)數(shù)據(jù)單位變化就認(rèn)為是同步頭。同步頭分為兩種:前1.5個(gè)數(shù)據(jù)位為高電平,后1.5個(gè)數(shù)據(jù)位為低電平的同步頭用來表達(dá)這個(gè)字為命令字(方式指令字)或者狀態(tài)字;前1.5個(gè)數(shù)據(jù)位為低電平,后1.5個(gè)數(shù)據(jù)位為高電平的同步頭用來表達(dá)這個(gè)字為數(shù)據(jù)字[15]。圖2.31553B總線命令字/數(shù)據(jù)字/狀態(tài)字格式圖2.5155B總線的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)MIL-STD-1553B總線網(wǎng)絡(luò)由終端、字系統(tǒng)和總線傳輸介質(zhì)組成。終端是使數(shù)據(jù)總線和子系統(tǒng)相連接的電子組件。字系統(tǒng)為多路數(shù)據(jù)總線上接受數(shù)據(jù)傳輸服務(wù)的裝置或功能單位。總線控制器(BC)是總線系統(tǒng)上傳輸?shù)男畔⒉⒂羞x擇地提取信息以備后用的終端。1553B總線系統(tǒng)采用命令、響應(yīng)式傳輸?shù)牟僮鞣绞?。只有?dāng)總線控制器發(fā)出命令后,遠(yuǎn)程終端才干做出響應(yīng),也即遠(yuǎn)程終端永遠(yuǎn)是被動(dòng)的,即使它想給BC或者給別的RT發(fā)信息。2.6對(duì)于BC功能的155B工作模式1553B的三種工作模式:總線控制器(BusController),遠(yuǎn)程終端(RemoteTerminal),總線監(jiān)控器(BusMonitor)。其中總線控制器(BC):對(duì)1553B總線的控制和管理,也是所有信息傳輸動(dòng)作的發(fā)起者。任何時(shí)刻總線上只有一個(gè)總線控制器,其負(fù)責(zé)發(fā)送命令、參與數(shù)據(jù)傳輸、接受狀態(tài)響應(yīng)和檢測(cè)總線系統(tǒng)。2.7155B總線的傳輸方式和數(shù)據(jù)格式
1553B總線的傳輸速度是1Mb/s,采用曼徹施特II型編碼,半雙工工作方式。信號(hào)以串行數(shù)字脈沖編碼調(diào)制(PCM)形式在數(shù)據(jù)總線上傳輸。邏輯1為雙極編碼信號(hào)1/0,即一個(gè)正脈沖繼之一個(gè)負(fù)脈沖,邏輯0為雙極編碼信號(hào)0/1,即一個(gè)負(fù)脈沖繼之一個(gè)正脈沖[14][15]。圖2.4155B總線的傳輸方式1553B信息流由一串1553B消息由命令字、數(shù)據(jù)字、狀態(tài)字組成。所有1553B字都是20bit長(zhǎng),每一個(gè)字都應(yīng)是:3為同步頭+16位數(shù)據(jù)/命令/狀態(tài)為+1為奇偶校驗(yàn)。同步和奇偶校驗(yàn)位被1553硬件用在擬定1553信息格式和數(shù)據(jù)錯(cuò)誤的時(shí)候[17]。3155B3總線接口設(shè)計(jì)總體方案3.11553B數(shù)據(jù)總線系統(tǒng)的設(shè)計(jì)總線系統(tǒng)原理工作硬件組成如圖3.1雙通道收發(fā)器宿主機(jī)接口雙端口存儲(chǔ)器CP雙通道收發(fā)器宿主機(jī)接口雙端口存儲(chǔ)器CPU接口寄存器及控制邏輯1553協(xié)議解決器通道A通道Aad cs通道B讀寫RAM控制(耦合器)通道B讀寫RAM控制圖3.1總線總體設(shè)計(jì)思緒組成1553B總線接口重要涉及3大模塊,雙通道收發(fā)器、1553B協(xié)議解決器和接口寄存器,以及使用FPGA的片內(nèi)雙口RAM存儲(chǔ)器。雙通道收發(fā)器屬于電平轉(zhuǎn)換設(shè)備,不可以在FPGA內(nèi)部實(shí)現(xiàn),可以用收發(fā)芯片等來完畢其功能。1553B協(xié)議解決器完畢總線控制器的重要功能。CPU解決器,EPROM,RAM,信道切換邏輯等組成,完畢接受與發(fā)送消息的打包和解包解決,以便于子系統(tǒng)接受/發(fā)送。與宿主機(jī)接口模塊實(shí)現(xiàn)宿主機(jī)與總線接口板間的接口,連有雙端口存儲(chǔ)器,驅(qū)動(dòng)電路和譯碼電路。雙口存儲(chǔ)器重要用于主機(jī)和總線接口板進(jìn)行信息互換的緩沖區(qū),減少主機(jī)的負(fù)荷。3.21553B協(xié)議解決器結(jié)構(gòu)1553B協(xié)議解決器是一個(gè)1553B總線接口的核心部分。它完畢涉及收發(fā)消息,數(shù)據(jù)流控制等多種協(xié)議解決流程。由于總線接口可以分為總線控制器BC、遠(yuǎn)程終端RT和總線監(jiān)視器BM三種類型,所以協(xié)議解決器按功能可以劃分為BC、RT或者BM。本設(shè)計(jì)要實(shí)現(xiàn)的BC和RT在有些功能上是相同的,所以部分模塊是BC/RT通用的??偩€控制器BC實(shí)現(xiàn)的功能[18]總線控制器是總線信息傳輸?shù)陌l(fā)起者,要實(shí)現(xiàn)的具體功能涉及:(l)信息的對(duì)的發(fā)送:涉及命令字/方式指令的寫入、添加同步頭、字計(jì)數(shù)、曼徹斯特編碼等。(2)信息的對(duì)的接受:涉及狀態(tài)字和數(shù)據(jù)字的接受、同步頭辨認(rèn)、字計(jì)數(shù)、曼徹斯特解碼、產(chǎn)生中斷及奇偶校驗(yàn)等。(3)字/消息的解決:涉及命令字提取,雙命令字的協(xié)調(diào)、狀態(tài)字的分析、接口寄存器的讀寫、自測(cè)試、存儲(chǔ)器及緩沖器讀寫等。所以,以下的實(shí)驗(yàn)內(nèi)容重要是圍繞著這子模塊進(jìn)行編寫和設(shè)計(jì)。如圖3.3就是對(duì)該些部分的劃分結(jié)構(gòu)。時(shí)鐘產(chǎn)生模塊主解決器時(shí)鐘產(chǎn)生模塊主解決器地址控制存儲(chǔ)器接口并行通信接口地址控制存儲(chǔ)器接口并行通信接口串行通信接口數(shù)字接受器模擬接受器串行通信接口數(shù)字接受器模擬接受器雙口RAM命令字/狀態(tài)字譯碼及發(fā)送命令字控制雙口RAM命令字/狀態(tài)字譯碼及發(fā)送命令字控制發(fā)生器控制發(fā)生器控制模擬發(fā)送器模擬發(fā)送器數(shù)字發(fā)送器狀態(tài)字設(shè)立/命令字寄存器發(fā)送超時(shí)監(jiān)測(cè)數(shù)字發(fā)送器狀態(tài)字設(shè)立/命令字寄存器發(fā)送超時(shí)監(jiān)測(cè)檢錯(cuò)控制 檢錯(cuò)控制圖3.2總線接口系統(tǒng)結(jié)構(gòu)圖(1)模擬收發(fā)器部分:簡(jiǎn)要來說接受部分是將雙電平曼徹斯特碼轉(zhuǎn)化為單電平曼徹斯特碼,而發(fā)送部分則是將單電平曼徹斯特碼轉(zhuǎn)化為雙電平曼徹斯特碼,涉及模擬接受器和模擬發(fā)送器兩部分。①模擬接受器:數(shù)字邏輯與數(shù)據(jù)總線相接的最基本前端模擬部件。由于FPGA純粹基于數(shù)字電路設(shè)計(jì),所以對(duì)于模擬接受中的模擬量解決部分,要通過外部模擬電路進(jìn)行實(shí)現(xiàn)。盡管總線上的信號(hào)是以數(shù)字形式傳輸?shù)?,但連接終端的雙絞屏蔽線電纜,其特性會(huì)引起信號(hào)衰減,終端收到的信號(hào)常是一個(gè)失真的正弦波??偩€上的輸入信號(hào)通過濾波消除了高頻噪聲。門限檢出為克制低頻噪聲發(fā)明了條件且具有與邏輯檢測(cè)相兼容的數(shù)字輸出。并將雙極性的曼徹斯特碼轉(zhuǎn)換為單極性的曼徹斯特碼。②模擬發(fā)送器:數(shù)字邏輯與數(shù)據(jù)總線相接的模擬部件,它是將FPGA發(fā)出的單極性信號(hào)轉(zhuǎn)變?yōu)榉螹IL-STD-1553B標(biāo)準(zhǔn)的雙極性信號(hào)。(2)總線接口部分:接受部分實(shí)現(xiàn)的功能是將曼徹斯特碼轉(zhuǎn)換為單極性不歸零碼(NRZ碼),并且實(shí)現(xiàn)對(duì)同步頭的檢測(cè),以及奇偶位的校驗(yàn),實(shí)現(xiàn)串/并轉(zhuǎn)換。發(fā)送部分實(shí)現(xiàn)的功能是將曼徹斯特碼轉(zhuǎn)換為雙極性不歸零碼(NRZ碼),并且實(shí)現(xiàn)對(duì)同步頭的編碼,實(shí)現(xiàn)狀態(tài)字、數(shù)據(jù)字和命令字的編碼,以及奇偶位的產(chǎn)生,進(jìn)行并/串轉(zhuǎn)換。根據(jù)1553B通訊協(xié)議的規(guī)定,發(fā)送器要嚴(yán)禁發(fā)送大于800微秒的消息。涉及數(shù)字接受器,數(shù)字發(fā)送器和發(fā)送超時(shí)檢測(cè)三部分。①數(shù)字發(fā)送器:該部分即為曼徹斯特碼編碼,它是將單極性不歸零碼轉(zhuǎn)換為單極性的曼徹斯特碼,并且實(shí)現(xiàn)對(duì)同步頭的編碼,以及奇偶位的產(chǎn)生,并對(duì)數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換。②數(shù)字接受器:該部分即為曼徹斯特碼解碼,功能與發(fā)送器剛好相反,是將單極性曼徹斯特碼轉(zhuǎn)換為單極性不歸零碼,同時(shí)實(shí)現(xiàn)對(duì)同步頭的檢測(cè),以及奇偶位校驗(yàn)位檢測(cè),位計(jì)數(shù)檢測(cè),同步時(shí)鐘的提取,以及數(shù)據(jù)的串/并轉(zhuǎn)換。③發(fā)送超時(shí)檢測(cè):在MIL-STD-1553B協(xié)議標(biāo)準(zhǔn)中規(guī)定發(fā)送器要嚴(yán)禁發(fā)送大于800微秒的消息。本模塊就是對(duì)發(fā)送器進(jìn)行計(jì)時(shí)控制,當(dāng)發(fā)送器發(fā)送的消息時(shí)間大于800微秒時(shí),它就關(guān)斷發(fā)送器。(3)總線協(xié)議解決模塊:實(shí)現(xiàn)命令字、狀態(tài)字以及方式命令譯碼,進(jìn)行RT地址比較,子地址比較,進(jìn)行命令字、狀態(tài)字和方式命令譯碼,進(jìn)行錯(cuò)誤檢測(cè)及發(fā)送中斷信號(hào)等。并要為其余模塊發(fā)送相應(yīng)控制量,實(shí)現(xiàn)對(duì)總線接口的控制。涉及命令字/狀態(tài)字譯碼及數(shù)據(jù)控制,地址控制,檢錯(cuò)控制,命令字發(fā)送及狀態(tài)字設(shè)立,發(fā)送器控制等幾部分。①命令字/狀態(tài)字譯碼及命令字發(fā)送控制部分:該模塊實(shí)現(xiàn)的功能是在BC工作方式下發(fā)送命令字,且在BC/RT/MT三種工作模式下對(duì)命令字或狀態(tài)字進(jìn)行譯碼,產(chǎn)生相應(yīng)的控制信號(hào)實(shí)現(xiàn)對(duì)其他模塊的控制,如對(duì)地址控制部分,檢錯(cuò)控制部分,命令字發(fā)送/狀態(tài)字設(shè)立部分,以及發(fā)送器控制部分等,本部分是接口芯片的一個(gè)核心部分。②地址控制部分:該模塊實(shí)現(xiàn)對(duì)各工作方式下輸入雙口RAM的地址的控制以及讀寫使能。涉及地址變換和地址選擇兩部分。③檢錯(cuò)控制部分:該模塊用于檢測(cè)消息傳輸過程中發(fā)生的錯(cuò)誤,涉及字計(jì)數(shù)檢測(cè)及RT響應(yīng)超時(shí)檢測(cè),并且根據(jù)其它模塊檢測(cè)到的RT地址錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤和位計(jì)數(shù)錯(cuò)誤等產(chǎn)生中斷信號(hào)[17]。④狀態(tài)字設(shè)立部分:該模塊實(shí)現(xiàn)RT工作方式下的返回狀態(tài)字設(shè)立,及對(duì)狀態(tài)字和當(dāng)前命令字和上一命令字進(jìn)行存儲(chǔ),以備方式命令的消息方式的實(shí)現(xiàn)。⑤發(fā)送器控制模塊:針對(duì)不同的工作方式的所需要發(fā)送的數(shù)據(jù)的選擇。⑥時(shí)鐘產(chǎn)生:對(duì)外部輸入時(shí)鐘進(jìn)行解決產(chǎn)生不同頻率的時(shí)鐘。它實(shí)質(zhì)上是一個(gè)計(jì)數(shù)器,對(duì)外部輸入時(shí)鐘進(jìn)行分頻解決。(4)主解決器接口部分:實(shí)現(xiàn)主解決機(jī)與總線接口互換信息的功能,通過共享RAM來實(shí)現(xiàn)。涉及并行通信接口、串行通信接口、存儲(chǔ)器接口和雙端口RAM。其中每部分的具體功能如下:①存儲(chǔ)器接口:它事實(shí)上是一個(gè)隔離器,對(duì)外部子系統(tǒng)解決器和總線接口芯片對(duì)雙口RAM進(jìn)行訪問的信號(hào)進(jìn)行解決,它不允許兩者同時(shí)對(duì)雙口RAM進(jìn)行讀或者寫,當(dāng)兩者同時(shí)讀或?qū)憰r(shí),進(jìn)行相應(yīng)控制,規(guī)定兩者的訪問優(yōu)先級(jí)。②雙口RAM:它是整個(gè)芯片的數(shù)據(jù)存儲(chǔ)區(qū),用以存儲(chǔ)不同工作方式下的各類字,是傳輸消息的內(nèi)容數(shù)據(jù),也是解決器與總線接口芯片通信的數(shù)據(jù)互換媒介[18]。③并行通信控制接口:該部分重要實(shí)現(xiàn)總線接口芯片與主解決器并行通信。④串行通信接口:該部分即為了實(shí)現(xiàn)總線接口芯片的串行通信,在FPGA中嵌入U(xiǎn)ART(通用異步收發(fā)器),可以與具有UART的通信接口部件相連接,例如通過RS232總線與PC機(jī)進(jìn)行串行通信。3.3總線接口寄存器模塊功能接口寄存器是以控制和狀態(tài)寄存器來實(shí)現(xiàn)的,重要有以下幾個(gè)寄存器:遠(yuǎn)程終端命令字寄存器:RT模式下,存儲(chǔ)接受到的所有命令字和方式指令字。接受命令字寄存器:只在RT的模式下使用,信息完整的接受后,命令字會(huì)從遠(yuǎn)程終端命令字寄存器送入此寄存器[18]。第一命令字寄存器:存放BC要發(fā)送的命令字,或者存放RT一>RT傳輸?shù)牡谝粋€(gè)命令字。矢量字/第二命令字/方式指令數(shù)據(jù)寄存器:在BC模式下,可以存放RT一>RT傳輸時(shí)的第二個(gè)命令字或者方式指令需要的數(shù)據(jù)字;在RT模式下,存放方式指令提取的矢量字。第一狀態(tài)字寄存器:存放RT返回的狀態(tài)字,或者是RT一>RT模式下RT返回的第一個(gè)狀態(tài)字。同步/第二狀態(tài)字/返回方式指令數(shù)據(jù)寄存器:在BC模式下,此寄存器既可以存放來自RT一>RT模式下傳輸?shù)牡诙€(gè)狀態(tài)字也可以存放來自RT的方式指令返回字:RT模式下,作為存放帶數(shù)據(jù)字的方式指令字的數(shù)據(jù)字的寄存器。操作寄存器:子系統(tǒng)用來控制總線接口的寄存器。配置整個(gè)接口的功能選擇。方式指令寄存器:RT接受到的方式指令[14]。41553B總線接口具體設(shè)計(jì)與實(shí)現(xiàn)4.1總線BC功能總線控制器BC是1553B總線上唯一可以發(fā)起和終止消息傳輸任務(wù)的終端。一條總線上只可以存在一個(gè)總線控制器,它是1553B總線的指揮和調(diào)度者。其重要功能是,向系統(tǒng)中的遠(yuǎn)程終端發(fā)出指令,控制終端的行為。涉及發(fā)送廣播指令,模式代碼(modecode)指令;普通發(fā)送數(shù)據(jù)指令,普通接受數(shù)據(jù)指令。作為總線控制器,要實(shí)現(xiàn)的任務(wù)涉及:(1)數(shù)據(jù)字的對(duì)的接受:涉及接受器,同步檢出,數(shù)據(jù)檢出,曼徹斯特n碼錯(cuò)誤檢出奇偶檢測(cè),位/字計(jì)數(shù);(2)數(shù)據(jù)字的發(fā)送:涉及發(fā)送控制,同步/數(shù)據(jù)編碼,時(shí)鐘產(chǎn)生;(3)字/消息的解決:涉及,a接受部分,計(jì)數(shù)器,狀態(tài)寄存器;b自測(cè)試部分;c主子系統(tǒng)接口部分,控制,數(shù)據(jù)地址,控制寄存器;d存儲(chǔ)器緩沖器部分;e狀態(tài)字譯碼部分,字計(jì)數(shù)辨認(rèn),消息錯(cuò)誤檢出等任務(wù)[18]。作為MILSTD一1553B總線的通用接口應(yīng)完畢以下功能:①將總線上的串行信息流轉(zhuǎn)換成解決機(jī)可以解決的并行信息或者與之相反;②接受或發(fā)送信息時(shí),可以辨認(rèn)或生成標(biāo)準(zhǔn)的1553B信息字和消息;③完畢與解決機(jī)之間的信息互換,這涉及1553B信息地址的分派,命令字(或狀態(tài)字)的譯碼或返回狀態(tài)字、發(fā)送數(shù)據(jù)字等。4.21553B協(xié)議解決器BC功能模塊設(shè)計(jì)4.2模擬收/發(fā)器是BCR/T/MT直接與傳輸電纜接口的關(guān)鍵部件,1553B總線采用的是雙相碼中的曼徹斯特碼,自身包含了自定期的信息,同時(shí)它能與變壓器禍合協(xié)調(diào),十分適宜用于變壓器禍合形式,電纜長(zhǎng)度為500英尺左右航電綜合系統(tǒng)中。簡(jiǎn)要的說就是將雙電平曼徹斯特碼轉(zhuǎn)化為單電平曼徹斯特碼,以及將單電平曼徹斯特碼轉(zhuǎn)化為雙電平曼徹斯特碼。4.2總線接口的每一種類型的終端的設(shè)計(jì)都涉及模擬收發(fā)器、總線接口模塊、總線控制模塊、解決機(jī)接口模塊四部分,都需要完畢字解決和消息解決,而BC是總線上唯一被安排為執(zhí)行建立和啟動(dòng)數(shù)據(jù)傳輸任務(wù)的終端,被指派啟動(dòng)數(shù)據(jù)總線上信息傳輸任務(wù)的終端。針對(duì)BC功能,其FPGA部分的邏輯結(jié)構(gòu)如圖4.1示。時(shí)鐘產(chǎn)生模塊時(shí)鐘產(chǎn)生模塊地址控制存儲(chǔ)器接口并行通信接口外部時(shí)鐘地址控制存儲(chǔ)器接口并行通信接口發(fā)送命令字串行通信接口外部控制信號(hào)發(fā)送命令字串行通信接口數(shù)字接受器雙口RAM數(shù)字接受器雙口RAM狀態(tài)字譯碼/接受數(shù)據(jù)字狀態(tài)字譯碼/接受數(shù)據(jù)字發(fā)生器控制發(fā)生器控制數(shù)字發(fā)送器發(fā)送超時(shí)監(jiān)測(cè)數(shù)字發(fā)送器發(fā)送超時(shí)監(jiān)測(cè)檢錯(cuò)控制檢錯(cuò)控制圖4.1總線控制器內(nèi)部結(jié)構(gòu)圖下面將結(jié)構(gòu)圖中的各小模塊進(jìn)行設(shè)計(jì)說明。4.2.3消息發(fā)送器在BC模式下,需要涉及到發(fā)送指令文字,所以發(fā)送消息控制模塊根據(jù)工作模式從接口寄存器中讀取相應(yīng)的指令字,從而判斷消息傳輸模式是否帶數(shù)據(jù)字等。然后控制發(fā)送單元將指令字和數(shù)據(jù)字發(fā)送出去。BC在發(fā)送命令字的同時(shí)也對(duì)發(fā)出的命令字進(jìn)行譯碼,涉及提取RT地址,以及要發(fā)送數(shù)據(jù)字的個(gè)數(shù),來產(chǎn)生控制信號(hào)提供應(yīng)其他模塊。在RT模式只需要發(fā)送狀態(tài)字、數(shù)據(jù)字和方式指令數(shù)據(jù)碼,數(shù)據(jù)字計(jì)數(shù)需要從命令字的字計(jì)數(shù)字段提取,方式指令數(shù)據(jù)碼是BC通過方式指令字讀取的RT狀態(tài),涉及上一狀態(tài)字、上一命令字、矢量字等。Moore型有限狀態(tài)機(jī)的輸出只與有限狀態(tài)機(jī)的當(dāng)前狀態(tài)有關(guān),與輸入信號(hào)的當(dāng)前值無關(guān)。在圖4.2中描述了Moore型有限狀態(tài)機(jī)的示意圖.statelogicoutputlogicstateregisterinput state outputstatelogicoutputlogicstateregister currentstateclokreset圖4.2Moore型有限狀態(tài)機(jī)示意圖Moore型有限狀態(tài)機(jī)在時(shí)鐘clock脈沖的有效邊沿后的有限個(gè)門延時(shí)后,輸出達(dá)成穩(wěn)定值。即使在一個(gè)時(shí)鐘周期內(nèi)輸入信號(hào)發(fā)生變化,輸出也會(huì)在一個(gè)完整的時(shí)鐘周期內(nèi)保持穩(wěn)定值而不變。輸入對(duì)輸出的影響要到下一個(gè)周期才干反映出來,Moore型有限狀態(tài)機(jī)最重要的特點(diǎn)就是將輸入與輸出信號(hào)隔離開來。單進(jìn)程Moore型有限狀態(tài)機(jī),其VHDL語(yǔ)言描述如下: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;其特點(diǎn)是組合進(jìn)程和時(shí)序進(jìn)程在同一個(gè)進(jìn)程中,此進(jìn)程可以認(rèn)為是一個(gè)混合進(jìn)程。注旨在此進(jìn)程中,CASE語(yǔ)句處在測(cè)試時(shí)鐘上升沿的ELSIF語(yǔ)句中,因此在綜合時(shí),對(duì)Q的賦值操作必然引進(jìn)對(duì)Q鎖存的鎖存器。這就是說,此進(jìn)程中能產(chǎn)生兩組同步的時(shí)序邏輯電路,一組是狀態(tài)機(jī)自身,另一組是由CLK作為鎖存信號(hào)的4位鎖存器,負(fù)責(zé)鎖存輸出數(shù)據(jù)Q。與多進(jìn)程的狀態(tài)機(jī)相比,這個(gè)狀態(tài)機(jī)結(jié)構(gòu)的優(yōu)勢(shì)是,輸出信號(hào)不會(huì)出現(xiàn)毛刺現(xiàn)象。這是由于Q的輸出信號(hào)在下一個(gè)狀態(tài)出現(xiàn)時(shí),由時(shí)鐘上升沿鎖入鎖存器后輸出,即有時(shí)序器件同步輸出,從而很好地避免了競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象。從輸出的時(shí)序上看,由于Q的輸出信號(hào)要等到進(jìn)入下一狀態(tài)的時(shí)鐘信號(hào)的上升沿進(jìn)行鎖存,即Q的輸出信號(hào)在當(dāng)前狀態(tài)中由組合電路產(chǎn)生,而在穩(wěn)定了一個(gè)時(shí)鐘周期后在次態(tài)由鎖存器輸出,因此要比多進(jìn)程狀態(tài)機(jī)的輸出晚一個(gè)時(shí)鐘周期,這是此類狀態(tài)機(jī)的缺陷。圖4.3單進(jìn)程Moore狀態(tài)機(jī)的工作時(shí)序圖:圖4.3單進(jìn)程Moore型狀態(tài)機(jī)的工作時(shí)序4.2.41:I/O寫寄存器寄存器的寫操作VHDL語(yǔ)言描述如下:write:proeess(strb,wr)FPGA的I/O端口進(jìn)程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信號(hào)為低電平時(shí)分別對(duì)I/O端口1F,lE,1D都進(jìn)行了寫操作。圖4.4I/O接口寫操作2:I/O讀寄存器讀寄存器的VHDL實(shí)現(xiàn)如下:read:process(strb,rd)讀FPGA的I/O進(jìn)程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計(jì)數(shù)器單元的功能是實(shí)現(xiàn)一個(gè)4~12微妙的計(jì)數(shù)器,如圖4.5所示。該計(jì)數(shù)器的輸入信號(hào)有:(l)clock32m,32兆赫茲的時(shí)鐘輸入信號(hào);(2)timerstart,計(jì)數(shù)器啟動(dòng)信號(hào);TIMRERDATAIN[8…0]CLOCKDATAIN[8…0]CLOCK32MTIMERSTARTTIMERCLRSUPERTIMEATIMERCTLCLOCK32MTIMERSTART TIMERRORTIMERCLRTIMERCTL圖4.5計(jì)數(shù)器方框圖(3)timerclr,計(jì)數(shù)器清零信號(hào);(4)timerctl,計(jì)數(shù)器控制信號(hào),當(dāng)該端口收到一個(gè)高脈沖時(shí),表達(dá)F206要寫入新的計(jì)數(shù)值,該計(jì)數(shù)值由F206通過I/O地址ID寫入FPGA的寄存器timerword;計(jì)數(shù)器收到該信號(hào)后,就會(huì)把新的計(jì)數(shù)值裝入計(jì)數(shù)周期單元中,該值由用戶自己定義大小,它的取值范圍M為:4微妙12微妙計(jì)數(shù)器的時(shí)鐘周期計(jì)數(shù)器的時(shí)鐘周期可算得,128384之間;(5)datain[0..8]這9位數(shù)據(jù)線是寫入計(jì)數(shù)周期的數(shù)據(jù)輸入;(6)timererror,它是一個(gè)輸出信號(hào),高脈沖表達(dá)計(jì)數(shù)器超時(shí)錯(cuò)誤(超過了timerword的值的大小)。在收到一個(gè)timerstart信號(hào)后,計(jì)數(shù)器開始計(jì)數(shù),只要中間過程中沒收到清零信號(hào),當(dāng)計(jì)數(shù)值到達(dá)timerword以后,就會(huì)在timererror輸出一個(gè)電平,該輸出會(huì)告知中斷單元發(fā)送一個(gè)超時(shí)中斷給F206。下面是產(chǎn)生timererror信號(hào)的VHDL語(yǔ)言描述:eounter:proeess(eloek32m)——計(jì)數(shù)進(jìn)程beginif(cloek32m=’l’)then——計(jì)數(shù)器時(shí)鐘信號(hào)if(timercl=’1’)then——timereontervalue<=imerword;——假如清零則把計(jì)數(shù)最大值timerword裝入elsif(starttime=’1’)then——timercontervalue<=timercontervalue+1;——每一個(gè)loek32m時(shí)鐘到后計(jì)數(shù)值加—if(timereontervalue>=timerword)then——判斷計(jì)數(shù)值是否大于最大值timerwordtimererror<=’1’;——timercontervalue<=0:——計(jì)數(shù)值清零elsetimererror<=’1’;——endif;endif;endif;endprocess;4.2.6MIL-STD-1553B總線為軍用總線,廣泛運(yùn)用于航空電子綜合系統(tǒng)中,1553B總線自身在兼顧實(shí)時(shí)性的條件下,采用了合理的差錯(cuò)控制措施即反饋重傳糾錯(cuò)(ARQ)方法來保證數(shù)據(jù)傳輸?shù)目煽啃?。而總線接口是實(shí)現(xiàn)航空電子綜合化系統(tǒng)的關(guān)鍵部件,重要完畢總線的信息綜合,資源共享,任務(wù)協(xié)調(diào)和容錯(cuò)重構(gòu)。航空電子系統(tǒng)對(duì)于可靠性的規(guī)定嚴(yán)格,所以對(duì)于MIL-STD-1553B總線接口的可靠性設(shè)計(jì)就顯得尤為重要。在該總線接口設(shè)計(jì)過程中要保證電路可靠的工作,錯(cuò)誤檢測(cè)是一個(gè)至關(guān)重要的部分,一般要提高系統(tǒng)工作的可靠性要從兩方面出發(fā):硬件和軟件。在硬件上由于數(shù)字電路設(shè)計(jì)中對(duì)于故障的解決可采用冗余技術(shù),將故障的影響掩蓋起來。在本次設(shè)計(jì)中重要從軟件上進(jìn)行可靠性設(shè)計(jì),對(duì)總線上的數(shù)據(jù)進(jìn)行曼徹斯特II型碼字的解碼、采用奇偶校驗(yàn)的方法對(duì)接受的數(shù)據(jù)進(jìn)行編碼檢錯(cuò),同時(shí)涉及系統(tǒng)的時(shí)間范圍規(guī)定如消息間隔和RT響應(yīng)時(shí)間等,以及對(duì)消息進(jìn)行字計(jì)數(shù)檢測(cè)等,這樣可以在增長(zhǎng)少量硬件的基礎(chǔ)上迅速地完畢檢錯(cuò)任務(wù)。該檢錯(cuò)控制模塊分為三部分:字計(jì)數(shù)部分、RT,的響應(yīng)超時(shí)檢測(cè)和中斷信號(hào)產(chǎn)生部分。其間互相聯(lián)系如圖4.6所示。1、字計(jì)數(shù)部分:用于檢測(cè)發(fā)送或接受消息的過程中數(shù)據(jù)字個(gè)數(shù)是否對(duì)的,判斷是否發(fā)送/接受規(guī)定個(gè)數(shù)的數(shù)據(jù)字。工作在BC模式時(shí),根據(jù)來自自身命令字分析模塊的消息類型、加載信號(hào)、數(shù)據(jù)字計(jì)數(shù)值,以及來自編解碼模塊的數(shù)據(jù)發(fā)送/接受完畢信號(hào)、總線上輸入輸出的曼徹斯特碼正反相信號(hào)來控制字計(jì)數(shù)。RT響應(yīng)超時(shí)檢測(cè)RT_ADDRRT地址輸入RT響應(yīng)超時(shí)檢測(cè)RESET復(fù)位信號(hào)‘0’有效CLK12系統(tǒng)時(shí)鐘錯(cuò)誤中斷產(chǎn)生單元MODE模式選擇RTCSRT響應(yīng)超時(shí)信號(hào)錯(cuò)誤中斷產(chǎn)生單元RX/RX_N接受曼徹斯特碼REQ_AYN異步請(qǐng)求信號(hào)TX/TX_N發(fā)送狀態(tài)曼徹斯特碼CODE_ERR 總線碼字錯(cuò)誤信號(hào)PARITY_ERR奇偶校驗(yàn)錯(cuò)誤字計(jì)數(shù)單元字計(jì)數(shù)單元RAERRRT地址錯(cuò)誤STAERR狀態(tài)字錯(cuò)誤位置位T_R當(dāng)前消息類型CNTERR字錯(cuò)誤信號(hào)RX_RDY接受數(shù)據(jù)完畢信號(hào)TX_RDY發(fā)送數(shù)據(jù)完畢信號(hào)CNT數(shù)據(jù)字計(jì)數(shù)值fa發(fā)出中斷INT1LOAD數(shù)據(jù)字技術(shù)加載信號(hào)圖4.6檢錯(cuò)控制部分輸入輸出管腳說明圖該模塊的工作過程如下:由總線上曼徹斯特碼型的正反相信號(hào)來判斷是否正在接受/發(fā)送數(shù)據(jù),再根據(jù)編解碼模塊的接受/發(fā)送完畢反饋信號(hào)RX_RDY、TX_RDY來進(jìn)行計(jì)數(shù),每接受或發(fā)送出一個(gè)有效數(shù)據(jù)相應(yīng)的計(jì)數(shù)信號(hào)減一;在接受時(shí)當(dāng)計(jì)數(shù)器的值減到“0”時(shí),進(jìn)行4us時(shí)間的等待,假如無數(shù)據(jù)輸入則認(rèn)為數(shù)據(jù)個(gè)數(shù)不多于命令字規(guī)定的個(gè)數(shù);若檢測(cè)到4us內(nèi)有數(shù)據(jù)輸入則認(rèn)為數(shù)據(jù)個(gè)數(shù)多于命令字規(guī)定的個(gè)數(shù);當(dāng)計(jì)數(shù)的值不為“0”時(shí),進(jìn)行計(jì)時(shí),假如在4us內(nèi)沒有接受到有效的數(shù)據(jù),就認(rèn)為接受到的數(shù)據(jù)個(gè)數(shù)少于命令字規(guī)定的個(gè)數(shù);當(dāng)發(fā)送時(shí),當(dāng)計(jì)數(shù)器的值減到“0”時(shí),就不再發(fā)送數(shù)據(jù);無論是少于還是多于規(guī)定的數(shù)據(jù)字個(gè)數(shù)均屬于字計(jì)數(shù)錯(cuò)誤,發(fā)送錯(cuò)誤標(biāo)志信號(hào)CNTERR。2、錯(cuò)誤中斷產(chǎn)生部分:錯(cuò)誤中斷產(chǎn)生部分根據(jù)系統(tǒng)中檢測(cè)到的錯(cuò)誤狀態(tài)來進(jìn)行中斷位的置位。涉及各個(gè)其它模塊的異常。如奇偶校驗(yàn)錯(cuò)誤、位計(jì)數(shù)、字計(jì)數(shù)錯(cuò)誤、RT響應(yīng)超時(shí)、狀態(tài)字返回錯(cuò)誤標(biāo)志、RT地址錯(cuò)誤等發(fā)生以及有異步服務(wù)請(qǐng)求時(shí),中斷信號(hào)INT1置“1”。4.2.7FIFO(FirstInFirstOut)全稱是先進(jìn)先出的存儲(chǔ)器。先進(jìn)先出也是FIFO的重要特點(diǎn)。FIFO只允許兩端一個(gè)寫,一個(gè)讀,因此FIFO是一種半共享式存儲(chǔ)器。在雙機(jī)系統(tǒng)中,只允許一個(gè)CPU往FIFO寫數(shù)據(jù),另一個(gè)CPU從FIFO讀數(shù)據(jù)。并且,只要注意標(biāo)志輸出,空指示不寫,滿指示不讀,就不會(huì)發(fā)生寫入數(shù)據(jù)丟失和讀出數(shù)據(jù)無效。雙口RAM和FIFO運(yùn)用多端口存儲(chǔ)器設(shè)計(jì)多機(jī)系統(tǒng)。雙口RAM和FIFO比較如下:(1)FIFO的仲裁控制簡(jiǎn)樸,但其容量不如雙口RAM。由于先進(jìn)先出的特點(diǎn),特別適合數(shù)據(jù)緩沖和突發(fā)傳送數(shù)據(jù)。某些芯片的內(nèi)部就集成小容量FIFO,例如,DSP的同步串口就集成兩個(gè)FIFO,用于接受和發(fā)送數(shù)據(jù)緩沖。雙口RAM的仲裁邏輯比FIFO復(fù)雜,但其容量較大。由于存儲(chǔ)數(shù)據(jù)完全共享,合用于雙機(jī)系統(tǒng)的全局存儲(chǔ)器和大容量數(shù)據(jù)存儲(chǔ)共享,例如大容量磁盤的數(shù)據(jù)緩存可采用雙口RAM。(2)FIFO只給外部提供一個(gè)讀和一個(gè)寫信號(hào),因此CPU用一個(gè)I/O地址便可讀或?qū)慒IFO,使硬件趨于簡(jiǎn)樸,給編程也帶來一些方便,但CPU不能對(duì)FIFO內(nèi)部的存儲(chǔ)器進(jìn)行尋址。雙口RAM由于有兩套地址線,使硬件較FIFO復(fù)雜,但允許CPU訪問內(nèi)部存儲(chǔ)單元,因此CPU之間可以自己定主和分派數(shù)據(jù)塊以及數(shù)據(jù)單元,使軟件設(shè)計(jì)更加靈活。在異種機(jī)系統(tǒng)設(shè)計(jì)中,運(yùn)用雙口RAM和FIFO可以實(shí)時(shí)、快速、靈活和方便地進(jìn)行互相通信,得到滿意的效果。雙口RAMdata-in data-out雙口RAM wr rd數(shù)據(jù)滿標(biāo)志寫地址計(jì)數(shù)器wr-dr數(shù)據(jù)滿標(biāo)志寫地址計(jì)數(shù)器wr-en fullclk數(shù)據(jù)空標(biāo)志讀地址計(jì)數(shù)器rd-clk empty數(shù)據(jù)空標(biāo)志讀地址計(jì)數(shù)器rd-enRST圖4.6RAM讀寫模塊這兩個(gè)數(shù)據(jù)緩沖器是直接面向總線端的,接受緩沖器直接接受來自曼徹斯特解碼器輸出的數(shù)據(jù)字,發(fā)送緩沖器中的數(shù)據(jù)字直接送給曼徹斯特編碼器進(jìn)行編碼發(fā)送。同理,子系統(tǒng)通過FIFO向共享RAM讀寫數(shù)據(jù)也是同樣的流程。RAM讀寫模塊的流程如4.8圖所示:開始開始獲取子地址讀數(shù)據(jù)開獲取子地址讀數(shù)據(jù)開始 是否 否 寫數(shù)據(jù)開始讀取RAM指定地址數(shù)據(jù)送入發(fā)送FIFO寫數(shù)據(jù)開始讀取RAM指定地址數(shù)據(jù)送入發(fā)送FIFO 是獲取子地址 否獲取子地址發(fā)送FIFO內(nèi)數(shù)據(jù)個(gè)數(shù)等于子數(shù)據(jù)發(fā)送FIFO內(nèi)數(shù)據(jù)個(gè)數(shù)等于子數(shù)據(jù)個(gè)數(shù) 讀接受FIFO數(shù)據(jù)寫入RAM讀接受FIFO數(shù)據(jù)寫入RAM 讀收FIFO讀空否 是讀收FIFO讀空讀取數(shù)據(jù)完畢 讀取數(shù)據(jù)完畢 是 寫入數(shù)據(jù)完畢寫入數(shù)據(jù)完畢 結(jié)束結(jié)束 圖4.7讀寫RAM模塊的流程圖4.3BC/RT/MT通用終端設(shè)計(jì)從上面所講的來看,很明顯終端接口可以特定地設(shè)計(jì)為RT、BC或MT單個(gè)類型。但更靈活的終端接口的設(shè)計(jì)也是用戶所希望的,這種終端可以執(zhí)行三種功能中的任何一種(TR,BC,MT)。下面將要講的就是通用終端的功能部件與接口的設(shè)計(jì)。作為MIL-STD-1553B總線的通用接口應(yīng)完畢以下功能:①將總線上的串行信息流轉(zhuǎn)換成解決機(jī)可以解決的并行信息或者與之相反;②接受或發(fā)送信息時(shí),可以辨認(rèn)或生成標(biāo)準(zhǔn)的1553B信息字和消息;③完畢與解決機(jī)之間的信息互換,這涉及1553B信息地址的分派,命令字(或狀態(tài)字)的譯碼或返回狀態(tài)字、發(fā)送數(shù)據(jù)字等[21]。通過對(duì)以上幾點(diǎn)進(jìn)行分析總結(jié)歸納得知,所有要實(shí)現(xiàn)的任務(wù)涉及:(1)數(shù)據(jù)字的對(duì)的接受:涉及接受器,同步檢出,數(shù)據(jù)檢出,曼徹斯特n碼錯(cuò)誤檢出,奇偶檢測(cè),位/字計(jì)數(shù);(2)數(shù)據(jù)字的發(fā)送:涉及發(fā)送控制,同步/數(shù)據(jù)編碼,奇偶產(chǎn)生,時(shí)鐘產(chǎn)生;(3)字/消息的解決:涉及,a接受部分,命令字譯碼,狀態(tài)字譯碼,地址辨認(rèn),方式指令執(zhí)行,字計(jì)數(shù)辨認(rèn),錯(cuò)誤消息檢出;b發(fā)送部分,字計(jì)數(shù),狀態(tài)寄存器;c自測(cè)試部分;d子系統(tǒng)接口控制,數(shù)據(jù)地址,控制寄存器;e存儲(chǔ)器緩沖區(qū)[19]。4.4總線接口系統(tǒng)的綜合與實(shí)現(xiàn)當(dāng)所有模塊完畢代碼編寫且功能仿真對(duì)的無誤后需要對(duì)整個(gè)設(shè)計(jì)進(jìn)行綜合實(shí)現(xiàn),本設(shè)計(jì)在進(jìn)行綜合時(shí)由于所采用的FPGA器件邏輯資源比較豐富而沒有對(duì)面積進(jìn)行過多的約束,只是采用了Altera綜合工具XST的默認(rèn)面積約束。而在進(jìn)行設(shè)計(jì)時(shí),對(duì)這一方面的規(guī)定予以了考慮,采用模塊復(fù)用的方法使整體設(shè)計(jì)占用面積較小。在進(jìn)行時(shí)間約束時(shí),運(yùn)用綜合工具找出了系統(tǒng)的關(guān)鍵途徑,并對(duì)其進(jìn)行了一定的修改,使得系統(tǒng)的最大工作頻率得到了提高,滿足了系統(tǒng)的工作規(guī)定。本設(shè)計(jì)是采用Altera系列中的EP1C3T144C8解決器來實(shí)現(xiàn)的。在完畢對(duì)芯片的綜合后,可以用Altera的可編程邏輯器件開發(fā)工具對(duì)綜合進(jìn)行解決和分析[17]。4.5本章小結(jié)本章是全文的重點(diǎn),它一方面在對(duì)1553B總線接口的功能進(jìn)行具體分析的基礎(chǔ)上,針對(duì)BC/RT/MT三種終端的功能提出了基于FPGA的1553B協(xié)議芯片整體設(shè)計(jì)方案。另一方面在整體設(shè)計(jì)方案的基礎(chǔ)上對(duì)各個(gè)小模塊進(jìn)行仿真實(shí)現(xiàn)功能、設(shè)計(jì)過程以及輸入輸出管腳說明等。然后對(duì)BC/RT/MT通用終端的設(shè)計(jì)進(jìn)行了闡述,交代了工作流程。最后介紹了總線接口系統(tǒng)的綜合與實(shí)現(xiàn)過程。然而,具體的設(shè)計(jì)是否滿足1553B總線傳輸規(guī)定還需要對(duì)整個(gè)設(shè)計(jì)進(jìn)行測(cè)試加以驗(yàn)證,對(duì)于暫時(shí)不能滿足規(guī)定的部分要做進(jìn)一步的調(diào)試。本文將在下一章中專門介紹設(shè)計(jì)的驗(yàn)證及測(cè)試結(jié)果。51553B總線各個(gè)模塊的仿真和測(cè)試5.1協(xié)議芯片測(cè)試系統(tǒng)的系統(tǒng)設(shè)計(jì)上一章具體介紹了基于FPGA的1553B總線接口的設(shè)計(jì),在本章里將重要介紹總線接口芯片測(cè)試系統(tǒng)的設(shè)計(jì)及測(cè)試過程和測(cè)試結(jié)果。由于現(xiàn)成的開發(fā)板無法滿足1553B總線測(cè)試的規(guī)定,因此自行設(shè)計(jì)并制作實(shí)驗(yàn)板來對(duì)上述設(shè)計(jì)進(jìn)行測(cè)實(shí)驗(yàn)證。配置EEPROM配置EEPROM隔離變壓器A電平轉(zhuǎn)換芯片模擬收發(fā)器FPGA隔離變壓器A電平轉(zhuǎn)換芯片模擬收發(fā)器FPGA耦電源及時(shí)鐘電路合電源及時(shí)鐘電路變隔離變壓器B壓隔離變壓器B器FLASHDSPFLASHDSPSDRAMSDRAM圖5.11553B總線接口測(cè)試系統(tǒng)硬件結(jié)構(gòu)圖實(shí)驗(yàn)板采用FPGA+DSP的方式,其硬件結(jié)構(gòu)框圖如圖5.1所示。其中FPGA用來進(jìn)行1553B總線接口芯片的設(shè)計(jì),而DSP則用來模擬外部主解決器對(duì)1553B接口芯片進(jìn)行數(shù)據(jù)的初始化以及測(cè)實(shí)驗(yàn)證等。數(shù)據(jù)信號(hào)流程方面:接受數(shù)據(jù)時(shí)1553B總線上的輸入信號(hào)通過模擬收發(fā)器,進(jìn)入FPGA芯片EP1C3T144C8,在這里完畢數(shù)據(jù)字的同步檢出、數(shù)據(jù)檢出、曼徹斯特II型碼錯(cuò)誤檢出、奇偶校驗(yàn)等協(xié)議解決后的消息數(shù)據(jù)以雙口RAM為媒介通過16位并行數(shù)據(jù)總線送入主解決器進(jìn)行分析解決。在這里,DSP解決器可以對(duì)數(shù)據(jù)進(jìn)行打包或解包解決,即定義一個(gè)協(xié)議使得接受消息數(shù)據(jù)加上包頭和包尾形成幀格式,再發(fā)給子系統(tǒng)。本文的設(shè)計(jì)僅為測(cè)試1553B接口芯片的設(shè)計(jì),并未考慮與子系統(tǒng)的接口,因此DSP只用來做數(shù)據(jù)的讀入讀出驗(yàn)證,并未進(jìn)行消息的解包和打包解決。同理,當(dāng)發(fā)送數(shù)據(jù)時(shí),DSP通過16位數(shù)據(jù)線將數(shù)據(jù)傳輸?shù)紼P1C3T144C8,由FPGA來完畢涉及發(fā)送控制、同步/數(shù)據(jù)編碼、奇偶位產(chǎn)生等功能,從FPGA出來的數(shù)據(jù)通過模擬收發(fā)器后送到數(shù)據(jù)總線上進(jìn)行傳輸。5.1.1模擬收發(fā)器模擬收發(fā)器是BC/RT/MT直接與傳輸電纜接口的關(guān)鍵部件,1553B總線采用的是雙相碼的曼徹斯特碼,自身包含了自定期信息,它能與變壓器耦合相協(xié)調(diào),十分適宜與變壓器耦合的形式,電纜長(zhǎng)度為150米左右的航空電子綜合系統(tǒng)中。模擬收發(fā)器的重要作用是將雙電平的曼徹斯特碼轉(zhuǎn)化為單電平的曼徹斯特碼,以及將單電平的曼徹斯特碼轉(zhuǎn)化為雙電平的曼徹斯特碼。在本設(shè)計(jì)中,模擬收發(fā)器采用國(guó)產(chǎn)芯片JM763M125來實(shí)現(xiàn)。當(dāng)它作為模擬發(fā)送器時(shí),重要是接受曼徹斯特II型單相TTL數(shù)據(jù)并將其轉(zhuǎn)化為差分的相位調(diào)制的雙相1553B總線數(shù)據(jù);同理作為模擬接受器時(shí)重要是將總線上的1553B類型的雙相差分?jǐn)?shù)據(jù)轉(zhuǎn)變?yōu)閱蜗嗟腡TL電平數(shù)據(jù)。其轉(zhuǎn)換波形如圖5.3所示:圖5.2模擬收發(fā)器轉(zhuǎn)換波形圖1553B總線規(guī)定,用作主總線和短接線的電纜都應(yīng)為可屏蔽雙絞線,模擬收發(fā)器可采用變壓器耦合或直接耦合兩種方式來聯(lián)入總線。由于直接耦合不利于終端故障的隔離,因一個(gè)終端故障將導(dǎo)致整個(gè)總線系統(tǒng)的完全癱瘓,所以應(yīng)當(dāng)盡量避免在空中直接耦合短截線的耦合方式,而是采用變壓器耦合的方式,變壓器耦合的短截線長(zhǎng)度理論上不超過6m。假如使用變壓器耦合短截線,則應(yīng)注意如下幾點(diǎn)。(1)耦合變壓器:變壓器耦合結(jié)構(gòu)如圖5.4所示,較高匝數(shù)在短截線的隔離電阻一側(cè)。變壓器輸入阻抗即從圖中B點(diǎn)看去的開路阻抗應(yīng)大于3000歐。(2)故障隔離:隔離電阻應(yīng)以和每個(gè)連接物串聯(lián)的方式接到數(shù)據(jù)電纜上。(3)電纜耦合:所有耦合變壓器和隔離電阻,如前面(1)和(2)規(guī)定,應(yīng)具有連續(xù)的可提供最小為75%覆蓋的屏蔽。該隔離電阻和耦合變壓器應(yīng)以盡也許短的短截線連到干線上。(4)短截線電壓規(guī)定:每條數(shù)據(jù)總線都應(yīng)設(shè)計(jì)成圖上A點(diǎn)的短截線對(duì)于數(shù)據(jù)總線上任一終端的傳輸都有1~14V的線-線、峰-峰電壓幅度。圖5.3用變壓器耦合的數(shù)據(jù)總線接口在本文的設(shè)計(jì)里,隔離變壓器和模擬收發(fā)器分別采用的是BTTC公司的BUS-25679和國(guó)產(chǎn)收發(fā)器芯片JM763M125。隔離變壓器和模擬收發(fā)器的連接圖如圖5.5所示。圖5.4隔離變壓器與模擬收發(fā)器部分電路圖5.1.2FPGA芯片EP1C3T144C現(xiàn)場(chǎng)可編程門陣列(FPGA,F(xiàn)ieldProgrammableGateArray)的出現(xiàn)是超大規(guī)模集成電路(VISI)技術(shù)和計(jì)算機(jī)輔助設(shè)計(jì)(CAD)技術(shù)發(fā)展的結(jié)果。FPGA器件集成度高、體積小,具有通過用戶編程實(shí)現(xiàn)專門應(yīng)用的的功能。它允許電路設(shè)計(jì)者運(yùn)用基于計(jì)算機(jī)的開發(fā)平臺(tái),通過設(shè)計(jì)輸入、仿真、測(cè)試和校驗(yàn),直到達(dá)成預(yù)期的效果。運(yùn)用FPGA可以大大縮短系統(tǒng)的研制周期,減少資金投入。更吸引人的是采用FPGA器件可以將本來的電路板級(jí)產(chǎn)品集成為芯片級(jí)產(chǎn)品,從而減少了功耗,提高了可靠性,同時(shí)還可以很方便的對(duì)設(shè)計(jì)進(jìn)行在線修改。FPGA器件成為研制開發(fā)的抱負(fù)器件,特別適于產(chǎn)品的樣機(jī)開發(fā)和小批量生產(chǎn),因此人們也把FPGA稱為可編程的ASIC??梢詳喽‵PGA在結(jié)構(gòu)、密度、功能、速度和靈活性方面將得到進(jìn)一步的發(fā)展。隨著工藝和結(jié)構(gòu)的改善,F(xiàn)PGA的集成度將進(jìn)一步提高,性能將進(jìn)一步完善,成本將逐漸下降,在現(xiàn)代電子系統(tǒng)設(shè)計(jì)中將起到越來越重要的作用。AlteraCyclone系列FPGA是A1tera公司2023年9月份推出的,基于1.5v,O.13μm工藝,Cyclone是一個(gè)性價(jià)比很高的FPGA系列。其中EPlC3T144是Cyclone系列中的一員,共有2910邏輯單元,59904RAMbits,1個(gè)PLLs,最多有104個(gè)用戶I/O,可以說這款FPGA的資源非常豐富,足夠滿足大型設(shè)計(jì)的需要。本設(shè)計(jì)選用Altera公司的Cyclone系列芯片,芯片型號(hào)為EPlC3T144C8,由于該芯片是Altera公司推出的低價(jià)格、高容量的FPGA,其以較低的價(jià)格、優(yōu)良的特性及豐富的片上資源在實(shí)際應(yīng)用中被廣泛的采用,這些都是其他同類產(chǎn)品無法相比的。1.EPlC3T144C8芯片采用1.5V內(nèi)核電壓,0.33μmSRAM工藝,與其他同類產(chǎn)品相比具有以下特點(diǎn):(1)邏輯資源豐富,邏輯單元(LE)數(shù)量為2910個(gè)。(2)有104個(gè)可用I/O引腳,I/O輸出可以根據(jù)需要調(diào)整驅(qū)動(dòng)能力,并具有壓擺率控制、三態(tài)緩沖、總線保持等功能:整個(gè)器件的I/0引腳分為四個(gè)區(qū),每個(gè)區(qū)可以獨(dú)立采用不同的輸入電壓,并可提供不同電壓等級(jí)的I/0輸出。(3)多電壓接口,支持LVTTL,LVCMOS,LVDS等I/0標(biāo)準(zhǔn)。(4)靈活的時(shí)鐘管理,片內(nèi)配有一個(gè)鎖相環(huán)(PLL)電路,可以提供輸入時(shí)鐘的1~32倍頻或分頻、156~417ps相移和可變占空比的時(shí)鐘輸出,輸出時(shí)鐘的特性可直接在開發(fā)軟件QuartosII6.0里設(shè)定。經(jīng)鎖相環(huán)輸出的時(shí)鐘信號(hào)既可以作為內(nèi)部的全局時(shí)鐘,也可以輸出到片外供其它電路使用。(5)內(nèi)有SignalTap嵌入式邏輯分析器,極大地方便了設(shè)計(jì)者對(duì)芯片內(nèi)部邏輯進(jìn)行檢查,而不需要將內(nèi)部信號(hào)輸出到I/O管腳上。本設(shè)計(jì)對(duì)FPGA芯片的供電采用TI公司LDO電源芯片TPS70448來實(shí)現(xiàn)。它能同時(shí)輸出1.5V的核電壓和3.3V的I/O電壓以及輔助電壓,并且具有POR(PowerOnReset)功能,非常適合對(duì)與多種電壓輸入的芯片如FPGA、DSP等供電。TPS70448供電部分的電路圖如圖5.6所示:圖5.5FPGA供電芯片TPS70448電路圖5.1.3FPGA下載電路Altera器件的編程連接硬件涉及:ByteBlaster并口下載電纜、ByteBlasterMV并口下載電纜、MasterBlaster串口/USB通信電纜、BitBlaster串口下載電纜。本設(shè)計(jì)采用了ByteBlasterMV串口口下載電纜[1]。ByteBlasterMV串口下載電纜采用兩種下載模式:被動(dòng)串行模式和JTAG仿真下載模式。如表5.1所示。表5.1FPGA器件的下載模式為了運(yùn)用ByteBlasterMV并口下載電纜配置1.5VCyclone系列EPlC3T144,3.3V電源中應(yīng)當(dāng)連接上拉電阻,電纜的VCC腳連接到3.3V電源,而器件的VCCINT引腳連到相應(yīng)的1.5V電源。對(duì)于PS配置,器件的VCCIO引腳必須連到2.5V或3.3V電源。對(duì)于JTAG在線配置和在線編程,電纜的VCC引腳必須連接3.3V電源。ByteBlasterMV并口下載電纜與PC機(jī)相連的是25針插頭,與PCB電路板相連的是10針插座。數(shù)據(jù)從PC機(jī)并口通過ByteBlasterMV并口電纜下載到電路板。FPGA芯片的主串模式配置電路圖如圖5.6所示圖5.6采用主串模式對(duì)FPGA進(jìn)行配置電路圖5.2實(shí)驗(yàn)結(jié)果分析5.2.1BC是總線上啟動(dòng)消息傳輸任務(wù)的終端,所有的消息傳輸都是由BC發(fā)出命令字來開始的。下面給出幾種典型的消息傳輸格式的仿真圖。圖5.7為BC發(fā)送給RT地址7的接受命令3823H,接受數(shù)據(jù)字個(gè)數(shù)為3,數(shù)據(jù)存儲(chǔ)在雙口RAM的224、225、226地址空間。RT在接受到命令字和數(shù)據(jù)字之后,返回狀態(tài)字,BC對(duì)的接受狀態(tài)字后,消息傳送完畢。圖5.7BC向RT傳輸接受數(shù)據(jù)命令格式的仿真圖5.3本章小結(jié)本章一方面介紹了基于FPGA的1553B協(xié)議芯片測(cè)試系統(tǒng)的硬件構(gòu)成,對(duì)其中的關(guān)鍵器件如模擬收發(fā)器、FPGA芯片、DSP芯片等進(jìn)行了簡(jiǎn)樸的說明。然后重點(diǎn)交代了BC/RT/MT三種終端模式下的時(shí)序仿真過程,對(duì)1553B常見的幾種消息傳輸格式進(jìn)行了仿真驗(yàn)證并給出了仿真結(jié)果。章節(jié)最后通過兩塊實(shí)驗(yàn)板對(duì)接來傳輸消息的方式對(duì)整體設(shè)計(jì)進(jìn)行了實(shí)際硬件測(cè)試,通過示波器觀測(cè)到的總線上對(duì)的的波形來驗(yàn)證了設(shè)計(jì)的對(duì)的性,同時(shí)也說明本文的設(shè)計(jì)方案是合理的,可行的。6總結(jié)及后期展望6.1論文總結(jié)在柴老師的耐心指導(dǎo)下,通過半個(gè)學(xué)期的努力,對(duì)基于FPGA的MIL-STD-1553B航空總線接口控制系統(tǒng)有了一些了解,并進(jìn)行了較為淺入的學(xué)習(xí)和研究,在研究了總線接口協(xié)議的基礎(chǔ)上,成功地完畢了基于FPGA的1553B總線接口系統(tǒng)的設(shè)計(jì),在驗(yàn)證方面,達(dá)成了前后仿真一致,并完畢了系統(tǒng)的綜合、布局布線。最后自行設(shè)計(jì)了硬件測(cè)試電路板,完畢了總線接口系統(tǒng)的測(cè)試與驗(yàn)證。本文采用自主設(shè)計(jì)體系結(jié)構(gòu)的技術(shù)路線,運(yùn)用自上而下的設(shè)計(jì)方法進(jìn)行設(shè)計(jì),在此基礎(chǔ)上完畢了1553B總線BC接口的VHDL設(shè)計(jì)、系統(tǒng)的綜合/仿真及FPGA實(shí)現(xiàn)。通過測(cè)試與驗(yàn)證,該設(shè)計(jì)具有一定的通用性,它的邏輯只涉及到接口自身,與外部解決器的接口十分簡(jiǎn)樸。并且由于選用的器件資源比較豐富,對(duì)以后進(jìn)行功能的添加也十分的方便。在設(shè)計(jì)的最后針對(duì)器件進(jìn)行再一次的優(yōu)化,這樣縮短了設(shè)計(jì)周期,提高了系統(tǒng)性能,并且大大提高了芯片的資源運(yùn)用率。此方案初步達(dá)成用戶規(guī)定,其結(jié)構(gòu)緊湊,具有高性能、高靈活性等特點(diǎn),具有很大的開發(fā)應(yīng)用前景。雖然畢業(yè)設(shè)計(jì)未能取得所有的成功,但是無論是對(duì)于我的制作和思考能力上都有獲得了豐富的經(jīng)驗(yàn)。我深刻的知道要想所有完畢我的這個(gè)畢設(shè)項(xiàng)目需要很豐富的知識(shí),思考和動(dòng)手能力等等,但我不氣餒畢竟畢業(yè)設(shè)計(jì)對(duì)于我們這樣初生牛犢的學(xué)生來說本來就是一個(gè)難得的將理論與實(shí)際相結(jié)合的鍛煉機(jī)會(huì)。通過對(duì)航空總線控制地設(shè)計(jì),我學(xué)到了對(duì)以往知識(shí)的總結(jié)和應(yīng)用,同時(shí)也鍛煉了我綜合運(yùn)用所學(xué)專業(yè)基礎(chǔ)知識(shí)解決實(shí)際問題的能力,提高了我查閱文獻(xiàn)資料、設(shè)計(jì)手冊(cè)、設(shè)計(jì)規(guī)范以及電腦制圖等其他專業(yè)能力水平。并且通過對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌解決,也使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富,并且意志品質(zhì)力,抗壓能力及耐力也都得到了不同限度的提高。6.2后期展望隨著越是對(duì)本畢業(yè)設(shè)計(jì)課題的進(jìn)一步的了解,越是發(fā)現(xiàn)里面的內(nèi)容和要研究的方案需要很強(qiáng)的理論基礎(chǔ)和很強(qiáng)的動(dòng)手能力。縱觀我的大體設(shè)計(jì)系統(tǒng)圖,對(duì)于BC功能的設(shè)計(jì)其中是很復(fù)雜的,為此對(duì)于我一名本科生無疑是一項(xiàng)巨作。所以我在投入我大量的時(shí)間和力所能及的能力上我只對(duì)BC功能,F(xiàn)PGA的1553B協(xié)議解決器中有將近13個(gè)模塊簡(jiǎn)樸地制作出了7個(gè)模塊,其中尚有一些小細(xì)節(jié)的環(huán)節(jié)還沒來得及完善和簡(jiǎn)化。所以由于時(shí)間,能力等等各種條件的約束下,我只可以做出了這么多。對(duì)于設(shè)計(jì)的最終結(jié)果就是設(shè)計(jì)預(yù)留工作方式選擇信號(hào)及控制信號(hào),以可將總線控制器、遠(yuǎn)程終端接口、總線監(jiān)視器結(jié)合起來以達(dá)成通用航空總線接口的功能。完畢相應(yīng)的硬件描述語(yǔ)言程序最后經(jīng)綜合和仿真驗(yàn)證后,在特定的FPGA中實(shí)現(xiàn)。每個(gè)子模塊都可以實(shí)現(xiàn)仿真,且能實(shí)現(xiàn)BC功能的所有運(yùn)轉(zhuǎn),實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接受最后連接到遠(yuǎn)程終端和監(jiān)控器上實(shí)現(xiàn)整個(gè)過程的運(yùn)作,希望下屆的學(xué)弟們能繼續(xù)完畢我這未完畢的巨作。參考文獻(xiàn)[1].百度文庫(kù)[2].李文軍,邰炳昌.飛機(jī)MIL-STD-1553B總線的測(cè)試系統(tǒng)[J].飛機(jī)設(shè)計(jì),2023.[3].ArmstrongJ.R,GrayF.G.VHDLDesignRepresentationandSynthesis.PrenticeHall,2023.[4].吳勇,朱建民等.航電綜合化系統(tǒng)總線接口板研究設(shè)計(jì)[J].火力與指揮控制.2023.[5].解傳軍,王海濱.基于FPGA的航空總線協(xié)議接口設(shè)計(jì)[J].電子設(shè)計(jì)工程,2023.[6].Altera公司.QUARTUSIIGettingstarted.2023.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出口家具企業(yè)合同標(biāo)準(zhǔn)文本
- 代理股權(quán)轉(zhuǎn)讓合同標(biāo)準(zhǔn)文本
- 個(gè)人抵押合同標(biāo)準(zhǔn)文本6
- 冰塊合同標(biāo)準(zhǔn)文本
- 分銷合同標(biāo)準(zhǔn)文本 天客
- 借款買車位合同標(biāo)準(zhǔn)文本
- 中藥買賣合同范本
- 出口代理收費(fèi)合同標(biāo)準(zhǔn)文本
- 預(yù)防流感病毒課件
- 娛樂產(chǎn)業(yè)未來趨勢(shì)虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)的應(yīng)用
- 2025年池州職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2024年人民防空知識(shí)競(jìng)賽題庫(kù)及答案(50題)
- 房地產(chǎn)市場(chǎng)報(bào)告 -銳理2024年成都房地產(chǎn)市場(chǎng)年報(bào) 20250110
- 中國(guó)新聞社招聘考試試卷及答案2022
- 成都中考二診數(shù)學(xué)試卷
- 水泵故障分析報(bào)告
- 印刷企業(yè)安全培訓(xùn)
- 社區(qū)獨(dú)居老人項(xiàng)目計(jì)劃書
- 《分解因式-十字相乘法》課件
- 小學(xué)語(yǔ)文閱讀培訓(xùn)知識(shí)課件
- 《MATLAB編程及應(yīng)用》全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論