基于fpga的基帶信號的位同步信號提取畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩75頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  xxxx學院</b></p><p><b>  畢業(yè)設(shè)計論文</b></p><p>  題 目: 基于單片機和FPGA的位同步信號提取 </p><p>  專業(yè)班級: 電子信息工程 </p><p>  學生姓名:

2、 學 號: </p><p>  完成日期: </p><p>  指導教師: </p><p>  評閱教師: </p><p>  2006 年 6 月 </p

3、><p>  畢業(yè)設(shè)計(論文)任務(wù)書</p><p>  設(shè)計(論文)題目: 基于單片機和FPGA的位同步信號提取 </p><p>  姓名 專業(yè) 電子信息工程 班級 0281 </p>&

4、lt;p>  一、基本任務(wù)及要求: </p><p>  本課題是設(shè)計一具有通用性的輸入信號的位同步提取系統(tǒng),系統(tǒng)可以實現(xiàn)10HZ~1MHZ的信號同步。使用單片機進行實時控制現(xiàn)場可編程邏輯門陣列FPGA完成位同步信號提取,通過理論和實驗研究,完成硬件電路和軟件設(shè)計并試制樣機,要求完成:

5、 </p><p>  1、單片機實時控制FPGA,完成實時頻率跟蹤測量和自動鎖相; </p><p>  2、在FPGA 內(nèi)部,設(shè)計完成以下部分: </p><p>  A、全數(shù)字鎖相環(huán)DPLL,主要包

6、含:數(shù)控振蕩器、鑒相器、可控模分頻器 </p><p>  B、LED動態(tài)掃描電路、FPGA和單片機的數(shù)字接口,以完成兩者之間的數(shù)字傳遞</p><p>  3、 設(shè)計輔助電路:鍵盤、LED; </p><p>  二、進度安排及完成時間:

7、 </p><p> ?。?)第二周至第四周:查閱資料、撰寫文獻綜述和開題報告; </p><p> ?。?)第五周至第六周:畢業(yè)實習;

8、 </p><p> ?。?)第六周至第七周:項目設(shè)計的總體框架:各個模塊以及各個模塊之間的關(guān)系確定,各個模塊的方案選擇與各個模塊的所用主要器件的確定; </p><p>

9、; ?。?)第八周至第十三周:各個模塊的主要器件熟悉及相關(guān)知識的熟悉;各個模塊的具體任務(wù)實現(xiàn):硬件電路、軟件編程; </p><p>  (5)第十四周至第十五周:系統(tǒng)的總體仿真與調(diào)試 </p

10、><p> ?。?)第十六周至第十七周:撰寫設(shè)計說明書 ; </p><p> ?。?)第十八周:畢業(yè)設(shè)計答辯; </p><p><b

11、>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  引 言1</b></p><p>  第1章 緒 論2</p><p>  1.1 位同步技術(shù)當前的發(fā)展

12、2</p><p>  1.2 EDA簡介3</p><p>  1.3 8051型單片機4</p><p>  1.4 FPGA器件簡介4</p><p>  1.4.1 FPGA器件的發(fā)展4</p><p>  1.4.2 FPGA器件的結(jié)構(gòu)5</p><p>  1.4

13、.3 Altera器件及EPM70647</p><p>  1.5 FPGA開發(fā)過程簡介8</p><p>  1.6 C語言9</p><p>  1.7 VerilogHDL9</p><p>  1.8 MAX+PLUS II 概述10</p><p>  第2章 系統(tǒng)組成結(jié)構(gòu)11<

14、;/p><p>  2.1 單片機模塊11</p><p>  2.2 鍵盤模塊11</p><p>  2.3 測頻、輸出顯示模塊12</p><p>  2.4 數(shù)字鎖相環(huán)(DPLL)模塊13</p><p>  第3章 各模塊的具體設(shè)計及實現(xiàn)14</p><p>  3.1 單片機

15、模塊的設(shè)計與實現(xiàn)14</p><p>  3.2 鍵盤模塊的設(shè)計與實現(xiàn)15</p><p>  3.2.1 設(shè)計中問題和解決方法15</p><p>  3.2.2 鍵盤設(shè)計的軟件設(shè)計16</p><p>  3.3 測頻、輸出顯示模塊的設(shè)計與實現(xiàn)17</p><p>  3.3.1 測頻部分17</

16、p><p>  3.3.1.1 測頻電路的設(shè)計實現(xiàn)17</p><p>  3.3.1.2 測頻模塊的軟件設(shè)計17</p><p>  3.3.2 顯示部分18</p><p>  3.3.2.1 7448芯片介紹18</p><p>  3.4 鎖相環(huán)模塊的設(shè)計與實現(xiàn)21</p><p>

17、;  3.4.1 鑒相器的選擇21</p><p>  3.4.2 可編程K可逆計數(shù)器的設(shè)計22</p><p>  3.4.3 I/D線路的設(shè)計24</p><p>  3.4.4 可編程N分頻器的設(shè)計25</p><p>  第4章 位同步信號提取系統(tǒng)整體測試28</p><p>  4.1 鎖相環(huán)的

18、仿真與測試28</p><p>  4.2 單片機軟件的測試29</p><p>  4.3 系統(tǒng)的整體測試31</p><p><b>  參考文獻33</b></p><p><b>  致 謝34</b></p><p>  附錄A 單片機軟件設(shè)計程序35

19、</p><p>  附錄B FPGA芯片內(nèi)部模塊的Verilog HDL設(shè)計58</p><p>  基于單片機和FPGA的位同步信號提取</p><p>  摘 要:本文所設(shè)計的位同步系統(tǒng)是使用單片機進行實時控制現(xiàn)場可編程門陣列(FPGA)進行同步的,在此設(shè)計中,本文主要做了以下內(nèi)容:</p><p>  1、單片機實時控制FPGA完

20、成實時頻率跟蹤測量和自動鎖相。</p><p>  2、在FPGA內(nèi)部,設(shè)計有以下兩部分:</p><p>  全數(shù)字鎖相環(huán)(DPLL),主要包括數(shù)控振蕩器、鑒相器、可控模N分頻器。</p><p>  LED動態(tài)掃描電路、FPGA和單片機的數(shù)據(jù)接口,以完成兩者之間的數(shù)據(jù)傳遞。</p><p>  3、設(shè)計輔助電路:鍵盤、LED顯示、信號源等

21、。</p><p>  4、整體測試表明:系統(tǒng)可以實現(xiàn)10Hz到1MHz的信號同步,鍵盤及顯示電路工作正常。</p><p>  關(guān)鍵字:單片機、電子設(shè)計自動化(EDA)、Verilog HDL、數(shù)字鎖相環(huán)</p><p>  According To The MCU And FPGA The Bit Synchronous Signal Withdraw</

