2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題目: 基于FPGA的曼徹斯特編碼器的設計</p><p>  系 別 信息工程系</p><p>  專業(yè)名稱 電子信息工程</p><p>  班級學號 <

2、;/p><p>  學生姓名 </p><p>  指導教師 </p><p>  二O一一 年 六月 </p><p>  畢業(yè)設計(論文)任務書</p><p>  信息工程 系 電子信息工程 專業(yè)類 0782052 班</p

3、><p>  學生(簽名): </p><p>  填寫日期: 2010 年 11 月 20 日</p><p>  指導教師(簽名): </p><p>  助理指導教師(并指出所負責的部分):</p><p><b>  系主任(簽名):</b></

4、p><p>  附注:任務書應該附在已完成的畢業(yè)設計說明書首頁。</p><p>  學士學位論文原創(chuàng)性聲明</p><p>  本人聲明,所呈交的論文是本人在導師的指導下獨立完成的研究成果。除了文中特別加以標注引用的內容外,本論文不包含法律意義上已屬于他人的任何形式的研究成果,也不包含本人已用于其他學位申請的論文或成果。對本文的研究作出重要貢獻的個人和集體,均已在文中

5、以明確方式表明。本人完全意識到本聲明的法律后果由本人承擔。</p><p>  作者簽名: 日期: 年 月 日</p><p>  學位論文版權使用授權書</p><p>  本學位論文作者完全了解學校有關保留、使用學位論文的規(guī)定,同意學校保留并向國家有關部門或機構送交論文的復印件和電子版,允許論文被查閱和

6、借閱。本人授權南昌航空大學科技學院可以將本論文的全部或部分內容編入有關數據庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。</p><p>  作者簽名: 日期:</p><p>  導師簽名: 日期:</p><p>  基于FPGA的曼徹斯特編碼器的設計&

7、lt;/p><p>  摘要:電子技術與航空產業(yè)飛速發(fā)展,已成為我國支柱產業(yè)之一。我國政府高度重視航空航天產業(yè)發(fā)展,“十二五”期間將進一步加大政府支持力度,促進航空航天產業(yè)快速發(fā)展。在飛機制造中,航空電子系統(tǒng)是其中重要的組成部分,而航空電子系統(tǒng)中數據總線是關鍵技術之一。</p><p>  11553B作為一種通用的軍事標準協(xié)議,它對數據總線的電氣和協(xié)議特性進行嚴格的規(guī)范和約束,現(xiàn)已廣泛運用于

8、航空電子綜合系統(tǒng)。該標準對航空飛機所需的數字/命令/響應,分時復用等數字總線技術提出了一系列的要求,其中包括數據總線的傳輸和協(xié)議格式。</p><p>  本文首先對FPGA和曼徹斯特編碼相關原理進行概述,尤其是航空數據總線MIL-STD-1553B。其次是對其系統(tǒng)組成的介紹,本次設計主要包括兩大部分,并串轉換器、曼徹斯特編碼器。最后著重講述該系統(tǒng)在quartusⅡ 軟件下的運行和仿真。1553B總線協(xié)議中對傳輸

9、的字類型進行了規(guī)范和分類:分別是命令字、狀態(tài)字和數據字。本次論文的設計主要著重于該協(xié)議總線接口內部的曼徹斯特碼編碼器,作為總線接口的重要組成部分,曼徹斯特編碼器擔負著碼型編寫、奇偶校驗等重要任務,使數據能夠以1553B所定義的標準形式在數據總線中進行傳輸。</p><p>  關鍵詞:FPGA,曼徹斯特編碼,1553B總線,串并轉換</p><p><b>  指導老師簽字:&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選題的依據和意義1</p><p>  1.2項目研究內容和任務1</p><p>  1.3論文內容及結構2</p><p>  2 FPGA原理及開發(fā)工具</p><p>  2.1 FPGA原理3</p><p>  2.2 QuartusⅡ及開發(fā)語言

19、4</p><p>  3 曼徹斯特編碼原理</p><p>  3.1 1553B數據總線8</p><p>  3.2 曼徹斯特編碼原理10</p><p><b>  4 系統(tǒng)總體設計</b></p><p>  4.1 系統(tǒng)設計要求11</p><p>  

20、4.2 系統(tǒng)設計思路11</p><p>  4.3 系統(tǒng)設計框圖12</p><p><b>  5 系統(tǒng)模塊設計</b></p><p>  5.1 并串轉換器的設計13</p><p>  5.2 曼徹斯特編碼器設計14</p><p>  6系統(tǒng)仿真及結果分析</p>

