EDA交通灯控制器+函数信号发生器+乐曲演奏电路

EDA交通灯控制器+函数信号发生器+乐曲演奏电路
EDA交通灯控制器+函数信号发生器+乐曲演奏电路

EDA课程设计

题目一:交通灯控制器VHDL的设计

题目二:智能函数发生器

题目三:乐曲硬件演奏电路的VHDL设计

专业:通信工程

班级:通信084班

一、设计题目:交通灯控制器VHDL的设计

二、设计目标

1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

2、红、绿、黄发光二极管作信号灯,。

3、主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。

4、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。

5、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。

三、设计原理

主系统由三个模块组成,jtd.vhd为顶层文件,其内部包含三个功能模块模块:信号灯主控模块(moore.vhd)、减法计数器模块(jishu.vhd)、译码器模块(led7s.vhd)。

1、选择1HZ时钟脉冲作为系统时钟。

2、45秒、25秒、5秒定时信号用倒计时,计时起始信号由主控电路给出,每当计满所需时间,即向主控电路输出“时间到”信号,转换信号灯状态,由主控电路启、闭三色信号灯

显示结果:十字路口的交通灯控制信号由主控电路给出,能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。用两组红、黄、绿三种颜色的灯分别作为东西、南北两个方向的红、黄、绿灯,变化规律为:东西绿灯亮,南北红灯亮→东西黄灯亮,南北红灯亮→东西红灯亮、南北绿灯亮→东西红灯亮,南北黄灯亮→东西绿灯亮,南北红灯亮….,这样依次循环。

东西方向是主干道车道,南北方向是支干道车道,要求两条交叉道路上的车辆交替运行,主干道每次通行时间都设为45秒,支干道每次通行时间都设为25秒。

在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。要求交通灯控制器有复位功能,在复位信号使能的情况下能够实现交通灯的自动复位,并且要求所有交通灯的状态变化,包括复位信号引起的均发生时钟脉冲的上升沿处。

clk jishu:u2:c1

rst

c_st.s2dinh0[2]green_east1

green_north1

ld0red_east1red_north1y ellow_east1y ellow_north1

clk

moore:u1:c_st.s2moore:u1:dinh0[2]moore:u1:ld0

c1qa[0..3]qb[0..3]

jishu:u2:qb[0..3]

Mux 0~0Mux 1~0Mux 2~0

Mux 3~0Mux 4~0Mux 5~0Mux 6~0

jishu:u2:qa[0..3]

Mux 0~0Mux 1~0Mux 2~0Mux 3~0Mux 4~0Mux 5~0Mux 6~0

jishu:u2

led7s:u3

clk

green_east green_north red_east red_north rst

yellow_east yellow_north

one_east[0..6]

one_north[0..6]

ten_east[0..6]

ten_north[0..6]

led7s:u4

moore:u1

四、设计内容

1.信号灯主控模块moore.vhd

设计一个Morre 型状态机,是一个4状态的状态机,输出ld0控制减法计数器,在减法计数器减计数到6或1时,计数器输出1,将计数器的输出输入到Moore 型状态机c0中来实现状态机的输入控制,再通过状态机的输出来控制计数器的计数值。即原理相同于S0为东西方向的绿灯控制及南北方向的红灯控制,计数时间为45秒;S1为东西方向黄灯控制及南北方向的红灯控制,计数时间为5秒;S2为南北方向的绿灯控制及东西方向的红灯控制,计数时间为25秒;S3为南北方向的黄灯及东西方向的红灯控制,计数时间为5秒。状态图如下:

clk0

rst0

c0

ld0

red_east1

green_east1

y ellow_east1

red_north1

green_north1

y ellow_north1

dinl0[3..0]

dinh0[3..0]

moore

inst

2.减法计数器的设计jishu.vhd

减法计数器设计,用dinh1和dinl1来设置所需要的计数数值,ld1为初始化计数数值,当减法计数器减到设置的6或1时,C1输出为1,其他时间均为0。Qh1和ql1为计数器的计数输出。

clk1

ld1

dinl1[3..0]

dinh1[3..0]

ql1[3..0]

qh1[3..0]

c1

jishu

inst1

3.译码器的设计led7s.vhd

译码器是一个简单的LED的显示的译码,为4—7译码器。

a[3..0]led7s[6..0]

led7s

inst2

五、仿真结果

clk0:1Hz时钟输入

rst0:复位端

c0:状态机输入控制信号

ld0输出计数控制信号

dinh0,dinl0:输出高低位计数值

red_east1等:红黄绿灯控制信号

clk1:1Hz时钟输入

ld1:计数控制信号

dinh1,dinl1:输入高低位计数值

qh1,ql1:输出高低位计数值

c1:输出状态机控制信号

a:译码输入信号

led7s:译码输出信号

一、设计题目:智能函数发生器

二、设计目标

设计一个智能函数发生器,能够以稳定的频率发生递增斜波、递减斜波、三角波、梯形波,正弦波和方波。设置一个波形选择输入信号,通过此改变该信号可以选择以上各种不同种类的输出函数波形,系统具有复位功能。

三、设计原理

主系统由7个模块组成,singt.vhd为顶层设计文件,其内部有七个功能模块:波形选择模块(wavsel.vhd)、递增斜波模块(zengxie.vhd)、递减斜波模块(jianxie.vhd)、三角波模块(rect.vhd)、梯形模块(trap.vhd)、方波模块(reta.vhd)、正弦波模块(sindata.vhd)。

智能函数发生器原理图

四、设计内容

1.递减模块的设计jianxie.vhd

递减模块的设计,递减模块是用VHDL程序描述的递增函数,它的实体部分部分说明三个端口,其中两个输入端口时钟信号clk3、复位信号rst3和一个输出端口jout3。结构体部分定义一个8位二进制变量,然后使用进程语句,设定敏感信号clk3和rst3,通过设计一个中间变量从00000101到00000000的递减赋值给输出信号jout3,编译无误后,即额可以创建递减元件符号。

2.递增模块的设计zengxie.vhd

递增模块的设计与递减模块相似,其中两个输入端口时钟信号clk2、复位信号rst2和一个输出端口zout2。结构体部分定义一个8位二进制变量,然后使用进程语句,设定敏感信号clk2和rst2,通过设计一个中间变量从00000000到00000101的递增赋值给输出信号zout2,编译无误后,即额可以创建递增元件符号。

3.三角波模块的设计rect.vhd

三角波模的设计完成功能异步复位和三角波的形成,程序定义两个中间变量,一个中间变量即为输出赋值,另一个完成三角波分段,当p为0时,完成三角波的前段从00000000到00000101递增;当p为1时,完成后段的从00000101到00000000的递减,形成一个完整的三角波。

4.梯形波模块的设计trap.vhd

梯形波模块的设计通过运用case语句,设计三个状态,使信号在“00”状态时

从00000000到00000101递增,在“01”状态时保持00000101,在“10”状态时从00000101到00000000递减,形成一个完整的梯形波。

5.方波模块的设计reta.vhd

方波模块即是完成方波输出地设计,以及有异步复位的功能,该程序采用了两个进程语句,第一个进程是完成在时钟上升沿同步时,r<6时输出rout1=00000110,否则输出rout1=00000000。在第二个进程中,完成在时钟上升沿的时候,r从00000000递增到00001011,创建的元件符号同样是三个端口,即时钟信号clk1和复位信号rst1,以及一个8位二进制的输出端口rout1。

6.正弦波模块的设计sindata.vhd

正弦波的设计是通过建立正弦波形数据、定制LPM ROM来实现的。

7.选择模块的设计wavsel.vhd