22、p><p>  ABSTRACT:This text for designing the synchronous system is an usage MCU to control the Fileld Programmable Gate Array(FPGA) really.This design primarily completes missions as below.</p><p>

23、  The MCU complete solid hour measure frequency follow with auto lock the phase.</p><p>  In the FPGA inner part ,the design have below two parts:</p><p>  The Digital Phase Locked Loop(DPLL),pr

24、imarly include Digital Controled Oscillatory,Pahse Detector,N Divider.</p><p>  The LED Dynamicly scan and display circuit,Interface circuit between MCU and FPGA.</p><p>  Design assistant elect

25、ric circuit:The keyboard,LED shows,signal source etc.</p><p>  4、The whole test enunciation:the system can realize 10Hz to 1MHz signal is synchronous,keyboard electric circuit and manifestation electric circ

26、uit work is normal.  </p><p>  KEYWORDS:MCU EDA Verilog HDL DPLL</p><p><b>  引 言</b></p><p>  在科學飛速發(fā)展的今天,世界已進入了數(shù)字化、信息化的時代。其中,通信技術(shù)的發(fā)展最為迅速。從第一代模擬移動通信,到今年即將運營的3G移動通信,僅僅

27、數(shù)年的時間。與此同時,(微)電子技術(shù)也在以很快的速度進步著,利用FPGA作原型設(shè)計及前期樣品生產(chǎn)的作法將會逐漸流行起來。通過使用FPGA/CPLD,可得到降低成本和上市時間快等的好處。數(shù)據(jù)通信的應(yīng)用需求量很大,我國路由器產(chǎn)品采用FPGA/CPLD起了很大作用。伴隨著微電子工業(yè)的發(fā)展,今天的FPGA已經(jīng)可以做系統(tǒng)級芯片了。技術(shù)的融合,使得各種科學技術(shù)不再獨立,而是聯(lián)合應(yīng)用在一起,發(fā)揮更大的功效。</p><p> 

28、 本課題的目的是設(shè)計出一個具有通用性的輸入信號的位同步提取系統(tǒng),系統(tǒng)可以實現(xiàn)10Hz~1MHz的信號同步,使用單片機進行實時控制現(xiàn)場可編程邏輯門陣列FPGA完成對同步信號的提取。該系統(tǒng)以FPGA器件作為控制的核心,配合單片機使整個系統(tǒng)顯得尤為精簡,能達到所要求的技術(shù)指標,具有靈活的現(xiàn)場更改性,還有高速、精確、可靠、抗干擾性強等優(yōu)點。最重要的一點便是它能實現(xiàn)對不同的位同步信號進行提取,能夠滿足本課題的要求。</p><

29、p><b>  第1章 緒 論</b></p><p>  同步是通信系統(tǒng)中一個重要的實際問題。在通信系統(tǒng)中,同步具有相當重要的地位。通信系統(tǒng)能否有效地、可靠地工作,很大程度上依賴于有無良好的同步系統(tǒng)。當采用同步解調(diào)或相干檢測時,接收端需要提供一個與發(fā)射端調(diào)制載波同步同頻同相的相干載波。獲得這個相干載波的過程稱為載波提取,或稱為載波同步。數(shù)字通信中,除了有載波同步的問題之外,還有位同

30、步的問題。</p><p>  由于本次設(shè)計主要是在現(xiàn)場可編程門陣列(Field Programmable Gate Array)技術(shù)為基礎(chǔ)來完成的,所以還在概念上介紹了FPGA的發(fā)展、芯片結(jié)構(gòu)、8051型單片機、以及簡單介紹了FPGA的開發(fā)過程,EDA的使用和開發(fā)語言C語言和Verilog HDL。</p><p>  1.1 位同步技術(shù)當前的發(fā)展</p><p>

31、;  數(shù)字通信中一個很重要的問題就是位同步問題,因為消息是一串連續(xù)的信號碼元序列,解調(diào)時必須知道每個碼元的起止時刻。因此,接收端必須產(chǎn)生一個時鐘用作定時脈沖序列,它和接收的每一個碼元的起止時刻一一對齊。我們把在接收端產(chǎn)生于接收碼元的重復(fù)頻率和相位一致的定時脈沖序列的過程稱為碼元同步或位同步,而稱這個定時脈沖序列為碼元同步脈沖或位同步脈沖。</p><p>  數(shù)字通信中的消息數(shù)字流總是用若干碼元組成一個“字”,又

32、用若干“字”組成一“句”。因此,在接收這些數(shù)字流時,同樣也必須知道這些“字”、“句”的起止時刻,在接收端產(chǎn)生與“字”、“句”起止時刻相一致的定時脈沖序列,統(tǒng)稱為群同步或幀同步。</p><p>  當通信是在兩點之間進行時,完成了載波同步、位同步和幀同步之后,接收端不僅獲得了相干載波,而且通信雙方的時標關(guān)系也解決了,這時,接收端就能以較低的錯誤概率恢復(fù)除數(shù)字信息。然而,隨著數(shù)字通信的發(fā)展,特別是計算機通信及計算網(wǎng)

33、絡(luò)的發(fā)展,通信系統(tǒng)也由點對點的通信發(fā)展到多點間的通信,顯然,為了保證通信網(wǎng)內(nèi)各用戶之間可靠的進行數(shù)據(jù)交換,還必須實現(xiàn)網(wǎng)同步,即在通信網(wǎng)內(nèi)由一個統(tǒng)一的時間節(jié)拍標準。</p><p>  同步系統(tǒng)的性能的降低,會直接導致通信系統(tǒng)性能的降低,甚至使通信系統(tǒng)不能工作??梢哉f,在同步通信系統(tǒng)中,“同步”是消息傳輸?shù)那疤幔且驗槿绱?,為了保證消息的可靠傳輸,要求同步系統(tǒng)應(yīng)有更高的可靠性。</p><p&

34、gt;<b>  1.2 EDA簡介</b></p><p>  電子設(shè)計自動化(EDA)技術(shù)研究的對象是電子設(shè)計的全過程,有系統(tǒng)級、電路級和物理級各個層次的設(shè)計:涉及的電子系統(tǒng)從低頻、高頻到微波,從線性到非線性,從模擬到數(shù)字。從通用集成電路到專用集成電路構(gòu)造的電子系統(tǒng),因此EDA技術(shù)研究的范疇相當廣泛。</p><p>  在電子設(shè)計技術(shù)領(lǐng)域,可編程邏輯器件的應(yīng)用,

