简易数字存储示波器的设计

2012-07-13 06:29刘智朋王珊珊
电子设计工程 2012年14期
关键词:示波器液晶波形

刘智朋,王 顶,王珊珊

(西北工业大学 电子信息学院,陕西 西安 710129)

传统意义上的模拟示波器虽然功能较全,但是价格昂贵,体积大、重量重、成本高、等一系列问题使应用受到了限制。对于大多数学生以及教学组织来说,利用示波器主要是进行一些理论性的测试与实验,高精度高成本示波器的作用不是很必要,为此,笔者提出了一种便携式数字存储示波器的设计,它采用了LCD显示、高速A/D采集与转换、FIFO以及单片机等技术,具有较强的实用性以及发展的市场潜力,前景可观。

1 简易数字示波器的工作原理以及总体框架

本设计硬件电路部分由单片机控制系统电路[1],前向输入调理电路,模数转换和存储电路,以及按键显示电路组成。其工作的基本思路就是以单片机为控制核心,让AD芯片完成数据的离散化,采集数据经过缓冲暂存于存储器里面,当波形显示时,单片机从存储器的读使能端读取采集数据存于数组中,然后进行相应的数据处理并把所存取得数据按一定的顺序打在液晶显示器相应的位置上,从而再现波形信号;其中输入调理电路由阻抗变换电路,信号抬升电路以及频率测量电路构成,阻抗变换电路是为了提高输入阻抗,信号抬升是为了使信号的幅度满足AD芯片的输入幅度要求,频率测量电路主要是测量周期性信号的频率。总体设计框图如图1所示[2]。

图1 总体设计框图Fig.1 Overall design diagram

2 硬件设计

2.1 前端信号的处理

本模块具有两大功能,一是输入信号位置的变换;二是信号波形的变换。

信号位置的变换主要由阻抗变换电路,信号抬升电路构成,阻抗变换采用ua741构建的阻随放大电路,信号抬升电路采用ua741构成的加法电路,信号位置的处理主要是对被测输入信号在幅度与偏移方面进行线性处理,使信号在垂直方向上处于A/D转换器的输入范围内。波形变换电路是用来测量输入信号的频率,但是单片机属于数字器件,为此,我们需要对输入信号进行波形变换以及脉冲整形;硬件电路设计如图2所示。

2.2 信号的采集与存储

图2 输入调理电路Fig.2 Input conditioning circuit

数据采集部分[3]是本设计的核心部分,本设计采用BB公司的8位AD,试验中让AD完成数据采集,采集完数据送往FIFO,通过FIFO中继再送往单片机,FIFO是一种双口RAM,它没有地址线,随着写入数据或者读取数据而使地址指针进行递增或者递减来实现寻址,两者中间接了一个缓冲器,这样可以起到数据缓冲作用,在MCU与AD之间接入FIFO的作用是起到数据缓冲的作用,因为AD的时钟高于MCU的工作频率,所以让AD和FIFO同步工作来存储AD转换的输出数据,实验中AD与FIFO的时钟同步,来自于ALE引脚,为了使时钟更加稳定,可以让ALE信号先经过与门再送往采集存储模块;FIFO有3个标志位引脚,FF满标志,HF半满标志以及EF空标志,本设计只利用了FF满标志,当FIFO存满时通知单片机来读取数据,这是单片机使FIFO的写使能禁止,只来读取数据以显示,硬件电路设计如图3所示。

图3 采集存储电路Fig.3 Acquisition memory circuit

2.3 液晶显示

试验中波形的显示[4]是借助Ms12864R,采用8位并行数据处理,利用了液晶的打点功能,数据采集的先后顺序体现在液晶的横轴上面,也就是波形显示的时间先后,而数据值的大小则体现在液晶的纵轴上面,也就是波形的幅度体现。由于采用FIFO,所以先采样的点后显示,这是波形显示的核心,如图4所示。12864主要有4个编程端口,RS(数据命令选择),RW(读写选择),EN(使能端)以及 PSB(串并选择),电路连接中分别接到单片机的某一I/O口上。

图4 液晶显示结果Fig.4 LCD Show results

2.4 按键电路

本设计需要按键较少,因为设计要求X方向能够设置10us/div,20us/div,40us/div三档水平扫描速度,Y方向能够设置0.5V/div、1V/div二档垂直灵敏度,加之幅度和频率的测量,所以本设计要6个独立按键就够了。