21、<p>  6.1 并串轉換器仿真及結果分析19</p><p>  6.2曼徹斯特編碼器仿真及結果分析26</p><p>  6.3系統(tǒng)總體仿真及結果分析29</p><p>  7 結論及展望34</p><p><b>  參考文獻35</b></p><p><

22、;b>  致謝36</b></p><p><b>  附錄A37</b></p><p><b>  附錄B41</b></p><p>  基于FPGA的曼徹斯特編碼器的設計</p><p><b>  1 緒論 </b></p>

23、<p>  1.1選題的依據和意義</p><p>  航空航天產業(yè)是國家綜合國力的集中體現(xiàn)和重要標志,是國家先進制造業(yè)的重要組成部分,是國家科技創(chuàng)新體系的一支重要力量。促進航空航天產業(yè)快速發(fā)展。在飛機制造中,航空電子系統(tǒng)是其中重要的組成部分,而航空電子系統(tǒng)中數據總線是關鍵技術之一。</p><p>  MIL-STD-1553B是目前廣泛適用于航空電子領域的協(xié)議標準,它具有傳輸

24、穩(wěn)定、抗干擾、負荷輕、速率高等優(yōu)點。其主要被歐美軍方用于軍事系統(tǒng),在戰(zhàn)斗機、航天設備、驅逐艦等軍用設施上得到了非常多的運用和實踐。為了適應現(xiàn)代軍事斗爭的需要,近年來,我國在新型戰(zhàn)斗機、驅逐艦的研制中已開始采用1553B標準。但是,由于該標準的核心技術為歐美公司所壟斷。因此,自主研發(fā)基于MIL-STD-1553B總線標準的協(xié)議芯片及產品具有重要的戰(zhàn)略意義。</p><p>  目前,此類器件在國內還較少出現(xiàn),對于整

25、個1553B體系架構的把握尚未形成,我們急需改變這種不利情況。自主研發(fā)1553B相關產品首先必須解決曼徹斯特碼的編碼、解碼。本文的主要工作就是研究1553B曼徹斯特碼編碼器的設計及實現(xiàn)。曼徹斯特碼編碼器是1553B總線接口中最為重要的器件之一,它直接關系到總線數據能否嚴格按照MIL-SID-1553B標準協(xié)議來進行傳輸,是其三種類型字傳遞的門戶端口器件。本課題設計就是基于FPGA的曼徹斯特編碼器的設計。</p><p

26、>  1.2項目研究內容和任務</p><p>  本項目主要研究MIL-STD-1553B上的曼徹斯特碼編碼器的軟件設計和實現(xiàn)。技術上采用FPGA作為硬件平臺,為了使FPGA器件能順利完成曼碼的編碼任務,它應該包括這樣幾個部分:</p><p>  1.并串轉換器的設計</p><p>  并串轉換器的主要工作是將16位由前端輸入的并行數據轉換為曼徹斯特能夠

27、編碼的串行數據。它主要由時鐘信號、轉換使能信號控制。</p><p>  2.曼徹斯特編碼器的設計</p><p>  在每個周期的開頭加同步字頭,數據輸入時間持續(xù)16個周期,期間對數據進行編碼。若輸入的數據信元為“1”,編碼就通過輸出一個下降沿來表示,當輸入數據為“0”時,編碼則輸出一個上升沿。數據位輸入結束后,編碼器將對輸入的數據信元進行奇偶校檢,如果在輸入的數據信元中“1”的個數為奇

28、數,編碼器輸出一個上升沿,反之若數據信元中“1”的個數為偶數則輸出一個下降沿。</p><p><b>  3.軟件設計的仿真</b></p><p>  QuartusⅡ借助EDA工具中的編譯器、綜合器、適配器、時序仿真器和編程器等工具進行相應的處理,才能使已完成的設計在FPGA上進行硬件實現(xiàn)并得到測試結果。EDA工具有多種途徑完成目標系統(tǒng)的輸入,如HDL文本輸入方

29、式、原理圖輸入方式、狀態(tài)圖輸入方式以及混合輸入方式等。相對而言,HDL文本輸入方式是最基本也是最直接的輸入方式。將通過實例具體介紹基于Quartus II的VHDL文本輸入流程,包括設計的輸入、綜合、適配、仿真測試和編程下載等。</p><p>  1.3論文內容及結構</p><p>  介紹了FPGA的有關原理,及它的設計流程,vhdl語言的概述等;第三章介紹了曼徹斯特編碼的有關知識,