35、已有了很好的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計帶來極大的靈活性。由于該器件可以通過軟件編程而對其硬件的結(jié)構(gòu)和工作方式進行重構(gòu),使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程、乃至設(shè)計觀念。縱觀可編程邏輯器件的發(fā)展史,它在結(jié)構(gòu)原理、集成規(guī)模、下載方式、邏輯設(shè)計手段等方面的每一次進步都為現(xiàn)代電子設(shè)計技術(shù)的革命與發(fā)展提供了不可或缺的強大動力。隨著可編程邏輯器件集成規(guī)模不斷擴大,自身功能的不斷完善和計

36、算機輔助設(shè)計技術(shù)的提高,在現(xiàn)代電子系統(tǒng)設(shè)計領(lǐng)域中的EDA便應(yīng)運而生了。傳統(tǒng)的數(shù)字電路設(shè)計模式,如利用卡諾圖等邏輯化簡手段以及難懂的布爾方程表達方式和相應(yīng)的TTL或4000系列夸集成規(guī)模芯片的堆砌技術(shù)正在迅速地退出歷史舞臺。</p><p>  電子設(shè)計自動化(EDA)是一種實現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動化設(shè)計的技術(shù)。它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān)。它吸收了計算機科學領(lǐng)域的大多數(shù)最新研究成果,以高性能的計算機作

37、為工作平臺,是20世紀90年代初從CAD(計算機輔助設(shè)計Computer Aided Design)、CAM(計算機輔助制造Computer Aided Manufacture)、CAT(計算機輔助測試Computer Aided Test)和CAE(計算機輔助工程Computer Aided Education)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,在EDA軟件平臺上。根據(jù)硬件描述語言HDL完成的設(shè)計文件。自動地完成邏輯編譯

38、、化簡、分割、綜合及優(yōu)化、布局線、仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。設(shè)計者的工作僅限于利用軟件的方式來完成對系統(tǒng)硬件功能的描述,在EDA工具的幫助下和應(yīng)用相應(yīng)的FPGA/CPLD器件,就可以得到最后的設(shè)計結(jié)果。盡管,目標系統(tǒng)是硬件.但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣方便和高效。當然,這里的所謂EDA主要是指數(shù)字系統(tǒng)的自動化設(shè)計,因為這一領(lǐng)域的軟硬件方</p><p>  EDA

39、的實現(xiàn)是與CPLD/FPGA技術(shù)的迅速發(fā)展息息相關(guān)的。CPLD/FPGA是80年代中后期出現(xiàn)的,其特點是具有用戶可編程的特性。利用CPLD/FPGA,電子系統(tǒng)設(shè)計工程師可以在實驗室中設(shè)計出專用IC,實現(xiàn)系統(tǒng)的集成,從而大大縮短了產(chǎn)品開發(fā)、上市的時間,降低了開發(fā)成本。此外,CPLD/FPGA還具有靜態(tài)可重復(fù)編程或在線動態(tài)重構(gòu)的特性,使硬件的動能可以像軟件一樣通過編程來修改,不僅使設(shè)計修改和產(chǎn)品升級變得十分方便,而且極大地提高了電子系統(tǒng)的靈

40、活性和通用能力。</p><p>  1.3 8051型單片機</p><p>  8051片內(nèi)有4KROM,無須外接存儲器和373,更能體現(xiàn)“單片”的簡練。8051單片機的片內(nèi)結(jié)構(gòu)如圖1.1所示。如果按功能劃分,它由8個部件組成,即微處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器(

41、SFR)。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依然是采用CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。</p><p>  圖1.1 8051單片機的片內(nèi)結(jié)構(gòu)</p><p>  1.4 FPGA器件簡介</p><p>  1.4.1 FPGA器件的發(fā)展</p><p>  FP

42、GA器件(Field Programmable Gate Array)----用戶現(xiàn)場可編程門陣列集成電路是20世紀80年代中期出現(xiàn)的一種新概念,是倍受現(xiàn)代數(shù)字系統(tǒng)設(shè)計工程師歡迎的最新一代系統(tǒng)設(shè)計積木塊。由于半導體技術(shù)的飛躍發(fā)展,數(shù)字系統(tǒng)應(yīng)用經(jīng)歷了分立元件、小規(guī)模集成電路(SSI)、中規(guī)模集成電路(MSI)和大規(guī)模集成電路(LSI)及超大規(guī)模集成電路(VLSI)的發(fā)展過程,數(shù)字系統(tǒng)應(yīng)用的基本特征也由中小規(guī)模集成度的標準通用集成電路向用戶

43、定制的專用集成電路(ASIC)過渡。20世紀80年代出現(xiàn)了可編程邏輯器件(PLD),在一定程度上,為數(shù)字系統(tǒng)設(shè)計工程師進行快捷、靈活的設(shè)計提供了可能性,PLD器件的應(yīng)用使一系列功能強、速度高、靈活性大的積木式系統(tǒng)設(shè)計得以成功。但是,隨著現(xiàn)代數(shù)字系統(tǒng)設(shè)計的發(fā)展,PLD器件無論在集成容量、功耗、速度還是邏輯設(shè)計的靈活性上,均不能滿足現(xiàn)代數(shù)字系統(tǒng)的大容量、高速度、現(xiàn)場靈活可編程設(shè)計的要求。這類器件集成度還是達不到非常高,內(nèi)部資源和I/O管腳也

44、不夠多,在進行大型系統(tǒng)設(shè)計時,使用此類器件就顯得不夠理想了。FPGA器件的產(chǎn)生將半定制的門陣列電路的優(yōu)點和可編程邏輯</p><p>  FPGA單片中的等效邏輯門一般有幾千甚至多達2萬,I/O引腳多達200以上,密度極大。用幾十片PAL、GAL或幾百片標準數(shù)字集成電路搭成的系統(tǒng)用一片F(xiàn)PGA就可以實現(xiàn)。FPGA的結(jié)構(gòu)靈活,它的邏輯單元、互連資源和I/O單元都可以由用戶編程,現(xiàn)任何邏輯功能,滿足各種設(shè)計要求。&l

45、t;/p><p>  FPGA的開發(fā)工具十分先進。在用FPGA進行系統(tǒng)設(shè)計時,用戶所做的工作僅僅是用計算機繪制出系統(tǒng)的電路原理圖,其余的工作都可以由開發(fā)系統(tǒng)來自動完成。多數(shù)FPGA都既能重復(fù)編程,又可以重復(fù)使用,還可在開發(fā)系統(tǒng)中直接進行仿真。所以,使用FPGA沒有前期投資風險,也沒有工藝實現(xiàn)中的損耗。FPGA的特點是速度快,功耗低,通用性好,適應(yīng)性強,它不僅可以代替?zhèn)鹘y(tǒng)的數(shù)字集成電路,而且還可以代替一般的PLD器件和

