版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 題目: 基于FPGA的曼徹斯特編碼器的設(shè)計(jì)</p><p> 系 別 信息工程系</p><p> 專(zhuān)業(yè)名稱(chēng) 電子信息工程</p><p> 班級(jí)學(xué)號(hào) <
2、;/p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p><p> 二O一一 年 六月 </p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)</p><p> 信息工程 系 電子信息工程 專(zhuān)業(yè)類(lèi) 0782052 班</p
3、><p> 學(xué)生(簽名): </p><p> 填寫(xiě)日期: 2010 年 11 月 20 日</p><p> 指導(dǎo)教師(簽名): </p><p> 助理指導(dǎo)教師(并指出所負(fù)責(zé)的部分):</p><p><b> 系主任(簽名):</b></
4、p><p> 附注:任務(wù)書(shū)應(yīng)該附在已完成的畢業(yè)設(shè)計(jì)說(shuō)明書(shū)首頁(yè)。</p><p> 學(xué)士學(xué)位論文原創(chuàng)性聲明</p><p> 本人聲明,所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立完成的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含法律意義上已屬于他人的任何形式的研究成果,也不包含本人已用于其他學(xué)位申請(qǐng)的論文或成果。對(duì)本文的研究作出重要貢獻(xiàn)的個(gè)人和集體,均已在文中
5、以明確方式表明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。</p><p> 作者簽名: 日期: 年 月 日</p><p> 學(xué)位論文版權(quán)使用授權(quán)書(shū)</p><p> 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和
6、借閱。本人授權(quán)南昌航空大學(xué)科技學(xué)院可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。</p><p> 作者簽名: 日期:</p><p> 導(dǎo)師簽名: 日期:</p><p> 基于FPGA的曼徹斯特編碼器的設(shè)計(jì)&
7、lt;/p><p> 摘要:電子技術(shù)與航空產(chǎn)業(yè)飛速發(fā)展,已成為我國(guó)支柱產(chǎn)業(yè)之一。我國(guó)政府高度重視航空航天產(chǎn)業(yè)發(fā)展,“十二五”期間將進(jìn)一步加大政府支持力度,促進(jìn)航空航天產(chǎn)業(yè)快速發(fā)展。在飛機(jī)制造中,航空電子系統(tǒng)是其中重要的組成部分,而航空電子系統(tǒng)中數(shù)據(jù)總線是關(guān)鍵技術(shù)之一。</p><p> 11553B作為一種通用的軍事標(biāo)準(zhǔn)協(xié)議,它對(duì)數(shù)據(jù)總線的電氣和協(xié)議特性進(jìn)行嚴(yán)格的規(guī)范和約束,現(xiàn)已廣泛運(yùn)用于
8、航空電子綜合系統(tǒng)。該標(biāo)準(zhǔn)對(duì)航空飛機(jī)所需的數(shù)字/命令/響應(yīng),分時(shí)復(fù)用等數(shù)字總線技術(shù)提出了一系列的要求,其中包括數(shù)據(jù)總線的傳輸和協(xié)議格式。</p><p> 本文首先對(duì)FPGA和曼徹斯特編碼相關(guān)原理進(jìn)行概述,尤其是航空數(shù)據(jù)總線MIL-STD-1553B。其次是對(duì)其系統(tǒng)組成的介紹,本次設(shè)計(jì)主要包括兩大部分,并串轉(zhuǎn)換器、曼徹斯特編碼器。最后著重講述該系統(tǒng)在quartusⅡ 軟件下的運(yùn)行和仿真。1553B總線協(xié)議中對(duì)傳輸
9、的字類(lèi)型進(jìn)行了規(guī)范和分類(lèi):分別是命令字、狀態(tài)字和數(shù)據(jù)字。本次論文的設(shè)計(jì)主要著重于該協(xié)議總線接口內(nèi)部的曼徹斯特碼編碼器,作為總線接口的重要組成部分,曼徹斯特編碼器擔(dān)負(fù)著碼型編寫(xiě)、奇偶校驗(yàn)等重要任務(wù),使數(shù)據(jù)能夠以1553B所定義的標(biāo)準(zhǔn)形式在數(shù)據(jù)總線中進(jìn)行傳輸。</p><p> 關(guān)鍵詞:FPGA,曼徹斯特編碼,1553B總線,串并轉(zhuǎn)換</p><p><b> 指導(dǎo)老師簽字:&l
10、t;/b></p><p> Design of Manchester Encoder Based on FPGA</p><p> Abstract: Electronics and Aviation technology industry developed rapidly. Our country attaches great importance to the devel
11、opment of aerospace industry.In the period of Twelfth of Five-Year government will support further increase Aviation, it will Promote the rapid development of the aerospace industry.In aircraft manufacturing,Avionics Sys
12、tem is an important part of the Aviation.The avionics system is the key technology of data bus. </p><p> 1553B takes one kind of military standard,it has carried on the strict standard and the restraint to
13、the electricity and the protocol characteristic of data bus,and it has already widely used in the aviation electron system.This standard propose a series of requests to the digital bus technology which are obligatory to
14、the aviation airplane numeraI/Order/response,time sharing multiple use,including data bus information flow and function format.</p><p> This article first introduces about the FPGA and Manchester Encoder,e
15、specially MIL-STD-1553B.Next is the introduction of its two composition unit,It including String and convert and Manchester Encoder.Fhen the one that told emphatically is quartusⅡof Operation and Simulation,in the1553B
16、39;s protocol,the word types which transmitted in the 1553B bus has carried on the standard classification,they are the order word、the status word and the data word.the design for this paper mainly emphatically in t</
17、p><p> Keywords: FPGA, Manchester Encoder, 1553B, String and convert</p><p> Signature of Supervisor: </p><p><b> 目 錄</b></p><p><b> 1 緒論</b>
18、;</p><p> 1.1選題的依據(jù)和意義1</p><p> 1.2項(xiàng)目研究?jī)?nèi)容和任務(wù)1</p><p> 1.3論文內(nèi)容及結(jié)構(gòu)2</p><p> 2 FPGA原理及開(kāi)發(fā)工具</p><p> 2.1 FPGA原理3</p><p> 2.2 QuartusⅡ及開(kāi)發(fā)語(yǔ)言
19、4</p><p> 3 曼徹斯特編碼原理</p><p> 3.1 1553B數(shù)據(jù)總線8</p><p> 3.2 曼徹斯特編碼原理10</p><p><b> 4 系統(tǒng)總體設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)設(shè)計(jì)要求11</p><p>
20、4.2 系統(tǒng)設(shè)計(jì)思路11</p><p> 4.3 系統(tǒng)設(shè)計(jì)框圖12</p><p><b> 5 系統(tǒng)模塊設(shè)計(jì)</b></p><p> 5.1 并串轉(zhuǎn)換器的設(shè)計(jì)13</p><p> 5.2 曼徹斯特編碼器設(shè)計(jì)14</p><p> 6系統(tǒng)仿真及結(jié)果分析</p>
21、<p> 6.1 并串轉(zhuǎn)換器仿真及結(jié)果分析19</p><p> 6.2曼徹斯特編碼器仿真及結(jié)果分析26</p><p> 6.3系統(tǒng)總體仿真及結(jié)果分析29</p><p> 7 結(jié)論及展望34</p><p><b> 參考文獻(xiàn)35</b></p><p><
22、;b> 致謝36</b></p><p><b> 附錄A37</b></p><p><b> 附錄B41</b></p><p> 基于FPGA的曼徹斯特編碼器的設(shè)計(jì)</p><p><b> 1 緒論 </b></p>
23、<p> 1.1選題的依據(jù)和意義</p><p> 航空航天產(chǎn)業(yè)是國(guó)家綜合國(guó)力的集中體現(xiàn)和重要標(biāo)志,是國(guó)家先進(jìn)制造業(yè)的重要組成部分,是國(guó)家科技創(chuàng)新體系的一支重要力量。促進(jìn)航空航天產(chǎn)業(yè)快速發(fā)展。在飛機(jī)制造中,航空電子系統(tǒng)是其中重要的組成部分,而航空電子系統(tǒng)中數(shù)據(jù)總線是關(guān)鍵技術(shù)之一。</p><p> MIL-STD-1553B是目前廣泛適用于航空電子領(lǐng)域的協(xié)議標(biāo)準(zhǔn),它具有傳輸
24、穩(wěn)定、抗干擾、負(fù)荷輕、速率高等優(yōu)點(diǎn)。其主要被歐美軍方用于軍事系統(tǒng),在戰(zhàn)斗機(jī)、航天設(shè)備、驅(qū)逐艦等軍用設(shè)施上得到了非常多的運(yùn)用和實(shí)踐。為了適應(yīng)現(xiàn)代軍事斗爭(zhēng)的需要,近年來(lái),我國(guó)在新型戰(zhàn)斗機(jī)、驅(qū)逐艦的研制中已開(kāi)始采用1553B標(biāo)準(zhǔn)。但是,由于該標(biāo)準(zhǔn)的核心技術(shù)為歐美公司所壟斷。因此,自主研發(fā)基于MIL-STD-1553B總線標(biāo)準(zhǔn)的協(xié)議芯片及產(chǎn)品具有重要的戰(zhàn)略意義。</p><p> 目前,此類(lèi)器件在國(guó)內(nèi)還較少出現(xiàn),對(duì)于整
25、個(gè)1553B體系架構(gòu)的把握尚未形成,我們急需改變這種不利情況。自主研發(fā)1553B相關(guān)產(chǎn)品首先必須解決曼徹斯特碼的編碼、解碼。本文的主要工作就是研究1553B曼徹斯特碼編碼器的設(shè)計(jì)及實(shí)現(xiàn)。曼徹斯特碼編碼器是1553B總線接口中最為重要的器件之一,它直接關(guān)系到總線數(shù)據(jù)能否嚴(yán)格按照MIL-SID-1553B標(biāo)準(zhǔn)協(xié)議來(lái)進(jìn)行傳輸,是其三種類(lèi)型字傳遞的門(mén)戶(hù)端口器件。本課題設(shè)計(jì)就是基于FPGA的曼徹斯特編碼器的設(shè)計(jì)。</p><p
26、> 1.2項(xiàng)目研究?jī)?nèi)容和任務(wù)</p><p> 本項(xiàng)目主要研究MIL-STD-1553B上的曼徹斯特碼編碼器的軟件設(shè)計(jì)和實(shí)現(xiàn)。技術(shù)上采用FPGA作為硬件平臺(tái),為了使FPGA器件能順利完成曼碼的編碼任務(wù),它應(yīng)該包括這樣幾個(gè)部分:</p><p> 1.并串轉(zhuǎn)換器的設(shè)計(jì)</p><p> 并串轉(zhuǎn)換器的主要工作是將16位由前端輸入的并行數(shù)據(jù)轉(zhuǎn)換為曼徹斯特能夠
27、編碼的串行數(shù)據(jù)。它主要由時(shí)鐘信號(hào)、轉(zhuǎn)換使能信號(hào)控制。</p><p> 2.曼徹斯特編碼器的設(shè)計(jì)</p><p> 在每個(gè)周期的開(kāi)頭加同步字頭,數(shù)據(jù)輸入時(shí)間持續(xù)16個(gè)周期,期間對(duì)數(shù)據(jù)進(jìn)行編碼。若輸入的數(shù)據(jù)信元為“1”,編碼就通過(guò)輸出一個(gè)下降沿來(lái)表示,當(dāng)輸入數(shù)據(jù)為“0”時(shí),編碼則輸出一個(gè)上升沿。數(shù)據(jù)位輸入結(jié)束后,編碼器將對(duì)輸入的數(shù)據(jù)信元進(jìn)行奇偶校檢,如果在輸入的數(shù)據(jù)信元中“1”的個(gè)數(shù)為奇
28、數(shù),編碼器輸出一個(gè)上升沿,反之若數(shù)據(jù)信元中“1”的個(gè)數(shù)為偶數(shù)則輸出一個(gè)下降沿。</p><p><b> 3.軟件設(shè)計(jì)的仿真</b></p><p> QuartusⅡ借助EDA工具中的編譯器、綜合器、適配器、時(shí)序仿真器和編程器等工具進(jìn)行相應(yīng)的處理,才能使已完成的設(shè)計(jì)在FPGA上進(jìn)行硬件實(shí)現(xiàn)并得到測(cè)試結(jié)果。EDA工具有多種途徑完成目標(biāo)系統(tǒng)的輸入,如HDL文本輸入方
29、式、原理圖輸入方式、狀態(tài)圖輸入方式以及混合輸入方式等。相對(duì)而言,HDL文本輸入方式是最基本也是最直接的輸入方式。將通過(guò)實(shí)例具體介紹基于Quartus II的VHDL文本輸入流程,包括設(shè)計(jì)的輸入、綜合、適配、仿真測(cè)試和編程下載等。</p><p> 1.3論文內(nèi)容及結(jié)構(gòu)</p><p> 介紹了FPGA的有關(guān)原理,及它的設(shè)計(jì)流程,vhdl語(yǔ)言的概述等;第三章介紹了曼徹斯特編碼的有關(guān)知識(shí),
30、尤其介紹了1553B數(shù)據(jù)總線;第四章對(duì)本文框架進(jìn)行了講述,有設(shè)計(jì)思路的比較和設(shè)計(jì)框圖;第五章介紹了主要的兩大模塊:串并轉(zhuǎn)換模塊和曼徹斯特編碼模塊;第六章對(duì)該系統(tǒng)功能進(jìn)行了仿真驗(yàn)證;第七章是對(duì)本次設(shè)計(jì)的小結(jié)和展望。</p><p> 2 FPGA原理及開(kāi)發(fā)工具</p><p> 2.1 FPGA原理</p><p> FPGA( Field-Programmab
31、le Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。</p><p> 圖2.1 FPGA的基本結(jié)構(gòu) </p><p> 目前以硬件描述語(yǔ)言(Verilog或VH
32、DL)所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn)單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測(cè)試,是現(xiàn)代 IC 設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來(lái)實(shí)現(xiàn)一些基本的邏輯門(mén)電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。 FPGA采用了邏輯單元陣列LCA(Logic Cell Arra
33、y)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分,如圖2.1。FPGA的基本特點(diǎn)主要有: 1.采用FPGA設(shè)計(jì)ASIC電路,用戶(hù)不需要投片生產(chǎn),就能得到合用的芯片。 2.FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3.FPGA內(nèi)部有豐富的觸發(fā)器和
34、I/O引腳。 4.FPGA是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)</p><p> FPGA提供了一種“自頂向下"的全新的設(shè)計(jì)方法。這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在圖表級(jí)進(jìn)行仿真、糾錯(cuò),并用硬件描述語(yǔ)言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)級(jí)進(jìn)行驗(yàn)證。然后用綜合優(yōu)化工具生成具體門(mén)電路的網(wǎng)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐?。由于設(shè)計(jì)的
35、主要仿真和調(diào)試過(guò)程是在高層次上完成的,這不僅有利予早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),而且也減少了邏輯功能仿真的工作量,提高了設(shè)計(jì)的一次成功率。 </p><p> 2.2 QuartusⅡ及開(kāi)發(fā)語(yǔ)言</p><p> Quartus II 是Altera公司的綜合性PLD開(kāi)發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware
36、Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。</p><p> 一、VHDL語(yǔ)言的發(fā)展歷史</p><p> 本次畢業(yè)設(shè)計(jì)就是應(yīng)用VHDL語(yǔ)言,是一種用于數(shù)字電路設(shè)計(jì)的高級(jí)語(yǔ)言。VHDL全名是Very-High-Speed Integrated Circuit HardwareDescrip
37、tion Language,誕生于1982年。1987年底,VHDL被IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡(jiǎn)稱(chēng)87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口。</p><p> 此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的認(rèn)可,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。1993年,IEEE對(duì)VHDL進(jìn)行
38、了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡(jiǎn)稱(chēng)93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。有專(zhuān)家認(rèn)為,在新的世紀(jì)中,VHDL與Verilog語(yǔ)言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。VHDL語(yǔ)言是一種用于電路設(shè)計(jì)的高級(jí)語(yǔ)言。它在80年代的后期出現(xiàn)。最初
39、是由美國(guó)國(guó)防部開(kāi)發(fā)出來(lái)供美軍用來(lái)提高設(shè)計(jì)的可靠性和縮減開(kāi)發(fā)周期的一種使用范圍較小的設(shè)計(jì)語(yǔ)言,它的應(yīng)用主要是應(yīng)用在數(shù)字電路的設(shè)計(jì)中。目前,它在中國(guó)的應(yīng)用多數(shù)是用在FPGA/CPLD/EPLD的設(shè)計(jì)中。當(dāng)然在一些實(shí)力較為雄厚的單位,它也被用來(lái)設(shè)計(jì)ASIC。</p><p> 二、Quartus II下的FPGA設(shè)計(jì)</p><p> Quartus II為硬件電路的設(shè)計(jì)提供了很大的方便。F
40、PGA之所以能夠廣泛應(yīng)用于電路設(shè)計(jì)中,就是因?yàn)樗鼈冇惺褂孟喈?dāng)方便的開(kāi)發(fā)軟件工具包,通過(guò)編程工具和軟件的配合使用,對(duì)器件芯片可以進(jìn)行流暢的開(kāi)發(fā)、校驗(yàn)。FPGA特別適用于正向設(shè)計(jì),即從電路原理圖或各種硬件描述語(yǔ)言到芯片成品的設(shè)計(jì),在這些設(shè)計(jì)流程中,設(shè)計(jì)人員對(duì)特別底層的硬件知識(shí)并不需要特別的了解和掌握,完全可以從功能應(yīng)用出發(fā),根據(jù)任務(wù)需求,自頂向下地進(jìn)行電路設(shè)計(jì)。下面我們來(lái)看看FPGA的設(shè)計(jì)流程,Quartus II環(huán)境下的FPGA設(shè)計(jì)過(guò)程主
41、要包括5個(gè)步驟:</p><p><b> ●設(shè)計(jì)輸入</b></p><p> 運(yùn)用電路原理圖輸入、HDL文本輸入等方式,表達(dá)設(shè)計(jì)思想,指定所用HIGA器件的型號(hào),分配其外部管腳。</p><p><b> ●綜合</b></p><p> 將原理圖、HDL語(yǔ)言等設(shè)計(jì)輸入翻譯成由基本電路邏
42、輯單元組成的連接網(wǎng)表,供布局布線器進(jìn)行實(shí)現(xiàn)。</p><p><b> ●布局布線</b></p><p> 根據(jù)連接網(wǎng)表文件,進(jìn)行布局布線的分析和優(yōu)化,完成FPGA器件內(nèi)、外的虛擬連接。</p><p><b> ●仿真</b></p><p> 仿真分為功能仿真和時(shí)序仿真。功能仿真驗(yàn)證電
43、路功能是否符合設(shè)計(jì)要求;時(shí)序仿真包含了延時(shí)信息,能較好反映芯片的工作情況。</p><p><b> ●編程和配置</b></p><p> 成功編譯后,將生成的編程文件下載到目標(biāo)FPGA系統(tǒng)中調(diào)試;調(diào)試成功后,燒寫(xiě)到FPGA的配置芯片中。</p><p> 圖2.2 軟件開(kāi)發(fā)流程</p><p> 三、 Qua
44、rtusⅡ的仿真</p><p> 仿真分為功能仿真和時(shí)序仿真。通常,功能仿真用于驗(yàn)證電路的功能是否正確。本次設(shè)計(jì)主要是在quartusⅡ軟件中進(jìn)行功能仿真驗(yàn)證。仿真的一般步驟如下: </p><p> ● 新建波形編輯文件;</p><p> ● 設(shè)置仿真時(shí)間區(qū)域;</p><p><b> ● 保存文件;</b&g
45、t;</p><p> ● 導(dǎo)入欲觀察的信號(hào)節(jié)點(diǎn);</p><p><b> ● 編輯激勵(lì)信號(hào);</b></p><p><b> ● 設(shè)置數(shù)據(jù)格式;</b></p><p> ● 設(shè)置仿真器參數(shù);</p><p> ● 啟動(dòng)仿真和觀察仿真結(jié)果。</p>
46、<p> 3 曼徹斯特編碼原理</p><p> 3.1 1553B數(shù)據(jù)總線</p><p> 數(shù)據(jù)總線是為不同的系統(tǒng)之間提供數(shù)據(jù)和信息交換的媒介,這就類(lèi)似于個(gè)人計(jì)算機(jī)和辦公自動(dòng)化系統(tǒng)之間局域網(wǎng)式的互連,MIL-STD-1553B總線協(xié)議是在1978年誕生于美國(guó)國(guó)防部的,它早前作為的是一種定義了數(shù)據(jù)總線電氣和協(xié)議特性的軍事標(biāo)準(zhǔn)。</p><p>
47、 一、 1553B的歷史發(fā)展與應(yīng)用</p><p> MIL-STD-1553B是一種在航空電子系統(tǒng)中廣泛運(yùn)用的總線協(xié)議,它的全稱(chēng)是飛機(jī)內(nèi)部時(shí)分命令多路響應(yīng)數(shù)據(jù)總線,它的發(fā)展可以追溯到1968年。美國(guó)政府軍事部門(mén)經(jīng)過(guò)三年的修訂,于1973年8月公布了MIL-STD-1553,這個(gè)內(nèi)部標(biāo)準(zhǔn)的第一個(gè)使用者就是F-16戰(zhàn)斗機(jī)。而美國(guó)國(guó)防部1975年4月30日所發(fā)布的MIL-STD-1553A就是在此基礎(chǔ)上不斷發(fā)展衍
48、變而來(lái),并為F-16戰(zhàn)斗機(jī)和AH-64A Apache直升機(jī)所首先運(yùn)用。在此之后,通過(guò)一系列現(xiàn)實(shí)操作所積累起來(lái)的經(jīng)驗(yàn),在1553A的基礎(chǔ)上,SAE又加入了許多定義和額外的應(yīng)用能力于其中,這就是1553B標(biāo)準(zhǔn)協(xié)議,它于1978年9月21日由SAE公布,一直沿用至今。不過(guò)1553B也在不斷進(jìn)行著一些改動(dòng)。為了將該標(biāo)準(zhǔn)僅僅應(yīng)用于空軍系統(tǒng),1980年美國(guó)空軍曾經(jīng)對(duì)1553B標(biāo)準(zhǔn)的應(yīng)用選擇實(shí)施了諸多限制,但是工業(yè)界卻普遍認(rèn)為這樣的做法大大低估了1
49、553B的應(yīng)用能力,它應(yīng)該擁有更廣泛的使用權(quán)限。</p><p> 現(xiàn)在的MIL-STD-1553B在軍用航空電子系統(tǒng)中應(yīng)用范圍非常廣泛,比如衛(wèi)星通信系統(tǒng)、國(guó)際空間站的空間地址探尋、大規(guī)模交通控制、航空燃料補(bǔ)給等等,甚至包括在了一系列的發(fā)射器和服務(wù)器中,比如飛行器和發(fā)射器的基本接口。除此以外,海軍的艦艇、潛水艇、陸軍的直升機(jī)和坦克,這些都用到了1553B總線協(xié)議;對(duì)商業(yè)領(lǐng)域來(lái)說(shuō),地鐵、產(chǎn)品制造生產(chǎn)線也已運(yùn)用到了
50、該標(biāo)準(zhǔn)協(xié)議。</p><p> 二、1553B數(shù)據(jù)總線規(guī)則</p><p> 1553B總線上的信息是以消息(Message)的形式調(diào)制成曼徹斯特碼進(jìn)行傳輸?shù)?。每條消息最長(zhǎng)由32個(gè)字組成,所有的字分為三類(lèi):命令字、數(shù)據(jù)字和狀態(tài)字。每類(lèi)字的長(zhǎng)度為20位,有效信息位是16位,每個(gè)字的前3位為單字的同步字頭,而最后1位是奇偶校驗(yàn)位。有效信息(16位)及奇偶校驗(yàn)位在總線上以曼徹斯特碼的形式進(jìn)行
51、傳輸,傳輸一位的時(shí)間為1 S(即碼速率為1MHz)。同步字頭占3位,先正后負(fù)為命令字和狀態(tài)字,先負(fù)后正為數(shù)據(jù)字。在這三種類(lèi)型的字中,命令字位于每條消息的起始部分,其內(nèi)容規(guī)定了該次傳輸?shù)木唧w要求。1553B總線曼徹斯特碼編碼器的主要功能就是把來(lái)自外部的并行二進(jìn)制數(shù)據(jù)轉(zhuǎn)化為1553B總線上傳輸?shù)拇行畔?,并且?duì)這些串行數(shù)據(jù)進(jìn)行曼徹斯特碼編碼,再加上同步頭和奇偶校驗(yàn)碼,使之成為能夠以1553B總線協(xié)議所要求的格式在總線中傳輸?shù)臄?shù)據(jù)。</
52、p><p> 前三位同步字頭 中間16位數(shù)據(jù)位 最后第20位奇偶校驗(yàn)位</p><p> 圖3.1 1553B的數(shù)據(jù)格式 </p><p> 三、 1553B總線的傳輸</
53、p><p> 1553B總線能掛31個(gè)遠(yuǎn)置終端,1553B總線采用指令/響應(yīng)型通信協(xié)議,它有三種終端類(lèi)型:總線控制器(BC)、遠(yuǎn)程終端(RT)和總線監(jiān)視器(BM);信息格式有BC到RT、RT到BC、RT到RT、廣播方式和系統(tǒng)控制方式;傳輸媒介為屏蔽雙絞線,1553B總線耦合方式有直接耦合和變壓器耦合;1553B總線為多冗余度總線型拓?fù)浣Y(jié)構(gòu),具有雙向傳輸特性,其傳輸速度為1Mbps傳輸方式為半雙工方式,采用曼徹斯特碼
54、進(jìn)行編碼傳輸。采用這種編碼方式是因?yàn)檫m用于變壓器耦合,由于直接耦合不利于終端故障隔離,會(huì)因?yàn)橐粋€(gè)終端故障而造成整個(gè)總線網(wǎng)絡(luò)的完全癱瘓,所以其協(xié)議中明確指出不推薦使用直接耦合方式。</p><p> 狀態(tài)字只能由RT發(fā)出,它的內(nèi)容代表RT對(duì)BC發(fā)出的有效命令的反饋。BC可以根據(jù)狀態(tài)字的內(nèi)容來(lái)決定下一步采取什么樣的操作。數(shù)據(jù)字既可以由BC傳輸?shù)侥砇T,也可以從某RT傳輸至BC,或者從某RT傳輸?shù)搅硪籖T,它的內(nèi)容代
55、表傳輸?shù)臄?shù)據(jù)。 </p><p> 1553B總線上消息傳輸?shù)倪^(guò)程是:總線控制器向某一終端發(fā)布一個(gè)接收/發(fā)送指令,終端在給定的響應(yīng)時(shí)間范圍內(nèi)發(fā)回一個(gè)狀態(tài)字并執(zhí)行消息的接收/發(fā)送。BC通過(guò)驗(yàn)收RT回答的狀態(tài)字來(lái)檢驗(yàn)傳輸是否成功并做后續(xù)的操作。消息是構(gòu)成1553B總線通訊的基本單位,如果需要完成一定的功能,就要將多個(gè)消息組織起來(lái),形成一個(gè)新的結(jié)構(gòu)叫做幀(Frame)。完成一個(gè)消息的時(shí)間稱(chēng)為消息時(shí)間,兩個(gè)消息之間的間
56、隔稱(chēng)為消息間隔時(shí)間,完成一個(gè)幀的時(shí)間稱(chēng)為幀時(shí)間。在實(shí)際應(yīng)用中這三種時(shí)間都是可以通過(guò)編程設(shè)置的。</p><p> 3.2 曼徹斯特編碼原理 </p><p> 曼徹斯特編碼,也叫做相位編碼(PE),是一個(gè)同步時(shí)鐘編碼技術(shù),被物理層使用來(lái)編碼一個(gè)同步位流的時(shí)鐘和數(shù)據(jù)。在曼徹斯特編碼中,用電壓跳變的相位不同來(lái)區(qū)分1和0,即用正的電壓跳變表示0,用負(fù)的電壓跳變表示1。因此,這種編碼也稱(chēng)為相應(yīng)
57、編碼。由于跳變都發(fā)生在每一個(gè)碼元的中間,接收端可以方便地利用它作為位同步時(shí)鐘,這種編碼也稱(chēng)為自同步編碼。</p><p> 曼徹斯特編碼電平跳變的規(guī)則是:低電平的中間時(shí)刻跳變表示‘0’,用高電平中間時(shí)刻的跳變表示‘1’,如下圖3.2所示。因而這樣防止時(shí)鐘同步的丟失,或來(lái)自低頻率位移在貧乏補(bǔ)償?shù)哪M鏈接位錯(cuò)誤。在這個(gè)技術(shù)下,實(shí)際上的二進(jìn)制數(shù)據(jù)被傳輸通過(guò)這個(gè)電纜,不是作為一個(gè)序列的邏輯1或0來(lái)發(fā)送的。它具有自同步能
58、力和良好的抗干擾性能。但每一個(gè)碼元都被調(diào)成兩個(gè)電平,所以數(shù)據(jù)傳輸速率只有調(diào)制速率的1/2。</p><p> 圖3.2 曼徹斯特編碼 </p><p> 下面是一段數(shù)據(jù)串行信號(hào)"100010011
59、1",在上圖中可以看出曼徹斯特編碼信號(hào)的跳變都發(fā)生在中間時(shí)刻,它按照曼徹斯特的編碼規(guī)則,可以表示"1001100111"。如下圖3.3所示。 </p><p> 圖3.3 信號(hào)的曼徹斯特編碼</p><p><b> 4 系統(tǒng)總體設(shè)計(jì)</b></p><p> 4.1
60、 系統(tǒng)設(shè)計(jì)要求</p><p> 本課題的設(shè)計(jì)要求和技術(shù)指標(biāo):</p><p> 1.MIL-STD-1553B總線上的數(shù)據(jù)以雙相曼徹斯特編碼的方式傳輸。</p><p> 2.編碼器把來(lái)自外部的并行二進(jìn)制數(shù)據(jù)轉(zhuǎn)化為串行信息。</p><p> 3. 對(duì)串行數(shù)據(jù)進(jìn)行曼徹斯特碼編碼,再加上同步頭和奇偶效驗(yàn)位。</p>&l
61、t;p> 4. 能夠以1553B總線協(xié)議所要求的格式在總線中進(jìn)行傳輸。</p><p> 本畢設(shè)畢業(yè)圓滿(mǎn)的完成了上述任務(wù)。</p><p> 4.2 系統(tǒng)設(shè)計(jì)思路 </p><p> 根據(jù)系統(tǒng)的設(shè)計(jì)要求,需要解決外部數(shù)據(jù)的并串轉(zhuǎn)
62、換和數(shù)據(jù)編碼問(wèn)題,而曼徹斯特編碼器是本文的設(shè)計(jì)重點(diǎn),思路如下: </p><p> 在每個(gè)周期的開(kāi)頭加同步字頭,數(shù)據(jù)輸入時(shí),輸入時(shí)間將持續(xù)16個(gè)編碼周期,若輸入的數(shù)據(jù)信元為“1”,編碼就通過(guò)輸出一個(gè)下降沿來(lái)表示,當(dāng)輸入數(shù)據(jù)為“0”時(shí),編碼則輸出一個(gè)上升沿。數(shù)
63、據(jù)位輸入結(jié)束后,編碼器將對(duì)輸入的數(shù)據(jù)信元進(jìn)行奇偶校檢,如果在輸入的數(shù)據(jù)信元中“1”的個(gè)數(shù)為奇數(shù),編碼器輸出一個(gè)上跳變電平,反之若數(shù)據(jù)信元中“1”的個(gè)數(shù)為偶數(shù)則輸出一個(gè)下跳變電平,如圖4.1所示。 </p><p> 圖4.1 編碼器設(shè)計(jì)思路</p><p> 4.3 系統(tǒng)設(shè)計(jì)框圖</p><p> 根據(jù)上述系統(tǒng)的設(shè)計(jì)要求,系統(tǒng)主要由兩大模塊組成:并串轉(zhuǎn)換器、
64、曼徹斯特編碼器。在系統(tǒng)外部由16位并行信號(hào)線供給,經(jīng)過(guò)系統(tǒng)的兩個(gè)模塊后輸出曼徹斯特編碼信號(hào)。在信號(hào)的編碼方面本設(shè)計(jì)經(jīng)過(guò)很多次修改,編碼沒(méi)有信號(hào)的丟失,并且奇偶校驗(yàn)位的數(shù)據(jù)匹配,完全滿(mǎn)足系統(tǒng)設(shè)計(jì)的四點(diǎn)要求,系統(tǒng)框圖如4.2所示。</p><p> 圖4.2 系統(tǒng)原理框圖</p><p><b> 5 系統(tǒng)模塊設(shè)計(jì)</b></p><p>
65、 5.1 并串轉(zhuǎn)換器的設(shè)計(jì)</p><p> 串并轉(zhuǎn)換主要工作是將16位并行數(shù)據(jù)轉(zhuǎn)換為曼徹斯特能夠編碼的串行數(shù)據(jù)。它主要由時(shí)鐘信號(hào)、轉(zhuǎn)換使能信號(hào)控制。當(dāng)sl信號(hào)高電平時(shí)就開(kāi)始輸出當(dāng)前十六位并行數(shù)據(jù)。它的流程圖如圖5.1所示。</p><p> 圖5.1 并串轉(zhuǎn)換流程圖 </p><p><b> 程序代碼如下: </b></p&g
66、t;<p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity p_to
67、_s is</p><p> port(sl,clkl:in std_logic;</p><p> datain:in std_logic_vector(15 downto 0);</p><p> q:out std_logic);</p><p> end p_to_s;</p><p> archit
68、ecture behav of p_to_s is</p><p> signal tmpreg:std_logic_vector(15 downto 0);</p><p><b> begin</b></p><p> q<=tmpreg(15);</p><p> process(sl,clkl)&l
69、t;/p><p><b> begin</b></p><p> if(clkl'event and clkl='1')then</p><p> if(sl='0')then</p><p> tmpreg<=datain;</p><p>&l
70、t;b> else</b></p><p> for i in 15 downto 1 loop</p><p> tmpreg(i)<=tmpreg(i-1);</p><p><b> end loop;</b></p><p> tmpreg(0)<='0
71、39;;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> end behav;</p><p> 在quartusⅡ中生成相應(yīng)的并串轉(zhuǎn)換模塊如圖
72、5.2所示。端口有時(shí)鐘信號(hào)、并串轉(zhuǎn)換使能信號(hào)、16位并行數(shù)據(jù)輸入端和一位串行數(shù)據(jù)輸出端。</p><p> 圖5.2 并串轉(zhuǎn)換器圖</p><p> 5.2 曼徹斯特編碼器設(shè)計(jì)</p><p> 曼碼編碼過(guò)程可分為三部分:1)檢測(cè)編碼周期是否開(kāi)始,產(chǎn)生同步字頭;2)進(jìn)行輸入數(shù)據(jù)的曼徹斯特編碼3)產(chǎn)生奇偶校驗(yàn)位并對(duì)其進(jìn)行編碼,編碼周期結(jié)束。</p>
73、<p> 編碼器的設(shè)計(jì)流程如圖5.3所示: 當(dāng)使能信號(hào)為高電平時(shí),編碼周期開(kāi)始,當(dāng)同步選擇信號(hào)SS為“1”,輸出信號(hào)為命令同步,若為“0”,表示輸出信號(hào)為數(shù)據(jù)同步,當(dāng)輸入數(shù)據(jù)使能信號(hào) send為“1”時(shí),表明允許數(shù)據(jù)輸入,輸入時(shí)間將持續(xù)16個(gè)編碼周期,若輸入的數(shù)據(jù)信元 din為“1”,編碼就通過(guò)輸出一個(gè)下降沿來(lái)表示, 當(dāng)輸入數(shù)據(jù)為“0”時(shí),編碼則輸出一個(gè)上升沿。數(shù)據(jù)位輸入結(jié)束后,編碼器將對(duì)輸入的數(shù)據(jù)信元進(jìn)行奇偶校檢,如果在
74、輸入的數(shù)據(jù)信元中“1”的個(gè)數(shù)為奇數(shù),編碼器輸出一個(gè)上升沿,反之若數(shù)據(jù)信元中“1”的個(gè)數(shù)為偶數(shù)則輸出一個(gè)下降沿。</p><p> 圖5.3 曼徹斯特編碼流程</p><p> 上述的流程圖中ss為同步選擇信號(hào),din為數(shù)據(jù)輸入信號(hào)。曼徹斯特編碼器的代碼如下:</p><p> LIBRARY IEEE;</p><p> USE I
75、EEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> Entity encode iS </p><p> port(rst :in std_logic;
76、 --復(fù)位信號(hào)</p><p> clk :in std_logic; --基準(zhǔn)時(shí)鐘信號(hào)</p><p> ss : in std_logic; --同步選擇信號(hào)</p><p> In_en: in std_logic; --輸入選擇信號(hào)</p&
77、gt;<p> Date_in: in std_logic; --編碼信元輸入端</p><p> Date_out:out std_logic;</p><p> en_out: buffer std_logic); --編碼信元輸出端</p><p> end encode;</p>&
78、lt;p> Architecture behave of encode is</p><p> Signal tem_register: std_logic_vector(5 downto 0);</p><p> Signal counter:std_logic_vector(5 downto 0);</p><p> Signal in_count
79、er: std_logic;</p><p> Signal bit_temp: std_logic;</p><p> Signal odd_bit: std_logic; --奇偶校檢信號(hào)</p><p><b> Begin</b></p><p> Date_out<=tem_
80、register(5);</p><p> process(rst,clk)</p><p><b> begin </b></p><p> if rst='0'then</p><p> tem_register<="000000";</p><p
81、> counter<="000000";</p><p> in_counter<='0';</p><p> odd_bit <='0';</p><p> bit_temp<='0';</p><p> en_out<=
82、9;0'; --各信號(hào)初始化</p><p> elsif(clk'event and clk ='1')then</p><p> if in_en='1' then</p><p> if counter="000000" then<
83、/p><p> en_out<='0'; </p><p> if ss='1' then</p><p> tem_register<="111000"; --命令同步字產(chǎn)生</p><p><b> else</b></p><
84、;p> tem_register<="000111"; --數(shù)據(jù)同步字產(chǎn)生</p><p><b> end if;</b></p><p> elsif counter="100110"then</p><p> if odd_bit='1'then</p
85、><p> tem_register(5)<='0';</p><p><b> else</b></p><p> tem_register(5)<='1';</p><p><b> end if;</b></p><p>
86、 elsif counter="100111" then</p><p> if odd_bit='1'then</p><p> tem_register(5)<='1';</p><p><b> else</b></p><p> tem_regi
87、ster(5)<='0'; --奇偶校檢的產(chǎn)生</p><p><b> end if;</b></p><p><b> else</b></p><p> tem_register(5 downto 1)<=tem_register(4 downto 0);</p>
88、;<p> if in_counter='0'then</p><p> if date_in='1'then</p><p> tem_register(0)<='1';</p><p> bit_temp<='0';</p><p> od
89、d_bit<=not odd_bit;</p><p><b> else</b></p><p> tem_register(0)<='0';</p><p> bit_temp<='1'; --對(duì)輸入數(shù)據(jù)進(jìn)行編碼</p><p>&l
90、t;b> end if;</b></p><p><b> else</b></p><p> tem_register(0) <= bit_temp;</p><p><b> end if;</b></p><p> in_counter<=not in_
91、counter;</p><p><b> end if;</b></p><p> counter<=counter+'1';</p><p> if counter="101000"then</p><p> counter<="000000"
92、;;</p><p> odd_bit <='0';</p><p> en_out<='1';</p><p><b> end if;</b></p><p><b> end if; </b></p><p><
93、;b> end if;</b></p><p> end process;</p><p> end behave; </p><p> 在quartusⅡ中生成相應(yīng)的曼徹斯特編碼器模塊。輸入端口有時(shí)鐘信號(hào)、復(fù)位信號(hào)、輸入使能信號(hào)、串行輸入信號(hào)端、和編碼信號(hào)輸出端及輸出使能信號(hào)。
94、 </p><p> 圖5.4 曼徹斯特編碼器</p><p> 6系統(tǒng)仿真及結(jié)果分析</p><p> 6.1 并串轉(zhuǎn)換器仿真及結(jié)果分析</p><p> 打開(kāi)QuartusⅡ軟件,新建一個(gè)工程為"encode",如圖6.1所示。</p><p> 圖6.1 新建工程文件encod
95、e </p><p> 單擊"Finish"按鈕完成"encode"工程的新建。新建完工程文件后,就建立并串轉(zhuǎn)換模塊。選擇"File"→"New"命令或是單擊新建圖標(biāo),在彈出的"New"對(duì)話框中選擇"VHDL File"選項(xiàng),單擊"OK"按鈕,如圖6.2所
96、示。</p><p> 圖6.2 新建并串轉(zhuǎn)換VHDL文件</p><p> 新建完VHDL文件以后就開(kāi)始輸入VHDL代碼,在quartusⅡ中,如下圖6.3所示。</p><p> 圖6.3 并串轉(zhuǎn)換VHDL代碼輸入</p><p> 在輸入完代碼以后,就保存當(dāng)前文件,點(diǎn)保存快捷方式,命名為"p_to_s"
97、文件名。下一步就是開(kāi)始編譯,在編譯前要在"project navigator" 框中點(diǎn)擊p_to_s的右鍵"set as top-level Entity"。接下來(lái)就是對(duì)并串轉(zhuǎn)換進(jìn)行編譯??梢栽趒uartusⅡ中直接點(diǎn)擊編譯快捷方式。結(jié)果如圖6.4所示。</p><p> 圖6.4 并串轉(zhuǎn)換編譯結(jié)果</p><p> 工程編譯成功后,必須對(duì)其功
98、能和時(shí)序特性進(jìn)行仿真測(cè)試,以了解設(shè)計(jì)結(jié)果是否滿(mǎn)足原設(shè)計(jì)要求。Quartus II提供的波形文件為"Vector Waveform File",即VWF。</p><p> 新建波形文件進(jìn)行仿真,選擇"File"→"New"命令或是單擊新建圖標(biāo),選擇"Vector Waveform File"項(xiàng)。如下圖6.5所示。</p>
99、<p> 圖6.5 新建并串轉(zhuǎn)換的波形文件</p><p> 在向量波形文件的"Name"下方的空白處,雙擊鼠標(biāo)左鍵,彈出"Insert Node or Bus"對(duì)話框如圖6.6所示,單擊"Node Finder"按鈕,彈出"Node Finder"對(duì)話框,如圖6.7所示。 </p>&l
100、t;p> 圖6.6 添加端口對(duì)話框</p><p> 圖6.7 Node Finder選擇對(duì)話框</p><p> 在彈出的圖6.7框中點(diǎn)擊"list"按鈕,再點(diǎn)擊》按鈕,最后點(diǎn)"OK"按鈕。這波形文件的端口都已經(jīng)添加進(jìn)去了。然后就是設(shè)置端口的波形。</p><p> 在編譯之后就是對(duì)模塊進(jìn)行仿真,在quar
101、tusⅡ軟件中點(diǎn)擊"processing"菜單中的"simulator tool"。然后加載之前創(chuàng)建的波形文件”p_to_s“。在下圖6.8所示圖中點(diǎn)"generate function simulation netlist"按鈕。創(chuàng)建完網(wǎng)表文件之后就可以點(diǎn)擊"start"按鈕。</p><p> 圖6.8 并串轉(zhuǎn)換 simulat
102、or tool</p><p> 圖6.9 并串轉(zhuǎn)換仿真結(jié)果</p><p> 在圖6.8所示的圖中,仿真運(yùn)行之后就可以點(diǎn)擊report按鈕。結(jié)果如圖6.9所示。</p><p> 圖6.10 并串轉(zhuǎn)換結(jié)果分析圖</p><p> 在datain端口中輸入"1101001110100110"十六位的并行數(shù)據(jù)。q為
103、十六位串行數(shù)據(jù)的輸出端,q端高電平為'1',低電平為'0'。從圖中q端的結(jié)果可以讀出q的輸出信號(hào)為"1101001110100110",所以并串轉(zhuǎn)換器滿(mǎn)足并串轉(zhuǎn)換的要求。</p><p> 6.2曼徹斯特編碼器仿真及結(jié)果分析</p><p> 在同一個(gè)工程文件下,建立曼徹斯特編碼模塊。選擇"File"→"
104、New"命令或是單擊新建圖標(biāo),在彈出的"New"對(duì)話框中選擇"VHDL File"選項(xiàng),單擊"OK"按鈕,如代碼輸入后如圖6.10所示。</p><p> 圖6.10(a) 曼徹斯特編碼器代碼輸入</p><p> 圖6.10(b) 曼徹斯特編碼器代碼輸入</p><p> 在輸入完代碼以
105、后,就保存當(dāng)前文件,點(diǎn)保存快捷方式,命名為"encode"文件名。下一步就是開(kāi)始編譯,結(jié)果如圖6.11所示。</p><p> 圖6.11 曼徹斯特編碼器編譯</p><p> 在編譯成功后,必須對(duì)其功能和時(shí)序特性進(jìn)行仿真測(cè)試,以了解設(shè)計(jì)結(jié)果是否滿(mǎn)足原設(shè)計(jì)要求。新建波形文件進(jìn)行仿真,然后就是添加輸入端口和按照要求對(duì)輸入信號(hào)進(jìn)行編輯。仿真結(jié)果如圖6.12所示。<
106、;/p><p> 圖6.12 曼徹斯特編碼仿真結(jié)果 </p><p> 圖6.13 曼徹斯特編碼結(jié)果分析</p><p> 從圖6.13 中的結(jié)果可以看出一個(gè)字的長(zhǎng)度為20位,date_in的兩個(gè)時(shí)鐘周期電平為一個(gè)數(shù)據(jù)比特,從電平中可以看出輸入為"1101001110100110"。前面3位為同步字頭,111000為同步字頭。而后面的
107、16位數(shù)據(jù)位為"1101001110100110"。因?yàn)閿?shù)據(jù)位有9個(gè)‘1’所以輸出的奇偶校驗(yàn)位為‘0’。上圖中兩個(gè)時(shí)鐘周期為一個(gè)數(shù)據(jù)比特,上跳變?yōu)椤?’,下跳變?yōu)椤?’。 </p><p> 從上面分析可以看出設(shè)計(jì)出曼徹斯特編碼器滿(mǎn)足曼徹斯特編碼的要求。</p><p> 6.3系統(tǒng)總體仿真及結(jié)果分析</p><p> 在完成上述的兩個(gè)
108、模塊的仿真和運(yùn)行以后進(jìn)行總體的功能仿真。在并串轉(zhuǎn)換器和曼徹斯特編碼器中分別選擇"File"→"Create/Update"→"Create Symbol Files for Current File"編譯文件并為該文件生成模塊文件如圖6.14 。</p><p> 圖6.14 并串轉(zhuǎn)換器封裝創(chuàng)建結(jié)果</p><p> 然后再新
109、建原理圖文件。選擇"File"→"New"命令或是單擊新建圖標(biāo),在彈出的"New"對(duì)話框中選擇"Block Diagram/Schematic File"選項(xiàng),單擊"OK"按鈕,圖略。</p><p> 在原理框圖文件的空白處,雙擊鼠標(biāo)左鍵,在彈出的"Symbol"對(duì)話框中選擇"Pr
110、oject"→"encode"模塊,如圖6.15所示。單擊"OK"按鈕退出"Symbol"對(duì)話框,適當(dāng)位置放置"encode"模塊。同理放入"p_to_s"模塊,如圖6.16所示。</p><p> 圖6.15 encode模塊Symbol</p><p> 圖6.16
111、 p_to_s模塊Symbol</p><p> 雙擊原理框圖文件的空白處,在彈出的"Symbol"對(duì)話框的"Name"文本框中輸入"INPUT",單擊"OK"按鈕退出"Symbol"對(duì)話框,在適當(dāng)位置放置INPUT模塊,使用同樣的方法再加入一個(gè)INPUT和OUTPUT模塊。各個(gè)模塊連接如圖6.17所示,保存原理
112、框圖文件為"mancodec.bdf"。</p><p> 圖6.17 系統(tǒng)模塊框圖 </p><p> 經(jīng)過(guò)了原理和代碼的輸入之后,就開(kāi)始進(jìn)行編譯。首先點(diǎn)擊quartusⅡ中的project navigator框中的mancodec.bdf文件圖標(biāo),再點(diǎn)右鍵選擇"set as top-level entity",再按編譯按鈕。&l
113、t;/p><p> 編譯完成后,然后開(kāi)始新建波形文件。波形文件的結(jié)果如圖6.18所示。編輯波形文件再保存,保存名為"mancodec"。</p><p> 圖6.18 系統(tǒng)波形文件輸入圖</p><p> 圖6.19 系統(tǒng)仿真Simulator Tool </p><p> 在編譯之后就是
114、對(duì)模塊進(jìn)行仿真,在quartusⅡ軟件中點(diǎn)擊"processing"菜單中的"simulator tool"按鈕。然后加載之前創(chuàng)建的波形文件"mancodec"。在圖6.19所示圖中點(diǎn)擊"generate function simulation netlist"按鈕。創(chuàng)建完網(wǎng)表文件之后就可以點(diǎn)擊"start"按鈕。</p>
115、<p> 圖6.20 系統(tǒng)仿真結(jié)果</p><p> 在點(diǎn)擊上圖的"report"按鈕之后就會(huì)彈出系統(tǒng)的總體仿真結(jié)果。如圖6.20所示。</p><p> 圖6.21 系統(tǒng)輸出結(jié)果分析圖</p><p> 從上圖6.21中的結(jié)果可以看出一個(gè)字的長(zhǎng)度為20位,date_in的兩個(gè)時(shí)鐘周期電平為一個(gè)數(shù)據(jù)比特,在datain中有十六
116、位數(shù)據(jù)線。從15位數(shù)據(jù)線到0位它的輸入為"1101001110100110"。前面3位為同步字頭,"111000"為同步字頭。而后面的16位數(shù)據(jù)位為"1101001110100110"。因?yàn)閿?shù)據(jù)位有9個(gè)‘1’所以輸出的奇偶校驗(yàn)位為‘0’。上圖中兩個(gè)時(shí)鐘周期為一個(gè)比特,上跳變?yōu)椤?’,下跳變?yōu)椤?’。 </p><p> 從上面分析可以看出設(shè)計(jì)出曼徹
117、斯特編碼器滿(mǎn)足曼徹斯特編碼的要求。</p><p><b> 7 結(jié)論及展望</b></p><p> 本次設(shè)計(jì)實(shí)現(xiàn)了任務(wù)書(shū)中規(guī)定的要求,系統(tǒng)結(jié)構(gòu)包括:并串轉(zhuǎn)換器,曼徹斯特編碼器。滿(mǎn)足了課題規(guī)定中的任務(wù)書(shū)的要求。FPGA是我們的一門(mén)專(zhuān)業(yè)選修課,本人學(xué)習(xí)這門(mén)課程也才半年的時(shí)間,但是在本次畢業(yè)設(shè)計(jì)中學(xué)到了很多知識(shí)。在畢設(shè)的過(guò)程中,我參考了很多教材和網(wǎng)上的資料。我相信對(duì)
118、我以后不管是就業(yè)還是繼續(xù)學(xué)習(xí)深造都有很大影響。 </p><p> 目前,1553B總線協(xié)議正被越來(lái)越多的軍用與民用客戶(hù)所接受。1553B協(xié)議數(shù)據(jù)的曼碼編碼器也因此漸顯其重要性。在接下來(lái)的工作中,我們還可以運(yùn)用類(lèi)似的設(shè)計(jì)思路進(jìn)行曼碼解碼器的開(kāi)發(fā),使之成為完整的1553B協(xié)議曼徹斯特編/解碼體系結(jié)構(gòu)。</p><p><b> 參考文獻(xiàn)</b></p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga的曼徹斯特編碼器設(shè)計(jì)【畢業(yè)論文】
- 基于fpga的曼徹斯特編碼器的設(shè)計(jì)畢業(yè)論文
- 基于fpga的曼徹斯特編碼器的設(shè)計(jì)-畢業(yè)論文
- 基于fpga的曼徹斯特編碼器設(shè)計(jì)[開(kāi)題報(bào)告]
- 基于fpga的曼徹斯特編碼器設(shè)計(jì)原理[文獻(xiàn)綜述]
- 基于cpld的曼徹斯特編碼器設(shè)計(jì)[任務(wù)書(shū)]
- 基于fpga的adpcm編碼器設(shè)計(jì)
- 基于FPGA的JPEG編碼器設(shè)計(jì).pdf
- 基于FPGA的視頻編碼器設(shè)計(jì).pdf
- 基于FPGA的視頻編碼器的設(shè)計(jì).pdf
- 基于FPGA的LDPC編碼器研究硬設(shè)計(jì)實(shí)現(xiàn).pdf
- 基于幀內(nèi)預(yù)測(cè)的靜態(tài)圖像編碼器FPGA設(shè)計(jì).pdf
- 基于FPGA的JPEG壓縮編碼器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于FPGA的多帶激勵(lì)語(yǔ)音編碼器的研究與設(shè)計(jì).pdf
- hdb3數(shù)字編碼器畢業(yè)設(shè)計(jì)
- h.264編碼器soc的設(shè)計(jì)與fpga實(shí)現(xiàn)
- 基于FPGA的高性能增量式編碼器解碼系統(tǒng)的設(shè)計(jì).pdf
- 基于fpga的差錯(cuò)控制編碼的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 基于FPGA的DAB信道編碼器輸入接口的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)---基于fpga的濾波器的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論