30、尤其介紹了1553B數據總線;第四章對本文框架進行了講述,有設計思路的比較和設計框圖;第五章介紹了主要的兩大模塊:串并轉換模塊和曼徹斯特編碼模塊;第六章對該系統(tǒng)功能進行了仿真驗證;第七章是對本次設計的小結和展望。</p><p>  2 FPGA原理及開發(fā)工具</p><p>  2.1 FPGA原理</p><p>  FPGA( Field-Programmab

31、le Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。</p><p>  圖2.1 FPGA的基本結構 </p><p>  目前以硬件描述語言(Verilog或VH

32、DL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現(xiàn)代 IC 設計驗證的技術主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學方程式。在大多數的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。 FPGA采用了邏輯單元陣列LCA(Logic Cell Arra

33、y)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分,如圖2.1。FPGA的基本特點主要有: 1.采用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的芯片。 2.FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3.FPGA內部有豐富的觸發(fā)器和

34、I/O引腳。 4.FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風</p><p>  FPGA提供了一種“自頂向下"的全新的設計方法。這種設計方法首先從系統(tǒng)設計入手,在頂層進行功能方框圖的劃分和結構設計,在圖表級進行仿真、糾錯,并用硬件描述語言對高層次的系統(tǒng)行為進行描述,在系統(tǒng)級進行驗證。然后用綜合優(yōu)化工具生成具體門電路的網表,其對應的物理實現(xiàn)級可以是印刷電路板或專用集成電路。由于設計的

35、主要仿真和調試過程是在高層次上完成的,這不僅有利予早期發(fā)現(xiàn)結構設計上的錯誤,避免設計工作的浪費,而且也減少了邏輯功能仿真的工作量,提高了設計的一次成功率。 </p><p>  2.2 QuartusⅡ及開發(fā)語言</p><p>  Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware

36、Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程。</p><p>  一、VHDL語言的發(fā)展歷史</p><p>  本次畢業(yè)設計就是應用VHDL語言,是一種用于數字電路設計的高級語言。VHDL全名是Very-High-Speed Integrated Circuit HardwareDescrip

37、tion Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言 。自IEEE公布了VHDL的標準版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設計環(huán)境,或宣布自己的設計工具可以和VHDL接口。</p><p>  此后VHDL在電子設計領域得到了廣泛的認可,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行

38、了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內容,公布了新版本的VHDL,即IEEE標準的1076-1993版本,(簡稱93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL與Verilog語言將承擔起大部分的數字系統(tǒng)設計任務。VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現(xiàn)。最初

39、是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言,它的應用主要是應用在數字電路的設計中。目前,它在中國的應用多數是用在FPGA/CPLD/EPLD的設計中。當然在一些實力較為雄厚的單位,它也被用來設計ASIC。</p><p>  二、Quartus II下的FPGA設計</p><p>  Quartus II為硬件電路的設計提供了很大的方便。F

40、PGA之所以能夠廣泛應用于電路設計中,就是因為它們有使用相當方便的開發(fā)軟件工具包,通過編程工具和軟件的配合使用,對器件芯片可以進行流暢的開發(fā)、校驗。FPGA特別適用于正向設計,即從電路原理圖或各種硬件描述語言到芯片成品的設計,在這些設計流程中,設計人員對特別底層的硬件知識并不需要特別的了解和掌握,完全可以從功能應用出發(fā),根據任務需求,自頂向下地進行電路設計。下面我們來看看FPGA的設計流程,Quartus II環(huán)境下的FPGA設計過程主

41、要包括5個步驟:</p><p><b>  ●設計輸入</b></p><p>  運用電路原理圖輸入、HDL文本輸入等方式,表達設計思想,指定所用HIGA器件的型號,分配其外部管腳。</p><p><b>  ●綜合</b></p><p>  將原理圖、HDL語言等設計輸入翻譯成由基本電路邏

42、輯單元組成的連接網表,供布局布線器進行實現(xiàn)。</p><p><b>  ●布局布線</b></p><p>  根據連接網表文件,進行布局布線的分析和優(yōu)化,完成FPGA器件內、外的虛擬連接。</p><p><b>  ●仿真</b></p><p>  仿真分為功能仿真和時序仿真。功能仿真驗證電

43、路功能是否符合設計要求;時序仿真包含了延時信息,能較好反映芯片的工作情況。</p><p><b>  ●編程和配置</b></p><p>  成功編譯后,將生成的編程文件下載到目標FPGA系統(tǒng)中調試;調試成功后,燒寫到FPGA的配置芯片中。</p><p>  圖2.2 軟件開發(fā)流程</p><p>  三、 Qua

44、rtusⅡ的仿真</p><p>  仿真分為功能仿真和時序仿真。通常,功能仿真用于驗證電路的功能是否正確。本次設計主要是在quartusⅡ軟件中進行功能仿真驗證。仿真的一般步驟如下: </p><p>  ● 新建波形編輯文件;</p><p>  ● 設置仿真時間區(qū)域;</p><p><b>  ● 保存文件;</b&g

45、t;</p><p>  ● 導入欲觀察的信號節(jié)點;</p><p><b>  ● 編輯激勵信號;</b></p><p><b>  ● 設置數據格式;</b></p><p>  ● 設置仿真器參數;</p><p>  ● 啟動仿真和觀察仿真結果。</p>

46、<p>  3 曼徹斯特編碼原理</p><p>  3.1 1553B數據總線</p><p>  數據總線是為不同的系統(tǒng)之間提供數據和信息交換的媒介,這就類似于個人計算機和辦公自動化系統(tǒng)之間局域網式的互連,MIL-STD-1553B總線協(xié)議是在1978年誕生于美國國防部的,它早前作為的是一種定義了數據總線電氣和協(xié)議特性的軍事標準。</p><p>

47、  一、 1553B的歷史發(fā)展與應用</p><p>  MIL-STD-1553B是一種在航空電子系統(tǒng)中廣泛運用的總線協(xié)議,它的全稱是飛機內部時分命令多路響應數據總線,它的發(fā)展可以追溯到1968年。美國政府軍事部門經過三年的修訂,于1973年8月公布了MIL-STD-1553,這個內部標準的第一個使用者就是F-16戰(zhàn)斗機。而美國國防部1975年4月30日所發(fā)布的MIL-STD-1553A就是在此基礎上不斷發(fā)展衍

48、變而來,并為F-16戰(zhàn)斗機和AH-64A Apache直升機所首先運用。在此之后,通過一系列現(xiàn)實操作所積累起來的經驗,在1553A的基礎上,SAE又加入了許多定義和額外的應用能力于其中,這就是1553B標準協(xié)議,它于1978年9月21日由SAE公布,一直沿用至今。不過1553B也在不斷進行著一些改動。為了將該標準僅僅應用于空軍系統(tǒng),1980年美國空軍曾經對1553B標準的應用選擇實施了諸多限制,但是工業(yè)界卻普遍認為這樣的做法大大低估了1

49、553B的應用能力,它應該擁有更廣泛的使用權限。</p><p>  現(xiàn)在的MIL-STD-1553B在軍用航空電子系統(tǒng)中應用范圍非常廣泛,比如衛(wèi)星通信系統(tǒng)、國際空間站的空間地址探尋、大規(guī)模交通控制、航空燃料補給等等,甚至包括在了一系列的發(fā)射器和服務器中,比如飛行器和發(fā)射器的基本接口。除此以外,海軍的艦艇、潛水艇、陸軍的直升機和坦克,這些都用到了1553B總線協(xié)議;對商業(yè)領域來說,地鐵、產品制造生產線也已運用到了

50、該標準協(xié)議。</p><p>  二、1553B數據總線規(guī)則</p><p>  1553B總線上的信息是以消息(Message)的形式調制成曼徹斯特碼進行傳輸的。每條消息最長由32個字組成,所有的字分為三類:命令字、數據字和狀態(tài)字。每類字的長度為20位,有效信息位是16位,每個字的前3位為單字的同步字頭,而最后1位是奇偶校驗位。有效信息(16位)及奇偶校驗位在總線上以曼徹斯特碼的形式進行

51、傳輸,傳輸一位的時間為1 S(即碼速率為1MHz)。同步字頭占3位,先正后負為命令字和狀態(tài)字,先負后正為數據字。在這三種類型的字中,命令字位于每條消息的起始部分,其內容規(guī)定了該次傳輸的具體要求。1553B總線曼徹斯特碼編碼器的主要功能就是把來自外部的并行二進制數據轉化為1553B總線上傳輸的串行信息,并且對這些串行數據進行曼徹斯特碼編碼,再加上同步頭和奇偶校驗碼,使之成為能夠以1553B總線協(xié)議所要求的格式在總線中傳輸的數據。</

52、p><p>  前三位同步字頭 中間16位數據位 最后第20位奇偶校驗位</p><p>  圖3.1 1553B的數據格式 </p><p>  三、 1553B總線的傳輸</

53、p><p>  1553B總線能掛31個遠置終端,1553B總線采用指令/響應型通信協(xié)議,它有三種終端類型:總線控制器(BC)、遠程終端(RT)和總線監(jiān)視器(BM);信息格式有BC到RT、RT到BC、RT到RT、廣播方式和系統(tǒng)控制方式;傳輸媒介為屏蔽雙絞線,1553B總線耦合方式有直接耦合和變壓器耦合;1553B總線為多冗余度總線型拓撲結構,具有雙向傳輸特性,其傳輸速度為1Mbps傳輸方式為半雙工方式,采用曼徹斯特碼

54、進行編碼傳輸。采用這種編碼方式是因為適用于變壓器耦合,由于直接耦合不利于終端故障隔離,會因為一個終端故障而造成整個總線網絡的完全癱瘓,所以其協(xié)議中明確指出不推薦使用直接耦合方式。</p><p>  狀態(tài)字只能由RT發(fā)出,它的內容代表RT對BC發(fā)出的有效命令的反饋。BC可以根據狀態(tài)字的內容來決定下一步采取什么樣的操作。數據字既可以由BC傳輸到某RT,也可以從某RT傳輸至BC,或者從某RT傳輸到另一RT,它的內容代

55、表傳輸的數據。 </p><p>  1553B總線上消息傳輸的過程是:總線控制器向某一終端發(fā)布一個接收/發(fā)送指令,終端在給定的響應時間范圍內發(fā)回一個狀態(tài)字并執(zhí)行消息的接收/發(fā)送。BC通過驗收RT回答的狀態(tài)字來檢驗傳輸是否成功并做后續(xù)的操作。消息是構成1553B總線通訊的基本單位,如果需要完成一定的功能,就要將多個消息組織起來,形成一個新的結構叫做幀(Frame)。完成一個消息的時間稱為消息時間,兩個消息之間的間

56、隔稱為消息間隔時間,完成一個幀的時間稱為幀時間。在實際應用中這三種時間都是可以通過編程設置的。</p><p>  3.2 曼徹斯特編碼原理 </p><p>  曼徹斯特編碼,也叫做相位編碼(PE),是一個同步時鐘編碼技術,被物理層使用來編碼一個同步位流的時鐘和數據。在曼徹斯特編碼中,用電壓跳變的相位不同來區(qū)分1和0,即用正的電壓跳變表示0,用負的電壓跳變表示1。因此,這種編碼也稱為相應

57、編碼。由于跳變都發(fā)生在每一個碼元的中間,接收端可以方便地利用它作為位同步時鐘,這種編碼也稱為自同步編碼。</p><p>  曼徹斯特編碼電平跳變的規(guī)則是:低電平的中間時刻跳變表示‘0’,用高電平中間時刻的跳變表示‘1’,如下圖3.2所示。因而這樣防止時鐘同步的丟失,或來自低頻率位移在貧乏補償的模擬鏈接位錯誤。在這個技術下,實際上的二進制數據被傳輸通過這個電纜,不是作為一個序列的邏輯1或0來發(fā)送的。它具有自同步能

58、力和良好的抗干擾性能。但每一個碼元都被調成兩個電平,所以數據傳輸速率只有調制速率的1/2。</p><p>  圖3.2 曼徹斯特編碼 </p><p>  下面是一段數據串行信號"100010011

59、1",在上圖中可以看出曼徹斯特編碼信號的跳變都發(fā)生在中間時刻,它按照曼徹斯特的編碼規(guī)則,可以表示"1001100111"。如下圖3.3所示。 </p><p>  圖3.3 信號的曼徹斯特編碼</p><p><b>  4 系統(tǒng)總體設計</b></p><p>  4.1

60、 系統(tǒng)設計要求</p><p>  本課題的設計要求和技術指標:</p><p>  1.MIL-STD-1553B總線上的數據以雙相曼徹斯特編碼的方式傳輸。</p><p>  2.編碼器把來自外部的并行二進制數據轉化為串行信息。</p><p>  3. 對串行數據進行曼徹斯特碼編碼,再加上同步頭和奇偶效驗位。</p>&l

61、t;p>  4. 能夠以1553B總線協(xié)議所要求的格式在總線中進行傳輸。</p><p>  本畢設畢業(yè)圓滿的完成了上述任務。</p><p>  4.2 系統(tǒng)設計思路 </p><p>  根據系統(tǒng)的設計要求,需要解決外部數據的并串轉

62、換和數據編碼問題,而曼徹斯特編碼器是本文的設計重點,思路如下: </p><p>  在每個周期的開頭加同步字頭,數據輸入時,輸入時間將持續(xù)16個編碼周期,若輸入的數據信元為“1”,編碼就通過輸出一個下降沿來表示,當輸入數據為“0”時,編碼則輸出一個上升沿。數

63、據位輸入結束后,編碼器將對輸入的數據信元進行奇偶校檢,如果在輸入的數據信元中“1”的個數為奇數,編碼器輸出一個上跳變電平,反之若數據信元中“1”的個數為偶數則輸出一個下跳變電平,如圖4.1所示。 </p><p>  圖4.1 編碼器設計思路</p><p>  4.3 系統(tǒng)設計框圖</p><p>  根據上述系統(tǒng)的設計要求,系統(tǒng)主要由兩大模塊組成:并串轉換器、

64、曼徹斯特編碼器。在系統(tǒng)外部由16位并行信號線供給,經過系統(tǒng)的兩個模塊后輸出曼徹斯特編碼信號。在信號的編碼方面本設計經過很多次修改,編碼沒有信號的丟失,并且奇偶校驗位的數據匹配,完全滿足系統(tǒng)設計的四點要求,系統(tǒng)框圖如4.2所示。</p><p>  圖4.2 系統(tǒng)原理框圖</p><p><b>  5 系統(tǒng)模塊設計</b></p><p> 

65、 5.1 并串轉換器的設計</p><p>  串并轉換主要工作是將16位并行數據轉換為曼徹斯特能夠編碼的串行數據。它主要由時鐘信號、轉換使能信號控制。當sl信號高電平時就開始輸出當前十六位并行數據。它的流程圖如圖5.1所示。</p><p>  圖5.1 并串轉換流程圖 </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Ⅱ中生成相應的并串轉換模塊如圖

72、5.2所示。端口有時鐘信號、并串轉換使能信號、16位并行數據輸入端和一位串行數據輸出端。</p><p>  圖5.2 并串轉換器圖</p><p>  5.2 曼徹斯特編碼器設計</p><p>  曼碼編碼過程可分為三部分:1)檢測編碼周期是否開始,產生同步字頭;2)進行輸入數據的曼徹斯特編碼3)產生奇偶校驗位并對其進行編碼,編碼周期結束。</p>

