当前位置:文档之家› 多功能波形发生器讲解

多功能波形发生器讲解

____考试序列号通识教育课程论文课程设计名称发生器能多功波形课程名称 EDA技术课程设计学院物理学院专业班级学号姓名20 15 年1月17日概述函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波等波形的电路。

函数信号发生器在电路实验和设备检测中具有十分广泛的用途。

现在我们通过对函数信号发生器的原理以及构成设计一个能变换出三角波、正弦波、方波的简易发生器。

本设计采用FPGA来设计制作多功能信号发生器。

在实验室用EDA完成设计并进行引脚锁定下载连接用II Logic SignalTapAnalyer调试。

一、设计原理本设计由信号产生,信号选择,信号控制输出三大模块组合而成。

其中信号产生模块有:三角波模块、方波模块、正弦波模块。

本设计采用K0~K2这三个按键为信号选择开关,选择信号产生模块输出的信号。

其控制模块(SIG_CONTROL)图1.信号发生器结构框图二、设计原理概述正弦信号的发生器各一个,三角波信号、(1) 函数信号发生器的结构:方波信号、数据选择器。

(2) VHDL 顶层设计。

(3)SignalTap的仿真分析。

II Logic Analyer三个波形数据由三个,通过外加按键控制波形输出中实现,FPGA顶层文件在(4) 信号发生模块(delta—三角波、—方波、sin—正弦波)提供,信号发square生器时钟由实验箱提供。

三、设计步骤(1)三角波、方波和正弦波源文件的编写并把VHDL程序转换成原理图。

(2) 数据选择器的源文件编写,并把VHDL程序转换成原理图。

(3) 用原理图完成函数发生器的设计。

(4) 编译完成后,建立 SingnalTap‖的工程文件。

(5) 锁定引脚,下载连接。

(6) 运行程序并观察结果。

(7)记录数据完成报告。

四、软件设计流程及源程序代码4.1 软件设计流程:1.设计原理图。

2.分别编写各函数发生器,数据选择器的程序,并作为低层文件。

3.建顶层文件,并调用底层文件,定义信号量进行列话语句。

4.生成实验原理电路图。

1.三角波程序及其原理图LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY delta ISport(clk,clrn:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END delta;ARCHITECTURE a OF delta ISBEGINPROCESS(clk,clrn)V ARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0);V ARIABLE f:STD_LOGIC;BEGINIF clrn='0' THEN tmp:=ELSIF clk'EVENT AND clk='1' THENIF f='0' THENIF tmp=I11110 THEN tmp:=I11111; f:='1';ELSE tmp:=tmp+1;END IF;ELSEIF tmp = tmp:=ELSE tmp:=tmp-1;END IF;END IF;END IF;q<=tmp;END PROCESS;END a;原理图如下:图2.三角波信号发生器原理图2.方波程序及其原理图LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY square ISPORT(clk,clrn: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR(7 downto 0));END square;ARCHITECTURE a OF square ISSIGNAL f: STD_LOGIC;BEGINPROCESS(clk, clrn)V ARIABLE tmp:STD_LOGIC_VECTOR(7 downto 0);BEGINIF clrn='0' THEN tmp:=ELSE IF clk'event and clk='1' THENIF tmp=I11111 THEN tmp:=ELSE tmp:=tmp+1;END IF;IF tmp<@00000 THEN f<='1';ELSE f<='0';END IF;END IF;END IF;END PROCESS;PROCESS(clk,f)BEGINIF clk'event and clk='1' THENIF f='1' THEN q<=I11111;ELSE q<=END IF;END PROCESS;END a;原理图如下:图3.方波信号发生器原理图3.正弦波程序及其原理图LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sin ISPORT (clk,clrn:IN STD_LOGIC;q:OUT INTEGER RANGE 255 DOWNTO 0);END sin;ARCHITECTURE A OF sin ISBEGINPROCESS(clk,clrn)V ARIABLE tmp:INTEGER RANGE 63 DOWNTO 0;BEGINIF clrn='0' THEN q<=0 ;tmp:=0;ELSEIF clk'EVENT AND clk='1' THENtmp:=tmp+1;END IF; IF tmp=63 THEN tmp:=0;ELSECASE TMP ISWHEN 00=>q<=255; WHEN 01=>q<=254; WHEN 02=>q<=252; WHEN 03=>q<=249; WHEN 04=>q<=245; WHEN 05=>q<=239; WHEN 06=>q<=233; WHEN 07=>q<=225; WHEN 08=>q<=217; WHEN 09=>q<=207; WHEN 10=>q<=197; WHEN 11=>q<=186; WHEN 12=>q<=174; WHEN 13=>q<=162; WHEN 14=>q<=150; WHEN 15=>q<=137; WHEN 16=>q<=124; WHEN 17=>q<=112; WHEN 18=>q<=99; WHEN 19=>q<=87; WHEN 20=>q<=75; WHEN 21=>q<=64; WHEN 22=>q<=53; WHEN 23=>q<=43; WHEN 24=>q<=34; WHEN 25=>q<=26; WHEN 26=>q<=19; WHEN 27=>q<=13; WHEN 28=>q<=8; WHEN 29=>q<=4; WHEN 30=>q<=1; WHEN 31=>q<=0; WHEN 32=>q<=0; WHEN 33=>q<=1; WHEN 34=>q<=4; WHEN 35=>q<=8; WHEN 36=>q<=13; WHEN 37=>q<=19; WHEN 38=>q<=26; WHEN 39=>q<=34; WHEN 40=>q<=43; WHEN 41=>q<=53; WHEN 42=>q<=64; WHEN 43=>q<=75; WHEN 44=>q<=87; WHEN 45=>q<=99; WHEN 46=>q<=112; WHEN 47=>q<=124; WHEN 48=>q<=137; WHEN 49=>q<=150; WHEN 50=>q<=162; WHEN 51=>q<=174; WHEN 52=>q<=186; WHEN 53=>q<=197; WHEN 54=>q<=207; WHEN 55=>q<=217; WHEN 56=>q<=225; WHEN 57=>q<=233; WHEN 58=>q<=239; WHEN 59=>q<=245; WHEN 60=>q<=249; WHEN 61=>q<=252; WHEN 62=>q<=254; WHEN 63=>q<=255;WHEN OTHERS=>NULL;END CASE;END IF;END IF;END PROCESS;END a;原理图如下:正弦波信号发生器原理图4.图4.数据选择器程序及其原理图LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sig_control ISPORT(delta,square,sin:IN STD_LOGIC;d0,d1,d2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END sig_control;ARCHITECTURE behave OF sig_control ISSIGNAL sel:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINsel<=delta&square&sin;PROCESS(sel)BEGINCASE sel ISWHEN@=>q<=d0;WHEN=>q<=d1;WHEN=>q<=d2;WHEN OTHERS=>NULL;END CASE;END PROCESS;END behave;原理图如下:数据选择器原理图5.图4.3信号发生器的顶层文件原理图由三个函数信号发生器以及数据选择器设计实验顶层文件原理图,如图6示图6.函数信号发生器顶层文件原理图五、信号发生器的时序仿真与硬件测试5.1仿真与测试流程1.各模块时序仿真结果。

相关主题