选择模块的设计通过运用case语句,设计六个状态,通过控制输入信号key 11、key22、key33,选择输出波形。“000”输出递增斜波,“001”输出递减斜波,“010输出”方波,“011”输出梯形波,“100”输出三角波,“101”输出正弦波。

五、仿真结果

1.递增斜波

2.递减斜波

3.方波

4.梯形波

5.三角波

6.正弦波

一、设计题目:乐曲硬件演奏电路的VHDL设计

二、设计目标

能够播放“梁祝”乐曲。(2)能够通过LED显示音阶。(3)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。

三、设计原理

主系统由三个模块组成,songer.vhd为顶层设计文件,其内部有三个功能模块:tonetaba.vhd、notetabs.vhd和speakera.vhd。

我们知道,组成乐曲的每个音符的发音频率值及其持续时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取了这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值事先所希望乐曲的演奏效果。原理图中,模块U1类似于探亲人的手指;U2类似于琴键;U3类似于琴弦或音调发生器。

四、设计类容

1.数控分频器模块Speakera.vhd

这是一个数控分频器,有其clk端输入已具有较高频率(这里是12MHz)的信号,通过Speakera分频后又SPKOUT输出。Speakera对clk输入信号的分频比由11位预置数Tone[10..0]决定。

2.按键模块ToneTaba.vhd

模块ToneTaba的功能首先是为Speakera提供决定所发音符的分频预置数,而此数在Speakera输入口停留的时间即为此音符的节拍值。模块ToneTaba是乐曲简谱码对应得分频预置数查表电路,其中预置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,这13个值的输出有对应于ToneTaba的4位输入值Index[3..0]确定。

3.输入控制模块NoteTabs.vhd

在NoteTabs中设置了一个8位二进制计数器,作为音符数据ROM的地址发生器。这个计数器的计数频率选为4Hz,即每一计数值得停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。rst0具有“播放停止”功能。当kz=‘1’时,shuru1、shuru2、shuru2、shuru3实现“按键演奏”功能。

clk

rst0

kz

shuru1

shuru2

shuru3

shuru4

toneindex[3..0]

NoteTabs

inst

五、仿真结果

1.自动播放

2.按键演奏

六、总结

通过编译原理课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课本上的知识是机械的,表面的。把原来以为很深奥的书本知识变的更为简单,对实验原理有更深的理解。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上

已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

而且,这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

七、附录

(一)交通灯控制器VHDL的设计

1.交通灯顶层文件jtd.vhd

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjtd is

port(clk:instd_logic;

rst:instd_logic;

red_east,yellow_east,green_east,red_north,yellow_north,green_north:out

std_logic;

ten_east,one_east,ten_north,one_north:outstd_logic_vector(6 downto 0));

end;

architecture one of jtd is

ponentmoore

port(clk0,rst0,c0 :in std_logic;

ld0:outstd_logic;

red_east1,yellow_east1,green_east1,red_north1,yellow_north1,green_north1:o ut std_logic;

dinl0,dinh0 :out std_logic_vector(3 downto 0));

end ponent;

ponentjishu

port(clk1:in std_logic;

ld1:instd_logic;

dinl1:instd_logic_vector(3 downto 0);

dinh1:instd_logic_vector(3 downto 0);

ql1:outstd_logic_vector(3 downto 0);

qh1:outstd_logic_vector(3 downto 0);

c1:outstd_logic);

end ponent;

ponent led7s

port(a:in std_logic_vector(3 downto 0);

led7s:outstd_logic_vector(6 downto 0));

end ponent;

signalc,ld :std_logic;

signal dinl,dinh,led7sh,led7sl:std_logic_vector(3 downto 0);

begin

u1:mooreportmap(clk0=>clk,rst0=>rst,c0=>c,ld0=>ld,dinl0=>dinl,dinh0=>dinh,red_ east1=>red_east,yellow_east1=>yellow_east,green_east1=>green_east,red_north 1=>red_north,yellow_north1=>yellow_north,green_north1=>green_north);

u2:jishuport

map(clk1=>clk,ld1=>ld,dinl1=>dinl,dinh1=>dinh,qh1=>led7sh,ql1=>led7sl,c1=>

c);

u3: led7s port map(a=>led7sh,led7s=>ten_east);

u4: led7s port map(a=>led7sl,led7s=>one_east);

u5: led7s port map(a=>led7sh,led7s=>ten_north);

u6: led7s port map(a=>led7sl,led7s=>one_north);

end;

2.Morre型状态机的设计moore.vhd

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitymoore is

port(clk0,rst0,c0 :in std_logic;

ld0 :outstd_logic;

red_east1,green_east1,yellow_east1,red_north1,green_north1,yellow_north1:o ut std_logic;

dinl0,dinh0 :out std_logic_vector(3 downto 0));

end;

architectureone of moore is

typest_type is(s0,s1,s2,s3);

signalc_st:st_type;

signal clk2:std_logic;

begin

process(clk0,rst0)

begin

if rst0='0' then

c_st<=s0;dinh0<="0100";dinl0<="0101";ld0<='0';

red_east1<='0';yellow_east1<='0';green_east1<='1';red_north1<='1';yellow_nort h1<='0';green_north1<='0';

elsif clk0'event and clk0='1' then

casec_st is

when s0=>if c0='1' then c_st<=s1;dinh0<="0000";dinl0<="0101";ld0<='0';

elsec_st<=s0;ld0<='1';

endif;red_east1<='0';yellow_east1<='0';green_east1<='1';red_north1<='1';yellow_nort h1<='0';green_north1<='0';

when s1=>if c0='1' then c_st<=s2;dinh0<="0010";dinl0<="0101";ld0<='0';

elsec_st<=s1;ld0<='1';

end if;

red_east1<='0';yellow_east1<='1';green_east1<='0';red_north1<='1';ye

llow_north1<='0';green_north1<='0';

when s2=>if c0='1' then c_st<=s3;dinh0<="0000";dinl0<="0101";ld0<='0';

elsec_st<=s2;ld0<='1';

end if;

red_east1<='1';yellow_east1<='0';green_east1<='0';red_north1<='0';y

ellow_north1<='0';green_north1<='1';

when s3=>if c0='1' then c_st<=s0;dinh0<="0100";dinl0<="0101";ld0<='0';

elsec_st<=s3;ld0<='1';

end

if;red_east1<='1';yellow_east1<='0';green_east1<='0';red_north1<='0';

yellow_north1<='1';green_north1<='0';

whenothers=>red_east1<='0';yellow_east1<='0';green_east1<='1';red_north1<='1' ;yellow_north1<='0';green_north1<='0';ld0<='0';

end case;

end if;

end process;

end;

3.减法计数器的设计jishu.vhd

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjishu is

port(clk1:in std_logic;

ld1:instd_logic;

dinl1:instd_logic_vector(3 downto 0);

dinh1:instd_logic_vector(3 downto 0);

ql1:outstd_logic_vector(3 downto 0);

qh1:outstd_logic_vector(3 downto 0);

c1:outstd_logic);

end;

architecture one of jishu is

signalqa,qat:std_logic_vector(3 downto 0);

signalqb,qbt:std_logic_vector(3 downto 0);

signalca,cb :std_logic;

begin

qh1<=qb;

ql1<=qa;

process(clk1)

begin

qat<=dinl1;

if clk1'event and clk1='1' then

if ld1='0' then qa<=qat;ca<='0';

elsif(qa="0000") then qa<="1001";ca<='0';

elsif(qa="0001") then ca<='1';qa<="0000";

elseqa<=qa-1;ca<='0';

end if;

end if;

end process;

process(ca,clk1)

begin

qbt<=dinh1;

if clk1'event and clk1='1' then

if ld1='0' then qb<=qbt;cb<='0';c1<='0';

elsif(qb="0000" and qa="0001") then c1<='0';