3 软件部分

3.1 总体程序框图

总体程序框图如图5所示。

图5 总体程序流程图Fig.5 Overall program flow chart

3.2 测量频率流程图

测量频率流程图[5]如图6所示。本设计频率测量是基于计数法和测周期法混合使用[6]。其基本思想就是先测量1 s内被测信号的上升沿个数,来一个上升沿计数器加1,为了防止计数器产生溢出,设计中将1 s分成20个50 ms,中断20次,测出信号频率,如果频率值小于1K,则改用测周期法。

图6 频率测量流程图Fig.6 Frequency measurement of the flow chart

3.3 液晶打点流程图

打点操作是作图的基础,由于st7920控制器的绘图RAM是一次进行两个2个字节的数据的读写操作,也就是一次修改的是16个点的状态,而我们要想只修改一个点的状态同时不改变其余相邻15个点的状态,那只能是先把原来位置的16个点的状态读出,使用位操作指令修改其中一个点的状态,然后在回写到RAM中。整体的过程即是:读取-修改(位状态)-写入[4]。液晶画点是编程的难点与重点,需要把液晶纵向每隔转换为电压,要把水平方向转化为时间,将波形显示出来,其步骤如下:先确定打点的位置;其次读出该点所在的数据值;接着修改该点相应的位的值,对于单色液晶来说,只有两种操作,一是点亮该点,另一种是熄灭该点;最后将修改后的数据值写入对应的地址。打点流程图如图7。

图7 液晶打点流程图Fig.7 LCD RBI flow chart

3.4 测试结果

波形测试结果(波形之一,其他略)

频率幅度测试结果如表1所示。

4 结束语

本系统按照功能全面,指标合理,总体价格低廉的要求设计了硬件电路,充分地利用了单片机的I/O接口,使之成功地实现了频率的测量,信号幅度的测量,以及不同灵敏度波形的显示。而且幅度频率测量误差较小,显示波形没有明显的失真,满足设计要求。如果利用高端控制器,则可以实现高精度的测量,前景远大,很有研究价值。

表1 频率幅度调试结果Tab.1 Frequency amplitude debugging results

[1]郭小虎,陈鹏鹏.基于单片机和FPGA的简易数字存储示波器设计[J].电子设计工程,2008(6):39-42.

GUO Xiao-hu,CHEN Peng-peng.Based on microcontroller and FPGA design of simple digital storage oscilloscope[J].Electronic Design Engineering,2008(6):39-42.

[2]刘杨斌,刘其峰,华慧.基于AT89S52单片机的简易数字示波器设计[J].现代电子技术,2011,34(14):138-140.

LIU Yang-bin,LIU Qi-feng,HUA Hui.Simple digital oscilloscope design based on AT89S52[J].Modern Electronic the Technology,2011,34(14):138-140.

[3]张勇.基于双MCU的简易数字示波器设计[J].沈阳师范大学学报,2009,27(2):202-205.

ZHANG Yong.Simple digital oscilloscope design Based on dual MCU[J].Shenyang Normal University,2009,27(2):202-205.

[4]郭天祥.单片机原理及应用[M].北京:电子工业出版社,2009.

[5]赫建国,刘立新,党剑华.基于单片机的频率计设计[J].西安邮电学院学报,2003,8(3):31-34,72.

HE Jian-guo,LIU Li-xin,DANG Jian-hua.frequency design based on microcontroller[J].Jornal of Xi’an Institute of Posts and Telecommunications,2003,8(3):31-34,72.

[6]牛晓弟,马洪涛,高志勇.数字频率计的设计[J].电脑开发与应用,2009,22(9):47-49.

NIU Xiao-di,MA hong-tao,GAO zhi-yong.Digital frequency meter[J].Computer Development and Application,2009,22(9):47-49.

[7]李师贤,蒋爱军.C++primer中文版[M].北京:人民邮电出版社,2010.

猜你喜欢
示波器液晶波形
不可压液晶方程组的Serrin解
《液晶与显示》征稿简则
基于LFM波形的灵巧干扰效能分析
用于SAR与通信一体化系统的滤波器组多载波波形
一款教学示波器的Y通道设计与实现
可携带式虚拟双踪示波器
基于TEGRA K1的实时信号处理示波器的设计
基于ARM的任意波形电源设计
双丝双正弦电流脉冲波形控制
液晶与显示2015年第30卷第1期 目录