73、<p>  編碼器的設計流程如圖5.3所示: 當使能信號為高電平時,編碼周期開始,當同步選擇信號SS為“1”,輸出信號為命令同步,若為“0”,表示輸出信號為數據同步,當輸入數據使能信號 send為“1”時,表明允許數據輸入,輸入時間將持續(xù)16個編碼周期,若輸入的數據信元 din為“1”,編碼就通過輸出一個下降沿來表示, 當輸入數據為“0”時,編碼則輸出一個上升沿。數據位輸入結束后,編碼器將對輸入的數據信元進行奇偶校檢,如果在

74、輸入的數據信元中“1”的個數為奇數,編碼器輸出一個上升沿,反之若數據信元中“1”的個數為偶數則輸出一個下降沿。</p><p>  圖5.3 曼徹斯特編碼流程</p><p>  上述的流程圖中ss為同步選擇信號,din為數據輸入信號。曼徹斯特編碼器的代碼如下:</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、 --復位信號</p><p>  clk :in std_logic; --基準時鐘信號</p><p>  ss : in std_logic; --同步選擇信號</p><p>  In_en: in std_logic; --輸入選擇信號</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; --奇偶校檢信號</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'; --各信號初始化</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"; --命令同步字產生</p><p><b>  else</b></p><

84、;p>  tem_register<="000111"; --數據同步字產生</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'; --奇偶校檢的產生</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'; --對輸入數據進行編碼</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Ⅱ中生成相應的曼徹斯特編碼器模塊。輸入端口有時鐘信號、復位信號、輸入使能信號、串行輸入信號端、和編碼信號輸出端及輸出使能信號。

