




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淮 北 师 范 大 学 课程设计成果报告课程设计名称: 数字式波形发生器的设计 院 别 : 信 息 学 院 年 级 专 业 : 2008级电子信息科学与技术 小 组 成 员 : 20081852031 李传登 20081852033 李 鹏 20081852036 廖纯生 20081852062 王树周 20081852066 吴 桐 20081852073 徐周泽 指导教师 赵庆平老师 日 期 2010年6月20日 【数字式波形发生器工作原理】一、波形发生器原理框图如图(1)所示D/A转换器低通滤波器振荡器分频器地址计数器(相位累加器)波形数据存储器(ROM)图(1) 波 形 发 生 器 原 理 框 图二、直接地址计数器产生方法工作过程是,假设如果计数器的位数为N位(模值=2N),则把波形的一个周期分为2N个等间距数据点(称之为抽样点)并存入数据存储器。地址计数器不断地进行循环计数,就会产生出每一个周期为2N个固定点的波形。该方法的特点是:每一个波形周期的点数是固定的,每一个周期内,点与点之间的相位间隔相同。但是,两个相邻周期波形之间的相邻两个点的相位间隔与其它点之间的相位间隔有可能会不相同。当计数器的位数N增大时,这种相邻间隔的误差就可以忽略不计了。如果产生的波形是循环读出的周期波形,则波形的频率是由两方面来决定的:一方面,波形的频率是由地址计数器的计数时钟来决定的,当波形存储的点数一定时,计时器的计时时钟频率越快,读出一周期波形数据的时间就越短,生产输出波形的频率就越高,反之,则波形的频率将会越低;另一方面,波形的频率也由组成一周波形的点数来确定,当计数时钟频率一定时,一周期累的波形点数越多,读完一周波形所需的时间也就越长,则波形的频率就越低,反之,则波形的频率越高。下面假设地址计数器的标准时钟频率为,计数器的位数为N位,一个周期的波形点数为M个,输出波形的频率为,则输出波形的频率与时钟频率、M的关系式为: 从上式可知,若为一固定值时,波形的最小频率是:由于波形的最高频率受到奈奎斯特抽样定理的限制,即至少每一周期要抽样两个点,所以可得输出波形的最大频率是:【波形发生器设计中应考虑的几个问题】一、D/A转换器的指标波形发生器的特性很大程度上取决于D/A转换器的性能。性能指标主要有D/A的转换速率和分辨率(位数)。通常,告诉D/A的分辨率较低,目前常采用的有8位、10位和12位的D/A转换器。8位的D/A转换器的分辨率有=256个离散电压等级,而12位的D/A转换器的分辨率有=4096个电压等级,因此,D/A转换器的位数越多,分辨率就越高,再现的波形的量化误差就越小,从而波形的失真度越小。因此,应选择适合的分辨率的D/A转换器。二、波形存储器的选择存储器的选择可以根据波形产生的功能要求,可以选择随机存储器(RAM)或者只读存储器(EPROM)。(1)随机存储器RAMRAM存储器时,设计者可以通过计算机编程及I/O接口电路对RAM进行波形存储,实现任意波形和函数发生器,甚至,可以通过键盘输入方程式或者从显示器扫描曲线产生比较复杂的波形。RAM存储方式可以通过计算机改变波形点数和分频系数两个参数来改变波形的频率。RAM存储器与计算机实现波形发生器的原理框图如图(2)所示。D/A转换器低通滤波计算机振荡器振荡器振荡器RAM存储器图(2) 计算机控制实现波形发生器的原理框图(2)只读存储器EPROM如果设计的波形发生器只要求实现集中确定的波形时,可预先利用EPROM编程器写好各种波形的数据表,然后通过计数器查表来产生波形。EPROM存储的波形数据不能改变,因此信号频率的改变靠改变分频系数来实现。EPROM存储方式的波形发生器电路结构简单本实验选用EPROM只读存储器。【波形发生器实现电路】一、波形数据存储表波形发生器产生的各种波形数据存储在存储器中,电路中的存储器选用2764EPROM,存储容量为8K x 8。本设计电路的存储器只存了四种波形的数据表,每一种波形用1K个存储单元存储一个周期,公用4K个内存,其余4K可供扩展波形种类使用。四种波形的数据表地址和对应的存储单元内容如下表(1)所示。从表中可以看出每一种波形的高三位地址、不变,只有十位地址从全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 00 0 0 1 1 1 1 1 1 1 1 1 1000003FF255sin(2i/1024)i = 0 1024i指第 i 个单元方波 0 0 1 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 1 1 1 1040007FF全0 i =0 511全1 i =512-1023三角波 0 1 0 0 0 0 0 0 0 0 0 0 00 1 0 1 1 1 1 1 1 1 1 1 108000BFF255 x i/1024 i = 0 5112551-(i-512)/512 i = 512 - 1023阶梯波 0 1 1 0 0 0 0 0 0 0 0 0 00 1 1 1 1 1 1 1 1 1 1 1 10C000FFF255 x K/NK=0 NK指第K个阶梯N指总的阶梯数每一个阶梯占1024/N个地址表(1) 四种波形的数据表地址及对应的存储单元内容二、地址计数器电路 地址计数器由三块74161构成最大模值为1024的计数器。地址计数器从0000000000B计到全1111111111B,可循环产生1K个地址。对4K个波形寻址时EPROM的可直接接地,只要用开关S1、S2选择、从00到11,就可以实现四种波形的选择输出。【实验所需元器件管脚图】 一、555定时器管脚图 二、2764EPROM管脚图 三74LS161管脚图 四、u741管脚图 五、DAC0832管脚图 【实验步骤】一、555定时器构成的多谐振荡器输出测试1、连接好多谐振荡器,从555定时器的3号引脚可以观测到输出的波形;2、调节电位器,并观察输出的波形,时电路输出标准时钟信号脉冲,此脉冲将作为计数器的74161的脉冲输入信号。二、检验计数器的计数功能1、在计数电路的三个74161的输出与低电平之间各接上一个发光二极管,提供脉冲信号,观察发光二极管的亮与灭情况;2、理论上,发光二极管的亮与灭的情况为(以1代表亮,以0代表灭)0000000000、0000000001、0000000010、0000000011、0000000100、00000001011111111010、1111111011、1111111100、1111111101、1111111110、1111111111循环计数。三、在EPROM2764里写入数据1、擦除EPROM2764中的数据。然后把编号的程序写入;2、下面为利用Matlab计算正弦波、方波、三角波等三种固化波形的一个周期的1024点的幅度数据的程序及结果。(1)正弦波的波形数据产生deltax= 2*pi/1024;for i= 1 :1 024x(i)=(i-1)* deltax;y(i)= sin(x(i) *1 27.5+127.5 ;endplot(y)z=round(y)z =Columns 1 through 10128 129 130 131 131 132 133 134 135Columns 1021 through 1024125 126 127 127(2)方波的波形数据产生deltax=4/1024;for i=1:512x(i)= -2+i*deltax;yl(i) =255;endfor i=513:1024x(i)=i*deltax;yl(i)=0;endplot(y1)z=round(yl)z=Columns 1 through 8255 255 255 255 255 255 255 255Columns 1017 through 10240 0 0 0 0 0 0 0(3)三角波的的波形数据产生deltax=4/1024;for i=1:256x(i)= -l+i*deltax;yl(i) =127.5*(x(i)+1)+127.5;endfor i=257:768x(i)=(i-257)*deltax;y1(i) =127.5*(-x(i)+1)+127.5;endfor i=769:1024x(i)=2+(i-769)*deltax;yl(i) =127.5*(x(i)-3)+127.5;endplot(y1)z=round(yl)Z =Columns 1 through 1012 8 128 129 129 130 130 131 131 132 132Columns 1021 through 1024126 126 127 1273、程序写好后,用黑纸吧EPROM2764盖住,避免其受到强光照射,导致其中数据丢失。四、上述三个关键步骤完成后,确认无误,连接波形发生器电路,确认连线无误后,连接电源与地,从运算放大器U741的6号管脚(OUT)接出至示波器,通过波形选择开关,在示波器上显示出正弦波、三角波、方波、阶梯波等四种波形。【课程设计实验体会】(1)本实验设计涉及数学及电路多方面知识,其核心是关于EPROM中对波量化后,电路对应EPROM相对地址提取数据方法试验设计中闫尽量在最大利用EPROM空间,提高波形精度基础上设计可变地址访问以及循环电路。笨电路用74LS161设计器扩展位数达到要求。(2)电路中,对于3片74161扩展循环涉及中,利用进位控制实现总体上原理相对简单,而在连接电路并对其调试过程中遇到很多问题,比如在555定时器输出波形时发现其波形变化很大,频率不太稳定,选择适当电容可以解决问题。(3)在整个实验验证过程中,输出波形幅度始终过小,可以对放大器D/A转换器独立电源提供解决。(4)为了获得跟高的信号频率可以采取以下措施:1,减小波形数据存储空间M,2,采用读出频率更高的EPROM.(5)降低信号频率的方法:1增加波形数据存储空间M,:2,降低振荡器频率;3,增加分频计位数n。(6)综合高低频率要求,只有采用高频的EPROM和增加分频器位数比较合适。【波形发生器电路实验电路图】图(3) 波形发生器设计电路图【附表】采用汇编语言编写程序写入波形的数据ORG 0000HJMP STARTORG 000BH ;定时器T0 入口JMP Time_IntORG 0030HSTART:CONT1 EQU 30H ;外循环次数CONT2 EQU 31H ;内循环次数CONT3 EQU 32H ;外循环次数CONT4 EQU 33H ;内循环次数Line EQU 34H ;当前扫描行数Row_Count EQU 35H ;总扫描列数Key_Num EQU 36H ;键值Read_Buf EQU 37H ;读入键值暂寸ADD_0832 EQU 7FFFH ;DAC0832 地址MOV R0,#04H ;默认是1KHzMOV R1,#05H ;默认是正弦波MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#03CHMOV R2,#10 ;中断程序执行10 次R2变为0SETB EA ;开中SETB ET0SETB TR0;以上完成初始化CJNE R2,#00,TransformKey_Scan_:CALL ScanKeyBoard ;定时中断时间到,调用键盘扫描程序MOV R2,#10;波形判断分支程序*Transform: CJNE R1,#05H,KEY5;R0 是读入的键位值AJMP Sin ;输出正弦波P0KEY5: CJNE R1,#06H,KEY6AJMP Triangle ;输出三角波KEY6: CJNE R1,#07H,KEY7AJMP Rectangle ;输出矩形波KEY7: CJNE R1,#08H,KEY8AJMP Trapezoid ;输出梯形波KEY8: CJNE R1,#0AH,KEY10AJMP Sawtooth ;输出锯齿波KEY10: CJNE R1,#0BH,KEY11KEY11: AJMP Pulse ;输出尖脉冲波;正弦波开始Sin: MOV R7,#00H;从第一个计数点0 开始DISP_SIN: MOV A,R7MOV DPTR,#SIN_TABMOVC A,A+DPTRMOV DPTR,#ADD_0832MOVX DPTR,A ;输出波形CALL Delay_t0CJNE R2,#00,DISP_SIN2AJMP Key_Scan_DISP_SIN2: INC R7AJMP DISP_SINSIN_TAB: DB 80H,83H,86H,89H,8CH,8FH,92H,95H ;256 点正弦表DB 98H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B0H,0B3H,0B6H,0B9H,0BCH,0BFH,0C1H,0C4HDB 0C7H,0C9H,0CCH,0CEH,0D1H,0D3H,0D5H,0D8HDB 0DAH,0DCH,0DEH,0E0H,0E2H,0E4H,0E6H,0E8HDB 0EAH,0ECH,0EDH,0EFH,0F0H,0F2H,0F3H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FCHDB 0FDH,0FEH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FEHDB 0FDH,0FCH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7HDB 0F6H,0F5H,0F3H,0F2H,0F0H,0EFH,0EDH,0ECHDB 0EAH,0E8H,0E6H,0E4H,0E2H,0E0H,0DEH,0DCHDB 0DAH,0D8H,0D5H,0D3H,0D1H,0CEH,0CCH,0C9HDB 0C7H,0C4H,0C1H,0BFH,0BCH,0B9H,0B6H,0B3HDB 0B0H,0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CHDB 98H,95H,92H,8FH,8CH,89H,86H,83HDB 80H,7CH,79H,76H,73H,70H,6DH,6AHDB 67H,63H,60H,5DH,5AH,57H,54H,51HDB 4FH,4CH,49H,46H,43H,40H,3EH,3BHDB 38H,36H,33H,31H,2EH,2CH,2AH,27HDB 25H,23H,21H,1FH,1DH,1BH,19H,17HDB 15H,13H,12H,10H,0FH,0DH,0CH,0AHDB 9H,8H,7H,6H,5H,4H,3H,3HDB 2H,1H,1H,0H,0H,0H,0H,0HDB 0H,0H,0H,0H,0H,0H,1H,1HDB 2H,3H,3H,4H,5H,6H,7H,8HDB 9H,0AH,0CH,0DH,0FH,10H,12H,13HDB 15H,17H,19H,1BH,1DH,1FH,21H,23HDB 25H,27H,2AH,2CH,2EH,31H,33H,36HDB 38H,3BH,3EH,40H,43H,46H,49H,4CHDB 4FH,51H,54H,57H,5AH,5DH,60H,63HDB 67H,6AH,6DH,70H,73H,76H,79H,7CH;正弦波结束;三角波开始Triangle: MOV DPTR,#ADD_0832MOV R6,#80HDISP_TRI1: MOV A,R6MOVX DPTR,ACALL Delay_t0;CALL Delay_t0CJNE R2,#00,DISP_TRI3AJMP Key_Scan_DISP_TRI3: INC R6INC R6CJNE R6,#00H,DISP_TRI1DISP_TRI2: DEC R6DEC R6MOV A,R6MOVX DPTR,ACALL Delay_t0CJNE R2,#00,DISP_TRI4AJMP Key_Scan_DISP_TRI4: CJNE R6,#00H,DISP_TRI2AJMP DISP_TRI1;三角波结束;矩形波开始Rectangle: MOV R7,#00H ;先输出0号值MOV DPTR,#ADD_0832DISP_REC1: MOV R6,#0FFHMOV A,R6MOVX DPTR,ACALL Delay_t0CALL Delay_t0CJNE R2,#00,DISP_REC3AJMP Key_Scan_DISP_REC3: INC R7CJNE R7,#80H,DISP_REC1DISP_REC2: MOV R6,#00HMOV A,R6 MOVX DPTR,ACALL Delay_t0CALL Delay_t0AJMP Key_Scan_DISP_REC4: INC R7CJNE R7,#0FFH,DISP_REC2AJMP DISP_REC1;矩形波结束;梯形开始Trapezoid: MOV DPTR,#ADD_0832MOV R6,#00HDISP_TRA1: MOV A,R6 ;从FF到00MOVX DPTR,ACALL Delay_t0 ;步进为1个t0INC R6INC R6CJNE R6,#0FEH,DISP_TRA1MOV R7,#00HINC A ;调整DISP_TRA2: MOVX DPTR,A ;输出FFCALL Delay_t0 ;步进为2个t0CJNE R2,#00,DISP_TRA4AJMP Key_Scan_DISP_TRA4: INC R7INC R7CJNE R7,#00H,DISP_TRA2;INC R6DISP_TRA3: MOV A,R6 ;从FF到00MOVX DPTR,ACALL Delay_t0 ;步进为1个t0DEC R6DEC R6CJNE R6,#0FFH,DISP_TRA3INC R6AJMP DISP_TRA1;梯形结束;锯齿开始Sawtooth: MOV DPTR,#ADD_0832MOV R6,#0FFHDISP_ST: MOV A,R6 ;从FF到00MOVX DPTR,A CALL Delay_t0 ;步进为4个t0CALL Delay_t0CJNE R2,#00,DISP_ST1AJMP Key_Scan_DISP_ST1: DEC R6AJMP DISP_ST;锯齿结束;尖脉冲开始Pulse: MOV DPTR,#ADD_0832MOV R6,#0FFHDISP_PULSE1: MOV A,R6 ;从FF到00MOVX DPTR,ACALL Delay_t0 ;步进为1个t0DEC R6DEC R6CJNE R6,#01H,DISP_PULSE1MOV R7,#00HDEC ADISP_PULSE2: MOVX DPTR,A ;输出00CALL Delay_t0 ;步进为2个t0CJNE R2,#00,DISP_PULSE4AJMP Key_Scan_DISP_PULSE4: INC R7INC R7CJNE R7,#00H,DISP_PULSE2DEC R6DISP_PULSE3: MOV A,R6 ;从00到FFMOVX DPTR,ACALL Delay_t0 ;步进为1个t0INC R6INC R6CJNE R6,#00H,DISP_PULSE3;DEC R6AJMP DISP_PULSE1;尖脉冲结束;频率转移程序*Delay_t0: CJNE R0,#04H,KEY4;R0 是读入的键位值RET ;输出1KHz 波形KEY4: CJNE R0,#03H,KEY3AJMP t0_100HzKEY3: CJNE R0,#02H,KEY2AJMP t0_10Hz KEY2: CJNE R0,#01H,KEY1;默认输出1Hz 波形KEY1: AJMP t0_1Hzt0_1Hz: MOV CONT1,#50t0_Loop: MOV CONT2,#29DJNZ CONT2,$DJNZ CONT1,t0_LoopNOPRETt0_10Hz: MOV CONT1,#31DJNZ CONT1,$NOPRETt0_100Hz: MOV CONT1,#5DJNZ CONT1,$RET;键盘扫描子程序*ScanKeyBoard:MOV Line,#11111011B ;第一行出0(P1.2=0)MOV Key_Num,#00H ;键盘初值LP1: MOV A,LineMOV P1,AMOV A,P1MOV Read_Buf,A ;暂寸读入数据,为消抖作准备SETB CMOV Row_Count,#04H ;总列数LP2: RLC AJNC KEYLP3: INC Key_Num ;无键按下,键值加1DJNZ Row_Count,LP2MOV A,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁合同设计方案
- 长尾医疗市场在2025年医保支付改革中的机遇与挑战报告
- 2025年特色小镇特色小镇生态环保设施资金申请项目评估报告
- 高考录取大学专业协议书
- 花草绿化管理合同协议书
- 济南救护车采购合同范本
- 签定珠宝展活动合同协议
- 电商供应商合同协议模板
- 自愿现金赠与协议书模板
- 网约车替班司机合同范本
- 师德师风建设领导小组职责及活动安排
- 2025深圳辅警考试真题
- 安全操作规程的基本内容
- 热处理验收记录表
- 人情世故培训
- 塔河县丰收节活动方案
- 研发人员晋升管理制度
- 办公区保洁方案(3篇)
- 2025至2030中国大蒜种子行业发展趋势分析与未来投资战略咨询研究报告
- 《党政机关厉行节约反对浪费条例》培训课件
- 【数学 北京版】2025年高考招生统一考试高考真题数学试卷(真题+答案)
评论
0/150
提交评论