46、半定制的ASIC,特別適用于復(fù)雜系統(tǒng)的設(shè)計。使用FPGA可以非常大的減小硬件規(guī)模,降低設(shè)計成本,縮短設(shè)計周期,提高系統(tǒng)的可靠性、靈活性和保密性。</p><p>  FPGA已經(jīng)成功地應(yīng)用于計算機硬件、工業(yè)控制、遙感遙測、雷達聲納、數(shù)據(jù)處理、智能儀表、廣播電視和醫(yī)療電子等多種領(lǐng)域中。在現(xiàn)代通信中,F(xiàn)PGA已經(jīng)成功地用作程控交換、數(shù)字復(fù)接、壓縮擴張、編碼譯碼和調(diào)制解調(diào)等。</p><p> 

47、 1.4.2 FPGA器件的結(jié)構(gòu)</p><p>  FPGA現(xiàn)場可編程門陣列器件通常由布線資源圍繞的可編程單元(或宏單元)構(gòu)成陣列,又可由可編程I/O單元圍繞陣列構(gòu)成整個芯片,如圖1.2所示。排成陣列的邏輯單元由布線主道中的可編程連線連接起來實現(xiàn)一定的邏輯功能。一個FPGA可能包含有靜態(tài)存儲單元,它們允許內(nèi)部的模式在器件被制造以后再被加載或修改。</p><p>  圖1.2 FPGA

48、基本結(jié)構(gòu)</p><p>  FPGA是由掩膜可編程門陣列和可編程邏輯器件演變而來的,將它們的特性結(jié)合在一起,使得FPGA既有門陣列的高邏輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。目前FPGA的邏輯功能塊在規(guī)模和實現(xiàn)邏輯功能的能力上存在很大差別。有的邏輯功能塊規(guī)模十分小,僅含有只能實現(xiàn)倒相器的兩個晶體管;而有的邏輯功能塊規(guī)模比較大,可以實現(xiàn)任何五變量輸入邏輯函數(shù)的查找表結(jié)構(gòu)。據(jù)此可把FPGA分為兩大類,

49、即細粒度(fine-grain)和粗粒度(coarse-grain)。細粒度邏輯塊是與半定制門陣列的基本單元相同,它由可編程互連來連接少數(shù)晶體管組成,規(guī)模都較小,主要優(yōu)點是可用的功能塊可以完全被利用;缺點是采用它通常需要大量的連線和可編程開關(guān),使相對速度變慢。由于近年來工藝不斷改進,芯片集成度不斷提高,加上引入硬件描述語言(HDL)的設(shè)計方法,不少廠家開發(fā)出了具有更細粒度結(jié)構(gòu)的FPGA。例如,XILINX公司采用Micro Via技術(shù)的

50、一次編程反熔絲結(jié)構(gòu)的XC8100系列就是邏輯功能塊規(guī)模較小,細粒度結(jié)構(gòu)的FPGA。而粗粒度FPGA功能塊規(guī)模較大并且功能較強。從構(gòu)成它的可編程邏輯和可編程互連資源來看,主要有</p><p>  第一種是具有可編程內(nèi)連線的通道型門陣列。它采用分段互連線,利用不同長度的多種金屬線經(jīng)傳輸管將各種邏輯單元連接起來。布線延時是累加的、可變的,并且與通道有關(guān)。</p><p>  第二種是具有類似P

51、LD可編程塊陣列的固定內(nèi)連布線,采用連續(xù)互連線,利用相同長度的金屬線實現(xiàn)邏輯單元之間的互連,布線延時是固定的,并且可預(yù)測。</p><p>  1.4.3 Altera器件及EPM7064</p><p>  高密度PLDs在當今的半導體工業(yè)中可謂是飛速發(fā)展。公司在提供解決方案的領(lǐng)域一直處于領(lǐng)先地位。Altera器件具有良好性能、極高的密度和非常大的靈活性,除了具有一般PLDs的特點之外,

52、還具有這些優(yōu)點:先進的處理技術(shù)、性能高、邏輯集成密度高、性價比高、開發(fā)周期短和在線可編程等。Altera公司生產(chǎn)的器件主要有Classic系列、MAX系列、Cyclone系列、Stratix系列、APEX系列、ACEX系列以及FLEX 10K系列。</p><p>  MAX系列器件采用高性能的EPROM工藝實現(xiàn)了多陣列矩陣體系結(jié)構(gòu)。內(nèi)部主要有以下組成部分:</p><p>  邏輯陣列塊

53、(logic array blocks)</p><p>  宏單元(macrocells)</p><p>  擴展乘積項(expanded product terms)</p><p>  可編程互聯(lián)陣列(programmable interconnect array)</p><p>  控制塊(I/O control blocks)&

54、lt;/p><p>  MAX 7000芯片包含有4個專用的輸入管腳,可以用來作為普通的輸入管腳或者是作為每一個宏單元和I/O管腳的高速、全局控制信號(時鐘、清零和2個輸出使能)。如圖1.3所示為EPM7064器件的結(jié)構(gòu)。4個專用管腳分別為:INPUT/GCLKl,INPUT/GCLRn,INPUT/OEln和INPUT/OE2n。每一個邏輯陣列塊包含有16個宏單元,宏單元之間通過可編程互聯(lián)陣列傳遞信號,專用輸入管腳

55、和邏輯陣列塊以及可編程互聯(lián)陣列相連接。</p><p>  圖1.3 EPM7064器件的結(jié)構(gòu)</p><p>  1.5 FPGA開發(fā)過程簡介</p><p><b>  1、設(shè)計過程</b></p><p>  設(shè)計前期:將用戶要求轉(zhuǎn)換為用于設(shè)計的技術(shù)規(guī)范;</p><p>  設(shè)計過程:軟

56、/硬件劃分、電路設(shè)計與軟件開發(fā)、系統(tǒng)仿真、可靠性分析、制造和生產(chǎn)、系統(tǒng)測試。</p><p>  設(shè)計后期:為系統(tǒng)軟件和硬件的測試生產(chǎn)測試程序和測試矢量。</p><p><b>  2、設(shè)計方法:</b></p><p>  層次設(shè)計方法:系統(tǒng)級、寄存器傳輸級、門級、電路級和器件級。</p><p>  Bottom-

57、up Design Method。</p><p>  Up-down Design Method----高級綜合方法。</p><p>  3、FPGA開發(fā)流程如圖1.4所示:</p><p>  圖1.4 FPGA開發(fā)流程</p><p><b>  1.6 C語言</b></p><p>

58、  C語言是當今世界最流行的語言之一,它集計算機語言的優(yōu)點于一身,成為具有較強生命力的程序設(shè)計語言。</p><p><b>  C語言有如下特點:</b></p><p>  1.是處于匯編語言和高級語言之間的一種語言。C語言較靠近硬件與系統(tǒng),與匯編語言較為接近。C語言既有面向硬件和系統(tǒng),像匯編語言那樣可以直接訪問硬件的功能。又有高級語言面向用戶、容易記憶、方便閱讀