94、 </p><p>  圖5.4 曼徹斯特編碼器</p><p>  6系統(tǒng)仿真及結果分析</p><p>  6.1 并串轉換器仿真及結果分析</p><p>  打開QuartusⅡ軟件,新建一個工程為"encode",如圖6.1所示。</p><p>  圖6.1 新建工程文件encod

95、e </p><p>  單擊"Finish"按鈕完成"encode"工程的新建。新建完工程文件后,就建立并串轉換模塊。選擇"File"→"New"命令或是單擊新建圖標,在彈出的"New"對話框中選擇"VHDL File"選項,單擊"OK"按鈕,如圖6.2所

96、示。</p><p>  圖6.2 新建并串轉換VHDL文件</p><p>  新建完VHDL文件以后就開始輸入VHDL代碼,在quartusⅡ中,如下圖6.3所示。</p><p>  圖6.3 并串轉換VHDL代碼輸入</p><p>  在輸入完代碼以后,就保存當前文件,點保存快捷方式,命名為"p_to_s"

97、文件名。下一步就是開始編譯,在編譯前要在"project navigator" 框中點擊p_to_s的右鍵"set as top-level Entity"。接下來就是對并串轉換進行編譯??梢栽趒uartusⅡ中直接點擊編譯快捷方式。結果如圖6.4所示。</p><p>  圖6.4 并串轉換編譯結果</p><p>  工程編譯成功后,必須對其功

