基于AT89S52单片机的简易数字示波器设计
扫描二维码
随时随地手机看文章
摘要:介绍一种双通道简易数字示波器的设计方案,以AT89S52单片机作为控制核心,输入信号在经过预处理电路处理后,通过高速A/D转换器ADC0809,实现信号的实时采样、数据处理、存储并在液晶上显示,并用键盘做功能设置。该设计创新地实现了波形的存储/回放、双通道信号实时对比分析、程控放大提高灵敏度等方面。测试结果表明该系统稳定,具有测量频率高、波形清晰、可靠性高、成本低等特点,有很高的实用价值。
关键词:数字示波器;AT89S52;预处理电路;ADC0809;实时采样
0 引言
数字示波器是一种用途十分广泛的电子测量仪器。与传统模拟示波器相比,数字存储示波器不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能,在电子电信类实验室中使用越来越广泛。
随着电子技术的发展和电路结构的变化,对电路测量的要求也变得更高。对广大理工科学生和从事电子等相关行业的普通工作者在电子制作、产品维修等中,很多电路参数需要测量分析,经常需要使用数字示波器。但目前我国使用的高性能数字示波器普遍价格昂贵,所以研究简易数字示波器具有重要意义。
1 系统结构和工作原理
1.1 系统结构
该设计以AT89S52单片机为控制核心,由预处理电路(包括阻抗变换、程控放大、信号调理电路)、A/D数据采集电路、E2PROM存储电路、功能键盘、LCD显示电路以及电源等部分组成。系统结构框图如图1所示。
1.2 工作原理
数字示波器有二个输入通道。预处理电路由阻抗变换、程控放大、信号调理电路组成。输入信号先经阻抗变换电路后进入程控放大电路,根据需要对信号进行放大(衰减)处理,然后信号再进入信号调理电路进行电平调整成为符合A/D转换要求的0~5 V电压。之后输出的模拟信号经过高速A/D转换器AD0809实时采样变成数字信号,经过AT89S52单片机后储存在半导体存储器E2PROM中。单片机从存储器中读出信号
进行运算处理,将波形显示在LCD液晶屏上。所有功能可由键盘操作完成。
2 硬件设计
2.1 单片机
AT89S52是一个低功耗,高性能CMOS8位单片机,具有8 192个在系统可编程FLASH存储器。采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。
系统采用AT89S52单片机作为主控芯片。单片机首先通过控制A/D转换器把模拟信号转换成数字信号,之后将数字信号存储在E2PROM存储器中,最后在LCD液晶上显示出模拟信号的波形。
2.2 程控放大电路
程控放大电路的作用是对大信号进行衰减,对小信号进行放大,保证输入到A/D转换器的信号幅度在要求的输入电压范围内,以达到最好的测量与观察效果。采用模拟开关CD4051,运算放大器为OPA842,配合精密电位器实现多挡垂直分辨率。在AT89S52单片机中使用寄存器模块设置通道号,通过写入通道号控制模拟开关选通不同的反馈电阻,从而实现不同的放大倍数,具体的电路如图2所示。
2.3 信号调理
由于示波器观察信号大多是正负电压信号,而A/D转换器AD0809是单极性参考电压。为了采样到信号的负电压,就需要给该信号叠加直流量,将负电压部分信号抬高至零电平以上,因此采用信号调理电路,将信号调理在满足A130809的0~5 V范围内。R1,R2,R3,U1即为程控放大电路的简化模块,电路如图3所示。
2.4 数据存储电路
E2PROM是数据存储电路的关键器件,本文选用Atmel公司新近推出的具有I2C总线容量达512 Kb(64 K×8 b)的AT24C512。该芯片的主要特性如下:存储容量为65 536 B;与100 kHz,400 kHz,1 MHzI2C总线兼容;100 000次编程/擦写周期;单电源、读/写电压为1.8~5.5 V;ESD保护电压大于4 kV;写保护功能,当WP为高电平时,进入写保护状态;CMOS低功耗技术,最大写入电流为3 mA;128 B页写入缓存器;自动定时的写周期。SDA线和SCL分别与单片机的P2.4和P2.5口相连。数据存储电路如图4所示。
2.5 其他硬件电路
A/D转换模块:A/D转换器选用ADC0809,ADC0809是CMOS单片型逐次逼近式A/D转换器,可处理8路模拟量的输入,且有三态输出能力,即可与各种微处理器相连,也可单独工作。输入/输出与TTL兼容,转换时间约为100μs。
键盘控制模块:该系统选用5个独立键盘做功能键,作用分别为运行与停止,波形的放大,波形的减小,波形的上移,波形的下移。
LCD液晶显示电路:该设计采用MGL(S)-240128T液晶显示器。单片机P1口与LCD的数据口连接,用于数字信号的读取,P3.6,P3.7作为液晶显示模块的读/写控制信号端口,P2.5作为LCD的片选端口。
3 软件设计
软件设计部分主要包括主程序模块、A/D转换模块、LCD显示模块、按键处理模块,其流程图如图5所示。
3.1 A/D转换部分
当定时器产生中断时,ADC0809将输入的模拟量转换成数字量。ADC0809的转换速率最大可达640 kHz,程序设定了定时器时间间隔为2μs,所以采样频率达到了500 kHz。
3.2 键盘扫描部分
设定了1个按键实现波形的运行与停止,4个独立按键用于改变波形的尺寸。amp和time两个参数分别用于调整幅值和时间轴的大小,当MCU检测到按键被按下时,两个参数的值相应地发生改变,从而改变了波形的大小。
3.3 LCD显示部分
A/D产生的第一个数据,其对应的点排在第一列,这样就确定了该点的横轴位置,纵轴的位置由数字信号大小按比例换算而来。由于采样频率一定,所以每2个点之间的时间间隔相同,下一个点排第二列,以此类推。
3.4 数字存储部分
数字存储芯片选择了Atmel公司推出的AT24C512,其作用是存储不同时刻的信号大小,克服了模拟示波器只能显示当前波形的缺点。由于该芯片采用I2C总线传输数据,所以需要单片机的I/O口用来模拟该总线。
4 结语
本文设计的以AT89S52单片机为控制核心的数字示波器,在软硬件有机结合下,可以达到所要求的性能指标,运行稳定可靠。测试表明该数字示波器具有较高的实时采样率,可以将采集到的数据经过硬件电路、软件程序转换成相应的波形很好的显示在液晶显示屏上。该数字示波器能够实现波形的采集、调理、存储、显示等功能,通过键盘对波形进行相应的功能设置,具有体积小、操作简单、方便、设备廉价等特点。在后续的改进中,可以利用分频合成技术进行采样频率合成,提高其采样频率,同时该数字示波器还具有一定的扩展能力,具有广阔的应用前景和实用价值。