elsif(qb="0000" and qa="0010") then c1<='1';

elsif(qb="0000" and qa="1000") then c1<='1';

elsif(qb="0000" and qa="0111") then c1<='0';

elsif(ca='1') then qb<=qb-1;

end if;

end if;

end process;

end;

4.译码器的设计led7s.vhd

libraryieee;

use ieee.std_logic_1164.all;

entity led7s is

port( a:in std_logic_vector(3 downto 0);

led7s:outstd_logic_vector(6 downto 0));

end led7s;

architecture one of led7s is

begin

process(a)

begin

case A is

when "0000"=>led7s<="0111111"; when "0001"=>led7s<="0000110"; when "0010"=>led7s<="1011011"; when "0011"=>led7s<="1001111"; when "0100"=>led7s<="1100110"; when "0101"=>led7s<="1101101"; when "0110"=>led7s<="1111101"; when "0111"=>led7s<="0000111"; when "1000"=>led7s<="1111111"; when "1001"=>led7s<="1101111"; when "1010"=>led7s<="1110111"; when "1011"=>led7s<="1111100"; when "1100"=>led7s<="0111001"; when "1101"=>led7s<="1011110"; when "1110"=>led7s<="1111001"; when "1111"=>led7s<="1110001"; when others=>null;

end case;

end process;

end;

(二)智能函数发生器

1.顶层文件singt.vhd

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitysingt is

port(clk,rst:instd_logic;

key1,key2,key3:instd_logic;

douts:outstd_logic_vector(7 downto 0)); end;

architecture one of singt is

ponentsindata

port(address:instd_logic_vector(5 downto 0); inclock:instd_logic;

q:out std_logic_vector(7 downto 0));

end ponent;

ponentreta

port(clk1,rst1:in std_logic;

rout1:outstd_logic_vector(7 downto 0)); end ponent;

ponent trap

port(clk5,rst5:in std_logic;

tout5:outstd_logic_vector(7 downto 0)); end ponent;

ponentjianxie

port(clk3,rst3:in std_logic;

jout3:outstd_logic_vector(7 downto 0)); end ponent;

ponentzengxie

port(clk2,rst2:in std_logic;

zout2:outstd_logic_vector(7 downto 0));

end ponent;

ponentrect

port(clk4,rst4:in std_logic;

sout4:outstd_logic_vector(7 downto 0));

end ponent;

ponentwavsel

port (key11,key22,key33:in std_logic;

zin0,jin0,rin0,tin0,sin0,sinin0:instd_logic_vector(7 downto 0);

dout:outstd_logic_vector(7 downto 0));

end ponent;

signal q1:std_logic_vector(5 downto 0);

signal a0,a1,a2,a3,a4,a5:std_logic_vector(7 downto 0);

begin

process(clk)

begin

ifclk'event and clk='1' then q1<=q1+1;end if;

end process;

u1:sindata port map (address=>q1,q=>a0,inclock=>clk);

u2:reta port map(clk1=>clk,rst1=>rst,rout1=>a1);

u3:zengxie port map(clk2=>clk,rst2=>rst,zout2=>a2);

u4:jianxie port map(clk3=>clk,rst3=>rst,jout3=>a3);

u5:rect port map(clk4=>clk,rst4=>rst,sout4=>a4);

u6:trap port map(clk5=>clk,rst5=>rst,tout5=>a5);

u7:wavsel

portmap(key11=>key1,key22=>key2,key33=>key3,sinin0=>a0,rin0=>a1,zin0=>a2 ,jin0=>a3,sin0=>a4,tin0=>a5,dout=>douts);

end;

2.递增斜波程序zengxie.vhd

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all; entityzengxie is

port(clk2,rst2:in std_logic;

zout2:outstd_logic_vector(7 downto 0)); end;

architecture one of zengxie is

begin

process(clk2)

variable r:std_logic_vector(7 downto 0); begin

if rst2='1' then r:=(others=>'0');

elsif clk2'event and clk2='1' then

if r<5 then r:=r+1;

else r:=(others=>'0');

end if;

end if;

zout2<=r;

end process;

end;

3.递减斜波程序jianxie.vhd libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all; entityjianxie is

port(clk3,rst3:in std_logic;

jout3:outstd_logic_vector(7 downto 0));

end;

architecture one of jianxie is

begin

process(clk3)

variable r:std_logic_vector(7 downto 0); begin

if rst3='1' then r:="00000101";

elsif clk3'event and clk3='1' then

if r>0 then r:=r-1;

else r:="00000101";

end if;

end if;

jout3<=r;

end process;

end;

4.方波程序reta.vhd

libraryieee;

use ieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityreta is

port(clk1,rst1:in std_logic;

rout1:outstd_logic_vector(7 downto 0)); end;

architecture one of reta is

signal r:std_logic_vector(7 downto 0);

begin

process(r)

begin

简易函数信号发生器

课程设计任务书 (一)设计目的 1、掌握信号发生器的设计方法和测试技术。 2、了解单片函数发生器IC8038的工作原理和应用。 3、学会安装和调试分立元件与集成电路组成的多级电子电路小系统。 (二)设计技术指标与要求 1、设计要求 (1)电路能输出正弦波、方波和三角波等三种波形; (2)输出信号的频率要求可调; (3)拟定测试方案和设计步骤; (4)根据性能指标,计算元件参数,选好元件,设计电路并画出电路图; (5)在面包板上或万能板或PCB板上安装电路; (6)测量输出信号的幅度和频率; (7)撰写设计报告。 2、技术指标 频率范围:100Hz~1KHz 1KHz~10KHz; 输出电压:方波V P-P≤24V,三角波V P-P=6V,正弦波V P-P=1V;方波t r小于1uS。 (三)设计提示 1、方案提示: (1)设计方案可先产生正弦波,然后通过整形电路将正弦波变成方波,再由积分电路将方波变成三角波;也可先产生三角波-方波,再将三角波变成正弦波。 (2)也可用单片集成芯片IC8038实现,采用这种方案时要求幅度可调。 2、设计用仪器设备: 示波器,交流毫伏表,数字万用表,低频信号发生器,实验面包板或万能板,智能电工实验台。 3、设计用主要器件: (1)双运放NE5532(或747)1只(或741 2只)、差分管3DG100 4个、电阻电容若干; (2)IC8038、数字电位器、电阻电容若干。 4、参考书: 《电子线路设计·实验·测试》谢自美主编华中科技大学出版社 《模拟电子技术基础》康华光主编高等教育出版社 《模拟电子技术》胡宴如主编高等教育出版社 (四)设计报告要求 1、选定设计方案; 2、拟出设计步骤,画出设计电路,分析并计算主要元件参数值; 3、列出测试数据表格; 4、调试总结,并写出设计报告。 (五)设计总结与思考 1、总结信号发生器的设计和测试方法;

几种简单的函数信号发生器电路图分析

几种简单的函数信号发生器电路图分析 时间:2012-01-10 15:30 作者:赛微编辑来源:赛微电子网 引言 随着模拟电路技术和电力电子技术发展,电路设计中对信号的精度、稳定性、抗干扰能力等要求进一步提高,电子行业中将一些功能进行集成到IC芯片供其他的厂家来使用。在电路设计中,我们除了正常的电源输入之外,还需要提供三角波、方波、正弦波、脉冲波、单次脉冲等特殊的波形来给某个电路提供输入。 这种可以提供三角波、方波、正弦波、脉冲波、单次脉冲等特殊的波形的电路或者仪器(函数信号发生器的种类),我们可以称之为函数信号发生器,它对电子工程师设计的整个系统来说,发挥着重要的作用,它具有各种内置信号、自定义的任意波形和脉冲能力,能帮助您验证设计,检验新的构想,从而让整个设计更具有可靠性。 本文结合几种简单的函数信号发生器电路图,并对其工作原理(函数信号发生器原理)、可以实现的功能和性能、电路特点等方面做了详细的分析,供电子发烧友参考。 程控函数信号发生器电路图 它主要由主控制器LPC2114、MAX038、D/A转换器以及八选一模拟开关CD4051LED显示、键盘、波段切换,波形处理和峰值检波等部分组成,研究了LPC2114通过D/A转换器实现对MAX038频就绪和占空比的调控方法,并给出

