1、电子线路课程设计报告班级: 通信二班姓名: 张家庆学号: 手机: 学院: 电光学院指引教师:谭雪琴,姜萍实验时间:11月12日至16日摘要报告内容为设计一种具备清零、使能、频率控制、相位控制、输出各种波形(涉及正余弦、三角波、锯齿波、方波)、通过D/A转换之后能在示波器上显示直接数字频率合成器并设计一种基于DDSAM调制电路。直接数字频率合成技术是一项非常实用技术,它广泛应用于数字通信系统。报告分析了DDS设计原理和整个电路工作原理,简介了ROM查找表设计和相位累加器设计,还分别阐明了各子模块设计原理和调试、仿真、编程下载过程。在实验中咱们用到了QuartusII 7.2软件。运用Quartu
2、s II完毕设计、仿真等工作,并下载至smartSOPC实验平台进行硬件测试,通过示波器观测输出信号波形。实验成果与理论值相符,证明了DDS技术是一项非常实用技术,它可以广泛应用于数字通信系统。核心字:数字频率合成、DDS、AM调制、QuartusII、smartSOPCAbstract The report tells Direct digital synthesizer can control using、reset、change frequency and phase、output various wave form(including sine(cosine), triangle wa
3、ve, sawtooth, square waveform),after conversion after also displayed on the oscilloscope and how to design an AM modeling circuit based on DDS。 Direct digital synthesizer technology is a useful subject ,its widely applied in digital communication。 Also,it analyzes the theory and design about direct
4、digital synthesize(DDS) and analyzed the principle of all work and explained the designing principle of different parts separately and describes the principle and features of DDS 。The realizing method of ROM finding-table and phase counter and introduced in detail。 At the same time it introduced the
5、 debugging, simulating, compiling, programming。 with the help of QuartusII 7.0 we complete well。The design and simulation work is completed with the help of QuartusII. The final system circuit is downloaded to the smartSOPC platform to undergo hardware test. And the output wave can be seen through o
6、scilloscope. The experiment result is close to the theoretical result. DDS is proved to be a quite useful technology which can be widely applied in digital communication system. Keywords: Direct digital synthesizer,AM module,QuartusII,smartSOPC 目录一、 摘要2二、 实验目及规定5三、 电路设计原理6四、 各模块设计原理71. 脉冲信号发生电路72. 频
7、率相位字输入电路113. 同步寄存器 134. 相位累加器 165. 加法器 176. 控制字显示电路 177. 频率计及频率显示电路 208. 波形显示电路及AM调制 249. 消颤电路 3210. 总电路33五、 调试仿真和编程下载 33六、 实验结论与总结 34二实验目及规定1、实验目 学习使用FPGA实现直接数字频率合成器(DDS)。2、实验内容 本实验内容是使用DDS办法设计一种任意频率正弦信号发生器,运用Quartus II完毕设计、仿真等工作,并进行硬件测试,通过示波器观测输出信号波形。3、实验规定提高规定:(1)运用QuartusII软件和SmartSOPC实验箱实现DDS设计
8、;(2)DDS中波形存储器模块用Altera公司Cyclone系列FPGA芯片中ROM实现,ROM构造配备成409610类型;(3)详细参数规定:频率控制字K取4位;基准频率fc=1MHz,由实验板上系统时钟分频得到;(4)系统具备清零和使能功能;(5)运用实验箱上D/A转换器件将ROM输出数字信号转换为模仿信号,可以通过示波器观测到正弦波形;(6)通过开关控制变化DDS频率和相位控制字,并能用示波器观测加以验证;基本规定:(1)、通过按键(实验箱上Si)输入DDS频率和相位控制字,以扩大频率控制和相位控制范畴;(注意:按键后有消颤电路)(2)、在数码管上显示生成波形频率;(3)、设计能输出各
9、种波形(三角波、锯齿波、方波等)多功能波形发生器;(4)、基于DDSAM调制器设计;三、电路设计原理频率预置与调节电路 作用:实现频率控制量输入; 不变量K被称为相位增量,也叫频率控制字。累加器 相位累加器构成= N位加法器+N位寄存器 相位累加器作用:在时钟作用下,进行相位累加 注意:当相位累加器累加满量时就会产生一次溢出,完毕一种周期性动作。DDS输出频率为:f0=fCK/2NDDS输出最低频率:K=1时,fC/2NDDS输出最高频率:Nyquist采样定理决定,即fC/2, K最大值为2N-1 结论:只要N足够大,DDS可以得到很细频率间隔。 要变化DDS输出频率,只要变化频率控制字K即
10、可。 D/A转换器 D/A转换器作用:把已经合成正弦波数字量转换成模仿量。 低通滤波器 D/A转换器作用:滤除生成阶梯形正弦波中高频成分,将其变成光滑正弦波。 频率和相位均可控制具备正弦和余弦输出DDS核心单元电路示意图如下图所示: 四、各模块设计原理1. 脉冲信号发生电路实验中使用到了1KHz、2Hz、1KHz、1MHz时钟信号,而实验板提供脉冲信号为48MHz,因此对实验板原始信号进行分频得到需要时钟信号。本实验考虑到实验简洁性,对某些模块采用VHDL语言进行编译,某些电路采用原理图输入。分频器则是采用VHDL语言输入简朴易懂。详细程序代码如下:LIBRARY IEEE;USE IEEE.
11、STD_LOGIC_1164.ALL;ENTITY fenpin ISPORT(CLK:IN STD_LOGIC; CLK1HZ:OUT STD_LOGIC; CLK2HZ:OUT STD_LOGIC; CLK1KHZ:OUT STD_LOGIC; CLK1MHZ:OUT STD_LOGIC );END fenpin;ARCHITECTURE beh OF fenpin ISSIGNAL COUNT1:INTEGER RANGE 0 TO 24000000;SIGNAL COUNT2:INTEGER RANGE 0 TO 1000;SIGNAL COUNT3:INTEGER RANGE 0 T
12、O 24000;SIGNAL COUNT4:INTEGER RANGE 0 TO 24;SIGNAL CLK_1HZ:STD_LOGIC;SIGNAL CLK_2HZ:STD_LOGIC;SIGNAL CLK_1KHZ:STD_LOGIC;SIGNAL CLK_1MHZ:STD_LOGIC;BEGINCLK1HZ=CLK_1HZ;CLK2HZ=CLK_2HZ; CLK1KHZ=CLK_1KHZ;CLK1MHZ=CLK_1MHZ;PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF COUNT124000000 THENCOUNT1=COUNT1+1;ELS
13、ECOUNT1=0;CLK_1HZ=NOT CLK_1HZ;END IF;END IF;END PROCESS;PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF COUNT21000 THENCOUNT2=COUNT2+1;ELSECOUNT2=0;CLK_2HZ=NOT CLK_2HZ;END IF; END IF;END PROCESS;PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THEN IF COUNT324000 THENCOUNT3=COUNT3+1;ELSECOUNT3=0;CLK_1KHZ=NOT CL
14、K_1KHZ; END IF; END IF;END PROCESS;PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF COUNT424 THENCOUNT4=COUNT4+1;ELSECOUNT4=0;CLK_1MHZ=NOT CLK_1MHZ;END IF; END IF;END PROCESS;END beh; 封装后模块为:2.频率相位字输入电路 、频率字输入电路 本文采用按键使频率输入字依次增大办法,以扩大频率控制和相位控制范畴;(注意:按键后有消颤电路)。详细电路如下图所示: 每次按键K2一次,步长增长1,电路并设有清零端K2,以便频率控制
15、字输入。 频率字输入电路封装后模块为:、相位字输入电路 相位字输入与频率字设计思路一致,也是通过键入使相位增大。设计电路把一种周期分为16份,即按键16次相位平移一种周期。详细电路如下图所示: 同理,K3为清零端,K4为相位字控制端,每按键一次74161接受到一种时钟信号,相位增长/8。 相位字输入电路封装后模块为:3. 同步寄存器 为保证频率字输入与相位字输入稳定性,应在字输入后加一种同步寄存器,详细原理图如下图所示:in11.0是输入控制字电路输出,使控制字通过一种寄存器后,输出out11.0更加稳定。同步寄存器封装后如下: 为使电路图简洁,将频率字输入和相位字输入与寄存器封装在一起,形成
16、一种独立模块。详细电路图如下:频率字输入+寄存器相位字输入+寄存器封装后模块分别为:4. 相位累加器相位累加器由12位加法器与12位寄存器级联构成。每来一种时钟脉冲,加法器将频率控制字与寄存器输出累加相位数据相加,再把相加后成果送至寄存器数据输入端。寄存器将加法器上一种时钟作用后所产生相位数据反馈至加法器输入端,以使加法器在下一种时钟作用下继续与频率控制字进行相加。这样,相位累加器在时钟作用下,进行相位累加。当相位累加器累加满量时就会产生一次溢出,完毕一种周期性动作。原理图如下:原理图如下所示:封装后模型为:5.加法器相位累加器输出与相位控制字相加12位加法器可由3个74834位加法器级联而成
17、。其实这就是12位相位累加器一某些。详细原理图如下:封装后模型为:6.控制字显示电路此模块用于用数码管显示出频率控制字与相位控制字,以便实验过程中调试。.选取控制字显示对象此电路通过用开关K5控制数码管显示是频率控制字还是相位控制字。当K=0时,显示频率控制字;当K=1是,显示相位控制字。详细电路如下:.二进制转换BCD码由于控制字输入为二进制,而数码管显示形式为BCD码形式显示,因此要加一种二进制转BCD码电路,详细实现如下:.字显示电路将转换后BCD码显示在数码管上。通过用开关K5控制数码管显示是频率控制字还是相位控制字。当K=0时,显示频率控制字;当K=1是,显示相位控制字。详细电路如下
18、:.字显示总电路将上面三个电路分别封装为xuanpin、2toBCD和xianword并将三个电路连接起来得到在显示总电路如下图: 字显示总电路图封装后模块为:7.频率计及频率显示电路此模块功能为测试出输出波频率并能通过数码管显示出来。.频率计频率计采用VHDL编辑语言输入更加简洁以便,详细源代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PINLVJI ISPORT(CLK_2HZ:IN STD_LOGIC;CHE
19、CK:IN STD_LOGIC;FREQ1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);FREQ2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);FREQ3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);FREQ4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);FREQ5:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END PINLVJI;ARCHITECTURE BEH OF PINLVJI ISSIGNAL FREQ_TEMP:INTEGER;SIGNAL FREQ:INTEGER:=0
20、;BEGINPROCESS(CHECK,CLK_2HZ)BEGIN IF FALLING_EDGE(CLK_2HZ) THEN FREQ=FREQ_TEMP;END IF; IF CLK_2HZ=0 THEN FREQ_TEMP=0; ELSE IF RISING_EDGE(CHECK) THEN FREQ_TEMP=FREQ_TEMP+1; END IF; END IF;END PROCESS;FREQ1=CONV_STD_LOGIC_VECTOR(FREQ MOD 10 ,4);FREQ2=CONV_STD_LOGIC_VECTOR(FREQ/10 MOD 10 ,4);FREQ3=CON
21、V_STD_LOGIC_VECTOR(FREQ/100 MOD 10 ,4);FREQ4=CONV_STD_LOGIC_VECTOR(FREQ/1000 MOD 10 ,4);FREQ5=CONV_STD_LOGIC_VECTOR(FREQ/10000 MOD 10 ,4);END BEH;封装后:.频率显示电路频率显示电路也是采用动态显示译码,详细原理与字显示译码类似。详细电路图如下:封装后模块:.总动态显示电路将字显示电路与频率显示电路构成一种电路,用开关K6控制数码管显示是频率控制字还是相位控制字。当K=0时,显示控制字;当K=1是,显示频率。详细电路如下:封装后:8.波形显示电路及AM
22、调制. rom文献生成本次实验采用excel表格生成各个函数数据,并将数据复制,直接粘贴到用QuartusII新建memory Initialization File中就可生成mif格式ROM文献。用记事本打开正弦波数据如下所示:实验中一共用到ROM有正弦波SINROM、余弦COSROM、三角sanjiaoROM、锯齿juchiROM以及用于AM调试AMROM,其中调制信号为三角波。各生成模块如下图所示:.10D触发器为了让ROM中输出数据更加稳定,使示波器生成波形更加光滑,在数据从ROM中输出后接触发器。详细实现电路如下:封装后:.图形输出电路实验总共要看到正弦波、余弦波、三角波和锯齿波四种
23、波形,而示波器只有两路输出,因而要用控制开关K7控制示波器显示波形。当K=0时,输出为正弦波和余弦波;当K=1是,输出为三角波和锯齿波。详细电路如下:封装后:当K7=0时,示波器输出如下图:变化相位控制字,示波器显示如下所示:变化频率控制字,示波器如下所示:当K7=1时,示波器输出如下图:.AM调制电路调幅信号需要一种固定不变频率控制字,因此此外设计一种累加器,步长为1。电路图如下:封装为:此外,调制相称于用调制信号控制输入信号幅度,类似于乘法器个功能,用VHDL实现,用控制开关K8控制示波器CH2显示波形。当K=0时,输出为正常波形;当K=1是,输出为三角波为调制信号调制波形。详细电路如下:
24、代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TIAOFU ISPORT( SWITCH:IN STD_LOGIC; DATAIN1:IN STD_LOGIC_VECTOR(9 DOWNTO 0); DATAIN2:IN STD_LOGIC_VECTOR(9 DOWNTO 0);DATAOUT:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END TIAOFU;ARCHITECTURE BEH
25、OF TIAOFU ISSIGNAL DATA_TEMP:INTEGER;BEGINDATA_TEMP=CONV_INTEGER(DATAIN1)*CONV_INTEGER(DATAIN2)/1023;DATAOUT=CONV_STD_LOGIC_VECTOR(DATA_TEMP,10) WHEN (SWITCH=1) ELSE DATAIN2;END BEH;封装后:AM调制电路电路形式如下:当K8=0时,输出为正常波形。当K8=1,K7=0时,调制信号为正弦波,示波器输出如下所示:当K8=1,K7=0时,调制信号为锯齿波,示波器输出如下所示:9. 消颤电路 为了防止通过开关输入信号是抖动,
26、必要在输入开关之前加一种消颤电路。消颤电路原理图及封装如下: 由于实验需要用到8个开关,为了电路简洁,故把八个消颤电路封装在一起,形成总电路需要总消颤电路,封装模块如上图右。10.总电路将上面所有电路连接在一起就构成了实验总电路。详细电路如下五、调试仿真和编程下载在EDA实验中,电路设计是第一步也是最为核心一步,电路设计完毕后,还要对已完毕电路图保存后进行调试,检查有无出错地方,例如线路定义出错,引脚未定义等软件能检查出来错误,这是最基本检查,只能检查出某些语法运用错误。然后还要对其进行波形仿真验证,来检查电路设计对的与否,直至调试仿真图完全对的为止,仿真得到波形图在各个模块论证时已经给出。波
27、形仿真完毕后,就要下载到实验箱上进行验收。下载办法比较繁琐,普通要设立某些程序初始值、使能端等,但这是必要一步,否则也许烧坏实验箱上某些原件,导致较大损失。将程序下载至FPGA芯片之前,还要进行管脚分派。管脚分派图如下图:六、实验结论与总结由于上一周已经运用QuartusII 设计了多功能数字钟,因此对这个软件有了一定理解,用起来也比较得心应手,因而本次实验在软件应用上并没有什么大困难。在本次实验中,咱们不断发现问题,解决问题,更进一步思考问题。此外在下载到实验箱时也会浮现诸多问题,这需要咱们耐心去检查,任何小问题都不能放过。注意检查管脚与否匹配,与否有写错现象,特别是对复杂图形,更加要耐心检
28、查每一某些。实验算比较成功,我从中也学到了诸多,并且也思考了诸多,在扩展频率控制字变化范畴时,我采用了键控办法,即通过按键次数来改么频率字输出大小。经历了一星期电子线路课程设计,我对QuartusII用法更加熟悉,并且在画电路图和波形仿真中还摸索到了它其她功能。如宏模块定制,导线属性修改,工程中文献添加和移除,仿真类型切换和相应参数变化等等。在设计DDS过程中,我也逐渐学会了大型电路系统普通设计办法:自顶向下和模块化。模块化电路不但可以使整个系统更加简洁,也可以将此电路直接移植到其她系统中。这一次DDS中分频模块、消颤模块和显示模块我都直接调用了上次数字钟相应模块。由于上次电路模块都已调试过,
29、因此这次无需调试就可使用,减少了冗余劳动。当每个模块调试仿真通过后,整体系统只要将个子模块组合即可,十分以便。 在进行提高某些AM调制设计时,我也体会到了突破和创新艰难与孤单。由于基本电路人们都差不多,我可以摸着石头过河。可是到了创新某些,没有其她人成果可以参照,所有工作都要自己完毕。每个模块均有也许浮现意想不到错误,然后就要花诸多时间进行调试,这时候对自己设计坚持尤为重要。也正是由于创新来之不易,当我在示波器上看到调制波形时,我感觉到了前所未有成就感。这也极大地激发了我对电路设计兴趣。最后,我要感谢这一周陪我一起努力同窗们和实验指引教师教师,使我实验更顺利高效完毕。参照文献:1蒋立平,数字逻辑电路与系统设计,北京:电子工业出版社,2南京理工大学电子技术中心,EDA设计实验指引书3 周立功,EDA实验与实践,北京:北京航空航天大学