98、能和時序特性進行仿真測試,以了解設計結果是否滿足原設計要求。Quartus II提供的波形文件為"Vector Waveform File",即VWF。</p><p>  新建波形文件進行仿真,選擇"File"→"New"命令或是單擊新建圖標,選擇"Vector Waveform File"項。如下圖6.5所示。</p>

99、<p>  圖6.5 新建并串轉換的波形文件</p><p>  在向量波形文件的"Name"下方的空白處,雙擊鼠標左鍵,彈出"Insert Node or Bus"對話框如圖6.6所示,單擊"Node Finder"按鈕,彈出"Node Finder"對話框,如圖6.7所示。 </p>&l

100、t;p>  圖6.6 添加端口對話框</p><p>  圖6.7 Node Finder選擇對話框</p><p>  在彈出的圖6.7框中點擊"list"按鈕,再點擊》按鈕,最后點"OK"按鈕。這波形文件的端口都已經添加進去了。然后就是設置端口的波形。</p><p>  在編譯之后就是對模塊進行仿真,在quar

101、tusⅡ軟件中點擊"processing"菜單中的"simulator tool"。然后加載之前創(chuàng)建的波形文件”p_to_s“。在下圖6.8所示圖中點"generate function simulation netlist"按鈕。創(chuàng)建完網表文件之后就可以點擊"start"按鈕。</p><p>  圖6.8 并串轉換 simulat