了在0.1Hz~20MHz内产生精确的正弦波、方波和三角波的方法。此外,它还具有可调范围大、精度高、信号稳定等特点,可以应用于各种电子测量和控制场合。 LPC2114主要通过D/A转换器TLC5618、DAC0832和八选一模拟开关CD4051对MAX038输出的波形、频率以及占空比进行控制。通过对A1和A0端的不同设置来选择不同的波形。当A1为高电平、A0为任意时,输出波形为正弦波;当A1、A0同时为低电平时,输出波形为方波;当A1为低电平、A0为高电平时,输出波形为三角波。 MAX038输出波形的幅值为2 V(P-P),最大输出电流为+20 mA,输出阻抗的典型值为0.1 Ω。可直接驱动100 Ω的负载。为了得到更大的输出幅度和驱动能力,就需要对波形信号作进一步处理,下图为一个波形输出与驱动电路。

什么是函数信号发生器,函数信号发生器的作用,函数信号发生器的工作原理

什么是函数信号发生器,函数信号发生器的作用,函数信号发生器的工作原 理 什么是函数信号发生器?函数信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。 函数信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。 函数信号发生器的工作原理:函数信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。它能够产生多种波形,如三角波、锯齿波、矩形波、正弦波,所以在生产实践和科技领域中有着广泛的应用。 函数信号发生器系统主要由主振级、主振输出调节电位器、电压放大器、输出衰减器、功率放大器、阻抗变换器和指示电压表构成。当输入端输入小信号正弦波时,该信号分两路传输,一路完成整流倍压功能,提供工作电源;另一路进入一个反相器的输入端,完成信号放大功能。该放大信号经后级的门电路处理,变换成方波后经输出,输出端为可调电阻。 函数信号发生器产生的各种波形曲线均可以用三角函数方程式来表示,函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频发射,这里的射频波就是载波,把音频、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。

信号发生器电路的焊接与调试-电路图

一、信号发生器电路安装与调试考核评分表 准考证号姓名规定时间分钟 开始时间结束时间实用时间得分 考核内容及要求配分评分标准扣分 1 元器件清点检查:在10分钟内对所有元 器件进行检测,并将不合格元器件筛选出来进 行更换,缺少的要求补发。 10 超时更换或要求补发按损坏 元件扣分,扣3分/个。 2 安装电路:按装配图进行装接,要求不装 错,不损坏元器件,无虚焊,漏焊和搭锡,元 器件排列整齐并符合工艺要求。 30 漏装,错装或虚焊、漏焊、 搭锡,扣2分/个,安装不整 齐和不符合工艺要求的扣1 分/处,损坏元件扣3分/个。 3 电源电路:接通交流电源,测量交流电压 和各直流电压+12V、-12V、V CC 、-5V。 信号发生器电路:接通+12V、-12V、V CC 、 -5V电源。测量函数信号波形:方波、正弦波、 三角波形。 20 电压测试方法不正确扣10 分,测量值有误差扣5分。 4 选择C=10uf,调节RW13、RW14、RW15, 记录方波的占空比: 1、 2、 3、 10 不会用示波观察输出信号波 形扣10分, 调节不正确扣5分, 波形记录不正确扣5分。 5 改变电容:100nf——100uf,并调节RW11, 记录正弦波输出频率f: 1、 2、 3、 10 最大不失真电压测试方法不 正确扣5分,测量值不准确 扣5分,不会计算最大不失 真功率扣5分。 6 调节RW21、RW22, 记录正弦波输出Vpp: 1、 2、 3、 10 不会测试功放电路的灵敏度 扣5分,不会计算电压放大 倍数扣5分。 7 调节电位器RW16、RW17, 记录正弦波形的失真: 1、 2、 3、 10 测量方法不正确扣5分, 测量数据每处2分,不会绘 制频响曲线扣5分 开始时间:结束时间:实用时间:

函数信号发生器使用说明(超级详细)

函数信号发生器使用说明 1-1 SG1651A函数信号发生器使用说明 一、概述 本仪器是一台具有高度稳定性、多功能等特点的函数信号发生器。能直接产生正弦波、三角波、方波、斜波、脉冲波,波形对称可调并具有反向输出,直流电平可连续调节。TTL可与主信号做同步输出。还具有VCF输入控制功能。频率计可做内部频率显示,也可外测1Hz~的信号频率,电压用LED显示。 二、使用说明 面板标志说明及功能见表1和图1 图1 表1 序 面板标志名称作用号 1电源电源开关按下开关,电源接通,电源指示灯亮 2 1、输出波形选择 波形波形选择 2、与1 3、19配合使用可得到正负相锯齿波和脉

DC1641数字函数信号发生器使用说明 一、概述 DC1641使用LCD显示、微处理器(CPU)控制的函数信号发生器,是一种小型的、由集成电路、单片机与半导体管构成的便携式通用函数信号发生器,其函数信号有正弦波、三角波、方波、锯齿波、脉冲五种不同的波形。信号频率可调范围从~2MHz,分七个档级,频率段、频率值、波形选择均由LCD显示。信号的最大幅度可达20Vp-p。脉冲的占空比系数由10%~90%连续可调,五种信号均可加±10V的直流偏置电压。并具有TTL电平的同步信号输出,脉冲信号反向及输出幅度衰减等多种功能。除此以外,能外接计数输入,作频率计数器使用,其频率范围从10Hz~10MHz(50、100MHz[根据用户需要])。计数频率等功能信息均由LCD显示,发光二极管指示计数闸门、占空比、直流偏置、电源。读数直观、方便、准确。 二、技术要求 函数发生器 产生正弦波、三角波、方波、锯齿波和脉冲波。 2.1.1函数信号频率范围和精度 a、频率范围 由~2MHz分七个频率档级LCD显示,各档级之间有很宽的覆盖度, 如下所示: 频率档级频率范围(Hz) 1 ~2 10 1~20 100 10~200

函数信号发生器的设计与制作

函数信号发生器的设计、和装配实习 一.设计制作要求: 掌握方波一三角波一正弦波函数发生器的设计方法和测试技术。学会由分立器件和集成电路组成的多级电子电路小系统的布线方法。掌握安装、焊接和调试电路的技能。掌握在装配过程中可能发生的故障进行维修的基本方法。 二.方波一三角波一正弦波函数发生器设计要求 函数发生器能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形。其电路中使用的器件可以是分立器件,也可以是集成电路(如单片集成电路函数发生器ICL8038)。本次电子工艺实习,主要介绍由集成运算放大器和晶体管差分放大器组成的方波一三角波一正弦波函数信号发生器的设计和制作方法。 产生正弦波、方波、三角波的方案有多 种: 1:如先产生正弦波,然后通过整 形电路将正弦波变换成方波,再由积分 电路将方波变成三角波。 2:先产生三角波一方波,再将三 角波变成正弦波或将方波变成正弦波。 3 3:本次电路设计,则采用的图1函数发生器组成框图 是先产生方波一三角波,再将三角波变换成正弦波的电路设计方法。此钟方法的电路组成框图。如图1所示:可见,它主要由:电压比较器、积分器和差分放大器等三部分构成。 为了使大家能较快地进入设计和制做状态,节省时间,在此,重新复习电压比较器、积分器和差分放大器的基本构成和工作原理: ,并判所谓比较器,是一种用来比较输入信号v1和参考电压V REF 断出其中哪个大,在输出端显示出比较结果的电路。 在《电子技术基础》一书的9.4—非正弦波信号产生电路的9.4.1中,专门讲述了: A:单门限电压比较器、B:过零比较器 C:迟滞比较器的电路结构和工作原理。 一、单门限电压比较器 所谓单门限电压比较器,是指比较器的输入端只有一个门限电压。