59、和書寫的優(yōu)點。</p><p>  2.是一種可以進行結(jié)構(gòu)化程序設(shè)計的程序語言,即可以用順序、選擇和循環(huán)三種基本結(jié)構(gòu)實現(xiàn)程序的邏輯結(jié)構(gòu)。C語言具有諸如if-else、switch-case、for、do-while、while等結(jié)構(gòu)化語句,十分便于采用自頂向下、逐步細化的結(jié)構(gòu)化程序設(shè)計技術(shù)。因此,用C語言編制的程序,具有易于理解、便于維護的優(yōu)點。 </p><p>  3.使用方便、靈活

60、,可以使程序簡潔、緊湊。C語言只有32個標準的關(guān)鍵字、45個標準的運算符以及9種控制語句。</p><p>  4.運算符十分豐富,除一般語言使用的加、減、乘、除、取余、取反等算術(shù)運算及與、或、非邏輯運算功能外,還可以實現(xiàn)以二進制位(bit)為單位的位與、或、非、異或以及移位等位運算和單項運算等復(fù)合運算功能。除了具有基本的數(shù)據(jù)類型外還具有多種構(gòu)造數(shù)據(jù)類型,因此,C語言具有較強的數(shù)據(jù)處理能力。</p>

61、<p>  5.允許直接訪問物理地址,能實現(xiàn)二進制位操作。能實現(xiàn)匯編語言的很多功能,可以直接對硬件進行操作,這為編寫系統(tǒng)軟件提供了便利。</p><p>  1.7 VerilogHDL</p><p>  Verilog HDL的特點是易學易用,如果有C語言的編程經(jīng)驗,可以在一個較短的時間內(nèi)很快的學習和掌握。它是由GDA(Gateway DesignAutomation)公司

62、的PlulMoorby在1983年末首創(chuàng)的,最初只設(shè)計了一個仿真與驗證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時序分析工具。1985年Moorby推出它的第三個商用仿真器Verilog-XL,獲得了巨大的成功,從而使得Verilog HDL迅速得到推廣應(yīng)用。1989年CADENCE公司收購了GDA公司,使得VerilogHDL成為了該公司的獨家專利。1990年CADENCE公司公開發(fā)表了VerilogHDL,并成立LVI組織以促進Veri

63、log HDL成為IEEE標準,即IEEE Standard 1364-1995。</p><p>  1.8 MAX+PLUS II 概述</p><p>  MAX+PLUSII是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境, MAX+PLUSII提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,是設(shè)計者能方便地進行設(shè)計輸入、快速處理和器件編程。在 MAX + PLUS II軟件提供的設(shè)計環(huán)境中可以

64、完成設(shè)計輸入、設(shè)計編譯、設(shè)計仿真和器件編程四個設(shè)計階段。在設(shè)計輸入階段,用戶可以采用圖形輸入、文本輸入和波形輸入三種方式輸入設(shè)計文件,但波形輸入方式只能在工程設(shè)計的底層使用。在設(shè)計編譯階段,MAX + PLUS II編譯器依據(jù)設(shè)計輸入文件自動生成用于器件編程、波形仿真及延時分析等所需的數(shù)據(jù)文件。在設(shè)計仿真階段,MAX + PLUS II仿真器和時延分析器利用編譯器產(chǎn)生的數(shù)據(jù)文件自動完成邏輯功能仿真和時延特性仿真。并且可以在設(shè)計文件中加載

65、不同的激勵,觀察中間結(jié)果以及輸出波形。必要時,可以返回設(shè)計輸入階段,修改設(shè)計輸入,達到設(shè)計要求。在器件編程階段,MAX + PLUS II編程器將編譯器生成的編程文件下載到Altera器件實現(xiàn)對器件編程。此后,可以將實際信號送入該器件進行時序驗證。因為CPLD/FPGA芯片能夠可重復(fù)編程,所以如果動態(tài)時序驗證的結(jié)果不能滿足用戶的</p><p>  圖1.5 MAX+PLUSII設(shè)計流程</p>&

66、lt;p>  第2章 系統(tǒng)組成結(jié)構(gòu)</p><p>  位同步信號的提取系統(tǒng),是對輸入信號進行測量,進而對其跟蹤、捕捉,最后將其顯示的數(shù)字系統(tǒng)。系統(tǒng)的組成如圖所示:</p><p>  圖2.1 系統(tǒng)組成框圖</p><p><b>  2.1 單片機模塊</b></p><p>  在此模塊中,單片機主要起到掃

67、描鍵盤、控制測頻模塊輸出顯示及控制鎖相環(huán)的功能。其中,掃描鍵盤的功能是:單片機通過掃描鍵盤,確定按鍵,然后根據(jù)不同的按鍵指令執(zhí)行相應(yīng)的功能,從而實現(xiàn)了人工對系統(tǒng)的控制??刂茰y頻模塊輸出顯示的功能是: 單片機根據(jù)按鍵的指示,如果在自動等待狀態(tài),“確認”后,單片機控制測頻部分,進行對輸入信號的頻率測量,然后將測量結(jié)果以十進制顯示出來;若已知信號頻率,便可根據(jù)顯示結(jié)果來判斷系統(tǒng)的同步性。</p><p><b&g

68、t;  2.2鍵盤模塊</b></p><p>  鍵盤是本系統(tǒng)中人工控制的重要模塊。無論是編碼鍵盤還是非編碼鍵盤,都必須具備去抖動、防串鍵、按鍵識別和產(chǎn)生鍵碼的功能。功能具體描述如下:</p><p>  去抖動:利用軟件延時,待抖動消失后按鍵。</p><p>  防串鍵:利用輪回技術(shù),按順序依次產(chǎn)生相應(yīng)的鍵碼。</p><p&g

69、t;  按鍵識別:由程序?qū)︽I盤進行掃描,通過檢測列輸出狀態(tài)確定閉合鍵。輸入口輸出口各設(shè)置一個。</p><p>  產(chǎn)生鍵碼:當時別到有鍵按下,通過行掃描碼和烈返回碼得到此碼。不同鍵碼實現(xiàn)不同功能。</p><p>  本次設(shè)計所使用的是44鍵盤,如圖2.2所示:</p><p>  圖2.2 44鍵盤</p><p>  各鍵功能如表2.

70、1所示:</p><p>  表2.1 44鍵盤按鍵功能表</p><p>  本次設(shè)計為節(jié)約成本,選擇非編碼鍵盤。</p><p>  2.3 測頻、輸出顯示模塊</p><p>  為了設(shè)計一個具有通用性的位同步系統(tǒng),就應(yīng)當在鎖相之前,知道輸入信號的頻率,這個功能應(yīng)由系統(tǒng)自動完成。因此,需加入測頻模塊。在數(shù)字鎖相環(huán)中,N分頻器的分頻決定

