数字式波形发生器的设计44444444444444
- 格式:doc
- 大小:342.50 KB
- 文档页数:20
1
淮 北 师 范 大 学
课程设计成果报告
课程设计名称: 数字式波形发生器的设计
院 别 : 信 息 学 院
年 级 专 业 : 2008级电子信息科学与技术
小 组 成 员 : 20081852031 李传登
20081852033 李 鹏
20081852036 廖纯生
20081852062 王树周
20081852066 吴 桐
20081852073 徐周泽
指导教师 赵庆平老师
日 期 2010年6月20日
2 【数字式波形发生器工作原理】
一、波形发生器原理框图如图(1)所示
图(1) 波 形 发 生 器 原 理 框 图
二、直接地址计数器产生方法
工作过程是,假设如果计数器的位数为N位(模值=2N),则把波形的一个周期分为2N个等间距数据点(称之为抽样点)并存入数据存储器。地址计数器不断地进行循环计数,就会产生出每一个周期为2N个固定点的波形。
该方法的特点是:每一个波形周期的点数是固定的,每一个周期内,点与点之间的相位间隔相同。但是,两个相邻周期波形之间的相邻两个点的相位间隔与其它点之间的相位间隔有可能会不相同。当计数器的位数N增大时,这种相邻间隔的误差就可以忽略不计了。
如果产生的波形是循环读出的周期波形,则波形的频率是由两方面来决定的:一方面,波形的频率是由地址计数器的计数时钟来决定的,当波形存储的点数一定时,计时器的计时时钟频率越快,读出一周期波形数据的时间就越短,生产输出波形的频率就越高,反之,则波形的频率将会越低;另一方面,波形的频率也由组成一周波形的点数来确定,当计数时钟频率一定时,一周期累的波形点数越多,读完一周波形所需的时间也就越长,则波形的频率就越低,反之,则波形的频率越高。
下面假设地址计数器的标准时钟频率为fr,计数器的位数为N位,一个周期的波形点数为M个,输出波形的频率为f0,则输出波形的频率f0与时钟频率fr、M的关系式为: Mffr0
从上式可知,若fr为一固定值时,波形的最小频率是:
)(22min0NNrMff 低通
滤波器
振荡器 分频器 地址计数器
(相位累加器) 波形数据存储器(ROM)
D/A转换器
3 由于波形的最高频率受到奈奎斯特抽样定理的限制,即至少每一周期要抽样两个点,所以可得输出波形的最大频率是:
)2(2max0Mffr
【波形发生器设计中应考虑的几个问题】
一、D/A转换器的指标
波形发生器的特性很大程度上取决于D/A转换器的性能。性能指标主要有D/A的转换速率和分辨率(位数)。通常,告诉D/A的分辨率较低,目前常采用的有8位、10位和12位的D/A转换器。
8位的D/A转换器的分辨率有28=256个离散电压等级,而12位的D/A转换器的分辨率有212=4096个电压等级,因此,D/A转换器的位数越多,分辨率就越高,再现的波形的量化误差就越小,从而波形的失真度越小。因此,应选择适合的分辨率的D/A转换器。
二、波形存储器的选择
存储器的选择可以根据波形产生的功能要求,可以选择随机存储器(RAM)或者只读存储器(EPROM)。
(1)随机存储器RAM
RAM存储器时,设计者可以通过计算机编程及I/O接口电路对RAM进行波形存储,实现任意波形和函数发生器,甚至,可以通过键盘输入方程式或者从显示器扫描曲线产生比较复杂的波形。
RAM存储方式可以通过计算机改变波形点数和分频系数两个参数来改变波形的频率。RAM存储器与计算机实现波形发生器的原理框图如图(2)所示。
图(2) 计算机控制实现波形发生器的原理框图
(2)只读存储器EPROM
如果设计的波形发生器只要求实现集中确定的波形时,可预先利用EPROM编程器写好各种波形的数据表,然后通过计数器查表来产生波形。EPROM存储的波形数据不能改变,因此信号频率的改变靠改变分频系数来实现。EPROM存储方式的波形发生器电路结构简单
本实验选用EPROM只读存储器。 振荡器 振荡器 振荡器 RAM
存储器 计算机 D/A
转换器 低通
滤波
4 【波形发生器实现电路】
一、波形数据存储表
波形发生器产生的各种波形数据存储在存储器中,电路中的存储器选用2764EPROM,存储容量为8K x 8。本设计电路的存储器只存了四种波形的数据表,每一种波形用1K个存储单元存储一个周期,公用4K个内存,其余4K可供扩展波形种类使用。四种波形的数据表地址和对应的存储单元内容如下表(1)所示。从表中可以看出每一种波形的高三位地址A12、A11、A10不变,只有A9~A0十位地址从全0变为全1。
波形
名称 计 数 器 地 址 存储
单元
内容
A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
十六
进制
正
弦
波
0 0 0 0 0 0 0 0 0 0 0 0 0
……………………………………………………………………………
0 0 0 1 1 1 1 1 1 1 1 1 1
0000
03FF
255sin(2∏i/1024)
i = 0 – 1024
i指第 i 个单元
方
波
0 0 1 0 0 0 0 0 0 0 0 0 0
……………………………………………………………………………
0 0 1 1 1 1 1 1 1 1 1 1 1
0400
07FF
全0 i =0 – 511
全1 i =512-1023
三
角
波
0 1 0 0 0 0 0 0 0 0 0 0 0
……………………………………………………………………………
0 1 0 1 1 1 1 1 1 1 1 1 1
0800
0BFF 255 x i/1024
i = 0 – 511
255[1-(i-512)/512]
i = 512 - 1023
阶
梯
波
0 1 1 0 0 0 0 0 0 0 0 0 0
……………………………………………………………………………
0 1 1 1 1 1 1 1 1 1 1 1 1
0C00
0FFF 255 x K/N
K=0 – N
K指第K个阶梯
N指总的阶梯数
每一个阶梯占1024//N个地址
表(1) 四种波形的数据表地址及对应的存储单元内容
5 二、地址计数器电路
地址计数器由三块74161构成最大模值为1024的计数器。地址计数器从0000000000B计到全1111111111B,可循环产生1K个地址。对4K个波形寻址时EPROM的A12可直接接地,只要用开关S1、S2选择A11、A10从00到11,就可以实现四种波形的选择输出。
【实验所需元器件管脚图】
一、555定时器管脚图
二、2764EPROM管脚图
三74LS161管脚图
6 四、u741管脚图
五、DAC0832管脚图
【实验步骤】
一、555定时器构成的多谐振荡器输出测试
1、连接好多谐振荡器,从555定时器的3号引脚可以观测到输出的波形;
2、调节电位器Rp,并观察输出的波形,时电路输出标准时钟信号脉冲,此脉冲将作为计数器的74161的脉冲输入信号。
二、检验计数器的计数功能
1、在计数电路的三个74161的输出与低电平之间各接上一个发光二极管,提供脉冲信号,观察发光二极管的亮与灭情况;
2、理论上,发光二极管的亮与灭的情况为(以1代表亮,以0代表灭)
0000000000、0000000001、0000000010、0000000011、0000000100、0000000101
…………………………………………………………………………………………
1111111010、1111111011、1111111100、1111111101、1111111110、1111111111
循环计数。
7 三、在EPROM2764里写入数据
1、擦除EPROM2764中的数据。然后把编号的程序写入;
2、下面为利用Matlab计算正弦波、方波、三角波等三种固化波形的一个周期的1024点的幅度数据的程序及结果。
(1)正弦波的波形数据产生
deltax= 2*pi/1024;
for i= 1 :1 024
x(i)=(i-1)* deltax;
y(i)= sin(x(i)) *1 27.5+127.5 ;
end
plot(y)
z=round(y)
z =
Columns 1 through 10
128 129 130 131 131 132 133 134 135
……………………
Columns 1021 through 1024
125 126 127 127
(2)方波的波形数据产生
deltax=4/1024;
for i=1:512
x(i)= -2+i*deltax;
yl(i) =255;
end
for i=513:1024
x(i)=i*deltax;
yl(i)=0;
end
plot(y1)
z=round(yl)
z=
Columns 1 through 8
255 255 255 255 255 255 255 255
……………………
Columns 1017 through 1024
0 0 0 0 0 0 0 0
(3)三角波的的波形数据产生
deltax=4/1024;
for i=1:256
x(i)= -l+i*deltax;
yl(i) =127.5*(x(i)+1)+127.5;
end