DDS信号发生器电路设计

1. 信号产生部分 1.1 频率控制字输入模块 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity ddsinput is port(a,b,c,clk,clr:in std_logic; q1,q2,q3,q4,q5:buffer unsigned(3 downto 0)); end ddsinput; architecture a of ddsinput is signal q:std_logic_vector(2 downto 0); begin q<=c&b&a; process(cp,q,clr) begin if clr='1'then q1<="0000";q2<="0000";q3<="0000";q4<="0000";q5<="0000"; elsif clk 'event and clk='1'then

DDS信号信号发生器电路设计 case q is when"001"=>q1<=q1+1; when"010"=>q2<=q2+1; when"011"=>q3<=q3+1; when"100"=>q4<=q4+1; when"101"=>q5<=q5+1; when others=>NULL; end case; end if; end process; end a; 1.2 相位累加器模块 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity xiangwei is port(m:in std_logic_vector(19 downto 0); clk,clr:in std_logic; data:out std_logic_vector(23 downto 0)); end xiangwei; architecture a of xiangwei is signal q:std_logic_vector(23 downto 0); begin process(clr,clk,m,q) begin if clr='1'then q<="000000000000000000000000"; elsif (clk'event and clk='1')then q<=q+m; end if; data<=q; end process; end a;

EDA实验 函数信号发生器

EDA设计实验 题目:函数信号发生器 作者: 所在学院:信息科学与工程学院 专业年级: 指导教师: 职称: 2011 年 12 月 11 日

函数信号发生器 摘要:函数信号发生器在生产实践和科技领域有着广泛的应用。本设计是采用了EDA技术设计的函数信号发生器。此函数信号发生器的实现是基于VHDL语言描述各个波形产生模块,然后在QuartusⅡ软件上实现波形的编译,仿真和下载到Cyclone芯片上。整个系统由波形产生模块和波形选择模块两个部分组成。最后经过QuartusⅡ软件仿真,证明此次设计可以输出正弦波、方波、三角波,锯齿波,阶梯波等规定波形,并能根据波形选择模块的设定来选择波形输出。 关键字:函数信号发生器;Cyclone;VHDL;QuartusⅡ 引言: 函数信号发生器即通常所说的信号发生器是一种常用的信号源,广泛应用于通信,雷达,测控,电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格要求的电信号设备是最普通、最基本也是应用最广泛的电子仪器之一,几乎所有电参量的测量都要用到波形发生器。随着现代电子技术的飞速发展,现代电子测量工作对函数信号信号发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需要产生任意波性,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度、及分辨率高等。本文基于

EDA设计函数信号发生器,并产生稳定的正弦波、方波、锯齿波、三角波、阶梯波。 正文: 1、Quartus II软件简介 1)Quartus II软件介绍 Quartus II 是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特点。 Quartus II是Altera公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第

函数信号发生器使用说明

EE1641C~EE1643C型 函数信号发生器/计数器 使用说明书 共 11 张 2004年 10 月

1 概述 1.1 定义及用途 本仪器是一种精密的测试仪器,因其具有连续信号、扫频信号、函数信号、脉冲信号等多种输出信号,并具有多种调制方式以及外部测频功能,故定名为EE1641C型函数信号发生器/计数器、EE1642C(EE1642C1)型函数信号发生器/计数器、EE1643C型函数信号发生器/计数器。本仪器是电子工程师、电子实验室、生产线及教学、科研需配备的理想设备。 1.2 主要特征 1.2.1 采用大规模单片集成精密函数发生器电路,使得该机具有很高的可靠性及优良性能/价格比。 1.2.2 采用单片微机电路进行整周期频率测量和智能化管理,对于输出信号的频率幅度用户可以直观、准确的了解到(特别是低频时亦是如此)。因此极大的方便了用户。 1.2.3 该机采用了精密电流源电路,使输出信号在整个频带内均具有相当高的精度,同时多种电流源的变换使用,使仪器不仅具有正弦波、三角波、方波等基本波形,更具有锯齿波、脉冲波等多种非对称波形的输出,同时对各种波形均可以实现扫描、FSK调制和调频功能,正弦波可以实现调幅功能。此外,本机还具有单次脉冲输出。 1.2.4 整机采用中大规模集成电路设计,优选设计电路,元件降额使用, 以保证仪器高可靠性,平均无故障工作时间高达数千小时以上。 1.2.5 机箱造型美观大方,电子控制按纽操作起来更舒适,更方便。 2 技术参数 2.1 函数信号发生器技术参数 2.1.1 输出频率 a) EE1641C:0.2Hz~3MHz 按十进制分类共分七档 b) EE1642C:0.2Hz~10MHz 按十进制分类共分八档 c) EE1642C1:0.2Hz~15MHz 按十进制分类共分八档 d) EE1643C:0.2Hz~20MHz 按十进制分类共分八档 每档均以频率微调电位器实行频率调节。 2.1.2 输出信号阻抗 a) 函数输出:50Ω b) TTL同步输出:600Ω 2.1.3 输出信号波形 a) 函数输出(对称或非对称输出):正弦波、三角波、方波 b) 同步输出:脉冲波 2.1.4 输出信号幅度 a) 函数输出:≥20Vp–p±10%(空载);(测试条件:fo≤15MHz,0dB衰减) ≥14Vp–p±10%(空载);(测试条件:15MHz≤fo≤20MHz,0dB衰减) b) 同步输出:TTL电平:“0”电平:≤0.8V,“1”电平:≥1.8V(负载电阻≥600Ω) CMOS电平:“0”电平:≤4.5V,“1”电平:5V~13.5V可调(fo≤2MHz) c) 单次脉冲:“0”电平:≤0.5V,“1”电平:≥3.5V 2.1.5 函数输出信号直流电平(offset)调节范围:关或(–10V~+10V)±10%(空载) [“关”位置时输出信号所携带的直流电平为:<0V±0.1V,负载电阻为:50Ω时,调节范围为 (–5V~+5V)±10%]

函数信号发生器的设计与实现

实验1 函数信号发生器的设计与实现 姓名:_ _____ 学号: 班内序号:____ 课题名称:函数信号发生器的设计 摘要:采用运算放大器组成的积分电路产生比较理想的方波-三角波,根 据所需振荡频率和对方波前后沿陡度、方波和三角波幅度的要求,选择运放、稳压管、限流电阻和电容。三角波-正弦波转换电路利用差分放大器传输特性曲线的非线性实现,选取合适的滑动变阻器来调节三角波的幅度和电路的对称性,同时利用隔直电容、滤波电容来改善输出正弦波的波形。 关键词:方波三角波正弦波 一、设计任务要求 1.基本要求:

设计制作一个函数信号发生器电路,该电路能够输出频率可调的正弦波、三角波和方波信号。 (1) 输出频率能在1-10KHz范围内连续可调,无明显失真。 (2) 方波输出电压Uopp=12V(误差小于20%),上升、下降沿小于10us。 (3) 三角波Uopp=8V(误差小于20%)。 (4) 正弦波Uopp1V,无明显失真。 2.提高要求: (1) 输出方波占空比可调范围30%-70%。 (2) 自拟(三种输出波形的峰峰值Uopp均可在1V-10V内连续可调)。 二、设计思路和总体结构框图 总体结构框图: 设计思路: 由运放构成的比较器和反相积分器组成方波-三角波发生电路,三角波输入差分放大电路,利用其传输特性曲线的非线性实现三角波-正弦波的转换,从而电路可在三个输出端分别输出方波、三角波和正弦波,达到信号发生器实验的基本要求。 将输出端与地之间接入大阻值电位器,电位器的抽头处作为新的输出端,实现输出信号幅度的连续调节。利用二极管的单向导通性,将方波-三角波中间的电阻改为两个反向二极管一端相连,另一端接入电位器,抽头处输出的结构,实现占空比连续可调,达到信号发生器实验的提高要求。 三、分块电路和总体电路的设计过程 1.方波-三角波产生电路 电路图:

如何使用函数信号发生器

如何使用函数信号发生器 认识函数信号发生器 信号发生器一般区分为函数信号发生器及任意波形发生器,而函数波形发生器在设计上又区分出模拟及数字合成式。众所周知,数字合成式函数信号源无论就频率、幅度乃至信号的信噪比(S/N)均优于模拟,其锁相环( PLL)的设计让输出信号不仅是频率精准,而且相位抖动(phase Jitter)及频率漂移均能达到相当稳定的状态,但毕竟是数字式信号源,数字电路与模拟电路之间的干扰,始终难以有效克服,也造成在小信号的输出上不如模拟式的函数信号发. 这是通用模拟式函数信号发生器的结构,是以三角波产生电路为基础经二极管所构成的正弦波整型电路产生正弦波,同时经由比较器的比较产生方波,换句话说,如果以恒流源对电容充电,即可产生正斜率的斜波。同理,右以恒流源将储存在电容上的电荷放电即产生负斜率的斜波,电路结构如下: 当I1 =I2时,即可产生对称的三角波,如果I1 > >I2,此时即产生负斜率的锯齿波,同理I1 < < I2即产生正斜率锯齿波。 再如图二所示,开关SW1的选择即可让充电速度呈倍数改变,也就是改变信号的频率,这也就是信号源面板上频率档的选择开关。同样的同步地改变I1及I2,也可以改变频率,这也就是信号源上调整频率的电位器,只不过需要简单地将原本是电压信号转成电流而已。 而在占空比调整上的设计有下列两种思路: 改变电平的幅度,亦即改变方波产生电路比较器的参考幅度,即可达到改变脉宽而频率不变的特性,但其最主要的缺点是占空比一般无法调到20%以下,导致在采样电路实验时,对瞬时信号所采集出来的信号有所变动,如果要将此信号用来作模数(A/D)转换,那么得到的数字信号就发生变动而无所适从。但不容否认的在使用上比较好调。 2、占空比变,频率跟着改变,其方法如下: 将方波产生电路比较器的参考幅度予以固定(正、负可利用电路予以切换),改变充放电斜率,即可达成。 这种方式的设计一般使用者的反应是“难调”,这是大缺点,但它可以产生10%以下的占空比却是在采样时的必备条件。 以上的两种占空比调整电路设计思路,各有优缺点,当然连带的也影响到是否能产生“像样的”锯齿波。 接下来PA(功率放大器)的设计。首先是利用运算放大器(OP) ,再利用推拉式(push-pull)放大器(注意交越失真Cross-distortion的预防)将信号送到衰减网路,这部分牵涉到信号源输出信号的指标,包含信噪比、方波上升时间及信号源的频率响应,好的信号源当然是正弦波信噪比高、方波上升时间快、三角波线性度要好、同时伏频特性也要好,(也即频率上升,信号不能衰减或不能减太大),这部分电路较为复杂,尤其在高频时除利用电容作频率补偿外,也牵涉到PC板的布线方式,一不小心,极易引起振荡,想设计这部分电路,除原有的模拟理论基础外尚需具备实际的经验,“Try Error”的耐心是不可缺少的。 PA信号出来后,经过π型的电阻式衰减网路,分别衰减10倍(20dB)或100倍(40dB),此时一部基本的函数波形发生器即已完成。(注意:选用π型衰减网络而不是分压电路是要让输出阻抗保持一定)。 一台功能较强的函数波形发生器,还有扫频、VCG、TTL、 TRIG、 GATE及频率计等功能,其设

信号发生器的基本原理

信号发生器的基本原理- 信号发生器使用攻略 信号发生器的基本原理 现代信号发生器的结构非常复杂,与早期的简易信号发生器天差地别,但总体基本结构功能单元还是类似的。信号发生器的主要部件有频率产生单元、调制单元、缓冲放大单元、衰减输出单元、显示单元、控制单元。早期的信号发生器都采用模拟电路,现代信号发生器越来越多地使用数字电路或单片机控制,内部电路结构上有了很大的变化。 频率产生单元是信号发生器的基础和核心。早期的高频信号发生器采用模拟电路LC振荡器,低频信号发生器则较多采用文氏电桥振荡器和RC移相振荡器。由于早期没有频率合成技术,所以上述LC、RC振荡器优点是结构简单,可以产生连续变化的频率,缺点是频率 稳定度不够高。早期产品为了提高信号发生器频率稳定度,在可变电容的精密调节方面下了很多功夫,不少产品都设计了精密的传动机构和指示机构,所以很多早期的高级信号发生器体积大、重量重。后来,人们发现采用石英晶体构成振荡电路,产生的频率稳定,但是石英晶体的频率是固定的,在没有频率合成的技术条件下,只能做成固定频率信号发生器。之后 也出现过压控振荡器,虽然频率稳定度比LC振荡器好些,但依然不够理想,不过压控振荡 器摆脱了LC振荡器的机械结构,可以大大缩减仪器的体积,同时电路不太复杂,成本也不高。现在一些低端的函数信号发生器依然采用这种方式。 随着PLL锁相环频率合成器电路的兴起,高档信号发生器纷纷采用频率合成技术,其 优点是频率输出稳定(频率合成器的参考基准频率由石英晶体产生),频率可以步进调节,频率显示机构可以用数字化显示或者直接设置。早期的高精度信号发生器为了得到较小的频率步进,将锁相环做得非常复杂,成本很高,体积和重量都很大。目前的中高端信号发生器 采用了更先进的DDS频率直接合成技术,具有频率输出稳定度高、频率合成范围宽、信号频谱纯净度高等优点。由于DDS芯片高度集成化,所以信号发生器的体积很小。 信号发生器的工作频率范围、频率稳定度、频率设置精度、相位噪声、信号频谱纯度都与频率产生单元有关,也是信号发生器性能的重要指标。 信号发生器的一大特性就是可以操控仪器输出信号的幅度,信号通过特定组合衰减量的衰减器达到预定的输出幅度。早期的衰减器是机械式的,通过刻度来读取衰减量或输出幅度。现代中高档信号发生器的衰减器单元由单片机控制继电器来切换,向电子芯片化过渡,衰减单元的衰减步进量不断缩小,精度相应提高。大频率范围的高精度衰减器和高精度信号输出属于高科技技术,这也是国内很少有企业能制造高端信号发生器的原因之一。信号发生器的信号输出范围和输出电平的精度和准确度也是标志信号发生器性能的重要指标。

函数信号发生器