71、了其中心頻率,它是通過輸入信號的頻率經(jīng)過計算得到的,對鎖相環(huán)的穩(wěn)定有很重要的作用。因此,此模塊應(yīng)具備下述功能:</p><p>  第一,單片機發(fā)出清零脈沖,關(guān)閉輸入與門,使輸入信號與單片機T1腳斷開。</p><p>  第二,單片機發(fā)出啟動脈沖,開啟輸入與門,使輸入信號與T1腳接通。</p><p>  第三,單片機定時結(jié)束,封鎖輸入與門。</p>

72、<p>  為了顯示出輸入信號的頻率,就得加入顯示模塊。在此,我采用動態(tài)顯示,因為動態(tài)顯示比靜態(tài)顯示有成本低等優(yōu)點。動態(tài)顯示的特點是,所有數(shù)碼管占用同一個通道,每一時刻只亮一個管,在不同的時刻,依次選中數(shù)碼管,從而實現(xiàn)動態(tài)掃描的目的。由于人眼有視覺誤差的特點,掃描速度到達一定程度是,人眼就會出現(xiàn)數(shù)碼管全亮的錯覺。</p><p>  2.4 數(shù)字鎖相環(huán)(DPLL)模塊</p><p

73、>  隨著數(shù)字電路技術(shù)的發(fā)展,尤其是大規(guī)模集成電路及微處理機的廣泛應(yīng)用,使得通信與控制方面一些復(fù)雜的、靈敏的信號處理方法能在數(shù)字域付諸實施。鎖相環(huán)相干數(shù)字通信系統(tǒng)中的關(guān)鍵部件,為了與數(shù)字系統(tǒng)兼容,吸收數(shù)字電路固有的可靠性高、體積小、價格低等優(yōu)點,人們在發(fā)展模擬鎖相環(huán)的同時,亦致力于發(fā)展數(shù)字鎖相環(huán)。數(shù)字鎖相環(huán)除具有數(shù)字電路的優(yōu)點外,還解決了若干模擬環(huán)遇到的難題,如直流零點漂移、部件飽和、必須進行初始校準等,此外還具有離散樣值的實時處

74、理能力。這些都表明,數(shù)字鎖相環(huán)的發(fā)展勢必然的。鎖相環(huán)是一個相位反饋控制系統(tǒng),在數(shù)字鎖相環(huán)中,由于誤差控制信號是離散的數(shù)字信號而不是模擬電壓,因而受控的輸出相位的改變是離散的而不是連續(xù)的;此外,環(huán)路組成部件也全用數(shù)字電路實現(xiàn),故而這種鎖相環(huán)就稱之為全數(shù)字鎖相環(huán)(簡稱DPLL)。當然,還有一類鎖相環(huán),部分環(huán)路部件為數(shù)字電路,但是環(huán)路控制仍是模擬形式,這類鎖相環(huán)只能是部分數(shù)字環(huán)。</p><p>  全數(shù)字鎖相環(huán)組成如

75、圖2.3所示。它由數(shù)字鑒相器、數(shù)字濾波器與數(shù)字壓控振蕩器三個數(shù)字電路部件組成。(其中,數(shù)控振蕩器由脈沖加減電路和N分頻器構(gòu)成)</p><p>  圖2.3 數(shù)字鎖相環(huán)的組成</p><p>  第3章 各模塊的具體設(shè)計及實現(xiàn)</p><p>  在本章詳細介紹了位同步系統(tǒng)中各個模塊的實現(xiàn)方案及設(shè)計過程。并本著完整、可靠、有效和節(jié)約的方針,對系統(tǒng)進行構(gòu)建。<

76、/p><p>  3.1 單片機模塊的設(shè)計與實現(xiàn)</p><p>  由于單片機要完成測頻以及對其他模塊的控制,因此,單片機設(shè)計的質(zhì)量直接影響到整個系統(tǒng)的性能。通過了解系統(tǒng)需求,選擇了8051型單片機。在編程方面,由于C語言較匯編語言有便于理解、記憶等優(yōu)點,所以選用了C語言對單片機進行編程。單片機的軟件分為五個狀態(tài):人工輸入等待狀態(tài)、自動等待狀態(tài)、自動測量狀態(tài)、捕捉狀態(tài)和同步狀態(tài)。系統(tǒng)狀態(tài)定義

77、表如表3.1所示:</p><p>  表3.1 系統(tǒng)狀態(tài)定義表</p><p>  單片機模塊主要使用了定時/計數(shù)器(T0和T1)及定時中斷。其中T0用作定時器,采用工作方式一,定時為50ms;T1用作計數(shù)器,用來測量輸入信號的頻率。在不執(zhí)行中斷程序時,主程序檢測鍵盤是否按下。如有鍵按下,根據(jù)不同的按鍵,改變當前的狀態(tài)利用中斷判斷當前狀態(tài),執(zhí)行相應(yīng)的操作,就可以檢測鍵盤和控制其它模塊的工

78、作了。在T0的基礎(chǔ)上,T0中斷程序內(nèi)部使用一個減計數(shù)器,記錄中斷次數(shù)。通過判斷計數(shù)器是否為零,決定服務(wù)程序的執(zhí)行。</p><p>  在同步狀態(tài)下,單片機定時測量輸入信號的頻率,及時進行跟蹤、捕捉和同步,實現(xiàn)控制鎖相環(huán)的目的。</p><p>  3.2 鍵盤模塊的設(shè)計與實現(xiàn)</p><p>  鍵盤的設(shè)計通常有兩種方法:鍵盤掃描法和鍵盤中斷法。在本設(shè)計中,采用了

79、另外一種設(shè)計方法,就是利用FPGA強大的邏輯單元,自己設(shè)計和調(diào)用所需的芯片。因為MUX+PLUS II給FPGA設(shè)計帶來了很大的靈活性,并有著較強的混合設(shè)計方式。為實現(xiàn)不同的功能,它提供了大量的元器件和宏功能符號供設(shè)計人員使用。</p><p>  為了實時掃描鍵盤,必須為鍵盤制定一個和單片機可雙向傳輸?shù)慕涌冢喊裀0口作為抵制和數(shù)據(jù)的復(fù)用口,P1用于測頻控制,P3口用于中斷和計數(shù),P2口作為鍵盤的掃描口。連接情況

80、如表3.2所示:</p><p>  表3.2 鍵盤與單片機連接表</p><p>  3.2.1 設(shè)計中問題和解決方法</p><p>  在鍵盤的設(shè)計中,存在一些需要解決的問題。在本節(jié),將會給出這些問題的解決方法。</p><p>  1、查詢是否有鍵按下,首先單片機向行掃描P2.0~P2.3輸出全為“0”掃描碼FOH,然后從列檢查口P2