102、or tool</p><p>  圖6.9 并串轉換仿真結果</p><p>  在圖6.8所示的圖中,仿真運行之后就可以點擊report按鈕。結果如圖6.9所示。</p><p>  圖6.10 并串轉換結果分析圖</p><p>  在datain端口中輸入"1101001110100110"十六位的并行數據。q為

103、十六位串行數據的輸出端,q端高電平為'1',低電平為'0'。從圖中q端的結果可以讀出q的輸出信號為"1101001110100110",所以并串轉換器滿足并串轉換的要求。</p><p>  6.2曼徹斯特編碼器仿真及結果分析</p><p>  在同一個工程文件下,建立曼徹斯特編碼模塊。選擇"File"→"

104、New"命令或是單擊新建圖標,在彈出的"New"對話框中選擇"VHDL File"選項,單擊"OK"按鈕,如代碼輸入后如圖6.10所示。</p><p>  圖6.10(a) 曼徹斯特編碼器代碼輸入</p><p>  圖6.10(b) 曼徹斯特編碼器代碼輸入</p><p>  在輸入完代碼以

105、后,就保存當前文件,點保存快捷方式,命名為"encode"文件名。下一步就是開始編譯,結果如圖6.11所示。</p><p>  圖6.11 曼徹斯特編碼器編譯</p><p>  在編譯成功后,必須對其功能和時序特性進行仿真測試,以了解設計結果是否滿足原設計要求。新建波形文件進行仿真,然后就是添加輸入端口和按照要求對輸入信號進行編輯。仿真結果如圖6.12所示。<

106、;/p><p>  圖6.12 曼徹斯特編碼仿真結果 </p><p>  圖6.13 曼徹斯特編碼結果分析</p><p>  從圖6.13 中的結果可以看出一個字的長度為20位,date_in的兩個時鐘周期電平為一個數據比特,從電平中可以看出輸入為"1101001110100110"。前面3位為同步字頭,111000為同步字頭。而后面的

107、16位數據位為"1101001110100110"。因為數據位有9個‘1’所以輸出的奇偶校驗位為‘0’。上圖中兩個時鐘周期為一個數據比特,上跳變?yōu)椤?’,下跳變?yōu)椤?’。 </p><p>  從上面分析可以看出設計出曼徹斯特編碼器滿足曼徹斯特編碼的要求。</p><p>  6.3系統(tǒng)總體仿真及結果分析</p><p>  在完成上述的兩個

