亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DDS技術實現(xiàn)可調信號發(fā)生器

        2008-04-12 00:00:00黃雪梅胡建生魏功輝桂雄明
        現(xiàn)代電子技術 2008年9期

        摘 要:介紹采用DDS技術、FPGA芯片和D/A轉換器,設計一個頻率、相位可控的多種輸出波形信號發(fā)生器?;赒uartus Ⅱ軟件設計實現(xiàn),并下載至FPGA器件,使用SignalTap Ⅱ嵌入式邏輯分析儀進行實時測試。經(jīng)過軟件仿真和電路測試,輸出波形達到了技術要求,能夠滿足多種試驗的需要,且性能穩(wěn)定,使用靈活,節(jié)約試驗成本。

        關鍵詞:FPGA;信號發(fā)生器;DDS(直接數(shù)字頻率合成器);SignalTap Ⅱ嵌入式邏輯分析儀

        中圖分類號:TN402 文獻標識碼:B

        文章編號:1004-373X(2008)09-080-03

        Variable Signal Generator Based on DDS Technology

        HUANG Xuemei,HU Jiansheng,WEI Gonghui,GUI Xiongming

        (PLA University of Science Technology,Nanjing,210007,China)

        Abstract:This paper introduces using DDS technology,F(xiàn)PGA chip and D/A converter to design a multi-output waveform signal generator in which the frequency and phase are controllable.Based on realization of software design of Quartus II,downloaded to FPGA,using Signal Tap II embedded logic analyzer to do real-time testing.Through software phantom and circuit testing,it can be seen that output waveform reached technological requirements,can meet needs of various experiments,but also with stable performance,flexible application and low cost.

        Keywords:FPGA;signal generator;DDS;SignalTap II embedded logic analyzer

        信號源作為現(xiàn)代電子產(chǎn)品設計和生產(chǎn)中的重要工具,必須滿足高精度、高速度、高分辨率等要求。正是基于這幾點,本文研究了基于DDS(Direct Digital Synthesis,直接數(shù)字頻率合成)技術的可調信號發(fā)生器。采用DDS方案有很多突出的優(yōu)點:頻率分辨率高;頻率切換速度快;切換時相位能保持連續(xù);超寬的頻率范圍;能實現(xiàn)各種調制波和任意波形的產(chǎn)生;易于實現(xiàn)全數(shù)字化的設計。

        本文中利用FPGA,設計出基于DDS的信號發(fā)生器,能產(chǎn)生正弦、三角、方波、鋸齒等多種波形及其諧波。將FPGA的配置數(shù)據(jù)保存在AVR單片機片內可編程FLASH ROM中,可擦寫10 000次。并可以根據(jù)實際情況的需要在波形存儲器(可以在Quartus Ⅱ軟件中定制)中寫入不同的波形數(shù)據(jù),可以隨時添加,能滿足多種實驗及演示的需要,并且該設計成本很低,操作簡潔方便。

        1 設計原理

        直接數(shù)字頻率合成技術是根據(jù)相位間隔對正弦信號進行取樣,將所得的波形數(shù)據(jù)存儲在定制好的ROM表格中。頻率合成時,相位累加器在參考時鐘的作用下對時鐘脈沖進行計數(shù),同時將累加器輸出的累加相位與頻率控制字K預置的相位增量相加,以相加后的結果形成正弦查詢表的地址;取出表中與該相位對應的單元中的波形數(shù)據(jù)值,由D/A轉換器輸出模擬信號,再經(jīng)低通濾波器平滑,得到符合要求的模擬信號。

        采用直接數(shù)字頻率合成(DDS)法實現(xiàn)任意波形發(fā)生器的原理如圖1所示。fc為輸入累加器的基準頻率,在每個時鐘周期,地址累加器對頻率控制字N(地址增量)進行累加,累加的結果作為波形表的下一個取樣地址,把從波形表中取出的數(shù)據(jù)送到數(shù)模轉換器(DAC)進行轉換,最后經(jīng)過濾波電路輸出。DDS的取樣時鐘固定,通過改變地址增量N來控制頻率,實質上是改變一個周期內的取樣點數(shù)達到控制頻率的目的。

        圖1 DDS原理圖

        相位累加器的最大計數(shù)長度與正弦查詢表中所存儲的相位分隔點數(shù)相同,由于相位累加器的相位增量不同,將導致一周期內的取樣點數(shù)不同,在取樣頻率(由參考時鐘頻率決定)不變的情況下,輸出信號的頻率也相應變化(實現(xiàn)變頻)。如果設定累加器的初始相位,則可以對輸出信號進行相位控制。由采樣原理可知,如果使用兩個相同的頻率合成器,并使其參考時鐘相同,同時設定相同的頻率控制字、不同的初始相位,那么在原理上就具備了實現(xiàn)輸出兩路具有一定相位差的同頻信號的可能性,有效地解決了在一般的通信信道中存在的相位不同步問題。

        2 硬件設計

        本設計選用ALTERA公司的FLEX10K系列芯片和ATmega32單片機來實現(xiàn)DDS波形信號發(fā)生器,采用VHDL描述,利用Quartus Ⅱ進行綜合并在SignalTap Ⅱ上進行實時仿真。

        如圖2所示,用AVR單片機控制鍵盤和LED顯示,在系統(tǒng)加電時將配置數(shù)據(jù)用PS(被動串行模式)配置模式加載到FPGA。由FPGA實現(xiàn)波形的產(chǎn)生。經(jīng)DAC轉換輸出模擬波形信號,繼而經(jīng)低通濾波器進行濾波,消除量化毛刺等干擾。其中,F(xiàn)PGA的作用主要是:保存頻率控制字;構成相位累加器;根據(jù)ROM地址及ROM查找表,實現(xiàn)頻率和波形控制。限于篇幅原因,本文主要對FPGA部分的原理與實現(xiàn)進行說明。

        圖2 系統(tǒng)硬件框圖

        FPGA部分的基本結構圖如圖3所示。

        圖3 DDS基本結構圖

        2.1 相位累加器

        相位累加器由N位全加器和N位累加器級聯(lián)而成,對頻率控制字的二進制碼進行累加運算,是典型的反饋電路。在每個系統(tǒng)時鐘沿Clk的控制下,N位加法器將頻率控制字X與累加寄存器輸出的相位數(shù)據(jù)相加,把相加后的結果再送至累加寄存器,累加寄存器中新的相位數(shù)據(jù)既反饋到加法器的輸入端,以使加法器在下一Clk時鐘周期中繼續(xù)與頻率控制字X相加,同時累加寄存器的高M位數(shù)值,將作為查找ROM表中取樣數(shù)據(jù)的地址值。

        2.2 ROM查找表

        首先通過建立Memory Initialization File (.mif)格式文件,將4種波形信號離散采樣點一起放在一個ROM表格中。然后,利用MegaWizard Plug-In Manager定制信號數(shù)據(jù)ROM,同時將生成的數(shù)據(jù)表格(rom.mif)加載到ROM元件中,開機時送到FPGA的RAM中去。然后,通過該元件的地址指針控制對數(shù)據(jù)表格的數(shù)據(jù)讀寫。最后,通過編寫程序控制輸出。

        以正弦信號的查找表為例,用Verilog編程語言實現(xiàn)如下。

        輸入:PHASEADD為位地址值

        輸出:QWAVESIN為1/4正弦波數(shù)值

        module romtab(

        PHASEADD,[JY]//相位地址值

        QWAVESIN);[JY]//1/4正弦波數(shù)值

        input[5:0]PHASEADD;

        output[6:0]QWAVESIN;

        reg[6:0]sinrom;[JY]//sine wave rom

        assign QWAVESIN=sinrom;

        always@(PHASEADD) case(PHASEADD)

        6′d0: sinrom=7′d0;[JY]//0.0

        6′d1: sinrom=7′d3;[JY]//3.12

        …

        6′d62: sinrom=7′d127;[JY]//126.85

        6′d63: sinrom=7′d127;[JY]//126.96 endcase

        endmodule

        [JP3]在ROM查找表當中存儲的是1/4個波形,但是DDS需要產(chǎn)生的是一個完整的正弦波波形,因此,需要一個模塊,他的功能是將1/4的正弦波波形轉換為完整的正弦波的波形。具體的思路如下:當相位值不大于π/2的時候,按照ROM查找表中的內容直接輸出,并且將輸出的數(shù)值加上128的偏移量;當相位處于π/2~π,相位取非,同時將ROM查找表中的內容加上128的偏移量;當相位值處于π~2π,將ROM查找表中的內容取負,然后加上128的偏移量。

        2.3 核心單元的FPGA設計

        端入端口:address[] ~ROM的地址信號;

        輸出端口:q[] ~ROM的輸出數(shù)據(jù)。

        具體參數(shù):

        LPM _WIDTH:輸出數(shù)據(jù)的寬度(1 ~64任選)

        LPM -WIDTHAD:輸入地址的寬度(1 ~12任選)

        LPM~FILE:存儲器初始化文件名(.mif or.hex)

        以下是在Quartus平臺上用VHDL語言編制的程序。經(jīng)綜合、仿真驗證是滿足要求的。

        LIBRARY IEEE;

        USE IEEE.STD_LOGIC_1164.ALL;

        USE IEEE.STD_ LOGIC_UNSIGNED.ALL;

        USE IEEE.STD_ LOGIC_ARITH.ALL;

        LIBRARY LPM;~Altera LPM庫

        USE LPM.LPM COMPONENTS.ALL;

        ENTITY ddsc IS

        GE NERIC(

        freq width: INTEGER:=32;[JY]//頻率字位寬

        phase width:INTEGER:=12;[JY]//相位字位寬

        adder width :INTEGER:= 32;[JY]//加法器位寬

        romad_width:INTEGER:=10;[JY]//ROM 表地址位寬

        rom_d width :INTEGER:=10;[JY]//ROM表數(shù)據(jù)位寬

        );

        PORT(

        Clk:IN STD_LOGIC;[JY]//系統(tǒng)時鐘

        freqin:IN STD_LOGIC VECTOR (freq width=1

        DOWNTO 0);[JY]//頻率字

        ddsout:OUT SIT_LOGIC VECTOR (rom d width=1

        DOWNTO 0 );[JY]//DDS輸出);

        END ENTITY ddsc:

        ARCHITECTURE behave OF ddsc IS

        SIGNAL acc :STD_LOGIC VECTOR

        (adder_width=1 DOWNTO 0);[JY]//累加器

        SIGNAL romaddr :STD LOGIC_VECTOR

        (romad_ width=1 DOWNTO 0);[JY]//ROM 地址

        BEGIN

        process (clk)[JY]//相位累加器

        BEGIN

        IF(clk'event and clk=′1′) THEN

        acc<= acc+freqin ;

        END IF;

        END PROCESS:

        romaddr<=acc(phase_width =1 downto 

        phase_width=romad_width);[JY]//ROM杳找表

        i.rom,Ipm..rom[JY]//LPM-ROM例化

        GENERIC MAP (

        Lpm_width=>rom_d_width;

        Lpm_widthad=>romad_width;

        Lpm_addreaa_control=>\"UNREGISTERED\";

        Lpm_outdata=>\"REGISTERED\".

        Lpm_file=>″./sin_rom.mif″)[JY]//ROM文件調用

        PORT MAP(

        Outclock=>clk;

        ddrcss=>romaddr;

        q=>ddsout);

        END ARCHITECTURE behave;

        3 仿真和下載

        采用Quartus Ⅱ的專用內嵌SignalTap Ⅱ邏輯分析儀來進行調試,下面是通過SignalTap Ⅱ分析出來的正弦波形信號:

        引腳鎖定:目標芯片為FLEX10K10,通過菜單Assignments Editor項進入移交鎖定編輯器,主時鐘clk接Clock0(第126引腳),引腳為8,9,10,12控制四位頻率,引腳為18,19,20控制波形輸出的選通dlt,sin,sqr。引腳為41,42,65,67,68,69,70,72輸出8位邏輯到D/A轉換。將這些信息輸入引腳編輯器存儲后,必須再編輯一次才能將引腳鎖定信息編譯進下載文件中。可將編譯產(chǎn)生的SOF格式下載到FPGA進行配置,下載成功后即可進行硬件測試?;蛘邔⑴渲梦募D換成二進制數(shù)據(jù),保存在單

        片機中。

        圖4 正弦波

        4 結 語

        試驗測試表明,所設計的波形發(fā)生器,可以實現(xiàn)多種波形輸出,輸出信號的頻率和幅度均可調節(jié)。因FPGA的頻速度很高,輸出信號最大頻率取決于D/A轉換電路。因此最低可到1 Hz,最高可達1 MHz,可滿足多種試驗的需要。

        采用FPGA設計實現(xiàn)DDS電路更為靈活,可根據(jù)需要進行接口和控制方式的現(xiàn)場修改和調試。同時,采用FPGA設計實現(xiàn)還具有相對較寬的帶寬、頻率轉換時間較短、相位連續(xù)變化、頻率分辨率高等優(yōu)點。

        參 考 文 獻

        [1]周俊峰.基于FPGA的直接數(shù)字頻率合成器的設計和實現(xiàn)\\[J\\].電子技術應用,2002,28(8):74-75,80.

        [2]潘松,曾毓.SOPC技術實用教程\\[M\\].北京:清華大學出版社,2005.

        [3]潘松,王國棟.VHDL使用教程\\[M\\].成都:電子科技大學出版社,2004.

        [4]梁悅明.采用ARM單片機對FPGA進行配置\\[EB/OL\\].http://www.eepw.com.cn,2007.

        作者簡介

        黃雪梅 女,1982年出生,山東濟南人,碩士研究生。主要研究方向為非線性電路與系統(tǒng)。

        注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

        丝袜美腿久久亚洲一区| 18成人片黄网站www| 91av小视频| 在线观看视频日本一区二区三区| 国产av无毛无遮挡网站| 久久精品女人天堂av免费观看| 99久久精品国产成人综合| 国产精品系列亚洲第一| 成人影院视频在线播放| 亚洲另类无码专区首页| 亚洲欧洲无码一区二区三区| 国产精品入口蜜桃人妻| 久久精品国产精品亚洲艾| 隔壁老王国产在线精品| 欧美疯狂性xxxxxbbbbb| 在线看亚洲十八禁网站| 国产性感午夜天堂av| 精品人妻少妇嫩草av无码专区| 99久热re在线精品99 6热视频| 精品久久免费一区二区三区四区| 精品国产一区二区三区av免费| 妺妺窝人体色www聚色窝| 正在播放国产多p交换视频| av天堂手机在线免费| av天堂精品久久综合网| 青青草原精品99久久精品66| 韩国女主播一区二区在线观看| 国产一区二区中文字幕在线观看| av免费网址在线观看| 国产尤物精品自在拍视频首页 | 中文字幕精品一区二区2021年 | 青青草久热手机在线视频观看| 国产午夜视频在线观看.| 无遮无挡爽爽免费毛片| 岛国精品一区二区三区| 侵犯了美丽丰满人妻中文字幕| 性刺激的大陆三级视频| 国产普通话对白视频二区| 丝袜美女美腿一区二区| 日本真人添下面视频免费| 欧洲熟妇色xxxx欧美老妇多毛网站|