基于labview的函数信号发生器的设计 [摘要] 介绍一种基于labvIEW环境下自行开发的虚拟函数信号发生器,它不仅能够产 生实验室常用的正弦波、三角波、方波、锯齿波信号,而且还可以通过输入公式,产生测试和研究领域所需要的特殊信号。对任意波形的发生可实现公式输入;对信号频率、幅度、相位、偏移量可调可控;方波占空比可以调控;噪声任意可加、创建友好界面、信号波形显示;输出频谱特性;所有调制都可微调与粗调。该仪器系统操作简便,设计灵活,功能强大,可以完成不同环境下的测量要求。因此具有很强的实用性。 关键词:虚拟仪器,labvIEW,虚拟函数信号发生器,正弦波,三角波,方波,锯齿波, 特殊信号。 引言: 在有关电磁信号的测量和研究中,我们需要用到一种或多种信号源,而函数信号发生器则为我们提供了在研究中所需要的信号源。它可以产生不同频率的正弦波,方波,三角波,锯齿波,正负脉冲信号,调频信号,调幅信号和随机信号等。其输出信号的幅值也可以按需要进行调节。传统信号发生器种类繁多,价格昂贵,而且功能固定单一,不具备用户对仪器进行定义及编程的功能,一个传统实验室很难拥有多类信号发生器。然而,基于虚拟仪器技术的实验室均能满足这一要求。 1、虚拟仪器简介: 自从1986年美国NI(National Instrument)公司提出虚拟仪器的概念以来,随着计 算机技术和测量技术的发展,虚拟仪器技术也得到很快的发展。虚拟仪器是指:利用现有的PC机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。与传统的仪器相比其特点主要有:具有更好的测量精度和可重复性;测量速度快;系统组建时间短;由用户定义仪器功能;可扩展性强;技术更新快等。虚拟仪器以软件为核心,其软件又以美国NI公司的Labview虚拟仪器软件开发平台最为常用。Labview是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。函数信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器。下面结合一个虚拟函数信号发生器设计开发具体介绍基于图形化编程语言Labview的虚拟仪器编程方法与实现技术。 2、虚拟函数信号发生器的结构与组成 2.1 虚拟函数信号发生器的前面板

正弦波函数信号发生器

电子技术课程设计报告 电子技术课程设计报告——正弦波函数信号发生器的设计 作品40% 报告 20% 答辩 20% 平时 20% 总分 100% 设计题目:班级:班级学号:学生姓名:

目录 一、预备知识 (1) 二、课程设计题目:正弦波函数信号发生器 (2) 三、课程设计目的及基本要求 (2) 四、设计内容提要及说明 (3) 4.1设计内容 (3) 4.2设计说明 (3) 五、原理图及原理 (8) 5.1功能模块电路原理图 (9) 5.2模块工作原理说明 (10) 六、课程设计中涉及的实验仪器和工具 (12) 七、课程设计心得体会 (12) 八、参考文献 (12)

一、预备知识 函数发生器是一种在科研和生产中经常用到的基本波形生产期,现在多功能的信号发生器已经被制作成专用的集成电路,在国内生产的8038单片函数波形发生器,可以产生高精度的正弦波、方波、矩形波、锯齿波等多种信号波,这中产品和国外的lcl8038功能相同。产品的各种信号频率可以通过调节外接电阻和电容的参数进行调节,快速而准确地实现函数信号发生器提供了极大的方便。发生器是可用于测试或检修各种电子仪器设备中的低频放大器的频率特性、增益、通频带,也可用作高频信号发生器的外调制信号源。顾名思义肯定可以产生函数信号源,如一定频率的正弦波,有的可以电压输出也有的可以功率输出。下面我们用简单的例子,来说明函数信号发生器原理。 (a) 信号发生器系统主要由下面几个部分组成:主振级、主振输出调节电位器、电压放大器、输出衰减器、功率放大器、阻抗变换器(输出变压器)和指示电压表。 (b) 工作模式:当输入端输入小信号正弦波时,该信号分两路传输,其一路径回路,完成整流倍压功能,提供工作电源;另一路径电容耦合,进入一个反相器的输入端,完成信号放大功能。该放大信号经后级的门电路处理,变换成方波后经输出。输出端为可调电阻。 (c) 工作流程:首先主振级产生低频正弦振荡信号,信号则需要经过电压放大器放大,放大的倍数必须达到电压输出幅度的要求,最后通过输出衰减器来直接输出信号器实际可以输出的电压,输出电压的大小则可以用主振输出调节电位器来进行具体的调节。 它一般由一片单片机进行管理,主要是为了实现下面的几种功能: (a) 控制函数发生器产生的频率; (b) 控制输出信号的波形; (c) 测量输出的频率或测量外部输入的频率并显示; (d) 测量输出信号的幅度并显示; (e) 控制输出单次脉冲。 查找其他资料知:在正弦波发生器中比较器与积分器组成正反馈闭环电路,方波、三角波同时输出。电位器与要事先调整到设定值,否则电路可能会不起振。只要接线正确,接通电源后便可输出方波、三角波。微调Rp1,使三角波的输出幅度满足设计要求,调节Rp2,则输出频率在对应波段内连续可变。 调整电位器及电阻,可以使传输特性曲线对称。调节电位器使三角波的输出幅度经R输出等于U值,这时输出波形应接近正弦波,调节电位器的大小可改善波形。 因为运放输出级由PNP型与NPN型两种晶体管组成复合互补对称电路,输

(Proteus数电仿真)序列信号发生器电路设计

实验8 序列信号发生器电路设计 一、实验目的: 1.熟悉序列信号发生器的工作原理。 2.学会序列信号发生器的设计方法。 3.熟悉掌握EDA软件工具Proteus 的设计仿真测试应用。 二、实验仪器设备: 仿真计算机及软件Proteus 。 74LS161、74LS194、74LS151 三、实验原理: 1、反馈移位型序列信号发生器 反馈移位型序列信号发生器的结构框图如右图 所示,它由移位寄存器和组合反馈网络组成, 从寄存器的某一输出端可以得到周期性的序列 码。设计按一下步骤进行: (1)确定位移寄存器位数n ,并确定移位 寄存器的M 个独立状态。 CP 将给定的序列码按照移位规律每 n 位一组,划分为M 个状态。 若M 个状态中出现重复现象,则应增加移位寄存器的位数。用n+1位再重复上述过程,直到划分为M 个独立状态为止。 (2)根据M 各不同状态列出寄存器的态序表和反馈函数表,求出反馈函数F 的表达式。 (3)检查自启动性能。 (4)画逻辑图。 2、计数型序列信号发生器 计数型序列信号发生器和组合的结构框图 如图 所示。它由计数器和组合输出网络两部分 组成,序列码从组合输出网络输出。设计 过程分为以下两步: (1)根据序列码的长度M 设计模M (2)按计数器的状态转移关系和序列码的要求组合输出网络。由于计数器的状态设置和输出序列没有直接关系,因此这种结构对于输出序列的更改比较方便,而且还能产生多组序列码。 四、计算机仿真实验内容及步骤、结果: 1、设计一个产生100111序列的反馈移位型序列信号发生器。 1、根据电路图在protuse 中搭建电路图

函数信号发生器实验报告

函数发生器设计(1) 一、设计任务和指标要求 1、可调频率范围为10Hz~100Hz 。 2、可输出三角波、方波、正弦波。 3、三角波、方波、正弦波信号输出的峰-峰值0~5V 可调。 4、三角波、方波、正弦波信号输出的直流电平-3V~3V 可调。 5、输出阻抗约600Ω。 二、电路构成及元件参数的选择 1、振荡器 由于指标要求的振荡频率不高,对波形非线性无特殊要求。采用图1所示的电路。同时产生三角波和方波。 图1 振荡电路 根据输出口的信号幅度要求,可得最大的信号幅度输出为: V M =5/2+3=5.5V 采用对称双电源工作(±V CC ),电源电压选择为: V CC ≥V M +2V=7.5V 取V CC =9V 选取3.3V 的稳压二极管,工作电流取5mA ,则: V Z =V DZ +V D =3.3+0.7=4V 为方波输出的峰值电压。 OM Z CC Z 3Z Z V -V V -1.5V-V 9-1.5-4 R ==700ΩI I 5≈=()