108、模塊的仿真和運行以后進行總體的功能仿真。在并串轉換器和曼徹斯特編碼器中分別選擇"File"→"Create/Update"→"Create Symbol Files for Current File"編譯文件并為該文件生成模塊文件如圖6.14 。</p><p>  圖6.14 并串轉換器封裝創(chuàng)建結果</p><p>  然后再新

109、建原理圖文件。選擇"File"→"New"命令或是單擊新建圖標,在彈出的"New"對話框中選擇"Block Diagram/Schematic File"選項,單擊"OK"按鈕,圖略。</p><p>  在原理框圖文件的空白處,雙擊鼠標左鍵,在彈出的"Symbol"對話框中選擇"Pr

110、oject"→"encode"模塊,如圖6.15所示。單擊"OK"按鈕退出"Symbol"對話框,適當位置放置"encode"模塊。同理放入"p_to_s"模塊,如圖6.16所示。</p><p>  圖6.15 encode模塊Symbol</p><p>  圖6.16

111、 p_to_s模塊Symbol</p><p>  雙擊原理框圖文件的空白處,在彈出的"Symbol"對話框的"Name"文本框中輸入"INPUT",單擊"OK"按鈕退出"Symbol"對話框,在適當位置放置INPUT模塊,使用同樣的方法再加入一個INPUT和OUTPUT模塊。各個模塊連接如圖6.17所示,保存原理

112、框圖文件為"mancodec.bdf"。</p><p>  圖6.17 系統(tǒng)模塊框圖 </p><p>  經過了原理和代碼的輸入之后,就開始進行編譯。首先點擊quartusⅡ中的project navigator框中的mancodec.bdf文件圖標,再點右鍵選擇"set as top-level entity",再按編譯按鈕。&l

113、t;/p><p>  編譯完成后,然后開始新建波形文件。波形文件的結果如圖6.18所示。編輯波形文件再保存,保存名為"mancodec"。</p><p>  圖6.18 系統(tǒng)波形文件輸入圖</p><p>  圖6.19 系統(tǒng)仿真Simulator Tool </p><p>  在編譯之后就是

114、對模塊進行仿真,在quartusⅡ軟件中點擊"processing"菜單中的"simulator tool"按鈕。然后加載之前創(chuàng)建的波形文件"mancodec"。在圖6.19所示圖中點擊"generate function simulation netlist"按鈕。創(chuàng)建完網表文件之后就可以點擊"start"按鈕。</p>

115、<p>  圖6.20 系統(tǒng)仿真結果</p><p>  在點擊上圖的"report"按鈕之后就會彈出系統(tǒng)的總體仿真結果。如圖6.20所示。</p><p>  圖6.21 系統(tǒng)輸出結果分析圖</p><p>  從上圖6.21中的結果可以看出一個字的長度為20位,date_in的兩個時鐘周期電平為一個數據比特,在datain中有十六

116、位數據線。從15位數據線到0位它的輸入為"1101001110100110"。前面3位為同步字頭,"111000"為同步字頭。而后面的16位數據位為"1101001110100110"。因為數據位有9個‘1’所以輸出的奇偶校驗位為‘0’。上圖中兩個時鐘周期為一個比特,上跳變?yōu)椤?’,下跳變?yōu)椤?’。 </p><p>  從上面分析可以看出設計出曼徹

117、斯特編碼器滿足曼徹斯特編碼的要求。</p><p><b>  7 結論及展望</b></p><p>  本次設計實現(xiàn)了任務書中規(guī)定的要求,系統(tǒng)結構包括:并串轉換器,曼徹斯特編碼器。滿足了課題規(guī)定中的任務書的要求。FPGA是我們的一門專業(yè)選修課,本人學習這門課程也才半年的時間,但是在本次畢業(yè)設計中學到了很多知識。在畢設的過程中,我參考了很多教材和網上的資料。我相信對

118、我以后不管是就業(yè)還是繼續(xù)學習深造都有很大影響。 </p><p>  目前,1553B總線協(xié)議正被越來越多的軍用與民用客戶所接受。1553B協(xié)議數據的曼碼編碼器也因此漸顯其重要性。在接下來的工作中,我們還可以運用類似的設計思路進行曼碼解碼器的開發(fā),使之成為完整的1553B協(xié)議曼徹斯特編/解碼體系結構。</p><p><b>  參考文獻</b></p>

溫馨提示

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

評論

0/150

提交評論