freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的dds信號發(fā)生器設(shè)計畢業(yè)論文(參考版)

2024-11-14 03:47本頁面
  

【正文】 case 2: LCD_Write_String 0,1,F。 case 1: LCD_Write_String 0,1,FM 。 switch wave case 0: LCD_Write_String 0,1,AM 。 // case 0xef:wave++。 // case 0xf7:dec_key 。 模式減 case 0xfb:inc_key 。break。if set 1 set 8。 // LCD_Write_Com 0x06 。LCD_Write_Com 0x14 。 switch keyvalue //LCD_Write_Com 0x14 //光標移動 case 0xfe:set++。 if KeyPort! 0xff keyvalue KeyPort。//顯示第一行 /*................................................ 按鍵掃描函數(shù),返回掃描鍵值 ................................................*/ unsigned char KeyScan void unsigned char keyvalue。 sprintf temp,FREQ %08ldHz, F 。 //延時有助于穩(wěn)定 if F 0 //最大 40Mhz F 0。 default:break。 case 8:if F 1 F 1 。 case 7:if F 1 F 10 。 case 6:if F 10 F 100。 case 5:if F 100 F 1000 。 case 4:if F 1000 F 10000。 case 3:if F 10000 F 100000 。 case 2:if F 100000 F 1000000 。 case 1:if F 1000000 F 10000000 。 switch set case 0: 。 LCD_Write_String 0,0,temp 。 dds_wr_data F 。 DelayMs 2 。 break。 break。 break。 break。 break。 break。 break。 break。 break。 //輸入方式設(shè)置 ACC+1 畫面不動 /*................................................ /****************按鍵加法子函數(shù) ******************/ /*................................................*/ void inc_key void set KeyScan 。 if set! 0 LCD_Write_Com 0x10 。 break。_39。 break。_39。 break。_39。 break。_39。 break。_39。 break。_39。 break。_39。 break。_39。 break。 //顯示開關(guān) else LCD_Write_Com 0x0c 。//顯示第一行 KeyScan 。 /*................................................ display 函數(shù) ................................................*/ void display sprintf temp,FREQ %08ldHz, F 。 data0 1。 DelayMs 10 。 data0 0。 DelayMs 10 。 data0 1。 //送低位 8 位數(shù)據(jù) DelayMs 10 。 data0 0。 /*................................................ 寫入 FPGA 頻率字 ................................................*/ void dds_wr_data unsigned long int freq unsigned long int freq* 。 unsigned char DATA[4]。 unsigned char wave 0。 //char displaytemp[8] 0 ,num。 //unsigned char AA 100。 // unsigned long int F 1000。 sbit data1 P2^1。 附錄 A /*................................................ FPGA 頻率字寫入函數(shù) ................................................*/ include include include include include include unsigned char KeyScan void 。所以,本設(shè)計的各項功能指標還有待完善。本設(shè)計中能方便用戶控制的波形種類有限,對于任意波形的輸入控制,可利用現(xiàn)有的 FPGA 中的 ROM 資源來存儲波形周期數(shù)據(jù),另外還可利用內(nèi)部資源來創(chuàng)建 RAM 來存儲波形 ,,并且借助編程語言編寫軟件,來實現(xiàn)任意波形的周期數(shù)據(jù)送入 FPGA。經(jīng)過研究,完成了預(yù)定的設(shè)計任務(wù),在對 DDS 波形發(fā)生器的研究中,完成了軟件程序的設(shè)計包括單片機主程 序以及初始化程序的設(shè)計;分析了頻率合成技術(shù)的基本問題,并重點介紹了直接數(shù)字頻率合成技術(shù);研究了基于 DDS 原理利用 FPGA 的具體實現(xiàn)波形發(fā)生器的設(shè)計方法,完成了 DDS 頂層原理圖的設(shè)計。表 所示為 DDS 信號發(fā)生器表 實測頻率與給定頻率對照表。 硬件焊接與測試 元器件買好后,接著進行焊接,首先焊接的是 FPGA 芯片,然后晶振,復(fù)位,配置電路,下載電路,電源穩(wěn)壓芯片,單片機最小系統(tǒng);焊接完成后,通電測試,先測試的是 FPGA 的功能,下載正常,然后測試單片機的下載功能,程序下載后,液晶正常顯示。 MATLAB 仿真結(jié)果 用 Matlab 平臺 DSP Builder 工具箱進行仿真正弦波信號、方波信號、三角波信號、鋸齒波信號、 FSK、 ASK、 AM、 FM 等信號,測試載波為頻率為 1MHz 時候輸出結(jié)果如圖 所示。同時,一樣可以使用 Quartus II 強大的 LogicLock 功能和 SignalTap 測試技術(shù)。在這一步,設(shè)計者可以在 Quartus II 中完成對 Pin 引腳 的鎖定,更改一些約束條件。這里產(chǎn)生的網(wǎng)表文件稱為 ATOM 網(wǎng)表文件 如圖 所示 ,主要是 EDIF 網(wǎng)表文件 .edf 電子設(shè)計交換格式文件 或 VQM .vqm Verilog Quartus Mapping File ,它們是一種參數(shù)可設(shè)置的,并含有具體器件系列硬件特征 如邏輯宏單元 LCs、 I/O 單元、乘積項、嵌入式系統(tǒng)塊 ESB 等 的網(wǎng)表文件。由于這個過程操作可能比較繁瑣,所以 DSP Builder 的SignalCompiler 相應(yīng)提供了一個接口,針對設(shè)計,自動產(chǎn)生一個 TCL 腳本與綜合器 Synplify 或者 LeonardoSpectrum 相接。綜合器可以是 Synplify Pro,也可以是 LeonardoSpectrum,或者采用 Altera 自己的 Quartus II。 采用手動流程時,除了行為級仿真驗證和設(shè)計輸入外,其它過程與標準的基于 VHDL的 EDA設(shè)計流程是完全一致的。 在手動流程中,設(shè)計者可以靈活地指定綜合、適配條件。 如果采用 DSP Builder 的自動流程,幾乎可以忽略硬件的具體實現(xiàn)過程,可以選擇讓 DSP Builder 自動調(diào)用 Quartus II 等 EDA 設(shè)計軟件,完成綜合 Synthesis 、網(wǎng)表 ATOM Netlist 生成和 Quartus II 適配,甚至在 Matlab 中完成 FPGA 的配置下載過程。轉(zhuǎn)換獲得的 HDL 文件是基于 RTL 級 寄存器傳輸級 的 VHDL 描述 圖 DSP Builder 設(shè)計流程 再接下來的幾個步驟是對以上設(shè)計產(chǎn)生的 VHDL 的 RTL 代碼和仿真文件進行綜合、編譯適配以及仿真。 第三步是 DSP Builder 設(shè)計實現(xiàn)的關(guān)鍵一步,通過 SignalCompiler 把Simulink 的模型文件 后綴為 .mdl 轉(zhuǎn)化成通用的硬件描述語言 VHDL 文件 后綴為 .vhd 。 第二步是利用 Simulink 強大的圖形化仿真、分析功能,分析此設(shè)計模型的正確性,完成模型仿真。圖 是利用 DSP Builder 進行 DSP 設(shè)計的流程框圖。而對后者的處理可以由 FPGA/CPLD 開發(fā)工具 Quartus II 來完成。 Matlab DSP Builder 仿真 DSP Builder 設(shè)計流程 DSP Builder 是一個系統(tǒng)級 或算法級 設(shè)計工具,它架構(gòu)在多個軟件工具之上,并把系統(tǒng)級和 RTL 級兩個設(shè)計領(lǐng)域的設(shè)計工 具連接起來,最大程度地發(fā)揮了兩種工具的優(yōu)勢。該 DDS 信號發(fā)生器由于其設(shè)計穩(wěn)定性,電路合理性,基本完成設(shè)計要求 指標。 圖 Matlab Simulink DSP Builder 工具第 5 章 系統(tǒng)仿真 本章第一步分主要介紹了系統(tǒng)測試的一些基本原來與方法。 MATLAB 軟件設(shè)計 這次 FPGA 的軟件設(shè)計基本上都是由 MATLAB 來完成的,包括 波形產(chǎn)生,波形的計算。 相位累加器的設(shè)計可以直接采用 DSP Builder 中的模塊宏單元庫中的LMP_ADD_SUB 宏單元,也可以用 VHDL 語言自行設(shè)計。 end architecture。 b 。 end if。event then if 1001 then 五進制循環(huán)計數(shù) : 0000 。139。 architecture one of count4bit is begin process clk variable : std_logic_vector 3 downto 0 。 ..技術(shù)時鐘信號 b:out std_logic_vector 3 downto 0 。 use 。 波形選擇設(shè)計 波形選擇就是通過一個四位的計數(shù)器來選擇波形,計數(shù)器的計數(shù)信號接到按鍵上,通過按鍵來切換波形,比如正弦波,三角波等: library ieee。 end process。 把第五次送的數(shù)據(jù)當做 8 位的相位字 8 位 when others null。 把第三次送的數(shù)據(jù)當做 32 位的頻率字中間 8位 when011 d3 y。 把第一次送的數(shù)據(jù)當做 32 位的頻率字低 8 位 when001 d1 y。 ..數(shù)據(jù)輸入端 end entity mux4_1。 ..輸出 32 位數(shù)據(jù) a:in std_logic_vector 2 downto 0 。 use 。地址鎖存器的 VHDL 程序為: library ieee。 ( 2)地址鎖存模塊 STC12C5A60S2 單片機 P1 口分時送出低 8 位地址和 8 位數(shù)據(jù)信息。 FPGA 軟件設(shè)計 波形數(shù)據(jù)存儲器 圖 MATLAB 中 ROM 其中 ROM 中存放著波形數(shù)據(jù),為離散的點。其原理圖如 。 圖 JTAG 下載端口 JTAG 下載端口是把電路 下載到內(nèi)部 RAM 中,斷電后配置就消失了,每當 FPGA上電時,都會從 EPCS 中讀取數(shù)據(jù)。 圖 EPCS 配置芯片 該配置芯片相當于儲存器,當 FPGA斷電后起到存儲電路配置的功能,當 FPGA上電后, FPGA 從 EPCS 中把配置讀入 FPGA 中, EPCS 有多種大小,有 EPCS EPCSEPCS16 等本次采用的是 EPCS4。 圖 AS_JTAG AS 配置是指電路程序燒入 EPCS 中,當電路通電時,程序從 EPCS 中讀入到FPGA 中實現(xiàn)配置 FPGA 的目的,在測試的時候電路是通過 JTAG 下載到 FPGA 中,配置片內(nèi) RAM 實現(xiàn)編程。 圖 復(fù)位電路和時鐘電路 電路晶振采用 50Mhz 有源晶振,復(fù)位電路分為硬件復(fù)位和軟件復(fù)位,本電路采用硬件復(fù)位。寫頻率字函數(shù)見附錄 A。當相位累加器字寬 N 取 32,參考時鐘頻率 fclk 取 10
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1