《波形采集、存储与回放系统设计报告》由会员分享,可在线阅读,更多相关《波形采集、存储与回放系统设计报告(32页珍藏版)》请在金锄头文库上搜索。
1、基于 51 单片机电子设计报告之波形采集、 存储与回放系统院 系: 电子通信工程团 组:姓 名: 110指导老师:2012/8/152 目录一 、 设计任务求 , 3二、 系统方案论证与选择 , 6三、系统硬件的设计 , 10四、 系统软件的设计 , 12五、 参考文献 , 14六、 结论 , 15附录 , 16附录 1 程序代码 , 16 附录 2 硬件原理图 , 30附录 3 PCB 图(部分) , 32 3 一、 设 计任务求、任 务设计并制作一个波形采集、存储与回放系统,示意图如图 1 所示。该系统能同时采集两路周期信号波形, 要求系统断电恢复后, 能连续回放已采集的信号,显示在示波器
2、上。、要求1 基本要求( 1)能完成对 A 通道单极性信号(高电平约 4V、低电平接近 0V)、频率约 1kHz 信号的采集、存储与连续回放。要求系统输入阻抗不小于 10 k ,输出阻抗不大于 1k 。( 2)采集、回放时能测量并显示信号的高电平、低电平和信号的周期。原信号与回放信号电平之差的绝对值 50 mV,周期之差的绝对值 5%。( 3)系统功耗 50mW,尽量降低系统功耗,系统内不允许使用电池。4 2. 发挥 部分( 1) 增加 B 通道对双极性、 电压峰峰值为 100mV、 频率为 10Hz10kHz 信号的采集。可同时采集、存储与连续回放 A、 B 两路信号,并分别测量和显示 A、
3、 B 两路信号的周期。 B 通道原信号与回放信号幅度峰峰值之差的绝对值 10 mV,周期之差的绝对值 5%。( 2) A、 B 两路信号的周期不相同时,以两信号最小公倍周期连续回放信号。( 3)可以存储两次采集的信号,回放时用按键或开关选择显示指定的信号波形。( 4)其他。、 说 明1本系统处理的正弦波信号频率范围限定在 10Hz10kHz,三角波信号频率范围限定在10Hz 2kHz,方波信号频率范围限定在 10Hz 1kHz。2预留电源电流的测试点。3采集与回放时采用示波器监视。4采集、回放时显示的周期和幅度应是信号的实际测量值,规定采用十进制数字显示,周期以“ ms”为单位,幅度以“ mV
4、”为单位。、 评 分 标 准5 6 二、 系 统方案论证与选择1、 题目要求及相关指标分析题目的要求是将待测信号进行数字存储, 并通过普通示波器将被测信号显示出来。 由于待测信号为模拟信号, 存储过程为数字方式,故应该将模拟信号进行量化处理, 然后存储到存储器中, 当需要显示的时候, 从存储器读出数据并恢复为模拟信号, 并送往普通示波器 Y输入端,在 X 输入端加入相应的扫描信号,采有 X-Y 方式观察信号的波形。因此, 设计的重点是模拟信号的处理与采样、数字信号的存储、普通示波器的显示控制、系统的控制 4 个方面。2、 方案的比较与分析1)采样方式方案一:实时采样。实时采样是在信号存在期间对
5、其采样。根据采样定理, 采用速率必须高于信号最高频率分量的两倍。 对于周期的正弦信号, 一个周期内应该大于两个采样点。 为了不失真的恢复原被测信号,通常一个周期内就需要采样八个点以上。方案二:等效时间采样法。采用中高速模数转换器,对于频率较高的周期性信号采用等效时间采样的方法, 即对每个周期仅采样一个点, 经过若干个周期后就可对信号各个部分采样一遍。 而这些点可以借助步进延迟方法均匀地分布于信号波形的不同位置。 其中步进延迟是每一次采样比上一次样点的位置延迟 t 时间。只要精确控制从触发获得采样的时间延迟, 就能够准确地恢复出原始信号。 等效时间采样虽然可以对很高频率的信号进行采样, 可是步进
6、延迟的采样技术与7 电路较为复杂。再者,它只限于处理周期信号,而且对单次触发采样无能为力。 实时采样可以实现整个频段的全速采样, 因此本设计采用方案一。2)双踪显示方式方案一:每个通道都有一套独立的 ADC 和存储器,双踪显示时,只需轮流选择不同通道的波形数据,就可以实现两路波形的同时显示。方案二: 只使用一片 ADC, 一片存储器和一片 DAC, 在采样的时候,用存储器地址的最低位控制模拟开关。 通过切换两路模拟信号, 将采集到的数据分别存储到存储器的奇地址和偶地址上, 双踪显示时通过扫描存储器中的数据即可将两路波形同时显示出来。 方案二使用的硬件电路较少,故我们选择方案二。3)触发方式选择
7、要使屏幕上显示稳定的波形,则需将被测信号本身或者与被测信号有一定时间关系的触发信号加到触发电路。 触发源选择确定触发信号由何处供给。 通常有三种触发源: 内触发 (INT) 、 电源触发 (LINE) 、外触发 EXT) 。 题目要求选择内触发, 即使用被测信号作为触发信号。8 方案一:采用数字触发方式。对波形信号进行采集,将采集到的波形数据和触发电平(可由键盘设置)进行比较,找到波形在上升过程中大于或等于该触发电平的点, 即得到触发, 此时开始对波形进行存储。 因为本来就需要对波形信号进行采集, 使用这种方法无需要增加额外的硬件电路,实现方便。但是,对波形每个周期只采集有限个点, 不可能每次
8、都能采集到等于触发电平的点 (这时不得不以大于该电平的值为触发电平) ,从而使触发位置不稳定,连续触发时输出波形会有抖动现象。方案二:采用模拟触发方式。通过比较器 LM311 将被测波形信号和触发电平进行比较, 大于触发电平时输出为高电平, 小于触发电平时则输出低电平, 即可得到信号被整形后的脉冲序列, 再在该脉冲序列的上升沿开始存储波形即实现了触发存储的功能。 这种触发方式稳定,故我们采用了这种方案。4)水平和垂直位置的调节a)水平移动的调节方案一:由 FPGA 内地址累加器的输出控制数模转换器不断地输出锯齿波。在后级加一个加法器,调节滑动变阻器 R 的阻值,可以实现对锯齿波波形的直流电平叠
9、加, 从而达到调节显示器上波形左右位置的平移功能。方案二:通过对双口 RAM 读出数据的起始地址的偏移控制来控制波形的左右移动。方案一实现左右平移,电路简单,效果明显。但是一页屏幕的9 波形通过这样的平移, 就必然会将一部分的波形移动到示波器屏幕以外, 同时将示波器的另一边变成空白。 这样不符合实际数字示波器的功能要求。再者,它也实现不了 auto 的功能。而方案二方法新颖,对于波形在屏幕的满屏显示和 auto 的功能都可以轻易处理和简单实现。于是本设计采用方案二。b)垂直移动的调节方案一与上述水平移动调节的方案一相同。方案二是直接对双口 RAM 的数据进行处理。譬如向上平移,可将波形的所有数
10、据都加上一个偏移值,然后送到 DAC0832,直接将输出的模拟信号加在 y轴上。但这种方法的问题是当 RAM 中数据较大时,加上某一个偏移值后数据均达到 255,则波形的上半部分就会被削平。而通过加法电路的调节则不会出现这个问题。故我们选用方案一。5)频率的测量方案一:用单片机扫描存储在 RAM 中波形数据,找到波形的上升过零点位置或者波形数据的峰值,并记录此时的地址 ADR1,在扫描下一个波形的上升过零点位置或者波形数据的峰值, 并记录此时的地址 ADR2,通过如下公式计算出波形的频率:f = 1/B (ADR2-ADR1)/20 其中, B 为水平分辨率,单位为 s/div。方案二:等精度
11、测量法先将待测信号进行二分频,用此信号作为闸门。取 FPGA 内部40M 信号作为基准信号,二分频后信号的上升沿开起计数器时钟计10 数,下降沿关闭计数。由计得的数值来计算信号的频率。方案一计算的频率数据的精度不会很高, 加上采样的不稳定, 必将导致频率测量的不正确。 而方案二测量的稳定性较高且数据较准确。 故我们选用方案二测量信号的频率。三、 系 统硬件的设计DAC0832 输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。实验线路如图所示。1. 运算放大器运算放大器有三个特点:开环放大倍数非常高,一般为几千,甚至可高达 10 万。在正常情况下,运算放大器所需要
12、的输入电压非常小。输入阻抗非常大。 运算放大器工作时, 输入端相当于一个很小11 的电压加在一个很大的输入阻抗上,所需要的输入电流也极小。输出阻抗很小,所以,它的驱动能力非常大。2.DAC0832的外部连接DAC0832 的外部连接线路如图 10.10 所示。3. 运算放大电路和低通滤波电路LM324 的 5 管脚与 DAC0832 的( IOUT2) 12 管脚相连, LM324的 6 管脚与 DAC0832 的( IOUT1) 11 管脚相连, LM324 的 7 管脚与DAC0832 的 REF( 9)管脚相连 . 第一级运算放大器的作用是将 DAC0832 输出的电流信号转化为12 电
13、压信号 V1,第二级运算放大器的作用是将 V1 通过反向放大电路 -( R2/R1)倍。实验表明,输出波形效果不错四、 系 统软件的设计本程序的程序流程图如下所示13 14 五、 参 考文献1 康华光 . 电子技术基础模拟部分(第五版) . 高等教育出版社,2005年 . 2 阎 石 . 数字电子技术基础(第五版) . 高等教育出版社, 2005年 . 3 刘爱华 满宝元 . 传感器原理与应用技术 .人民邮电出版社, 2011年 . 4 马 彪 . 单片机应用技术 . 同济大学出版社, 2010年 . 5 郭天祥 . 51 单片机 C 语言教程 . 北京 : 电子工业出版社, 2012 年 .
14、 6 刘建清 . 轻松玩转 51 单片机 C 语言 .北京航空航天大学出版社,2011 年 . 7 彭 伟 . 单片机 C语言程序设计实例 100例 . 北京 : 电子工业出版社, 2011 年 . 15 六、 结 论本方案的系统设计符合 2011 年全国 大 学 生 电 子 设计竞赛试题 ( H)题的要求。 通过单片机控制一个数模转换器 DAC0832 将采集到的数据进行模数转并经过运算放大器 LM324 可以将其电流输出线性地转换成电压输出到外部设备示波器进而实现波形的采集存储与回放。16 附录 ,附录 1 程序代码 ,/*adc.h 文件 */ #ifndef _ADC_H_ #defi
15、ne _ADC_H_ void DelayUs2x(unsigned char t); void DelayMs(unsigned char t); bit LCD_Check_Busy(void) ; void LCD_Write_Com(unsigned char com); void LCD_Write_Data(unsigned char Data); void LCD_Clear(void); void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) ; void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data); void LCD_Init(void) ; void init1602(void) ; void Delay_Ms (unsigned int a); void ADC_Init (unsigned char CHA); unsigned char ADC_Read (void); #endif 17 /*-