81、.4~P2.7輸出列掃描線好,只要有一列信號不為“1”,則表示有鍵按下。</p><p>  2、查詢按下鍵所在的位置。單片機將得到的信號去反,P2.4~P2.7中,為1的就是鍵所在的列;要確定鍵所在的行,就需要進行逐行掃描。單片機首先使P2.0為“0”,P2.1~P2.7為“1”,即向P2口發(fā)送掃描碼FEH,接著輸入列檢查信號,若全為“1”,表示不在第一行,接著使P2.1接地,其余為“1”,在讀入列信號……這樣

82、逐行發(fā)“0”掃描碼,直到找到按下鍵所在的行,將該掃描碼去反保留。</p><p>  3、對得到的列號和行號進行譯碼,得到鍵值。</p><p>  4、當用手按下一個鍵時,往往會出現(xiàn)所按鍵在閉合位置和斷開位置之間跳動幾下后才穩(wěn)定到閉合狀態(tài)的情況,這就是鍵的抖動。在釋放一個鍵的時候,也會出現(xiàn)類似情況。這樣會引起對鍵的多次讀入。解決方法是當單片機發(fā)現(xiàn)有鍵按下后,就立即停止逐行掃描,經(jīng)過延時(

83、約10ms)后在進行。</p><p>  5、閉合鍵的多次讀入解決辦法。可能在實際操作中,為了防止“一次按鍵,多次掃描”的問題的發(fā)生,應(yīng)作如下處理:</p><p>  a、應(yīng)設(shè)計存取區(qū)lastkey,以保存上一次的掃描鍵值。</p><p>  b、掃描是否有鍵按下。如沒有,lastkey置零,表示此時鍵已松開或無鍵按下。</p><p>

84、;  c、逐行掃描,得到鍵特征值。</p><p>  d、將特征值與lastkey相比,若相等表示鍵松開,則重新掃描;否則,將特征值保存在lastkey中,作為下一次的比較對象。</p><p>  e、根據(jù)得到的特征值,判斷按鍵執(zhí)行相應(yīng)的程序。</p><p>  f、繼續(xù)掃描鍵盤有無鍵按下。</p><p>  3.2.2 鍵盤設(shè)計的軟

