版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章 Matlab/Dsp builder 硬件模塊設(shè)計(jì)Matlab 是國(guó)內(nèi)強(qiáng)大的數(shù)學(xué)分析工具,廣泛用于科學(xué)計(jì)算和工程計(jì)算,還可以進(jìn)行復(fù)雜 的數(shù)字信號(hào)處理系統(tǒng)的建模、參數(shù)估計(jì)及性能分析。 Simulink 是 Matlab 的一個(gè)組成部分, 用于圖形化建模仿真。DSP Builder是Altera公司推出的一個(gè)面向DSP開(kāi)發(fā)的系統(tǒng)級(jí)工具,它構(gòu)架在多個(gè)軟件工具之上,并把系統(tǒng)級(jí)(算法級(jí)建模)和RTL 級(jí)(硬件實(shí)現(xiàn))兩個(gè)設(shè)計(jì)領(lǐng)域的設(shè)計(jì)工具連接起來(lái)放在Matlab/Simuli nk平臺(tái)上,而將 QuartrsH作為底層設(shè)計(jì)工具置于后臺(tái),從而最大程度地發(fā)揮了這三種工具的優(yōu)勢(shì)。DSP Builder
2、作為 Simulink 中的一個(gè)工具箱,使得用FPGA設(shè)計(jì)DSP系統(tǒng)完全可以通過(guò) Simulink的圖形化界面進(jìn)行,只要簡(jiǎn)單地 進(jìn)行 DSPBuilder 工具箱中的模塊調(diào)用即可。 Matlab/DSPBuilder 尤其適用于一些在 Quartus H上不方便完成或不能完成的設(shè)計(jì)項(xiàng)目(如涉及算法類(lèi)及模擬信號(hào)處理與生產(chǎn)方面的系統(tǒng)處理)。 DSP Builder 還可以自動(dòng)完成大部分的設(shè)計(jì)過(guò)程和仿真,直到把設(shè)計(jì)文件下載到FPGA中。DSP Builder 提供了 Quartus? II 軟件和 MATLAB/Simulink 工具之間的接口。其具有如 下特性:1. 用于連接Mathwork的MA
3、TLA玫信號(hào)處理工具箱和濾波器設(shè)計(jì)工具箱),Simulink環(huán)境和 Altera ? 的 Quartus II 設(shè)計(jì)軟件環(huán)境。2. 支持Altera 的DSP核,這些核均可以從 Altera的網(wǎng)站上下載(例如:FIR Compiler、 Reed-Solomon Compiler 等等)。3. 可以利用Altera的DSP開(kāi)發(fā)板來(lái)快速的實(shí)現(xiàn)設(shè)計(jì)的原型。4. 支持SignalTap ? II邏輯分析儀(一種嵌入式的信號(hào)分析儀,它可以探測(cè)到DSP開(kāi)發(fā)板上Altera器件內(nèi)部的信號(hào),并把數(shù)據(jù)引入到 MATLAB勺工作區(qū)以便于進(jìn)行可視化的分析)。5. 包括了用戶(hù)可以創(chuàng)建的定制的邏輯,用于配合 SOPC
4、Builder 和 Nios? II 嵌入式處理 器設(shè)計(jì)。6. 包括了 PLL 塊,用于多時(shí)鐘設(shè)計(jì)。7. 包括了狀態(tài)機(jī)塊。8. 針對(duì)DSP系統(tǒng)的算法和實(shí)現(xiàn),支持統(tǒng)一的表示方法。9. 根據(jù)MATLAB和Simulink的測(cè)試矢量,可以自動(dòng)生成VHDL測(cè)試激勵(lì)或 Quartus II矢量文件( .vec )。10. 自動(dòng)調(diào)用VHDL綜合器和Quartus II編譯器。1 1 .仿真可以設(shè)定為比特或周期精度。12. 提供多種的定點(diǎn)運(yùn)算和邏輯操作,用于配合使用Simulink 軟件。、Stratix13. 支持多種 Altera 的器件: Stratix 、 Stratix II 和 Stratix
5、GX 器件; Cyclone 和 Cyclone II 器件; APEXII 、 APEX20KC 和 APEX 20KE 器件; Mercury 器件; ACEX? 1K 器件; FLEX? 10K 和 FLEX 6000 器件。利用Matlab和DSPBuilder進(jìn)行模塊設(shè)計(jì)也是 SOPC技術(shù)的一個(gè)組成部分。這是由于利用Matlab/DSP Builder /Quartrs H可完成純硬件的 DSP算法模型及實(shí)現(xiàn),從而構(gòu)成嵌入式系 統(tǒng)外圍接口的協(xié)處理模塊,再進(jìn)一步構(gòu)成軟件程序中的精簡(jiǎn)指令,DSP模塊或其他功能模塊可以成為單片F(xiàn)PGA電路系統(tǒng)中的一個(gè)組成部分,而且通過(guò)Matlab/DSP
6、Builder,可以直接為 Nios 嵌入式處理器設(shè)計(jì)各類(lèi)加速器, 并以指令的形式加入到 Nios 的指令系統(tǒng), 從而成為Nios系統(tǒng)的一個(gè)接口設(shè)備,與整個(gè)片內(nèi)嵌入式系統(tǒng)融為一體。即利用DSP Builder和基本的Nios CPU,用戶(hù)可以根據(jù)項(xiàng)目的要求,自己構(gòu)建自己需要的DSP處理系統(tǒng)。本章主要介紹利用 Matlab/ DSP Builder/Quartrs n三個(gè)工具軟件聯(lián)合開(kāi)發(fā)的設(shè)計(jì)流程。圖6 1為Matlab/DSP Builder/Quartrs n聯(lián)合應(yīng)用框圖。由圖61可見(jiàn),設(shè)計(jì)流程從利用建立DSP電路模型開(kāi)始,電路模型的建立可以是圖形化的,利用Simulink和DSPBuild
7、er中提供的豐富的功能模塊和IP核進(jìn)行設(shè)計(jì)。DSPBuilder中包含了算術(shù)和存儲(chǔ)功能等設(shè)計(jì)模塊以及IP庫(kù)中的許多復(fù)雜功能模塊。電路中的功能模塊和IP的技術(shù)參數(shù)、數(shù)據(jù)格式、數(shù)據(jù)類(lèi)型和總線寬度等都可以直接設(shè)置。電路模型設(shè)計(jì)完成 后,可以進(jìn)行系統(tǒng)級(jí)的模型仿真,這與目標(biāo)器件和硬件系統(tǒng)沒(méi)有關(guān)系,是基于算法的仿真。下個(gè)步驟是利用置于 Simulink電路模型界面的 DSP Builder的SignalCompiler,將電路 模型文件,即Simulink電路模塊文件(.mdl )轉(zhuǎn)換成RTL級(jí)的VHDL代碼表述和工具命令語(yǔ) 言(Tcl)腳本。一旦獲得轉(zhuǎn)換好的 VHDL描述,在Simulink中即可調(diào)用V
8、HDL綜合器了,目前 可選用的綜合器有 Quartrs n、LeonardoSpectru、和Synplify。由它們生成底層網(wǎng)表文件。 在Quartrs n進(jìn)行編譯優(yōu)化的過(guò)程中,會(huì)產(chǎn)生兩種詳細(xì)記錄電路硬件特點(diǎn)和優(yōu)化方式的底層 電路描述的中間網(wǎng)表文件,即ATOM Netlist。然后調(diào)用Quartrs n中的編譯器,根據(jù)網(wǎng)表文件及設(shè)置的優(yōu)化約束條件進(jìn)行布線布局和優(yōu)化設(shè)計(jì)的適配操作,最后生成編程文件和仿真文件(.pdf和.sof ),它們可用于對(duì)目標(biāo)器件的編程配置和硬件實(shí)現(xiàn);與此同時(shí)可生成分別用 于Quartrs n的門(mén)級(jí)仿真文件和 ModelSim的VHDL時(shí)序仿真文件,以及相應(yīng)的 VHDL仿
9、真激勵(lì) 文件,以用于實(shí)時(shí)測(cè)試 DSP系統(tǒng)的工作性能。下戟至臟件圖 6 1 基于 Matlab/Dsp builder/Quartrs n 等工具6.1 DSP Builder 元件庫(kù)簡(jiǎn)介打開(kāi) Matlab環(huán)境??梢钥吹組atlab的主窗口界面被分割成三個(gè)窗口:命令窗口(Comma nd Win doW、工作區(qū)(Works pace )、命令歷史(Comma nd History )。使 Matlab 的 Curre nt Directory 指向所安裝的 DSP Builder的Altlib 文件夾,點(diǎn)擊旁邊的 simuli nk 圖 標(biāo)打開(kāi)simulink 庫(kù),如下圖6 2所示。I 尖戒Ci
10、p '更伽蟲(chóng)單I T c 飛 M 費(fèi) CurertWrectcr tea'DSPBulcerVSltlit)匕,匡li-iAltLabiz ArithmeticE 壘I Boards毎.Mt 創(chuàng) 劉Nevv圖 6- 2 Matlab 的 Current Directory在 Simulink Library Browser 的左面展開(kāi) Altera DSP Builder 可以看見(jiàn) DSP Builder 的元件庫(kù)如圖6 3所示,元件庫(kù)可以分為若干部分。其中有主控元件庫(kù)(AltLab )算術(shù)元件庫(kù)(Arithmetic )、開(kāi)發(fā)板庫(kù)(Boards )、復(fù)元件庫(kù)(Com plex
11、 Type)、組合元件庫(kù)(Gate & Con trol )總線元件庫(kù)(IO& Bus)、時(shí)鐘元件庫(kù)(Rate Cha nge)、SOPC元件庫(kù)(SOPC Builder Links )、狀態(tài)機(jī)功能元件庫(kù)( State Machine Functions)、時(shí)序元件和存儲(chǔ)器元件庫(kù)(Storage )、IP 核元件庫(kù)(MegaCore Function )、視頻和圖象處理元件庫(kù)(Video and ImageProcess ing士 Liser-Lfennea runccions 田 Additional Math & Discrete HI Aerospace Bloc
12、kset HI Altera L>SP BuilderComplex Typea ControlR.ate ChangeSQPC Euildtr Links State Machne Firaions Storage:4 MegaCore Functions生 Wid&D and linage Processing SI 匚DMA Reference Slackset Bl Communications Blockset圖 6 3 DSP Builder 元件庫(kù)1、主控元件庫(kù)(AltLab ),包含一些用于控制的模塊。 主要有:數(shù)據(jù)觀察窗(BP)、FPGA 編程器(Device
13、programmer )、HDL引入模塊(HDL Import )、HDL子系統(tǒng)元件模塊(HDL SubSystem)、HIL硬件環(huán)境模塊(HIL)、邏輯分析儀探頭(Node)、硬件工程參數(shù)設(shè)置模塊(Quartus n Global Project Assignment)、FPGA 引腳鎖定模塊( Quartus n PoinoutAssignment ) MatLab 模型至 VHDL轉(zhuǎn)換器(SignalCompiler )邏輯分析儀(SignalTap n Analysis )。2、算術(shù)元件庫(kù)( Arithmetic ),包含一些與運(yùn)算相關(guān)聯(lián)的器件。主要有比較器(Comparator )、
14、計(jì)數(shù)器(Counter )、差分器(Differentiator)、除法器(Divider )、增益(Mult ip lier乘法器(Gain )、地址發(fā)生器(In cereme nt Decreme nt )、積分器(In tegrator )、乘法器 )、乘法累加器(Multi ply Accumulate)。如圖6 4所示。tl+SourcesUser-Defined FunctionsAdditional Plath & Discrete壟)a糾HI Aerospace BlocksetAitu舊 D5P BuilderMLbArithnneticeerdls Complex
15、Type Gate a CentroJ10 &5u£Rate ChangeSOPC Builder Links Stats Machirie FunctiorisQI舍I田4 StorageMegaCore Ftinctions壘 說(shuō)deo and Inria©e Prccs55irig I CDMA Reference BlaJset ttl 匚onnunications Blockset Bl Control 5/stem ToclboxConpaj-atorDividtrGainIikcreihtiitUa刖;tildeMultiplierCoKuiterDi
16、 ffar»iiti aUrInt egrator64算術(shù)元件庫(kù)3、SOPC元件庫(kù)(SOPC Builder Links ),在左側(cè)展開(kāi)加號(hào)分別是SOPC AVALO總線模5。塊、SOPC AVALO總線端口模塊和 SOPC用戶(hù)自定制指令端口。如圖 6 1=Rate Ctiarioe 5OPC Builder Link5 務(wù)I AVrtLOM Blacks AVALON Ports 虬Custcm Instruction State Machine Functionsstorage6 5 SOPC元件庫(kù)4、IP核元件庫(kù)(MegaCore Function ),包含Altera 公司設(shè)
17、計(jì)好的IP核??梢允挂话?的設(shè)計(jì)者在不用全面了解所用IP核相關(guān)技術(shù)過(guò)多細(xì)節(jié)的情況下,在短期內(nèi)設(shè)計(jì)符合要求的系統(tǒng)。MegaCore是Altera的IP Core計(jì)劃中的一個(gè)組成部分,IP核元件庫(kù)所包含的IP核不 附帶在DSP Builder和Quartus n中,需要單獨(dú)購(gòu)買(mǎi)。如圖6 6所示,IP核元件庫(kù)主要有 CIC IP核(cic )、FFT IP核(fft )、FIR IP核(fir )、NCO IP 核(noc)、RS IP 核、VITERBI IP 核(viterbi )。4-rtl 口I6.2 FSK調(diào)制器設(shè)計(jì)£ft v& 1nco£ir_c的 jil*&
18、#165;fir corkpilfrr v3 3 1re o_v£_3_lAltera D5P BuilderAltLahftrihhrrwtcSoards匚 ompl«x TypeGate & ControllO&ajskat* Chsrige50 PC Buider LinksState Machine Functions魚(yú) Storage 魚(yú) BBS3BBB 4 Video nd Tmacie Processing廣 rift 川斤 rid-iPrir iTa-iLd-iri- j-ih圖 6 6 MegaCore Function 元件庫(kù)二進(jìn)制頻率調(diào)
19、制(2FSK),是利用二進(jìn)制數(shù)字基帶信號(hào)控制載波進(jìn)行頻譜變換的過(guò)程。 在發(fā)送端產(chǎn)生不同頻率的載波震蕩來(lái)傳輸數(shù)字信號(hào)“0” “1”,在接收端,把不同頻率的載波振蕩還原成相應(yīng)的數(shù)字基帶信號(hào)。FSK調(diào)制的方法有兩種:1、直接調(diào)頻法用數(shù)字基帶矩形脈沖控制一個(gè)振蕩器的某些參數(shù),直接改變振蕩頻率,輸出不同的 頻率信號(hào)。2、頻率鍵控法從而輸出不同頻率的信用數(shù)字矩形脈沖控制電子開(kāi)關(guān)在兩個(gè)振蕩器之間進(jìn)行轉(zhuǎn)換,號(hào)。6.2.11、建立設(shè)計(jì)模型們需要建立一個(gè)工作庫(kù),所以先新建一個(gè)文件夾FSK使Matlab的Curre nt Directory指向所安裝的 DSP Builder的Altlib文件夾點(diǎn)擊2、上方的sim
20、ulink 圖標(biāo)打開(kāi)simulink 庫(kù),如下圖6 7所示。i Desktop 空 neJo 屮 HelpCu-ent Directcr tea'DSFfiwil cerV4tlib 卜 | 會(huì)I童廠c博呼*vie Add Li網(wǎng)刖盤(pán)圖 6 7 Matlab 的 Current Directory3、在Simulink Library Browser窗口中選擇File菜單,在出現(xiàn)的菜單中選擇New,在彈出的子菜單中選擇新建模型model。如圖6 8圖6-8新建Model4、放置SignalCompilder 。點(diǎn)擊simulink 庫(kù)管理器左側(cè)的數(shù)形列表中的Altera DSPDSPB
21、uider的子模塊Builder條,使之展開(kāi) DSP Builder庫(kù),這時(shí)會(huì)出現(xiàn)一串樹(shù)形列表,對(duì) (Block )進(jìn)行分組,展開(kāi)其中的Altlab新的模型窗口。如圖6 9Bl Aerospace Bbckeet m Altera KP BuilderAltLabArithmeticBoardsComplex r/pe Gte Control lOfcBusRate Change5OPC Buider Lin府State Machine FunctiorcStorage備空一一 土卻一卻如一生一務(wù)一曼卻一 -S5Quarlus II Global Freject kEEignmeiLt Qii
22、artus II Pinflut Assl詳eent壽PlSl 電Hl匚 ompi liTSLgn=ttlT ap II AitalysizSub Sys t gni£ai Ider,選擇庫(kù)管理器右側(cè)的Sig nalCom pilder ,拖動(dòng)到I 匚DMA Refererice BlocRset圖 6 9 Simulink 庫(kù)中的 DspBuilder(無(wú)符5、圖6 5,為所需最終連接的 Modle圖形。參照?qǐng)D6 10先放置Input2 , Input2在 DSP Builder庫(kù)中的IO & Bus模塊中,選擇Input拖動(dòng)到新 Model中,點(diǎn)擊圖形下面的文字 Inpu
23、t可以更改名稱(chēng)。雙擊打開(kāi)參數(shù)設(shè)置窗口,Bus type 可設(shè)為Un sig ned In teger號(hào)整數(shù)),number of bits 設(shè)為2。如圖6 11Scope圖6- 10 FSK調(diào)制模型HRBus Trp*Vital fined Intectnujnbfir of lit s.圖6 11 input2參數(shù)設(shè)置Constant也同樣在IO & Bus模塊中,constant1 設(shè)置為無(wú)符號(hào)整數(shù),number of bits 設(shè)為 8,常數(shù)值(Constant Value )設(shè)置為 9,抽樣時(shí)間(Sample time )為 1,如圖 6-12。Constant2 除了 Con
24、stant value設(shè)置為3外,其余設(shè)置同 Constant1,這樣可以使數(shù)字基帶矩形脈沖的峰峰值在3到9之間。Ph rwmftt STSBps T7peziuiTib ei of bi t z. JkConst arit Valuehe time (- 1 £or inheri4 edj圖6-12 constant1參數(shù)設(shè)置6、n-to-1 Mult ip lexer和LUT同在Gate & Con trol模塊下,將它們拖到新建Model中將LUT改名為ROM10X10S,如圖6-13UER StqusMftLogical Bus Opera!orLUTn-to-l M
25、ultipJeK&riraiLogical Kit 5p«ritor-雖I Altera D(5P BuilcfcrAltLabArithreticBoardsComplex 7/peIO &L SusP ate Change5<)PC Mder LinksState Machrie Functions4 Storage刃.EJ CDMA RfiFerenoe Blockset11+ ftl Ccxnruunicaticins Blochset和 n-to-1Multiplexer 模塊Number of input Data Line ) 設(shè)為 2, pipe
26、line 設(shè)為圖 6-13 LUE其中n-to-1Mult ip lexer的數(shù)據(jù)輸入線(1。ROM10X10S 的 bus Type 設(shè)為 signed Integer (有符號(hào)整數(shù)),輸出位 number of bits 為8位,LUT Address Width( 查找表地址線位寬)設(shè)為8。在MATLAB Array 編輯框中輸入 計(jì)算查找表內(nèi)容的計(jì)算式。在此可以直接使用正弦(sin)函數(shù),在這里 sin函數(shù)的調(diào)用格式為sin(起始值:步進(jìn)值:結(jié)束值)。ROM10X10S為一個(gè)輸入地址為 8位,輸出地址為 8位的正弦查找表模塊,輸入地址總線位有符號(hào)整數(shù)(Signed Interger )
27、??梢栽O(shè)定起始值為0、結(jié)束值為2 n,步進(jìn)值為2 n /2人8。計(jì)算式可以寫(xiě)成 127*sin( 0:2*卩“(2人8):2*pi),其 中pi即位常數(shù)n。在Use LPM處打勾,表示允許Quartus n利用目標(biāo)器件中的嵌入式RAM在EAB ESB或M4K模塊中)來(lái)構(gòu)成 ROM10X10S,即將生成的正弦波數(shù)據(jù)放在嵌入式RAM6-14。構(gòu)成的ROM中,這樣可以節(jié)省大量的邏輯資源。如圖Pfcrimet *rsSus Txpastenel Int»Eer ulmt ifuinLer of bits.LUT Address 陽(yáng)HhKftTLkB Array127*5iR( Q;(賞 0
28、; 2切ij J昭LPMReei三ter A ddr e zeKi Eist «rClcck Imble圖6-14 ROM10X10S 參數(shù)設(shè)置7、在 Arithmetic 模塊下找到 Parallel Adder Subtractor,改名為 ADDER4,將輸入設(shè)為2,Add( +)Sub(-)設(shè)為+,其余不變,如圖 6-15。I- Par直met sisAdd (+) Slip (-)IT;17 FiFeline 廠 Vs* Control Igutm C lock PKa S el ect ion.圖 6-15 設(shè)置 ADDER48、放置Delay模塊。在Storage庫(kù)下的
29、Delay,放置到新建模型窗口并改名為Delay是一個(gè)延時(shí)環(huán)節(jié)。在這里不修改其默認(rèn)參數(shù)設(shè)置。9、Bus7和Out8在IO&Bus庫(kù)下。找到AltBus ,和out put分別改名為 Bus7和Out8。,Node Type 為 Internal Node , number of bit為 8Dly2 。Bus7 的 Bus Type 為 Signed Integer 位。如圖6-16。Bus TrueSi lined. 1 口teeerFoie Trperuimter " bif s. JSaltlral eBypass Eu5 Formit圖6-16 設(shè)置Bus7Out8
30、的 Bus Type 也為 Signed integer類(lèi)型 8 位。如圖 6-17。Pa rainetersBus Ttd*Si mad Tnt “arnumter of bits. J圖6-17 設(shè)置Out810、放置完所需的模塊后,按照?qǐng)D 6-5連接好。這樣就完成了FSK調(diào)制模型的設(shè)計(jì)。在進(jìn)行仿真驗(yàn)證和 Sig nalCom pi ler編譯前,先對(duì)文件進(jìn)行存盤(pán)操作:點(diǎn)擊新建模型窗口的 File菜單,選擇Save項(xiàng)。取名并保存在自己所建的文件夾FSK中。在本例中,新建模型取名為fsk,模型文件為fsk.mdl。保存完畢后,新建模型窗口的標(biāo)題欄會(huì)顯示模型的名稱(chēng), 對(duì)模型取名后就可以使用Si
31、g nalCom piler 進(jìn)行編譯了。在編譯前還需要進(jìn)行仿真驗(yàn)證。simulink中進(jìn)行算法級(jí)、系統(tǒng) 定的仿真步進(jìn)和仿真周期,添 凡是來(lái)自Altera DSP Builder庫(kù)以外的模塊,即不會(huì)影響生成的 VHDL程序,但在啟動(dòng)Simulink Pulse Gen erator模塊的情況正是如此。6.2.2 Simulink 模型仿真用DSP Builder模塊設(shè)計(jì)好一個(gè)新的模型后,可以直接在 級(jí)仿真驗(yàn)證。對(duì)一個(gè)模型進(jìn)行仿真,需要施加合適的激勵(lì)、加合適的觀察點(diǎn)和觀察方式。需要強(qiáng)調(diào)的是: SignalCompiler都不能將其變成硬件電路, 仿真后能影響后面產(chǎn)生的仿真激勵(lì)文件,1、 加入一個(gè)
32、 Pulse Generator模塊,在 Simulink庫(kù)管理器中,展開(kāi) simulink庫(kù),選中 Sources庫(kù),把 Sources庫(kù)中的Pulse Generator模塊拖放到 FSK模型窗口中。2、 添加波形觀察模塊。在simulink的庫(kù)管理器中,展開(kāi)simulink庫(kù),選中其中的Sinks 庫(kù),把Scope模塊拖放到FSK模型窗口中。雙擊該模塊,打開(kāi)的是一個(gè)Scope窗口。用鼠標(biāo)點(diǎn)擊Scope模塊窗口上側(cè)工具欄的第二個(gè)工具按鈕:Parameters參數(shù)設(shè)置。打開(kāi)改變 Number of axes參數(shù)為2。點(diǎn)擊“OK”后可以看到Scope窗口增加了兩個(gè)波 每個(gè)觀察窗都可以分別觀察信
33、號(hào)波形,而且相對(duì)獨(dú)立。如圖6-18。Tip: try ci則 clicking or axesScope參數(shù)設(shè)置對(duì)話框,在Scope對(duì)話框中有兩個(gè)選項(xiàng)頁(yè):Gerneral和Data History。在Gerneral 選項(xiàng)頁(yè)中, 形觀察窗。Genefel iQatfl hidoryAxesNuiYiber of 盤(pán)畑M2n lloartirig scapeTime rangecautoTick labels:botto4n flMis only|SampiingDficirrtatisr圖6-18 Scope設(shè)置3、按圖6-10連接FSK模型的全圖。先設(shè)置模型的仿真激勵(lì)。需要設(shè)置與此相連的 模
34、塊:Pulse Generator。雙擊放置在 FSK模型窗口中的 Pulse Generator模塊,設(shè)置對(duì)輸入端 口施加的激勵(lì)。在打開(kāi)的Pulse Generator模塊參數(shù)設(shè)置對(duì)話框中,可以看到下列參數(shù)如圖6-19。Paramet*r3 ?ul5« type.Tims (t: I Uia siiPilatLQn 七imt kinrlitude:Period, (secs):1500?u.ls6 fJidth Ct peiiod :soPhase AiLT (sscJ :心 IntGfDi電t vectcr parameters as l-t圖 6-19 Pulse Genera
35、tor 參數(shù)設(shè)置其中脈沖類(lèi)型(Pulse Type)是基于時(shí)間的(Time based),振幅(Am pl itude )為1,周 期(period)是 1500 秒,占空比(Pulse Width )為 50%,相位延遲(Phase delay)為 0。4、點(diǎn)擊 Simulation 菜單,在下拉菜單中選擇configuration parameters 如圖(6- 20),將Stop time設(shè)置成10000。FSK模型編輯窗中,在 Simulation菜單下,選 Start項(xiàng),開(kāi)始仿 真。等待仿真結(jié)束,雙擊Scope模塊,打開(kāi)scope觀察窗。在Scope觀察窗中,可以使用工具欄中的按鈕
36、來(lái)放大縮小波形,也可以使用工具欄上的“Autoscale ”,使波形自動(dòng)適配波形6-21為FSK的仿真圖形。觀察窗,用鼠標(biāo)左鍵,可以放大波形。圖Sinulktioik tim 電portsuitSlop tine IjOOJOSOIVwl?lt7TypeKb at" aiIQ:trrencinE m畑tition iiE sLodHJn Et eu mile:Initial siav sii«Ecio ciobilliii ujul lol.tol eiance|autD"t&l QiAn<4;11. 3ode45 CDditOKI CinctlHe
37、:PAr?lv圖6-20 FSK仿真停止時(shí)間圖6-21 FSK仿真圖圖中可以清晰的看到在脈沖值為1和0時(shí),載波信號(hào)頻率隨脈沖信號(hào)值變化而變化,從而實(shí)現(xiàn)了 2FSK6.2.3 SignalCompiler 使用方法下面進(jìn)行設(shè)計(jì)流程中最為關(guān)鍵的一步,就是把DSP Builder的設(shè)計(jì)轉(zhuǎn)到硬件上加以實(shí)現(xiàn)。在這一步,可以獲得針對(duì)特定FPGA芯片的VHDL代碼。1、雙擊FSK模型中的SignalCompiler模塊,將出現(xiàn)如圖 6-22所示的對(duì)話框,點(diǎn)擊 Analyze (分析)按鈕后,SignalCompiler就會(huì)對(duì)FSK模型進(jìn)行分析,檢查模型有無(wú)錯(cuò)誤, 并在Matlab主窗口彈出對(duì)話框,并給出相關(guān)
38、信息。System fsk口 Re-run update emagram to solve workspace parameterEKI 1 r 、Hr I i H :, I h'l-IIAnalyzeIISkip Analyze圖 6 - 22 雙擊 SignalCompiler2、圖6 21中顯示了 Signal Compiler窗口,左側(cè)是項(xiàng)目設(shè)置選項(xiàng)Project SettingOptions,可以設(shè)置器件類(lèi)型(Device )、綜合工具(Synthesis Tool)以及優(yōu)化項(xiàng)目(Opimization ); 右側(cè)是硬件編譯流程Hardware Compilation ;下方
39、是信息框 Messages SignalCompiler的設(shè)置都集中在項(xiàng)目設(shè)置選項(xiàng)部分。在Device下拉選擇框中選擇需要的器件系列,在此選為Cyclone系列。其具體的器件型號(hào),需由QuartusII自動(dòng)決定使用該器件系列中的某一個(gè)具體 型號(hào)的器件,或在手動(dòng)流程中由用戶(hù)指定。-Project Setting OptionsH ard *i are Com pi la honSingle step uo呷ilahon1 ConveitMDLtoVHDLD EMlce1 C/cloneTSi)rithesis tool引hjwllhk (nd0 ptimi?ation | Speed霸f 2 -
40、 SyinQ-itsisMain Clock | Reset | SigtialTap II | Testb_illExecute steps 2 and 3Period20 nsra'rn cir. rr 門(mén)日、Messages圖6 21 SignalCompiler設(shè)置對(duì)話框3、 當(dāng)設(shè)置好 Device和Sy nthesis后,右側(cè)的硬件編譯 Hardware Com pi lation部分就會(huì)列 出一個(gè)操作流程,見(jiàn)圖6 21。分別為: 轉(zhuǎn)換 MDL 文件為 VHDL 文件(Con vert MDL to VHDL ) 綜合(Synthesis) 編譯適配(QuartusllQua
41、rtus )先點(diǎn)擊步驟1的圖標(biāo),完成simulink文件(*.mdl )至 VHDL文件的轉(zhuǎn)換。轉(zhuǎn)換完成 后,在"Messages信息提示框中,會(huì)顯示"Gen erated top level fsk.vhd "files ”,即頂層文件fsk.vhd完成轉(zhuǎn)換(圖4-34)。fsk模型生成的VHDL文件4、 點(diǎn)擊步驟2的圖標(biāo),完成綜合過(guò)程。因?yàn)樽髠?cè)的設(shè)置,本例用 QuartusII來(lái)完成綜合 過(guò)程的,在綜合后生成原子網(wǎng)表供適配器使用,并自動(dòng)生成QuartusII可直接調(diào)用的工程。5、 點(diǎn)擊步驟3的圖標(biāo),調(diào)用 QuartusII完成編譯適配過(guò)程,生成編程文件:pof
42、文件和sof文件(圖4-36)。編程文件可以直接用于FPGA的編程配置。如果想知道詳細(xì)的報(bào)告,點(diǎn)擊下面的 Report File按鈕進(jìn)行查看。Fsk模型對(duì)應(yīng)的報(bào)告文件為 fsk_DspBuilder_Report.html。6.2.4 使用QuartusII實(shí)現(xiàn)時(shí)序仿真雖然已經(jīng)進(jìn)行了算法級(jí)、系統(tǒng)級(jí)仿真驗(yàn)證,然而進(jìn)行門(mén)級(jí)的時(shí)序仿真仍然是十分重要的, SignalCompiler已將MATLAB上的仿真信息轉(zhuǎn)變成了可用于QuartusII進(jìn)行時(shí)序仿真的激勵(lì)信息及相關(guān)仿真文件fsk_quartus.tcl,因此能容易地完成此項(xiàng)任務(wù)。1、 打開(kāi)QuartusII環(huán)境,選擇菜單 Project,定位到f
43、sk模型所在路徑目錄,打開(kāi)DSP Builder 建立的 QuartusII 工程文件:fsk.quartus。2、上文中提到, 在SignalCompiler中的QuartusII編譯,具體的器件由 QuartusII自動(dòng)決 定,可實(shí)際使用中,器件往往不是 QuartusII自動(dòng)選定的那個(gè)型號(hào),管腳也不是 QuartusII自 動(dòng)分配的管腳。這些都需要在 QuartusII中進(jìn)行修改。所以這里須按照前面章節(jié)中敘述的方EP1C6Q240C8,然后啟動(dòng)全程編譯,即執(zhí)行Start法選擇具體器件型號(hào),本例中使用的是Com pi lation 。3、執(zhí)行菜單 ProcessinStart Simula
44、tion。圖6 22即為時(shí)序仿真波形,在圖中可以清 楚的看到輸出數(shù)據(jù)隨著時(shí)鐘的變換交替的進(jìn)行頻率變換。如果這時(shí)看不到輸出的波形數(shù)據(jù), 應(yīng)該回到MATLAB設(shè)計(jì)文件檢查,仿真、變換(注意這時(shí)只按SignalCompiler中的第一按鈕!)。Miasl*r Tim* Sir;9.75 ns * | Pointer; | 1£1.39 rn Inlerval;151 rs StaitEnd |Value at9 _ 75 nsD 13160.0 nn320.0ISO.O lu&40. 0 tia00.0 na' 1 1 1 13. 75 nsJ一 mnnnjmmuumnmm
45、jmninnnmruuuuumminjuinwi.1'i1i11ii=1i1i1I1111II1:1111::11.1111111-11'1111'11 . 1'1111 ' 1 '111clckE 0sdr pE 1I |舊 Du.1 111 L 1 IKJ III 1* IIIIHIIll Hill rHi n H 00 :I 1r1ri-11ririiII 11II1II''11.1i.11I 1r1- r :1-;丨F1! 1 ! ' 1 ' 1 1 1 ' 1 ' 1 !II 11'
46、;1.1'1111.1'1.1-a1 ' 1 1 -圖6-22時(shí)序仿真波形圖6.2.5使用QuartusII硬件測(cè)試與硬件實(shí)現(xiàn)連接好FPGA 若再想改動(dòng)Simulink在此按照前面章節(jié)中介紹的方法鎖定管腳。打開(kāi)fsk工程文件fsk.vhd,了解端口情況,選擇合適的電路模式。 然后進(jìn)行編譯,完成適配過(guò)程。最后是進(jìn)行硬件的下載, 開(kāi)發(fā)板。然后將實(shí)測(cè)結(jié)果與在計(jì)算機(jī)上進(jìn)行的時(shí)序仿真結(jié)果進(jìn)行比較。 中的fsk.mdl圖,應(yīng)該注意兩點(diǎn):input2、out8,因?yàn)榈谝唬瑑?nèi)部電路結(jié)構(gòu)和設(shè)置可以改,但端口信號(hào)名不要改,如輸入 此信號(hào)的引腳已被鎖定,不便改變第二,改動(dòng)out.mdl圖后只
47、宜作系統(tǒng)仿真和 VHDL文件轉(zhuǎn)換,不宜作綜合,即最多只能 對(duì)圖6- 17所示的界面執(zhí)行第 1個(gè)按紐,否則將可能把原來(lái)設(shè)定好的引腳全部沖掉。為了保存引腳信息,綜合與適配兩項(xiàng)操作必須在進(jìn)入Quartusll后進(jìn)行。圖6-23為硬件實(shí)現(xiàn)后的輸出波形。圖6-23 FSK調(diào)制波形6.3 直接數(shù)字合成DDS設(shè)計(jì)6.3.1直接數(shù)字合成DDS基本原理對(duì)于正弦信號(hào)發(fā)生器,它的輸出可以用下式來(lái)描述。SoutAsin t Asin(2 gt)(6- 1)其中Sout是指該信號(hào)發(fā)生器的輸出信號(hào)波形,fout指輸出信號(hào)對(duì)應(yīng)的頻率。上式的表述對(duì)于t式連續(xù)的,為了用數(shù)字邏輯實(shí)現(xiàn)該表達(dá)式,必須進(jìn)行離散化處理,用基準(zhǔn)時(shí)鐘 進(jìn)行
48、抽樣,令正弦信號(hào)的相位:elk2foutt在一個(gè)elk周期Teik,相位的變化量為:2foutTcik2foutfelk(6 3)其中feik指elk的頻率對(duì)于2 n可以理解成“滿(mǎn)”相位,為了對(duì)進(jìn)行數(shù)字量化,把2n切割成2N份,由此每個(gè)elk周期的相位增量用量化值B來(lái)表述:Bg2N,且 B為整數(shù)。與(6 3)式聯(lián)立,可得:B_fout B2Nfelk,2Ngfoutfelk(6 4)顯然,信號(hào)發(fā)生器的輸出可描述為:Sout Asin(Ki ) Asin務(wù)qB- B )Afsin(BKi B )(6 5)其中K 4指前一個(gè)elk周期的相位值,同樣得出(6 6)(6 2)DDS 采用了層次化的設(shè)計(jì)
49、方法,即使用了 Simulink的子系統(tǒng)(SubSystem)來(lái)完成DSP模型的層次化設(shè)計(jì)。我們可以用上面的例子進(jìn)行簡(jiǎn)單的介紹:在已經(jīng)建好的模型上進(jìn)行簡(jiǎn)單修改后,選擇除SignalCompiler 、Pulse Generator以圖6 25 FSK輸出的修改圖6 26為創(chuàng)建子系統(tǒng)模塊后的FSK圖形。用鼠標(biāo)雙擊 Subsystem子系統(tǒng)模塊后,就會(huì)彈出fsk/Subsystem 窗口,顯示子系統(tǒng)模塊封裝的原理圖。值得注意的是,有些DSPBuilder庫(kù)的模塊只能放在頂層原理圖中,女0 SignalCompiler模塊。如果子系統(tǒng)中放置了Sig nalCo mp iler模塊,只可以進(jìn)行 Sim
50、uli nk 仿真,而不能使用 Sig nalCom piler 來(lái)生成相應(yīng)的VHDL弋碼。GerieratorSubsystem圖6 26生成子系統(tǒng)后的FSK圖6-23為DDS的頂層設(shè)計(jì)圖,而圖 6 24為其子系統(tǒng) Subsystem的結(jié)構(gòu)圖。分別為 67、456、11456789,勾選 Interpret vector parameters as 1-D 選項(xiàng),Sample time 為 inf ; Input、inp ut1、input2 在 Altera DSPbuilder-IO & Bus 庫(kù)下,Bus Type 為 Un sig ned in terger , numbe
51、r of bits 分別為 32、10、8; Out put 也在 Altera DSP builder-IO & Bus 庫(kù)下,輸出位為10位有符號(hào)整數(shù)。Bus Type為有符號(hào)整數(shù),輸出為10位,輸出公式是 511*sin( 0:2*pi/(2人10):2*pi) 項(xiàng);Pdt2 為 Altera DSP builder-ArithmeticUse LPM 選項(xiàng);Bus1 在 Altera DSP builder-IOLUT Address Width 寬為 10 位,MATLAB Array 的 , 并勾選 Use LPM和 Register Address 選 庫(kù)的Product
52、元件,Pipeline 值為0,勾選 & Bus庫(kù),是 BusConversion元件,為有符為8。號(hào)整數(shù),輸入 18位,輸出10位,Input Bit to Out put LSBBus7 為 Altera DSP builder-IO節(jié)點(diǎn)類(lèi)型是內(nèi)部節(jié)點(diǎn)(In ternalDSP builder-Arithmetic 下的Add (+) Sub(-)設(shè)為 “+ + ” , 是 Altera DSP builder-Storage& Bus下的AltBus元件,總線類(lèi)型是有符號(hào)整數(shù),Node), 32 位;Adder4 和 Adder3 設(shè)置相同,為在 AlteraParall
53、el Adder Subtractor 元件,Number of Inputs 是 2, 勾選 Pipeline 選項(xiàng),Clock Phase Selection 設(shè)置為 1 ; Dly2 下 Delay 元件,默認(rèn)設(shè)置;BusConversion 在 Altera DSPbuilder-IO & Bus 元件庫(kù),Bus Type 為 Signed Interger輸入為 32 位,輸出 10 位,Input Bitto Out put LSB為 22。圖6-26為DDSB號(hào)輸出波形。圖6-26 DDS信號(hào)輸出6.4 AM調(diào)制器設(shè)計(jì)6.4.1 AM調(diào)制原理AM的調(diào)制原理是將要傳送的信息
54、裝載到某一高頻(載波)信號(hào)上去的過(guò)程,幅度調(diào)制是用調(diào)制信號(hào)去控制載波的振幅,使其隨調(diào)制信號(hào)線型變化,而保持載波的頻率不變。圖6 27為在Maltlab下完成的AM全圖,主要分為 4個(gè)區(qū)域:區(qū)和區(qū)為兩個(gè)正弦 信號(hào)發(fā)生器,分別為調(diào)制信號(hào)和載波信號(hào);區(qū)為控制區(qū),主要控制調(diào)制信號(hào)的幅度。當(dāng) Cnt9選擇不同值時(shí),區(qū)輸出不同的參數(shù)調(diào)整區(qū)輸出正弦信號(hào)的幅度,使調(diào)制信號(hào)的輸 出具有不同的幅度(如圖6-27 )。圖6 28為Con9選擇1、3、6時(shí)輸出的調(diào)制信號(hào)。區(qū)主要作用是將調(diào)制信號(hào)裝載到載波信號(hào)上去,實(shí)現(xiàn)信號(hào)的調(diào)制。圖6 27 AM調(diào)制原理圖1000100500-50403.b 勺應(yīng) 9.73759.89.B59.99.95%9.59.551009.S1S59.95.950瑪.59.5563.653.79 753.89.653.39.951圖6-28受控的調(diào)制信號(hào)0WDO5D0S.39.49,
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:近代上海國(guó)立音樂(lè)院-國(guó)立音專(zhuān)學(xué)刊的歷史敘事及其文化意義闡釋研究
- 2025年《學(xué)習(xí)師德學(xué)習(xí)教育法規(guī)》心得體會(huì)例文(5篇)
- 2025年度個(gè)人二手房交易安全保障協(xié)議3篇
- 二零二五版羅馬柱歷史文化遺址保護(hù)合同4篇
- 二零二五版藥店?duì)I業(yè)員藥品配送及聘用合同4篇
- 2025版投資經(jīng)理借貸雙方合作協(xié)議書(shū)3篇
- 二零二五年度國(guó)際藝術(shù)品拍賣(mài)交易合同3篇
- 二零二五年度出差工作成果評(píng)估與獎(jiǎng)勵(lì)合同3篇
- 2025年度戶(hù)外景觀設(shè)計(jì)施工與后期養(yǎng)護(hù)合同4篇
- 2025版投標(biāo)文件制作及審核服務(wù)合同模板3篇
- 中央2025年國(guó)務(wù)院發(fā)展研究中心有關(guān)直屬事業(yè)單位招聘19人筆試歷年參考題庫(kù)附帶答案詳解
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫(kù)附帶答案詳解
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以?xún)?nèi)進(jìn)退位加減法800道題
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 眼科護(hù)理進(jìn)修專(zhuān)題匯報(bào)
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
- 深靜脈血栓(DVT)課件
- 2023年四川省廣元市中考數(shù)學(xué)試卷
- GB/T 19885-2005聲學(xué)隔聲間的隔聲性能測(cè)定實(shí)驗(yàn)室和現(xiàn)場(chǎng)測(cè)量
評(píng)論
0/150
提交評(píng)論