基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計畢業(yè)設(shè)計
《基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計畢業(yè)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計畢業(yè)設(shè)計(86頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于 FPGA 的數(shù)字調(diào)制解調(diào)器設(shè)計基于 FPGA 的數(shù)字調(diào)制解調(diào)器設(shè)計摘要摘要本設(shè)計使用 FPGA 在 EDA 技術(shù)開發(fā)軟件 Quartus上實現(xiàn)以正弦信號為載波的三種調(diào)制信號 ASK、FSK、PSK 的調(diào)制和解調(diào)。系統(tǒng)采用 ALTERA公司生產(chǎn)的 DE2 開發(fā)板,Cyclone II EP2C35F672C6 型號的 FPGA 和 EPCS16系列的配置驅(qū)動,使用 VHDL 硬件描述語言實現(xiàn),系統(tǒng)時鐘為 50MHZ,經(jīng)四分頻產(chǎn)生一路時鐘信號經(jīng)過 DDS 波形發(fā)生器形成 ASK,PSK 及 FSK 的一路載波,F(xiàn)SK 的另一路載波由系統(tǒng)時鐘經(jīng)八分頻后經(jīng)過 DDS 波形發(fā)生器后產(chǎn)生。由于 AS
2、K 和 PSK 調(diào)制特性相近,載波都為一路信號。因此在設(shè)計時將 ASK 和 PSK 調(diào)制放在同一模塊里設(shè)計,用一個選擇鍵和兩個基帶信號控制端來控制。系統(tǒng)時鐘經(jīng)過 512 分頻后經(jīng)過隨機(jī)信號模塊產(chǎn)生一路周期為 15的偽隨機(jī)序列作為數(shù)字調(diào)制的基帶信號。在解調(diào)時,用非相干解調(diào)法解調(diào)ASK 和 PSK 信號,用過零檢測法解調(diào) FSK 信號。經(jīng)過功能仿真和驗證后,測試輸出信號與基帶信號是否相符。關(guān)鍵詞:關(guān)鍵詞:FPGA, ASK, PSK, FSKDigital modulation and demodulation based on FPGAAbstractThis design uses FPGA
3、on EDA technology development platform Quartus to achieve the generation and the demodulation of three modulation signalASK,FSK,PSK as carrier through sinusoidal signals.The system uses the ALTERA companys DE2 development board,FPGA of Type Cyclone II EP2C35F672C6FPGA and driver configuration of EPC
4、S16 series.This system is realized in VHDL hardware description language,whose ASK,PSK and FSK carrier is generated when the four frequency produces a clock signal through the DDS waveform generator,and the system clock is 50MHZ.Because the characteristics of ASK and PSK modulation are similar to ea
5、ch other,which means their carrier are both one way signal,the modulation of ASK and PSK are put on the same model when designed,with a selection key and the two baseband signal control ends controlling.System clock generates pseudo random sequence baseband signals whose one road cycle is 15 as base
6、band signals through random signal model after the 512 frequency division.When in modulation,we use non coherent demodulation to demodulate ASK and PSK signal,and the zero crossing detection method for FSK signal demodulation.After the system is tested through the function simulation and verificatio
7、n,whether the output signal and the baseband signal are conformed to each other or not will be testedKey words: FPGA, ASK, PSK, FSK目錄目錄1 1 緒論緒論.1 11.1 課題背景與研究現(xiàn)狀 .11.1.1 數(shù)字調(diào)制解調(diào)背景知識.11.1.2 FPGA 背景知識.21.2 課題的主要研究工作 .41.3 本論文的結(jié)構(gòu) .42.EDA2.EDA 技術(shù)簡介技術(shù)簡介 .6 62.1 QUARTUS II 簡介.62.1.1 Quartus II 的使用及主要設(shè)計流程.72
8、.1.2 Quartus II 的原理圖輸入設(shè)計流程.102.1.2 SignalTap II 邏輯分析儀的使用.112.2 VHDL 語言簡介 .132.2.1 VHDL 的基本結(jié)構(gòu).142.2.2 VHDL 的基本語法.193.3.數(shù)字調(diào)制解調(diào)原理數(shù)字調(diào)制解調(diào)原理.21213.1 ASK 的調(diào)制與解調(diào) .213.1.1 ASK 調(diào)制原理.213.1.2 ASK 解調(diào)原理.233.2 PSK 的調(diào)制與解調(diào) .233.2.1 PSK 調(diào)制原理.233.2.2 PSK 解調(diào)原理.253.3 FSK 的調(diào)制與解調(diào) .263.3.1 FSK 調(diào)制原理.263.3.2 FSK 解調(diào)原理.274 4 硬
9、件模塊方案設(shè)計與實現(xiàn)硬件模塊方案設(shè)計與實現(xiàn) .30304.1 DDS(直接數(shù)字式頻率合成器) .304.1.1 DDS 原理.304.1.2 硬件模塊設(shè)計圖.314.1.3 頻率控制模塊 .324.1.4 波形選擇模塊 .324.1.5 波形存儲模塊 .334.1.6 頂層實體模塊 .344.1.7 程序及仿真結(jié)果分析 .354.2 M序列發(fā)生器.364.2.1 m 序列原理.364.2.2 m 序列發(fā)生器設(shè)計.384.2.3 m 序列產(chǎn)生模塊.414.2.4 m 序列仿真結(jié)果分析.414.3 分頻器設(shè)計 .434.4 ASK/PSK 調(diào)制與解調(diào) .434.4.1 ASK/PSK 調(diào)制方案.4
10、34.4.2 ASK/PSK 調(diào)制模塊.444.4.3 ASK/PSK 調(diào)制仿真結(jié)果分析.454.4.4 ASK/PSK 解調(diào)方案.464.4.5 ASK/PSK 解調(diào)模塊.474.4.6 ASK/PSK 解調(diào)仿真結(jié)果分析.484.5 FSK 調(diào)制與解調(diào) .494.5.1 FSK 調(diào)制方案.494.5.2 FSK 調(diào)制模塊.504.5.3 FSK 仿真結(jié)果分析.504.5.4 FSK 解調(diào)方案.514.5.5 FSK 解調(diào)模塊.524.5.6 FSK 解調(diào)仿真結(jié)果分析.525 5 系統(tǒng)調(diào)試系統(tǒng)調(diào)試.54545.1 系統(tǒng)電路圖 .545.2 系統(tǒng)仿真結(jié)果 .54結(jié)論結(jié)論.5757致謝致謝.585
11、8參考文獻(xiàn)參考文獻(xiàn).5959附錄:源代碼附錄:源代碼.4646外文資料翻譯外文資料翻譯( (附原文附原文) ).666611 緒論1.1 課題背景與研究現(xiàn)狀 1.1.1 數(shù)字調(diào)制解調(diào)背景知識如今社會通信技術(shù)的發(fā)展速度可謂日新月異,計算機(jī)的出現(xiàn)在現(xiàn)代通信技術(shù)的各種媒體中占有獨特的地位,計算機(jī)在當(dāng)今社會的眾多領(lǐng)域里不僅為各種信息處理設(shè)備所使用,而且它與通信向結(jié)合,使電信業(yè)務(wù)更加豐富。隨著人類經(jīng)濟(jì)和文化的發(fā)展,人們對通信技術(shù)性能的需求也越來越迫切,從而又推動了通信科學(xué)的發(fā)展。在通信理論上,先后形成了“過濾和預(yù)測理論” 、 “香濃信息論” , “糾錯編碼理論” , “信源統(tǒng)計特性理論” , “調(diào)制理論
12、”等。通信作為社會的基本設(shè)施和必要條件,引起的世界各國的廣泛關(guān)注,通信的目的就是從一方向另一方傳送信息,給對方以信息,但是消息的傳送一般都不是直接的,它必須借助于一定形式的信號才能便于遠(yuǎn)距離快速傳輸和進(jìn)行各種處理。雖然基帶信號可以直接傳輸,但是目前大多數(shù)信道不適合傳輸基帶信號。現(xiàn)有通信網(wǎng)的主體為傳輸模擬信號而設(shè)計的,基帶數(shù)字信號不能直接進(jìn)入這樣的通信網(wǎng)。基帶信號一般都包含有較低的頻率,甚至是直流的分量,很難通過有限尺寸的天線得到有效輻射,因而無法利用無線信道來直接傳播。對于大量有線信道,由于線路中多半串接有電容器或并接有變壓器等隔直流元件,低頻或直流分量就會受到很大限制。因此,為了使基帶信號能
13、利用這些信道進(jìn)行傳輸,必須使代表信息的原始信號經(jīng)過一種變換得到另一種新信號,2這種變換就是調(diào)制。實際中一般選正弦信號為載波信號。代表所傳信息的原始信號,是調(diào)制載波的信號。數(shù)字調(diào)制傳輸在現(xiàn)代通信中發(fā)揮著越來越重要的作用,主要是因為數(shù)字通信有以下優(yōu)點: 數(shù)字信號便于存儲、處理 、抗干擾能力強(qiáng); 數(shù)字信號便于交換和傳輸; 可靠性高,傳輸過程中的差錯可以設(shè)法控制; 數(shù)字信號易于加密且保密性強(qiáng); 通用性和靈活性好。經(jīng)過調(diào)制后,各路信號可已搬移到更高不重疊的頻段去傳輸,從而避免多路傳輸中的相互干擾?;谶@種目的,信號經(jīng)調(diào)制后再傳輸?shù)姆绞接址Q為頻帶傳輸。二進(jìn)制數(shù)字調(diào)制所用調(diào)制信號由“0”和“1”代表的數(shù)字信
14、號脈沖序列組成。因此,數(shù)字調(diào)制信號也成為鍵控信號。在二進(jìn)制振幅調(diào)制、頻率調(diào)制和相位調(diào)制分別稱為振幅鍵控(ASK) 、頻移鍵控(FSK) 、相移鍵控(PSK) 。數(shù)字調(diào)制產(chǎn)生模擬信號,其載波參量的離散狀態(tài)是與數(shù)字?jǐn)?shù)據(jù)相對應(yīng)的,這種信號適宜于在帶通型的模擬信道上傳輸。雖然三種調(diào)制解調(diào)的原理比較簡單,但作為數(shù)字通信原理的入門學(xué),理解 ASK,PSK,F(xiàn)SK 后可以容易理解其他更復(fù)雜的調(diào)制系統(tǒng),為以后的進(jìn)一步發(fā)展打下基礎(chǔ)。1.1.2 FPGA 背景知識現(xiàn)場可編程門陣列(FPGA)是在專用ASIC的基礎(chǔ)上發(fā)展出來的,它克服了專用ASIC不夠靈活的缺點。與其他中小規(guī)模集成電路相比,其優(yōu)點主要在于它有很強(qiáng)的
15、靈活性,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對3電路的修改和維護(hù)很方便。隨著VLSI(Very Large Scale IC,超大規(guī)模集成電路)工藝的不斷提高,單一芯片內(nèi)部可以容納上百萬個晶體管,F(xiàn)PGA/CPLD芯片的規(guī)模也越來越大,目前,F(xiàn)PGA的容量已經(jīng)跨過了百萬門級,使得FPGA 成為解決系統(tǒng)級設(shè)計的重要選擇方案之一。和其他通用 DSP相比,F(xiàn)PGA在處理方式上和設(shè)計編程上有很大的區(qū)別,它更強(qiáng)調(diào)數(shù)據(jù)的平行處理和流水線處理并且有更強(qiáng)的靈活性和可編程型,所以FPGA在定點數(shù)據(jù)處理方面有很大的優(yōu)勢。FPGA/CPLD可容納上百萬個晶體管,芯片的規(guī)模也越來越大。為了滿足設(shè)計需求,以可編程門
16、陣列FPGA為代表的器件得到了廣泛的應(yīng)用,器件的集成度和運(yùn)行速度都在高速增長?;贔PGA的數(shù)字調(diào)制解調(diào)器與模擬電路調(diào)制解調(diào)器相比,具有功耗低、結(jié)構(gòu)簡單、性能優(yōu)越等特點,故在實際工程中得到了廣泛的應(yīng)用。針對傳統(tǒng)用硬件實現(xiàn)數(shù)字調(diào)制解調(diào)的方法,特別是相干解調(diào)需要提取載波,設(shè)備相對復(fù)雜、成本較高的特點,研究了基于FPGA芯片的調(diào)制解調(diào)系統(tǒng),即通過Quartus II軟件,采用VHDL硬件描述語言,利用DE2開發(fā)板設(shè)計并實現(xiàn)ASK,F(xiàn)SK,PSK的調(diào)制解調(diào)器。由于FPGA的調(diào)制解調(diào)技術(shù)在通信系統(tǒng)中占據(jù)非常重要的地位,它的優(yōu)劣決定了通信系統(tǒng)的性能。本設(shè)計用到的是 Altera 公司的 FPGA 器件 E
17、P2C35F672C6,該器件隸屬于Cyclone II 系列,具有更大的容量和極低的單位邏輯單元成本。從結(jié)構(gòu)上看,該器件具有多達(dá) 150 個嵌入 1818 乘法器,適合于實現(xiàn)低成本數(shù)字信號處理(DSP)應(yīng)用;它包含每塊具有 4608 bit 的 M4K 存儲塊,提供高達(dá) 1.1Mbit的片內(nèi)存儲器,支持多種配置;它能以 688 Mbps 的速率同 DDR、DDR II 和SDR SDRAM 器件及 QDRII SRAM 器件相連接,并支持多種單端和差分 I/ O 標(biāo)準(zhǔn);支持 Nios II 系列嵌入式處理器,具有低成本和完整的軟件開發(fā)工具。4Altera 也為 Cylcone II 器件客戶
18、提供了 40 多個可定制 IP 核,Altera和 Altera Megafunction 伙伴計劃(AMPPSM)合作者提供的不同的 IP 核是專為Cyclone II 架構(gòu)優(yōu)化的,包括:Nios II 嵌入式處理器;DDR SDRAM 控制器;FFT/IFFT;PCI 編譯器;FIR 編譯器;NCO 編譯器;POS-PHY 編譯器;Reed Solomon 編譯器;Viterbi 編譯器等。1.2 課題的主要研究工作課題主要研究二進(jìn)制 ASK,PSK,F(xiàn)SK 調(diào)制解調(diào)系統(tǒng)的實現(xiàn),完成對數(shù)字信號的調(diào)制與解調(diào),在簡化系統(tǒng)的前提下,根據(jù)系統(tǒng)的總體功能與硬件特點,設(shè)計總體框圖,根據(jù) VHDL 語言
19、的特點,對 VHDL 建模并進(jìn)行具體語言設(shè)計,讓系統(tǒng)的解調(diào)結(jié)果準(zhǔn)確,進(jìn)行波形仿真與調(diào)試,完成調(diào)制解調(diào)任務(wù)。本系統(tǒng)設(shè)計的重點在于作為載波的正弦波,由正弦信號發(fā)生其產(chǎn)生,在一個周期內(nèi)完成 256 次采樣。另外,三種數(shù)字信號的解調(diào)方法也不完全相同。由于利用相干解調(diào)方法需要本地載波參與解調(diào),會使系統(tǒng)復(fù)雜且準(zhǔn)確度降低,因此采用非相干解調(diào),以正確解調(diào)出基帶信號。1.3 本論文的結(jié)構(gòu)第一章闡述了數(shù)字調(diào)制解調(diào)的背景知識和現(xiàn)狀,以及 FPGA 的基本概念。第二章介紹了 EDA 以及開發(fā) FPGA 的軟件的基本知識和主要使用方法,并介紹了 VHDL 語言的設(shè)計流程和基本語法。第三章分析了 ASK,PSK,F(xiàn)SK
20、的調(diào)制解調(diào)原理理論分析。5第四章結(jié)合硬件平臺進(jìn)行方案選擇,設(shè)計數(shù)字調(diào)制解調(diào)系統(tǒng),包括程序的編寫及硬件模塊設(shè)計,以及仿真結(jié)果。第五章給出了調(diào)制解調(diào)器調(diào)制解調(diào)信號的測試結(jié)果和程序仿真結(jié)果。第六章為本論文的結(jié)束語。62.EDA 技術(shù)簡介EDA 是電子設(shè)計自動化(Electronic Design Automation)的縮寫,在20 世紀(jì) 90 年代初從計算機(jī)輔助設(shè)計(CAD) 、計算機(jī)輔助制造(CAM) 、計算機(jī)輔助測試(CAT)和計算機(jī)輔助工程(CAE)的概念發(fā)展而來的,EDA 技術(shù)就是依靠功能強(qiáng)大的電子計算機(jī),在 EDA 工具軟件平臺上,對以硬件描述語言HDL(Hardware Descrip
21、tion Language)為系統(tǒng)邏輯描述手段完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、仿真,直至下載到可編程邏輯器件 CPLD/FPGA 或?qū)S眉呻娐?ASIC(Application Specific Integrated Circuit)芯片中,實現(xiàn)既定的電子電路設(shè)計功能。EDA 技術(shù)可把數(shù)字通信技術(shù),微電子技術(shù)和現(xiàn)代電子設(shè)計自動技術(shù)結(jié)合起來,實現(xiàn)硬件設(shè)計軟件化,加速了數(shù)字通信系統(tǒng)設(shè)計的效率,降低了設(shè)計成本。利用 EDA 技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計,具有以下幾個特點:(1) 用軟件的方式設(shè)計硬件;(2) 用軟件方式設(shè)計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動完成的;(
22、3) 設(shè)計過程中可用有關(guān)軟件進(jìn)行各種仿真;(4) 系統(tǒng)可現(xiàn)場編程,在線升級;(5) 整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高。因此,EDA 技術(shù)是現(xiàn)代電子設(shè)計的發(fā)展趨勢。2.1 Quartus II 簡介Quartus II 是 Altera 公司繼 MAXPLUS II 后,所提供的 FPGA/CPLD 開發(fā)集成環(huán)境,主要針對本公司新器件和大規(guī)模 FPGA 的開發(fā)。Quartus II 提供一個容易適應(yīng)特定設(shè)計所需要的完整的多平臺設(shè)計環(huán)境。它不僅包括7FPGA/CPLD 設(shè)計所有階段的解決方案,而且也提供可編程片上系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境。Quartus II 除了保留有
23、 MAXPLUS II 的特色外,也可以利用第三方的綜合工具,如 Synopsys、NativeLink、仿真工具M(jìn)odelSim 等。設(shè)計者可以通過傳統(tǒng)原理圖輸入法(GDF)或硬件描述語言(VHDL)設(shè)計一個數(shù)字系統(tǒng),通過軟件仿真我們可以事先驗證設(shè)計正確性,在 PCB 完成后還可以利用 CPLD 的在線修改能力隨時修改設(shè)計而不必改動硬件電路。電路設(shè)計與輸入是指通過某些規(guī)范的描述方式,將工程師電路構(gòu)思輸入給 EDA 工具。常用的設(shè)計方法有硬件描述語言(HDL)和原理圖設(shè)計輸入方法等。原理圖設(shè)計輸入法在早期應(yīng)用的比較廣泛,它根據(jù)設(shè)計要求,選用器件、繪制原理圖、完成輸入過程。這種方法的優(yōu)點是直觀、
24、便于理解、元器件庫資源豐富。但是在大型設(shè)計中,這種方法的可維護(hù)性較差,不利于模塊構(gòu)造與重用。更主要的缺點就是當(dāng)所選用芯片升級換代后,所有的原理圖都要做相應(yīng)的改動。目前進(jìn)行大型工程設(shè)計時,最常用的設(shè)計方法是 HDL 設(shè)計輸入法,其中影響最為廣泛的 HDL 語言是 VHDL 和 Verilog。他們的共同特點是利用由頂向下設(shè)計,利于模塊的劃分與復(fù)用,可移植性好,通用性好,設(shè)計不因芯片的工藝與結(jié)構(gòu)不同而變化,更利于向 ASIC 的移植。波形輸入和狀態(tài)機(jī)輸入方法是兩種常用的輔助設(shè)計輸入方法:使用波形輸入時,繪制出激勵波形與輸出波形,EDA 軟件就能自動地根據(jù)響應(yīng)關(guān)系進(jìn)行設(shè)計;使用狀態(tài)機(jī)輸入法時,設(shè)計者
25、只需要畫出狀態(tài)轉(zhuǎn)移圖,EDA 軟件就能生成相應(yīng)的 HDL 代碼或原理圖,使用十分方便。82.1.1 Quartus II 的使用及主要設(shè)計流程Quartus II 可以使設(shè)計者完成設(shè)計輸入、分析與綜合、仿真、布局布線、時序分析及編程下載等工作。Quartus支持多種編輯輸入法,包括圖形編輯輸入法,VHDL、Verilog HDL 和 AHDL 的文本編輯輸入法,符號編輯輸入法,以及內(nèi)存編輯輸入法。Quartus與 MATLAB 和 DSP Builder 結(jié)合可以進(jìn)行基于 FPGA 的 DSP 系統(tǒng)開發(fā),是 DSP 硬件系統(tǒng)實現(xiàn)的關(guān)鍵 EDA 工具,與SOPC Builder 結(jié)合,可實現(xiàn) S
26、OPC 系統(tǒng)開發(fā)。 Quartus II 的設(shè)計流程與過去傳統(tǒng)意義的電子設(shè)計大不相同。尤其表現(xiàn)在:傳統(tǒng)設(shè)計是自底向上的設(shè)計,合格產(chǎn)品的設(shè)計總要反復(fù)多次試驗,次數(shù)主要取決于經(jīng)驗而且必須制成成品才能進(jìn)行儀器測量。而 Quartus II 采用的是自頂向下的設(shè)計,縮減了設(shè)計成本,縮短了設(shè)計周期,更接近于常規(guī)思維方式,標(biāo)準(zhǔn)產(chǎn)品方便測試,對設(shè)計者經(jīng)驗要求低,保密性強(qiáng)集成度高。圖 2.1 顯示了使用 Quartus II 進(jìn)行設(shè)計的各主要環(huán)節(jié)。 圖 2.1 Quartus II 主要設(shè)計環(huán)節(jié)9這幾個環(huán)節(jié)分別介紹如下: (1)設(shè)計輸入:設(shè)計輸入包括圖形輸入和硬件描述語言(HDL)文本輸入兩大類型。本次實驗中
27、主要用到其中的原理圖輸入和 VHDL 輸入兩種方式。HDL 設(shè)計方式是現(xiàn)今設(shè)計大規(guī)模數(shù)字集成電路的常用形式,除 IEEE 標(biāo)準(zhǔn)中 VHDL 與Verilog HDL 兩種形式外,還有各自 FPGA 廠家推出的專用語言,如 Quartus II 下的 AHDL。HDL 語言描述在狀態(tài)機(jī)、控制邏輯、總線功能方面較強(qiáng);而原理圖輸入在頂層設(shè)計、數(shù)據(jù)通路邏輯等方面具有圖形化強(qiáng)、功能明確等特點。Quartus II 支持層次化設(shè)計,可以在一個新的輸入編輯環(huán)境中調(diào)用不同輸入設(shè)計方式完成的模塊,從而完成混合輸入設(shè)計以發(fā)揮二者各自特色。(2)分析與綜合:在完成設(shè)計輸入之后,即可對其進(jìn)行分析與綜合。其中先進(jìn)行語法
28、的分析與校正,然后依據(jù)邏輯設(shè)計的描述和各種約束條件進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合。最終獲得門級電路甚至更底層的電路網(wǎng)表描述文件。因此,綜合就是將電路的高級語言(如行為描述)轉(zhuǎn)換成低級的,可與 FPGA/CPLD 的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序,既可以使用 Quartus II 中的綜合器來分析設(shè)計文件和建立工程數(shù)據(jù)庫,也可使用其他 EDA 綜合工具綜合設(shè)計文件,然后產(chǎn)生與 Quartus II 軟件配合使用的網(wǎng)表文件。(3)仿真:仿真包括功能仿真和時序仿真。進(jìn)行功能仿真,即直接對 VHDL、原理圖描述或其他描述形式的邏輯功能進(jìn)行測試模擬,以了解其實現(xiàn)的功能否滿足原設(shè)計的要求,仿真過程沒有加入時序
29、信息,不涉及具體器件的硬件特性。而時序仿真接近真實器件運(yùn)行特性的仿真,仿真精度高。Quartus II 可以通過10建立和編輯波形文件,來執(zhí)行仿真波形的模擬分析。(4)布局布線: 若功能仿真結(jié)果滿足邏輯設(shè)計,則可執(zhí)行布局布線。它的目的是將綜合后產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件。在Quartus II中,是使用由綜合中建立的數(shù)據(jù)庫,將工程的邏輯和時序要求與器件的可用資源相匹配。它將每個邏輯功能分配給最好的邏輯單元位置,進(jìn)行布線和時序,并選擇相應(yīng)的互連路徑和引腳分配。 (5)時序分析 Quartus II中的時序分析功能可以分析設(shè)計中所有邏輯的性能,并協(xié)助引導(dǎo)適配器滿足
30、設(shè)計中的時序分析要求。還可以進(jìn)行最少的時序分析,報告最佳情況時序結(jié)果,驗證驅(qū)動芯片外信號的時鐘至管腳延時。 (6)引腳鎖定及下載 為了對設(shè)計工程進(jìn)行硬件測試,應(yīng)將其輸入輸出信號鎖定在芯片確定的引腳上。最后是將下載或配置文件通過編程電纜向 FPGA 或 CPLD 進(jìn)行下載,以便進(jìn)行硬件調(diào)試和驗證。2.1.2 Quartus II 的原理圖輸入設(shè)計流程應(yīng)用數(shù)字邏輯電路的基本知識,使用 Quartus II 原理圖輸入法可以非常方便地進(jìn)行數(shù)字系統(tǒng)的設(shè)計,應(yīng)用 Quartus II 原理圖輸入法,還可以把原有的使用中小規(guī)模的通用數(shù)字集成電路設(shè)計的數(shù)字系統(tǒng)移植到 FPGA 中。設(shè)計流程可以分為:(1)建
31、立工程文件夾,包括工程目錄、名稱和選擇合適器件。(2)編輯設(shè)計圖形文件,放置元件、連線、設(shè)定輸入輸出管教名稱。11(3)對圖形文件進(jìn)行編譯,檢查電路是否有誤。(4)時序仿真設(shè)計文件,得到方針波形驗證設(shè)計結(jié)果。(5)編程下載設(shè)計文件,包括引腳鎖定和編程下載。2.1.2 SignalTap II 邏輯分析儀的使用伴隨著 EDA 工具的快速發(fā)展,一種新的調(diào)試工具 Quartus II 中的SignalTap II 滿足了 FPGA 開發(fā)中硬件調(diào)試的要求,它具有無干擾、便于升級、使用簡單、價格低廉等特點。SignalTap II 嵌入邏輯分析儀集成到Quartus II 設(shè)計軟件中,能夠捕獲和顯示可編
32、程單芯片系統(tǒng)(SOPC)設(shè)計中實時信號的狀態(tài),這樣開發(fā)者就可以在整個設(shè)計過程中以系統(tǒng)級的速度觀察硬件和軟件的交互作用。它支持多達(dá) 1024 個通道,采樣深度高達(dá) 128Kb,每個分析儀均有 10 級觸發(fā)輸入/輸出,從而增加了采樣的精度。SignalTap II為設(shè)計者提供了業(yè)界領(lǐng)先的 SOPC 設(shè)計的實時可視性,能夠大大減少驗證過程中所花費(fèi)的時間。目前 SignalTap II 邏輯分析儀支持的器件系列包括:APEXT II,APEX20KE,APEX20KC,APEX20K,Cyclone,Excalibur,Mercury,Stratix GX,Stratix。SignalTap II 嵌
33、入式邏輯分析器,提供了芯片測試的一個很好的途徑。通過 SignalTap II 測試芯片無需外接專用儀器,它在器件內(nèi)部捕獲節(jié)點進(jìn)行分析和判斷系統(tǒng)故障。本文通過對 Cyclone EP2C35F672C6 器件的實驗證實該測試手段大大提高系統(tǒng)的調(diào)試能力,具有很好的效果。圖 2.2 是 SignalTap II 嵌入到 FPGA 的結(jié)構(gòu)圖: 12圖 2.2 將邏輯分析儀嵌入到 FPGA 中使用 SignalTap II 的一般流程是:設(shè)計人員在完成設(shè)計并編譯工程后,建立 SignalTap II (.stp)文件并加入工程、配置 STP 文件、編譯并下載設(shè)計到 FPGA、在 Quartus II
34、軟件中顯示被測信號的波形、在測試完畢后將該邏輯分析儀從項目中刪除。以下描述設(shè)置 SignalTap II 文件的基本流程:(1)設(shè)置采樣時鐘:采樣時鐘決定了顯示信號波形的分辨率,它的頻率要大于被測信號的最高頻率,否則無法正確反映被測信號波形的變化。SignalTap II 在時鐘上升沿將被測信號存儲到緩存。(2)設(shè)置被測信號:可以使用 Node Finder 中的 SignalTap II 濾波器查找所有預(yù)綜合和布局布線后的 SignalTap II 節(jié)點,添加要觀察的信號。邏輯分析器不可測試的信號包括:邏輯單元的進(jìn)位信號、PLL 的時鐘輸出、JTAG 引腳信號、LVDS(低壓差分)信號。(3
35、)配置采樣深度、確定 RAM 的大小。(4)設(shè)置 buffer acquisition mode:buffer acquisition mode 包括循環(huán)采樣存儲、連續(xù)存儲兩種模式。循環(huán)采樣存儲也就是分段存儲,將整個緩存分13成多個片段(segment),每當(dāng)觸發(fā)條件滿足時就捕獲一段數(shù)據(jù)。該功能可以去掉無關(guān)的數(shù)據(jù),使采樣緩存的使用更加靈活。(5)觸發(fā)級別:SignalTap II 支持多觸發(fā)級的觸發(fā)方式,最多可支持10級觸發(fā)。(6)觸發(fā)條件:可以設(shè)定復(fù)雜的觸發(fā)條件用來捕獲相應(yīng)的數(shù)據(jù),以協(xié)助調(diào)試設(shè)計。當(dāng)觸發(fā)條件滿足時,在 signalTap 時鐘的上升沿采樣被測信號。完成 STP 設(shè)置后,將 S
36、TP 文件同原有的設(shè)計下載到 FPGA 中,在 Quartus II 中 SignalTap II 窗口下查看邏輯分析儀捕獲結(jié)果。SignalTap II 可將數(shù)據(jù)通過多余的 I/O 引腳輸出,以供外設(shè)的邏輯分析器使用;或輸出為csv、tbl、vcd、vwf 文件格式以供第三方仿真工具使用。2.2 VHDL 語言簡介VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于 1982 年。1987 年底,IEEE 將 VHDL 替代了原有的非標(biāo)準(zhǔn)的硬件描述語言,并被美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述
37、語言。VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL 的語言形式和描述風(fēng)格與句法十分類似于一般的計算機(jī)高級語言。VHDL 的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分) ,既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL 系統(tǒng)設(shè)計的基本點。14VHDL 語言的基本結(jié)構(gòu):一個完整的 VHDL 語言程序通常包括實體聲明(Entity
38、Declaration) 、結(jié)構(gòu)體(Architecture Body) 、配置(Configuration) 、程序包(Package)和庫(Library)五個組成部分。其中實體和結(jié)構(gòu)體是不可缺少的。前 4 種分別是編譯的源設(shè)計單元。庫存放已編譯的實體,結(jié)構(gòu)體,配置和包;實體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為;包存放各設(shè)計模塊都能共享的數(shù)據(jù)類型,常數(shù)和子程序等;配置用于從庫中選取所需要單元來支持系統(tǒng)的不同設(shè)計,即對庫的使用。庫可由用戶生成或芯片制造商提供,以便共享。實體是描述系統(tǒng)的外部端口,實體說明用于描述設(shè)計系統(tǒng)的外部端口輸入、輸出特征;結(jié)構(gòu)體是描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為,即用于描述設(shè)計系統(tǒng)的行
39、為、系統(tǒng)數(shù)據(jù)的流程和系統(tǒng)內(nèi)部的結(jié)構(gòu)及其實現(xiàn)的功能。配置為屬性選項,描述層與層之間、實體與結(jié)構(gòu)體之間的連接關(guān)系,比如高層設(shè)計需要將低層實體作為文件加以利用,這就要用到配置說明,用于從庫中選取所需設(shè)計單元來組成系統(tǒng)設(shè)計的不同版本。程序包為屬性選項,用于把共享的定義放置其中,具體地說主要用來存放各種設(shè)計的模塊都能共享的數(shù)據(jù)類型、常量和子程序等。庫主要用于存放已經(jīng)編譯的實體、結(jié)構(gòu)體、程序包和配置,可由用戶自主生成或有 ASIC 芯片制造商提供相應(yīng)的庫,以便于設(shè)計中為大家所共享。2.2.1 VHDL 的基本結(jié)構(gòu) 一個VHDL設(shè)計由若干個VHDL文件構(gòu)成,每個文件主要包含如下三個部分中的一個或全部: 15
40、(1)程序包(Package); (2) 庫(library)(3)實體(Entity); (4)結(jié)構(gòu)體(Architecture)。 圖2.3 VHDL組成示意圖一個完整的VHDL設(shè)計必須包含一個實體和一個與之對應(yīng)的結(jié)構(gòu)體,一個實體可對應(yīng)多個結(jié)構(gòu)體,以說明采用不同方法來描述電路。(1)程序包(Package) 程序包是用來單純羅列VHDL語言中所要用到的信號定義、常數(shù)定義、數(shù)據(jù)類型、元件語句、函數(shù)定義和過程定義等,它是一個可編譯的設(shè)計單元,也是庫結(jié)構(gòu)中的一個層次。要使用程序包時,可以用USE語句說明。例如: USE IEEE.STD_LOGIC_1164.ALL; 該語句表示在VHDL程序中
41、要使用名為STD_LOGIC_1164的程序包中所有定義或說明項。 一個程序包由兩大部分組成:包頭(Header)和包體(Package Body),其中包體是一個可選項,也就是說,程序包可以只由包頭構(gòu)成。一般包頭列出所有項的名稱,而在包體具體給出各項的細(xì)節(jié)。 (2)庫(Library) 庫是專門存放預(yù)先編譯好的程序包(package)的地方。在VHDL語言中,庫的說明總是放在設(shè)計單元的最前面: LIBRARY 庫名; VHDL 設(shè)計VHDL 文件程序包(Packages)聲明在設(shè)計或?qū)嶓w中將要用到的常數(shù),數(shù)據(jù)類型,元件及子程序等實體(Entities)聲明到其他實體及其他設(shè)計的接口,即定義本
42、設(shè)計輸入輸出端口結(jié)構(gòu)體(Architectures)定義了實體的實現(xiàn),即電路的具體描述16這樣,在設(shè)計單元內(nèi)的語句就可以使用庫中的數(shù)據(jù)。由此可見,庫的好處就在于使設(shè)計者可以共享已經(jīng)編譯過的設(shè)計結(jié)果。在VHDL語言中可以存在多個不同的庫,但是庫和庫之間是獨立的,不能互相嵌套。實際中一個庫就對應(yīng)一個目錄,預(yù)編譯程序包的文件就放在此目錄中。用戶自建的庫即為設(shè)計文件所在目錄,庫名與目錄名的對應(yīng)關(guān)系可在編譯軟件中指定。庫說明語句的作用范圍從一個實體說明開始到它所屬的構(gòu)造體、配置為止。當(dāng)一個源程序中出現(xiàn)兩個以上的實體時,兩條作為使用庫的說明語句應(yīng)在每個實體說明語句前重復(fù)書寫。表2.1是IEEE兩個標(biāo)準(zhǔn)庫“
43、std”與“ieee”中所包含的程序包的簡單解釋。 表2.1 STD與IEEE的程序包庫名程序包名包中預(yù)定義內(nèi)容stdstandardVHDL類型,如bit, bit_vectorieeestd_logic_1164定義std_ logic, std_ logic_ vector等ieeenumeric std 定義了一組基s td_logic_1164中定 義的類型上的算術(shù)運(yùn)算符,如“+”、“-”、SHL、SHR等ieeestd_ logic arith 定義有符號與無符 號類型,及基于這些類型上的算術(shù)運(yùn)算17ieeestd_ logic_ signed 定義了基于std_logic與 st
44、d_logic_vector 類型上的有符號的算術(shù)運(yùn)算ieeestd_ logic_ unsigned 定義了基于std_logic與std_logic_vector 類型上的無符號的算術(shù)運(yùn)算(3)實體(entity)實體是VHDL設(shè)計中最基本的模塊,VHDL表達(dá)的所有設(shè)計均與實體有關(guān)。設(shè)計的最頂層是頂層實體。如果設(shè)計分層次,那么在頂層實體中將包含較低級別的實體。 實體中定義了該設(shè)計所需的輸入/輸出信號,信號的輸入/輸出類型被稱為端口模式,同時實體中還定義他們的數(shù)據(jù)類型。 任何一個基本設(shè)計單元的實體說明都具有如下的結(jié)構(gòu): Entity is port ( 信號名,信號名:端口模式 端口類型;
45、信號名,信號名:端口模式 端口類型 ); End ; 每個端口所定義的信號名在實體中必須是唯一的,說明信號名的屬性包括端口模式和端口類型,端口模式?jīng)Q定信號的流向,端口類型決定端口所采用的數(shù)據(jù)類型。 端口模式(MODE)有以下幾種類型: 18IN 信號進(jìn)入實體但并不輸出; OUT 信號離開實體但并不輸入;并且不會在內(nèi)部反饋使用;INOUT 信號是雙向的(既可以進(jìn)入實體,也可以離開實體);BUFFER 信號輸出到實體外部,但同時也在實體內(nèi)部反饋。 端口類型(TYPE)有以下幾種類型: Integer:可用作循環(huán)的指針或常數(shù),通常不用于I/O信號; Bit:可取值“0”或“1”; std_ logi
46、c:工業(yè)標(biāo)準(zhǔn)的邏輯類型,取值“0”,“1”,“X” 和“Z” ; std_ logic_ vector:std_ logic的組合,工業(yè)標(biāo)準(zhǔn)的邏輯類型。 由此看出,實體(ENTITY)類似于原理圖中的符號,它并不描述模塊的具體功能。實體的通信點是端口(PORT),它與模塊的輸入/輸出或器件的引腳相關(guān)聯(lián)。 (4)結(jié)構(gòu)體(architecture)結(jié)構(gòu)體是VHDL設(shè)計中最主要部分,它具體地指明了該基本設(shè)計單元的行為、元件及內(nèi)部的連接關(guān)系,也就是說它定義了設(shè)計單元具體的功能。結(jié)構(gòu)體對其基本設(shè)計單元的輸入輸出關(guān)系可以用3種方式進(jìn)行描述,即行為描述(基本設(shè)計單元的數(shù)學(xué)模型描述)、寄存器傳輸描述(數(shù)據(jù)流描
47、述)和結(jié)構(gòu)描述(邏輯元件連接描述)。不同的描述方式,只體現(xiàn)在描述語句上,而結(jié)構(gòu)體的結(jié)構(gòu)是完全一樣的。 一個完整的、能被綜合實現(xiàn)的VHDL設(shè)計必須有一個實體和對應(yīng)的結(jié)構(gòu)體,一個實體可以對應(yīng)一個或多個結(jié)構(gòu)體,由于結(jié)構(gòu)體是對實體功能的具體描述,因此它一定要跟在實體的后面,通常先編譯實體后才能對結(jié)構(gòu)體進(jìn)行編譯。192.2.2 VHDL 的基本語法 (1) VHDL語言的客體及其分類 在VHDL語言中凡是可以賦予一個值的對象就稱為客體(Object)??腕w主要包括以下3種:信號、常數(shù)、變量(Signal、Constant、Variable)。在電子線路中,這3類客體通常都具有一定的物理含義。 常數(shù)(Co
48、nstant) 常數(shù)是一個固定的值。所謂常數(shù)說明就是對某一常數(shù)名賦予一個固定的值。通常賦值在程序開始前進(jìn)行,該值的數(shù)據(jù)類型則在說明語句中指明。常數(shù)說明的一般格式如下: Constant 常數(shù)名:數(shù)據(jù)類型:=表達(dá)式; 常量在定義時賦初值,賦值符號為“:=”。 變量(Variable) 變量只能在進(jìn)程語句、函數(shù)語句和過程語句中使用,它是一個局部量。在仿真過程中它不像信號那樣,到了規(guī)定的仿真時間才進(jìn)行賦值,變量的賦值是立即生效的。變量說明語句的格式如下: Variable 變量名:數(shù)據(jù)類型 約束條件:=表達(dá)式; 變量的賦值符號“:=”。 信號(Signal) 信號是電子線路內(nèi)部硬件連接的抽象。它除了
49、沒有數(shù)據(jù)流動方向說明外,其它性質(zhì)幾乎和“端口”一致。信號通常在構(gòu)造體、程序包和實體中說明。信號說明語句的格式如下: Signal 信號名:數(shù)據(jù)類型 約束條件=表達(dá)式; 20信號的賦值符號為“=”。 (2) VHDL的運(yùn)算符 在VHDL語言中共有4類運(yùn)算符,可以分別進(jìn)行邏輯運(yùn)算(Logical)、關(guān)系運(yùn)算(Relational)、算術(shù)運(yùn)算(Arithmetic)和并置運(yùn)算(Concatenation)。被運(yùn)算符所運(yùn)算的數(shù)據(jù)應(yīng)該與運(yùn)算符所要求的類型相一致。另外,運(yùn)算符是有優(yōu)先級的,例如邏輯運(yùn)算符NOT,在所有的運(yùn)算符中優(yōu)先級最高。 (3) VHDL常用語句VHDL 常用語句分并行(Concurre
50、nt)語句和順序(Sequential)語句: 并行語句(Concurrent):并行語句總是處于進(jìn)程(PROCESS)的外部。所有并行語句都是并行執(zhí)行的,即與它們出現(xiàn)的先后次序無關(guān)。如when .else語句。 順序語句(Sequential):順序語句總是處于進(jìn)程的內(nèi)部,并且從仿真的角度來看是順序執(zhí)行的。如if-then-else語句213.數(shù)字調(diào)制解調(diào)原理3.1 ASK 的調(diào)制與解調(diào)振幅鍵控是正弦載波的幅度隨數(shù)字基帶信號而變化的數(shù)字調(diào)制。當(dāng)數(shù)字基帶信號為二進(jìn)制時,則為二進(jìn)制振幅鍵控。 3.1.1 ASK 調(diào)制原理二進(jìn)制幅移鍵控 ASK 信號是利用二進(jìn)制數(shù)字基帶脈沖序列中的“1” 、“0”
51、碼去控制載波輸出的有或無得到的。對單極性不歸零的矩形脈沖序列而言, “1”碼打開通路,送出載波;“0”碼關(guān)閉通路,輸出零電平,所以又稱為通-斷鍵控 OOK(on-off Keying)。一般情況下,調(diào)制信號是具有一定波形形狀的二進(jìn)制序列,即 (3.1)式 3-1 中 Ts 為碼元間隔;g(t)為調(diào)制信號的脈沖形狀表達(dá)式,為討論方便,這里設(shè)其為單極性不歸零的矩形脈沖;為二進(jìn)制符號,見公式 3.2: (3.2)nsnnTtgats)1 (01PPan概率為概率為22借助于模擬幅度調(diào)制原理,二進(jìn)制序列幅移鍵控信號的一般表達(dá)式見式3.3。 (3.3)幅移鍵控調(diào)制器可以用一個相乘器實現(xiàn),也可以用一個開關(guān)
52、電路來代替。兩種調(diào)制電路的框圖分別對應(yīng)于圖 3.2(a)、(b)。 K)(tstccos乘法器)(2teASK)(ts)(b)(a)(2teASK設(shè)輸入序列為 010010,相應(yīng)的輸出波形如圖 3.3 所示:010100信號ASK2 圖 3.3 ASK 信號波形tnTtgattstecnsncASKcoscos2圖 3.2 相乘法產(chǎn)生 ASK圖 3.2 開關(guān)電路法產(chǎn)生 ASK233.1.2 ASK 解調(diào)原理二進(jìn)制序列幅移鍵控信號的解調(diào),與模擬雙邊帶 AM 信號的解調(diào)方法一樣,可以用相干解調(diào)或包絡(luò)檢波(非相干解調(diào))實現(xiàn),如圖 3.4(a) 、 (b)所示。設(shè)計電路時,考慮到成本等綜合因素,在 2
53、ASK 系統(tǒng)中很少使用相干解調(diào)。包絡(luò)檢波BPFLPF抽樣判決位定時輸出)(te2ASK)(b)cos(0t)(te2ASK輸出位定時抽樣判決LPFBPF)(a)(tv)(tx)(ty)(ty 圖 3.4 ASK 解調(diào)框圖3.2 PSK 的調(diào)制與解調(diào)在二進(jìn)制數(shù)字調(diào)制中,當(dāng)正弦載波的相位隨二進(jìn)制數(shù)字基帶信號離散變化時,則產(chǎn)生二進(jìn)制移相鍵控(2PSK)信號。 3.2.1 PSK 調(diào)制原理2PSK 以載波的固定相位為參考,用與載波相同的相位表示“1”碼;相位表示“0”碼,則第 k 個碼元表示見公式 3.4:24 (3.4)調(diào)制方式如圖 3.5(a) (b)所示:圖 3.5 PSK 調(diào)制框圖2PSK 已
54、調(diào)信號的時域表達(dá)式為: (3.5)其中表達(dá)式為: (3.6) 0cos)cos( 1 cos)0cos()(0二進(jìn)制,二進(jìn)制,tAtAtAtAteccccktnTtgatensn00cos)()(PPan1, 0, 1, 1, 1概率為二進(jìn)制概率為二進(jìn)制s(t)e2PSK(t)cosct(a)cosct0e2PSK(t)180s(t)(b)252PSK 信號的波形圖如圖 3.6 所示:10001110000圖 3.6 PSK 信號波形3.2.2 PSK 解調(diào)原理2PSK 信號的解調(diào)只能用相干解調(diào)一種形式。解調(diào)原理框圖及波形如圖3.7,3.8 所示。圖 3.7 PSK 解調(diào)框圖e2PSK(t)a
55、cdbecosct26位定時輸出波形如圖 3.8: 圖 3.8 PSK 解調(diào)波形圖3.3 FSK 的調(diào)制與解調(diào)正弦載波的頻率隨二進(jìn)制基帶信號在 f1 和 f2 兩個頻率點間變化,則產(chǎn)生二進(jìn)制移頻鍵控信號(2FSK 信號) 。3.3.1 FSK 調(diào)制原理二進(jìn)制移頻鍵控信號可以看成是兩個不同載波的二進(jìn)制振幅鍵控信號的疊加。 若二進(jìn)制基帶信號的 1 符號對應(yīng)于載波頻率 f1,0 符號對應(yīng)于載波頻率 f2,則二進(jìn)制移頻鍵控信號的時域表達(dá)式見式 3.7:10a110100bcde0cos 1 cos212tAtAteFSK27(3.7)調(diào)制方式如圖 3.9 所示:圖 3.9 FSK 調(diào)制框圖輸入序列為
56、1001 時,已調(diào) 2FSK 的輸出波形如圖 3.10 所示,圖中 f1 代表“1” ,f2 代表“0” 。1f2f1f2f圖 3.10 FSK 信號波形1f12f2e2FSK(t)1010信號FSK2283.3.2 FSK 解調(diào)原理頻移鍵控信號的解調(diào)也可以采用相干解調(diào)或非相干解調(diào),原理與二進(jìn)制序列幅移鍵控信號的解調(diào)相同,只是必須使用兩套 2ASK 接收電路,如圖3.11(a) 、 (b)所示。與選擇幅移鍵控信號解調(diào)方式的同樣理由,在 2FSK 系統(tǒng)中也很少使用相干解調(diào)。圖 3.11 FSK 解調(diào)框圖解調(diào) 2FSK 信號還可以用鑒頻法、過零檢測法及差分檢波法等。過零檢測法的基本思想是,利用不同
57、頻率的正弦波在一個碼元間隔內(nèi)過零點數(shù)目的e2FSK(t)1(a)e2FSK(t)1 cos1tcos2t(b)29不同,來檢測已調(diào)波中頻率的變化。其原理框圖及各點波形如圖 3.12 所示。圖 3.12 過零檢測法波形e2FSK(t)abcdef(a)abcde304 硬件模塊方案設(shè)計與實現(xiàn)4.1 DDS(直接數(shù)字式頻率合成器)DDS 是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫,DDS 是一種新型的頻率合成技術(shù)。DDS 技術(shù)是一種把一系列數(shù)字形式的信號通過 DAC 轉(zhuǎn)換成模擬信號的合成技術(shù)。DDS 同 DSP(數(shù)字信號處理)一樣,是一項關(guān)鍵的數(shù)字化技
58、術(shù)。與傳統(tǒng)的頻率合成器相比,DDS 具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時間等優(yōu)點,廣泛使用在電信與電子儀器領(lǐng)域,是實現(xiàn)設(shè)備全數(shù)字化的一個關(guān)鍵技術(shù)。4.1.1 DDS 原理實驗采用目前使用最廣泛的一種 DDS 方式是利用高速存儲器作查找表,然后通過高速 DAC 輸出已經(jīng)用數(shù)字形式存儲的波形。DDS 具體工作過程如下:每來一個時鐘脈沖 clk,N 位全加器將頻率控制數(shù)據(jù) M 與累加寄存器輸出的累加相位數(shù)據(jù) N 相加,把相加后的結(jié)果送至累加寄存器的輸入端。累加寄存器一方面將上一時鐘周期作用后所產(chǎn)生的新的數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一時鐘的作用下繼續(xù)與頻率控制數(shù)據(jù) M 相加;另一方面將
59、這個值作為取樣地址值送入幅度/相位轉(zhuǎn)換電路,此電路根據(jù)取樣地址輸出相應(yīng)的波形數(shù)據(jù)。31DDS 輸出信號的頻率由下式?jīng)Q定:q=()clk (代表取樣點數(shù),M 為 頻率控制字、代表存儲器中存儲數(shù)據(jù)的多少,N 代表累加器的位數(shù),clk 代表基準(zhǔn)時鐘頻率)。調(diào)節(jié) M 可以改變?nèi)拥狞c數(shù),從而改變頻率。假定基準(zhǔn)時鐘為 70MHz,累加器為 16 位,則 clk=70MHz,Y=65536 (N16),設(shè) M12 則 X=4096,所以 q=(4096/65536)70=4.375MHz??梢?,通過設(shè)定相位累加器位數(shù) N、頻率控制字 M 和基準(zhǔn)時鐘的值,就可以產(chǎn)生任一頻率的輸出。DDS 的頻率分辨率定義為
60、:q=clk/由于基準(zhǔn)時鐘一般是固定的,因此相位累加器的位數(shù)就決定了頻率的分辨率。4.1.2 硬件模塊設(shè)計圖硬件模塊的設(shè)計大致包含波形選擇模塊、頻率控制模塊、波形存儲模塊、等 3 個模塊,如圖 4.1 所示。時鐘信號50MHZ頻率控制模塊波形輸出波形選擇模塊波形存儲模塊圖 4.1 DDS 硬件模塊圖324.1.3 頻率控制模塊如圖 4.2 所示。其中,頻率控制字生成模塊可根據(jù)輸入產(chǎn)生指定頻率,同時顯示輸入頻率數(shù)字。相位累加器模塊負(fù)責(zé)對所選波形的相位尋址,以頻率控制字作為步長反復(fù)進(jìn)行累加運(yùn)算。波形數(shù)據(jù) ROM 表模塊存放三種波形的幅值相位量化值,通過地址選擇相應(yīng)波形的數(shù)據(jù)。圖 4.2 頻率控制模
61、塊實體圖4.1.4 波形選擇模塊該模塊功能是波形的選擇,加法器傳過來八位地址數(shù)據(jù),通過波形選擇模塊在地址位加上兩位波形選擇位。這樣就能從波形存儲器里選擇輸出不同的波形數(shù)據(jù)。如圖 4.3 所示。圖 4.3 波形選擇模塊實體圖334.1.5 波形存儲模塊如圖 4.4,該模塊 ROM 里存儲著四種波形數(shù)據(jù),每個波形一周期選 256個數(shù)值。地址線是十位,輸出八位波形數(shù)據(jù)。首先利用 MATLAB 生成一個.HEX 文件,.HEX 文件存儲的是一個深度為8192,寬度為 8 的正弦波形數(shù)字信號(數(shù)據(jù)不能超過 256)。然后在 quartus II 下利用 MATLAB 生成的數(shù)據(jù)編寫一個單口 rom,并且
62、生成對應(yīng)的.VHD 文件,即 rom 模塊。本模塊的功能是通過傳送過來的地址,查找地址所對應(yīng)的數(shù)據(jù),并將數(shù)據(jù)輸出。生成的模塊端口:地址輸入端口,時鐘輸入端口,數(shù)據(jù)輸出端口(8 位)。圖 4.4 波形存儲模塊實體圖4.1.6 頂層實體模塊頂層實體模塊主要實現(xiàn)的功能是對上述模塊的配置以及連線,如圖 4.5 所示為該模塊的設(shè)計結(jié)果。34圖 4.5 頂層實體圖將以上模塊封裝為一個模塊如圖 4.6:圖 4.6 封裝模塊圖4.1.7 程序及仿真結(jié)果分析(1)DDS 功能仿真圖 4.7:圖 4.7 功能仿真圖(2)嵌入式邏輯分析儀獲得的波形如圖 4.8:35圖 4.8 SignalTap II 仿真波形仿真
63、結(jié)果分析:分析波形可見,輸出波形為標(biāo)準(zhǔn)正弦波,符合設(shè)計要求。4.2 m 序列發(fā)生器4.2.1 m 序列原理二進(jìn)制的m序列是一種重要的偽隨機(jī)序列,結(jié)構(gòu)簡單,實現(xiàn)方便。有優(yōu)良的自相關(guān)特性,有時稱為偽噪聲(PN)序列。偽的意思是說這種碼是周期性的序列,易于產(chǎn)生和復(fù)制,但其隨機(jī)性接近于噪聲或隨機(jī)序列。在現(xiàn)代工程實踐中, m序列在通訊、導(dǎo)航、雷達(dá)、通信系統(tǒng)性能的測量等領(lǐng)域中有著廣泛的應(yīng)用。例如, 在連續(xù)波雷達(dá)中可用作測距信號,在遙控系統(tǒng)中可用作遙控信號,在多址通信中可用作地址信號,在數(shù)字通信中可用作群同步信號,還可用作噪聲源及在保密通信中起加密作用等。偽噪聲發(fā)生器在測距、通信等領(lǐng)域的應(yīng)用日益受到人們重視
64、。有關(guān)產(chǎn)生m序列發(fā)生器的方法很多。其中,用通用數(shù)字器件構(gòu)成的特點是速度可以很快,但硬件電路不便修改特性,只能產(chǎn)36生單一n 級m序列;用軟件方式構(gòu)成的特點是采用靈活的數(shù)據(jù)查詢方式可以獲得任意級數(shù)n 的本原多項式系數(shù),從而實現(xiàn)m序列的產(chǎn)生,但速度受到單片機(jī)工作速度的限制,而FPGA具有硬件電路實現(xiàn)的優(yōu)點,又具有設(shè)計上的靈活性,并且由于FPGA便于實現(xiàn)大規(guī)模的數(shù)字系統(tǒng)。產(chǎn)生偽隨機(jī)序列可以有不同的方法, 而移位寄存器(移存器) 是實用中最常用的。移存器是由n 個串接的雙態(tài)存儲器(寄存器)和一個移位時鐘發(fā)生器以及一個由模2加法器組成的反饋邏輯線路組成,每個雙態(tài)存儲器稱為移存器的級,每一級只能有兩種不同
65、狀態(tài)分別用“0”和“1”表示。移位時鐘到來時使每一級的存數(shù)(即狀態(tài)) 向下一級移動,成為下一級的新存數(shù)。帶有反饋邏輯線路的移存器稱為n 級動態(tài)移存器,如式4.1,其末級輸出序列為, 此序列滿足反饋邏輯函數(shù):012na a aa 112201( )nnnnin inin iiaC aC aC aC aC a(4.1)式中=1或0 (i= 1, 2,n) ,視第i 級是否參加模2運(yùn)算而定, 因為iC(4.1)式是線性的, 所以稱為n 級線性移存器。由n 級線性移存器所產(chǎn)生的序列長度因反饋邏輯函數(shù)的不同而不一樣。37雖然移存器的級數(shù)相同,但由于它們的反饋邏輯不同,產(chǎn)生的序列互不相同;同一個4級線性移
66、存器,當(dāng)它的初始狀態(tài)不同時,它所產(chǎn)生的序列也不完全相同。也就是說,n級線性移存器序列結(jié)構(gòu)由它的初始狀態(tài)和反饋邏輯完全確定,其最長的可能周期P =1,具有這種最長周期的線性移存器序列,簡稱m序2n列。m序列的效率是最高的,這是它的一個優(yōu)點,但m序列最主要的優(yōu)點在于它具有某種隨機(jī)特性,特別是它具有雙值自相關(guān)函數(shù)R (j ),表明它的碼元之間是不相關(guān)的或弱相關(guān)的,如式4.2:R(j)=1, 當(dāng)j = 0時; R(j)= 當(dāng)j = 1, 2, , P1 (4.2) 1pm序列的功率譜密度趨近于白噪聲的功率譜特性。由于m序列的均衡性、游程分布、自相關(guān)特性和功率譜等的基本性質(zhì)和隨機(jī)序列很相似。因此,一般把m序列稱為偽隨機(jī)序列。但是具有或基本具有隨機(jī)性質(zhì)的序列不僅只有m序列一種,m序列只是其中最常用的一種。4.2.2 m 序列發(fā)生器設(shè)計m序列是最常用的一種偽隨機(jī)序列,它是最長線性反饋移位寄存器序列的簡稱,是由帶現(xiàn)行反饋的移位寄存器產(chǎn)生的序列,并且具有最長周期。帶線性反饋邏輯的移位寄存器設(shè)定各級寄存器的初始狀態(tài)后,在時鐘觸發(fā)下,每次移位后各級寄存器狀態(tài)會發(fā)生變化。其中一級寄存器(通常為末級)的輸出,隨
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第7課時圖形的位置練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第1課時圖形的認(rèn)識與測量1平面圖形的認(rèn)識練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊1負(fù)數(shù)第1課時負(fù)數(shù)的初步認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)上冊期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊易錯清單十二課件新人教版
- 標(biāo)準(zhǔn)工時講義
- 2021年一年級語文上冊第六單元知識要點習(xí)題課件新人教版
- 2022春一年級語文下冊課文5識字測評習(xí)題課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時數(shù)學(xué)思考1練習(xí)課件新人教版