85、件設(shè)計</p><p>  通過對鍵盤模塊進行具體描述后,下一步就應(yīng)當用軟件編程來實現(xiàn)單片機鍵盤掃描的功能,掃描的程序如下(若無鍵按下,則返回值為(0):</p><p>  uchar kbscan(void)</p><p>  { uchar scode,record;</p><p><b>  P2=0xF0;</b

86、></p><p>  if ((P2&0xF0)!=0xF0)</p><p><b>  { dlms();</b></p><p>  if ((P2&0xF0)!=0xF0)</p><p>  { scode=0xFE;</p><p>  while((scode

87、&0x10)!=0</p><p>  {P2=scode;</p><p>  if ((P2&0xF0)!=0xF0)</p><p>  { record=(P2&0xf0)|0xof;</p><p>  ruturn((~scode)+(~record));</p><p><b

88、>  }</b></p><p><b>  else</b></p><p>  scode=(scode<<1)|0x10;</p><p><b>  }</b></p><p><b>  }</b></p><p>

89、;<b>  }</b></p><p>  return(0);</p><p><b>  }</b></p><p>  3.3 測頻、輸出顯示模塊的設(shè)計與實現(xiàn)</p><p>  在本節(jié)中,我們將測頻和輸出顯示模塊的設(shè)計與實現(xiàn)分開討論。</p><p>  3.3.1

90、 測頻部分</p><p>  測頻部分的設(shè)計和實現(xiàn)主要分為電路設(shè)計與軟件編程設(shè)計。</p><p>  3.3.1.1 測頻電路的設(shè)計實現(xiàn)</p><p>  根據(jù)單片機的原理,定時器/計數(shù)器在每個機器周期的S5P2期間采樣Tx腳輸入信號,若一個機器周期的采樣值為1,下一個機器周期的采樣值為0,則計數(shù)器加1。由于識別一個高電平到低點平的跳變需要兩個機器周期,所以外

91、部計數(shù)脈沖的頻率應(yīng)小于fosc/24,且高電平與低電平的延續(xù)時間均不得小于一個機器周期。設(shè)計使用的單片機,fosc=12MHz,所以測量頻率fin<fosc/24=500KHz。因此還要加入一個附加電路,起到一個二分頻的作用,這樣測量頻率就可達到1MHz。測頻電路和分頻電路如圖3.1所示:</p><p>  圖3.1 測頻電路和分頻電路</p><p>  3.3.1.2 測頻模塊

92、的軟件設(shè)計</p><p>  根據(jù)測頻電路的設(shè)計功能,對其進行軟件那編程。</p><p>  首先,P16_ctrr發(fā)一個清零負脈沖,使U1、U2兩個D觸發(fā)器復(fù)位,其輸出封鎖與門G1和G2。接著由P17_ctrr發(fā)一個啟動正脈沖,其有效上升沿使U1=1,門G1被開放。而后,被側(cè)脈沖上升通過G2送T1計數(shù);同時啟動計時開始,直到定時結(jié)束,從P6_ctrr發(fā)一個負脈沖,清零U2,封鎖G2,

93、停止T/C1計數(shù),完成一次頻率采樣過程。</p><p>  測量T/C1定時時間為500ms,T/C0定時為100ms,程序5次中斷后的時間就是5100ms=500ms,中斷次數(shù)的計數(shù)值在precnt中。</p><p>  T/C0定時的計數(shù)初值:03CB0H。計數(shù)1采用16位計數(shù)。設(shè)T/C0為高優(yōu)先級,允許計數(shù)中斷過程定時中斷,即定時時間到就終止計數(shù)。</p><

94、p>  3.3.2 顯示部分</p><p>  為了讓使用者可以直觀的看到被跟蹤信號的頻率,所以在測頻后,加入了顯示模塊。由于顯示電路的數(shù)據(jù)由單片機提供,并且采用了動態(tài)掃描方式進行顯示,所以我們必須為單片機提供輸出鎖存器。并且在顯示電路的FPGA實現(xiàn)中,這里通過使用Verilog語言和圖形相結(jié)合的方法來設(shè)計實現(xiàn)現(xiàn)實模塊。</p><p>  在顯示電路中,我使用了MAX+PLUS

95、II軟件中的7448芯片,還根據(jù)實際需要設(shè)計掃描和數(shù)據(jù)鎖存口。</p><p>  3.3.2.1 7448芯片介紹</p><p>  7448芯片是一塊專用于7段數(shù)碼管的驅(qū)動芯片,因為其輸入為8421BCD碼,輸出為段顯示碼,所以被廣泛地應(yīng)用在顯示電路中。芯片模型如圖3.2所示:</p><p>  圖3.2 7448芯片模型</p><p

96、><b>  部分引腳功能如下:</b></p><p>  滅燈輸入BIN:BIN是特殊控制端,當BI=0時,無論其他輸入端是什么電平,所有各段輸出均為0。</p><p>  試燈輸入LTN:當LT=0時,無論其他輸入端是什么狀態(tài),所有各段輸出均為1,顯示為“8”。該端口主要用于測試數(shù)碼管的好壞。</p><p>  動態(tài)滅零輸入RB

97、IN:當LT=1,RBIN=0且輸入碼DCBA=0000時,各段輸出均為低電平,與BCD碼對應(yīng)的字形熄零。</p><p>  由7448芯片組成的動態(tài)掃描顯示原理圖如圖3.3所示。</p><p>  3.3.2.2 動態(tài)掃描電路的軟件設(shè)計</p><p>  根據(jù)動態(tài)掃描電路的功能與原理圖(圖3.3),下面對掃描顯示的外部電路進行設(shè)計。電路圖如圖3.3 所試:&

98、lt;/p><p>  圖3.3 掃描顯示外部電路圖</p><p>  圖中l(wèi)adisplay模塊的輸入引腳分為以下兩部分:</p><p>  1、數(shù)據(jù)輸入控制部分:主要包括CS(片選)、WR(寫入)、ADD[2..0](內(nèi)部數(shù)據(jù)存儲器地址)、DATA[6..0](數(shù)據(jù)輸入)。</p><p>  2、掃描控制部分:主要包括clk(時鐘脈沖輸

99、入)、sel[7..0](數(shù)碼管選通)、bcdout[6..0](數(shù)碼管輸出)。</p><p>  根據(jù)本模塊的設(shè)計原理,需要在顯示部分開辟數(shù)據(jù)存儲區(qū),用來存放需要顯示的數(shù)據(jù)。根據(jù)計數(shù)器的值,選中所要亮的數(shù)碼管,然后將數(shù)據(jù)送到7448芯片的數(shù)據(jù)輸入端。設(shè)計程序如下:</p><p>  always@(posedge wr)</p><p><b>  

100、begin</b></p><p><b>  if(!cs)</b></p><p><b>  case(add)</b></p><p>  ’d0:mymem[6:0]=data;</p><p>  ’d1:mymem[13:7]=data;</p><p&

101、gt;  ’d2:mymem[20:14]=data;</p><p>  ’d3:mymem[27:21]=data;</p><p>  ’d4:mymem[34:28]=data;</p><p>  ’d5:mymem[41:35]=data;</p><p>  ’d6:mymem[48:42]=data;</p>&

102、lt;p>  ’d7:mymem[55:49]=data;</p><p><b>  end case </b></p><p><b>  end</b></p><p>  always@(posedge clk)</p><p><b>  begin</b>&l

103、t;/p><p><b>  case(cnt)</b></p><p><b>  ’d0:begin</b></p><p>  qout=mymem[6:0];</p><p>  sel=’b00000001;</p><p><b>  end</b&g

104、t;</p><p><b>  ’d1:begin</b></p><p>  qout=mymem[13:7];</p><p>  sel=’b00000010;</p><p><b>  end</b></p><p><b>  ’d2:begin<

105、;/b></p><p>  qout=mymem[20:14];</p><p>  sel=’b00000100;</p><p><b>  end</b></p><p><b>  ’d3:begin</b></p><p>  qout=mymem[27:2

106、1];</p><p>  sel=’b00001000;</p><p><b>  end</b></p><p><b>  ’d4:begin</b></p><p>  qout=mymem[34:28];</p><p>  sel=’b00010000;<

107、/p><p><b>  end</b></p><p><b>  ’d5:begin</b></p><p>  qout=mymem[41:35];</p><p>  sel=’b00100000;</p><p><b>  end</b><

108、/p><p><b>  ’d6:begin</b></p><p>  qout=mymem[48:42];</p><p>  sel=’b01000000;</p><p><b>  end</b></p><p><b>  ’d7:begin</b&g

109、t;</p><p>  qout=mymem[55:49];</p><p>  sel=’b10000000;</p><p><b>  end</b></p><p><b>  endcase</b></p><p>  cnt=cnt+1;</p>

110、<p><b>  end</b></p><p>  3.4鎖相環(huán)模塊的設(shè)計與實現(xiàn)</p><p>  鎖相環(huán)的基本結(jié)構(gòu)是由鑒相器、可編程K可逆計數(shù)器、脈沖加減電路和N分頻器四部分組成??删幊蘇可逆計數(shù)器和脈沖加減電路的時鐘分別為Mfc和2Nfc。這里的fc是環(huán)路中心頻率,一般情況下M和N都是2的整數(shù)冪。</p><p>  鑒相器

111、:在數(shù)字電子設(shè)計中,常用的鑒相器主要有異或門鑒相器(XORPD)和邊沿觸發(fā)式鑒相器(ECPD)。ECPD鑒相器的線性鑒相范圍為,線性增益或。XORPD檢相器的線性鑒相范圍為,線性增益或。兩者同時使用時,可組成紋波抵消電路。在本設(shè)計中使用異或門鑒相器(XORPD)。</p><p>  K變??赡嬗嫈?shù)器:此模塊中使用了一個可逆計數(shù)器Count,當鑒相器的輸出信號DU為低時,進行加法運算,達到預(yù)設(shè)模值則輸出進位脈沖C

112、ARRY;為高時,進行減法運算,為零時,輸出錯位脈沖BORROW。Count的模塊Ktop由輸入信號Kmode預(yù)設(shè),一般為2的整數(shù)冪,這里模塊的變化范圍是。模塊的大小決定了DPLL的跟蹤步長,模值越大,跟蹤步長越小,鎖定時的相位誤差越小,但捕獲時間越長;模值越小,跟蹤步長越大,鎖定時的相位誤差越大,但捕獲時間越短。</p><p>  脈沖加減電路(I/D線路):脈沖加減電路實現(xiàn)了對輸入信號頻率和相位的跟蹤和調(diào)整

113、,最終使輸出信號鎖定在輸入信號的頻率和信號上,從而達到同步的目的。</p><p>  N分頻器:對脈沖加減電路的輸出IDOUT再進行N分頻,得到整個環(huán)路的輸出信號Fout。同時,因為fc=IDCLOCK/2N,因此通過改變分頻值N可以得到不同的環(huán)路中心頻率fc。</p><p>  顯然,將I/D線路輸出接至外接的N分頻器,N次分頻后反饋至鑒相器輸入,其將是相位發(fā)生超前或滯后1/2N周期

溫馨提示

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

最新文檔

評論

0/150

提交評論