数字存储示波器设计制作报告1.立项依据1.1.1课题研究的目的、意义:(1)课题研究的目的:①通过课题的研究进一步巩固所学的知识,同时学习课程以外的知识,培养综合应用知识的能力。
②锻炼动手能力与实际工作能力,将所学的理论与实践结合起来。
③培养团队精神,加强协作能力,增进同学间的友谊。
④尽力研究出预期成果,如有可能的话申报相关的知识产权,并使成果产业化。
(2)课题研究的意义:①研究过程本身可以使参与者得到极大的锻炼,为将来参加实际工作做好准备。
②研究的预期成果可以弥补现有示波器的不足,如能实现产业化,将在低档型方面有较大市场。
2.课题研究的主要内容及实施方案2.1.1课题研究的主要内容:本课题研究的主要内容是如何建立一套可存储虚拟示波器系统,其具体组成为:①硬件系统:硬件系统由计算机硬件系统和外部硬件系统组成。
这里主要研究外部硬件系统,其主要目标是实现数据采集、AD转换、数据缓冲及压缩、数据存储、向计算机系统传输。
②软件系统:软件系统的主要任务是通过计算机硬件系统读取由外部硬件设备传输来的数据,进行解压、变换、排除干扰信号、将波形显示在显示器上,并进行波形的存储、打印与分析。
在实现以上基本功能的前提下,还可以进行进一步的扩展国,如硬件系统性能的担高、成本的降低、体积重量的减小、接口的扩展;软件系统功能的完善、用户界面的改进、数据的格式化、网络化,最终目标是产业化。
2.1.2实施方案:本系统实施方案如下页图一所示:2.1.3工作条件:信号源、单片机编程器、普通数字示波器、带RS -232串口的计算机系统。
随着工作的进展对实验条件的要求可能会有所变化。
3.问题的分析与几种主要实施方案的讨论3.1.1问题的分析本课题的主要问题在于模拟信号向数字信号的转换。
为了测试高频模拟信号,必须采用高速的模数转换技术。
采样定理指出,要不失真地复现输入信号,采样频率必须大于等于输入信号频率上限的二倍,但在实际工作中,要得到较理想的输入信号的波形,在输入信号的每个周期必须采十个以上的数据点。
这样绘制出的波形图才能比较准确地反映输入信号的特征。
因此,高速采样及模数转换技术成为本课题的主要重难点。
3.1.2几种方案的讨论在本课题的研究过程中,我们提出了以下的方案以解决该问题。
(1) 直接AD 采样该方案采用市售高速AD 转换芯片,直接对输入信号进行采样、转换,然后存储在单片机或RAM 中。
该方案的主要优点是软硬件设计简单,且有很多现成的资料可以参考。
缺点在于速度与价格难以兼顾,市售高速AD 转换芯片的价格与速度基本成指数关系,而且有很多高速AD 转换芯片难于购买。
因此,以较低的价格只能得到较低的性图一:实施方案示意图能。
另一方面,从科技创新本身来说,本方案的技术已经相当成熟,真正创新的内容不多。
(2)取样示波器方案所谓取样示波器,就是在一个周期信号的不同周期采样,从而获得周期信号的信息。
如图二所示:对于输入信号,设其周期为T ,如果能够准确地得到其T /n 的时间,那么就可以每隔T n m ⨯⎪⎭⎫ ⎝⎛+1时间采样一次,采n 个数据点,实际上与在一个周期内采n 个数据点是等价的。
此外,如果将逐次比较AD 转换的各次比较过程分在各个不同的周期,但都对应相同的相位,从理论上来说于在一个周期内采样是等价的,而每次比较的时间总比完整的转换时间短的多,因此分周期逐次比较可以对频率更高的输入信号进行采样。
图二A :直接采样方案示意图图二B :隔周期采样方案示意图该方案的主要优点是可以采集很高频率的周期性输入信号。
但该方案的难点也是很明显的:如何准确获取T /n 的时间。
在本课题的研究过程中,我们曾尝试用集成锁相环CC4046来实现此功能,通过计数器与CC4046可以实现对经过整形的输入信号2101分频,再21倍频,实质上就是锁定输入信号周期的211100的时间。
但发现在倍频时CC4046很难锁定,几乎得不到稳定的输出波形。
因此该方案最终被放弃。
事实上,该方案还是有前景的。
可以考虑使用稍高档的集成锁相环,可能可以解决失锁的问题,另外,如果采用数字锁相环,或者用单片机结合PLD ,可以实现数字锁相,从而得到更精确更稳定的取样控制脉冲信号。
(3)电压比较方案以上两个方案都是通过在特定的时刻对输入信号采样而得到输入信号的信息。
但由于输入信号是模拟量,就必须进行AD 转换,而AD 转换的速度限制了整个采样及转换过程的速度的提高。
与之相比,使用高频时钟(74LS 系列的计数器理论最高时钟频率都可达到数十MHz )和多位计数器计时,可以非常容易地把时间变为数字量。
该方案避开AD 转换,而通过DA 转换输出一个参考电压,将输入信号与参考电压进行比较,记录比较器输出翻转的时刻,这一时刻可以认为是输入信号与参考电压相同的时刻,而且可直接从计数器中读出该时刻对应的数字量;对于周期信号,与方案(2)中类似,在不同的周期中采样,可以采集非常频率高的周期信号。
图三:电平比较方案示意图该方案的主要难点是比较器上的干扰如何抑制。
在实验中,发现比较器的输入端干扰非常大,这与我们的实验条件有一定关系。
最终还是没能克服这个问题而放弃了该方案。
(4)频域分析方案该方案原理类似于频谱仪。
对于周期输入信号,分析其各次谐波分量的幅值与幅角,就可以求出其波形。
由于常用的周期信号高频分量衰减得都很快,因此只用分析几次谐波就可以得到较精确的结果。
此方案的难点在于本级振荡中的频率合成,以及各次谐波的幅角的测量。
由于我们没有学过相关的知识,因此未采用此方案。
综上所述,四种方案各有优缺点。
其中前三种方案我们都曾尝试过。
由于时间、实验条件等诸多原因,最终我们采用了方案(1)。
4.本数字存储示波器系统概述本数字存储示波器系统。
有两种工作状态:实时采集、存储输入。
实时采集方式适用于输入信号频率较低(<100Hz)的情况。
工作在该方式时,输入信号经过AD转换,对应的数字量传入单片机,然后立即通过串行线传输到计算机中。
存储输入方式则是用于输入频率信号较高(100Hz~50kHz)的情况。
工作在该方式时,采用DMA(直接存储器访问)技术,输入信号经过AD转换,对应数字量直接写入RAM中。
转换完毕后,再通过串行线将RAM中的数据传输到计算机中。
采集过程与传输过程可以分别进行,采集过程不需要计算机参与,只要不掉电,波形数据可以存储任意长时间。
本数字存储示波器系统由硬件系统和软件系统组成。
其中硬件系统实现输入信号的放大/衰减、AD转换、DMA控制等;软件系统又分为单片机软件与计算机软件两部分。
单片机软件系统控制硬件系统以及串行数据的传输等;计算机软件处理数据,以实现绘制、打印波形、频谱分析等功能。
5.硬件系统硬件系统由以下几部分组成:(1)CPU及其外围设备本系统CPU采用Atmel AT89C52单片机,其外围设备包括RAM62256、串行传输电平变换芯片MAX232以及CPU时钟、键盘等。
(2)AD转换、DMA控制电路这部分电路是本系统的核心部分,负责数据的采集和存储,同时根据两种不同的工作方式采用不同的逻辑。
当用户指定工作方式后,CPU会给出相应的控制信号,这部分电路根据给出的信号控制各芯片的片选、锁存等。
具体地说,CPU 的P1.2与P1.4端提供AD的控制信号。
具体逻辑如表一:址发生器与62256地址线间的缓冲器。
[2]实时采集时AD的控制信号由CPU P1.3端提供。
[3]以上三个片选均为低有效。
本系统采用AD公司的高速AD转换芯片AD7820,原厂资料中该芯片的转换时间为2μs,有两种工作模式。
其中直通工作模式最简单,而且适合本系统工作要求,因此采用这种工作模式。
如图三所示,工作在直通模式时,AD7820的RD端接低电平,MODE端接高电平。
WR端为高电平时,输出保持不变,INT保持低电平;当WR变为低电平后,AD转换启动,同时INT变为高电平。
WR低电平应保持twr=(600ns-50μs);当WR再次变为高电平后,AD转换的结果经输出缓冲器输出并锁存,同时INT变为低电平。
从WR的上升沿到AD输出有效数字的时间为tint=700ns(典型值),两次转换间隔时间为tp=600ns(最小值)。
图四:AD7820工作时序图(摘自AD公司原厂资料)本系统工作在DMA方式时,采用6Mhz振荡器,经16分频后得到周期为2.67μs、占空比为50%的方波,将其接至AD7820的WR端,则可满足上述时序的要求。
工作在实时采集方式时,则由CPU P1.3端提供WR信号。
本系统工作在DMA方式时,62256 WR端接AD7820 INT端,则每次采样完毕后,AD7820直接向62256写入数据。
其他控制时序和控制逻辑较简单,用一片译码器74LS138和一片数据选择器74LS253按表一中的逻辑联接即可。
(3)时钟及地址发生器本系统地址发生器由四片四位计数器74LS161级连而成,最低位计数器的时钟接AD7820 INT端(附加两个非门延时),这样AD每完成一次转换就向62256内写入一次数据,启动下一次转换的同时将地址计数器输出增一。
四片74LS161共有16根输出线,其中低十五位通过缓冲器(表一中缓冲器2)接至62256地址线,最高位经反相后接CPU INT0端。
当计满15位向第16位进位时,触发CPU 中断0,CPU响应中断后即停止DMA控制器的工作,系统即完成一轮AD转换及向62256种存储数据的过程。
本系统的时钟发生器及前面所述的6Mhz振荡器及16分频电路。
振荡器由石英晶体振荡器及非门等构成,16分频采用计数器74LS161。
这部分电路比较简单,不再赘述。
6.软件简介:本软件主要完成数字示波器的数据后期处理工作;开发环境:Visual C++ 6.0适用平台:Windows 9X/Me/2000/XP可执行文件大小:2.26MB附加文件:mfc42.dll, MSCOMM32.OCX, msvcrt.dll主要功能如下:6.1.1串行数据接收:采用VC附带ActiveX控件Microsoft Communications Control, version 6.0实现串口数据的接收;如果内存允许,采集点数不限;因此,本软件也满足过程控制中大容量数据采集及图形处理的需要;6.1.2数字滤波:采用多项式光滑不等距插值,本方法是制定n个不等距节点x i(i=0,1,-------,n-1)上的函数值yi=f(xi)及精度要求,利用阿克玛(Akima)方法,计算指定子区间上的三次插值多项式与指定插值点上的函数值;函数的调用格式为:GetValueAkima(int n, double x[], double y[], double t, double s[], int k /*= -1*/)6.1.3图像处理:(1)波形图:完成采集波形的绘制,支持各种动态操作,包括:图像的整体放大,整体缩小,还原初始最佳大小,移动,X向放大、缩小,Y向放大、缩小;支持各种编辑操作,包括:图像数据的存储(存储成.sun文件),波形图、频谱图的打印,波形图、频谱图的拷贝(可在Word等编辑软件中粘贴);支持波形图相及示波屏幕的视觉效果调整,包括:波形图、频谱图曲线颜色的任意调整条,线条宽度的调整,示波屏幕全屏化,背景模式的调整;支持波形图处理数据量的动态调整:以克服图像失真,及图形处理速度慢等问题;支持任意点电压值,时间值;两点之间电压差,时间差的动态读取;支持采集数据的十六进制,十进制现实,支持数据的拷贝(可转移到Excel 等数据处理软件中处理);(2)频谱图:采用离散Foriour变换,绘制周期图像的离散谱,非周期图像的连续谱,并给出相应频谱信息:对于以上功能,提供方波,正弦波,随机波,单位阶跃响应四组测试数据模拟采集数据,供使用者练习,以熟悉本软件;提供使用说明,供使用者参考;6.1.4软件界面效果如下:(1)主界面:图五:软件主界面(非实际大小,下同)(2)波形图界面:图六:波形显示界面(3)波形图示数面板界面:图七:波形读数面板界面(4)频谱图界面:图八:频谱图显示界面7. 测试结果测试方法:以信号源的输出作为本系统的输入,分别测试本系统在两种不同工作方式时对应各种频率、各种形式的输入信号的输出如下:7.1.1存储输入方式:(1)1kHz正弦波输入1,原图如下:图九:1kHz正弦波波形(原图)(1)(2)1kHz正弦波输入2,原图如下:图十:1kHz正弦波波形(原图)(2)(3)2kHz方波输入信号,原图经局部放大后如下:图十一:2kHz方波波形(局部放大图)(4)45kHz正弦波输入信号,原图经局部放大后如下:图十二:45kHz正弦波输入信号(局部放大图)(5)60kHz锯齿波输入信号,原图经局部放大后如下:图十三:60kHz锯齿波波形(局部放大图)7.1.2实时采集方式:(1)0.7Hz调节占空比后的正弦波,原图如下:图十四:0.7Hz调节占空比后的正弦波(原图)(2)5Hz正弦波输入信号,原图如下图十五:5Hz正弦波波形(原图)(3)60Hz方波输入信号,原图经过局部放大如下:图十六:60Hz方波(局部放大图)(4)100Hz正弦波输入信号,原图经过局部放大如下:图十七:100Hz正弦波(局部放大图)(5)100Hz方波输入信号,原图经过局部放大如下:图十八:100Hz方波(局部放大图)(6)200Hz正弦波输入信号,原图经过局部放大如下:图十九:200Hz正弦波(局部放大图)7.1.3关于测试结果的讨论:从以上各图中可以看出:(1)不论工作在那种方式时,当输入信号频率相对较高时,显示出的波形将很密集而难于观察,因此部分波形经过了局部放大以便于观察。