取680Ω。 取8.2K Ω。 R 1=R 2/3=8.2/1.5=5.47(K Ω) 取5.1K Ω。 三角波输出的电压峰值为: V OSM =V Z R 1/R 2=4×5.1/8.2=2.489(V ) R 4=R 1∥R 2=3.14 K Ω 取3K Ω。 Z Z V 4 RW=8K 0.1~0.2I 0.15 ==Ω?() () 取10K Ω。 R 6=RW/9=10/9=1.11(K Ω) 取1K Ω。 积分时间常数: 取C=0.1uF ,则: R5=4.019/0.1=40.19K Ω 取39K Ω。 取R 7=R 5= 39K Ω。 转换速率 Z 1max OSM max 24V R f 44 5.1100 SR 4V f =0.995mS R 8.2 ???≥= =(V/) 一般的集成运算放大电路都能满足要求。兼顾波形转换电路集成电路的使用。集成电路 选用四运放LM324。LM324内含四个相同的运算放大器,其中两个用于振荡器,两个用于波形变换。 三、振荡电路工作原理 利用集成运算放大电路也可实现产生方波和三角波的信号发生器,电路主要由比较器和积分器构成。电路中,有源积分器由运算放大器2A 及其外围电路积分电容C 和电阻R 5、R 7组成。有源积分器的输出通过R 1接至比较器1A 的正输入端,积分器的输入电压由电位器分压取出,设R W 与R 6形成的分压系数为a w ,则积分器的输入电压为V i =±a w Vz 。分压系数a w 为: Z 2Z V 4R 8K 0.1I 0.15≥==Ω?() 251MAX R 8.2 R C= 4.019mS 4R f 4 5.1100 ==??()

函数信号发生器的设计与制作

Xuchang Electric V ocational College 毕业论文(设计) 题目:函数信号发生器的设计与制作 系部:电气工程系_ 班级:12电气自动化技术 姓名:张广超 指导老师:郝琳 完成日期:2014/5/20

毕业论文内容摘要

目录 1引言 (3) 1.1研究背景与意义 (3) 1.2研究思路与主要内容 (3) 2 方案选择 (4) 2.1方案一 (4) 2.2方案二 (4) 3基本原理 (5) 4稳压电源 (6) 4.1直流稳压电源设计思路 (6) 4.2直流稳压电源原理 (6) 4.3集成三端稳压器 (7) 5系统工作原理与分析 (8) 5.1ICL8038芯片性能特点简介 (8) 5.2ICL8038的应用 (8) 5.3ICL8038原理简介 (8) 5.4电路分析 (9) 5.5ICL8038内部原理 (10) 5.6工作原理 (11) 5.7正弦函数信号的失真度调节 (11) 5.8ICL8038的典型应用 (12) 5.9输出驱动部分 (12) 结论 (14) 致谢 (15) 参考文献 (16) 附录 (17)

1引言 信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波(含方波)、正弦波的电路被称为函数信号发生器。 1.1研究背景与意义 函数信号发生器是工业生产、产品开发、科学研究等领域必备的工具,它产生的锯齿波和正弦波、矩形波、三角波是常用的基本测试信号。在示波器、电视机等仪器中,为了使电子按照一定规律运动,以利用荧光屏显示图像,常用到锯齿波信号产生器作为时基电路。例如,要在示波器荧光屏上不失真地观察到被测信号波形,要求在水平偏转线圈上加随时间线性变化的电压——锯齿波电压,使电子束沿水平方向匀速搜索荧光屏。对于三角波,方波同样有重要的作用,而函数信号发生器是指一般能自动产生方波正弦波三角波以及锯齿波阶梯波等电压波形的电路或仪器。因此,建议开发一种能产生方波、正弦波、三角波的函数信号发生器。函数信号发生器根据用途不同,有产生三种或多种波形的函数发生器,其电路中使用的器件可以是分离器件,也可以是集成器件,产生方波、正弦波、三角波的方案有多种,如先产生正弦波,根据周期性的非正弦波与正弦波所呈的某种确定的函数关系,再通过整形电路将正弦波转化为方波,经过积分电路后将其变为三角波。也可以先产生三角波-方波,再将三角波或方波转化为正弦波。随着电子技术的快速发展,新材料新器件层出不穷,开发新款式函数信号发生器,器件的可选择性大幅增加,例如 ICL8038就是一种技术上很成熟的可以产生正弦波、方波、三角波的主芯片。所以,可选择的方案多种多样,技术上是可行的[1]。 1.2研究思路与主要内容 本文主要以ICL8038集成块为核心器件,制作一种函数信号发生器,制作成本较低。适合学生学习电子技术实验使用。ICL8038是一种具有多种波形输出的精密振荡集成电路,只需要个别的外部元件就能产生从几赫到几百千赫的低失真正弦波、三角波、矩形波等脉冲信号。基于ICL8038函数信号发生器主要电源供电、波形发生、输出驱动三大部分组成。电源供电部分:主要由集成三端稳压管LM7812和LM7912构成的±12V直流电压作为整个系统的供电。波形发生部分:主要由单片集成函数信号发生器ICL8038构成。通过改变接入电路的电阻或电容的大小,能够得到几赫到几百千赫不同频率的信号。输出驱动部分:主要由运放LF353构成。由于ICL8038的输出信号幅度较小,需要放大输出信号。ICL8038的输出信号经过运放LF353放大后能够得到输出幅度较大的信号[2]。

实验1 示波器函数信号发生器的原理及使用(实验报告之实验数据表)

实验1 示波器、函数信号发生器的原理及使用 【实验目的】 1. 了解示波器、函数信号发生器的工作原理。 2. 学习调节函数信号发生器产生波形及正确设置参数的方法。 3. 学习用示波器观察测量信号波形的电压参数和时间参数。 4. 通过李萨如图形学习用示波器观察两个信号之间的关系。 【实验仪器】 1. 示波器DS5042型,1台。 2. 函数信号发生器DG1022型,1台。 3. 电缆线(BNC 型插头),2条。 【实验内容与步骤】 1. 利用示波器观测信号的电压和频率 (1)参照“实验1 示波器函数信号发生器的原理及使用(实验指导书)”相关内容,产生如图1-1所示的正余弦波形,显示在示波屏上。 图1-1 函数信号发生器生成的正、余弦信号的波形 学生姓名/学号 指导教师 上课时间 第 周 节

(2)用示波器对图1-1中所示的正余弦波形进行测量并填写下表 表1-1 正余弦信号的电压和时间参数的测量 电压参数(V)时间参数 峰峰值最大值最小值频率(Hz)周期(ms)正弦信号 3sin(200πt) 余弦信号 3cos(200πt) 2. 用示波器观测函数信号发生器产生的正余弦信号的李萨如图形 (1)参照“实验1 示波器函数信号发生器的原理及使用(实验指导书)”相关内容,产生如图1-2所示的正余弦波形的李萨如图形,调节并正确显示在示波屏上。 图1-2 正弦信号3sin(200πt)和余弦信号3cos(200πt)的李萨如图形 3. 观测相同幅值、相同频率、不同相位差条件下的两正弦信号的李萨如图形 (1)在函数信号发生器CH1通道产生的正弦信号3sin(200πt)保持不变的情况下,调节函数信号发生器CH2通道产生正弦信号3sin(200πt+45o),观测并记录两正弦信号的李萨如图形于图1-3中。 (2)在函数信号发生器CH1通道产生的正弦信号3sin(200πt)保持不变的情况下,调节函数信号发生器CH2通道产生正弦信号3sin(200πt+135o),观测并记录两正弦信号的李萨如图形于图1-3中。

相关文档
最新文档