示波器仿真软件的设计与实现
2012-08-01陈长鹏何长英
黄 勇,陈长鹏,何长英
(武汉理工大学理学院,湖北 武汉 430070)
示波器是电子测量领域最常用的仪器之一,通过它不但可以清晰地观察信号波形,还可以定量测量信号的周期、振幅和两信号的相位差等参数[1]。LabVIEW是美国国家仪器公司推出的虚拟仪器软件开发平台,与传统的模拟示波器相比,其软件系统仿真硬件功能可以大大节约仪器成本、节省开发与维护费用。有许多对虚拟示波器的设计与开发进行研究的文献,如文献[2-4]介绍了如何开发自定义仪器功能的虚拟示波器,论述了虚拟仪器技术在测量领域中的应用。研究虚拟仿真技术在实验教学方面的应用也有重要的意义,针对特定型号示波器用LabVIEW开发相应的仿真软件,以满足教学演示和学生预习需要,而这方面的研究还很缺乏。因此,笔者以LabVIEW 8.6为平台设计开发了适合本校实验课使用的示波器仿真软件系统。
1 仿真软件运行界面的设计
前面板是用户与系统交互的窗口,用户通过它输入和获取信息。为了设计与真实XJ4328示波器一致的操作面板,笔者设计了一个自定义控件[5]放在前面板上,将XJ4328示波器面板图片作为自定义控件的文本部分,旋钮和按键控件放在图片中的相应位置,将设计的旋钮颜色设置为透明。波形图与XY图重叠放在示波器图片的显示屏位置,X轴、Y轴标尺与图片的显示屏大小一致,网格线设置为透明。
参照示波器使用实验教学内容[6],在示波器CH1与CH2通道信号接入处设置了仿真信号:方波S1、三角波S2、正弦波S3和正弦波S4(S4与 S3有一定的相位差,频率相同),供学生观察与测量。在CH2通道还设置了一个外部标准信号源,该信号源的参数调节面板结合在教学中使用的GFG-8016函数发生器图像设计,并作为标准信号源与CH1通道的正弦波完成各种形状的李萨育图形测量频率,设计的运行界面如图1所示。
图1 XJ4328示波器仿真软件运行界面
2 仿真软件的设计与实现
2.1 仿真软件总体结构
程序框图是软件的核心,它以图形化的方法表示程序源代码,类似于真实仪器中用来实现仪器功能的零部件。示波器的功能繁多,设计中将具有一定功能的程序模块定义为子VI供其他VI调用,从而减少程序框图的节点与连线,提高代码的可读性和可维护性。
程序采用while循环结构,示波器的电源开关状态作为循环的控制条件,程序的总体结构[7]如图2所示。
图2 示波器仿真软件总体结构
2.2 仿真信号生成
通过信号处理中的波形信号生成函数生成所需要的信号,CH1与CH2通道有参数固定的方波、三角波和正弦波可选,CH2通道还有一个标准信号源可选,标准信号源的参数在GFG-8016函数发生器面板图像界面中调节。
2.3 触发控制
根据模拟示波器显示波形的原理,当扫描周期不为被测信号周期的整数倍关系时,显示的波形不稳定。因此示波器中有触发扫描电路,根据触发源与触发电平的值控制扫描的起点,以保证每次扫描的起点都在信号周期的同一位置,从而使显示波形稳定[8]。在软件设计中,可以通过设置触发点来保证每次显示时得到信号周期的同一位置,根据触发电平的值找到触发点,在触发点后截取一段相同长度的波形显示出来。该软件中触发源可以来自CH1或CH2通道信号,找触发点就是根据输入的信号,与触发电平的数值进行比较后输出产生触发的数组的序号,用数组子集取出从序号开始的一段信号[9]。
2.4 水平分度调节
XJ4328示波器扫描速率从0.5 μs/DIV~0.2 s/DIV,共分18挡,X轴共有10个分度格。将水平分度旋钮的选择数值作为case-switch的分支选择条件,case“0~17”中,时间间隔、频率和波形图控件属性节点的X标尺范围属性的设定值乘以或除以不同的数值,使Time/DIV控件的值不同,波形图中显示的完整波形的数目不同,用微调旋钮对水平分度在两挡之间进行连续调节。
2.5 竖直分度调节
示波器波形显示屏的高度是固定的,若被测信号幅值较大,显示图形将超出屏幕,幅值太小,波形的细节就看不清楚,竖直分度调节的功能就是将幅值大的信号进行缩小,将幅值小的信号进行放大,以便于观察与测量。XJ4328示波器两通道灵敏度开关从10 mV/DIV~5 V/DIV共分9档,当通道灵敏度开关处于不同的挡位时,将仿真信号的幅值放大或缩小一定倍数即可。
2.6 竖直工作方式选择
将竖直工作方式按键作为条件判断,可以单独显示一个通道信号,可以同时显示两个通道信号,也可以显示两个通道信号的和。当一个按键按下时,其余4个按键应为抬起状态,将此4个按键赋布尔值False。
2.7 灰度与聚焦控制
用数值改变波形图控件属性节点[10]的曲线颜色、线条宽度来模拟示波器的灰度、聚焦功能。
2.8 波形显示
当TIME/X-Y键抬起时,屏幕显示波形图,按下时屏幕显示李萨育图形,利用波形图和XY图的可见属性来控制前面板上显示波形图还是李萨育图形[11]。
3 仿真实验与真实实验的比较
该软件提供的仿真信号参数为:S1~S44个信号的频率为1 002 Hz,振幅为1.0 V,S3与S4信号的相位差为40°。为便于比较,真实实验中提供的S1~S44个信号的参数与仿真信号一样,按照教学内容用笔者编写的软件进行实验,并与真实示波器进行对比。
3.1 观测单一信号波形
用CH1通道测量S1信号的参数,图3为用仿真软件测量的波形显示,图4为用真实示波器测量的波形显示,两种仪器测量得到S1信号的峰谷电压差都为2.0 V,周期都为1.0 ms。
图3 仿真软件测量信号周期和峰谷电压差
3.2 观测两信号的相位差
相位差的测量有双波法和李萨育图形法,图5、图6为用仿真软件测量的图形显示,图7为用示波器测量的图形显示。测量结果对比如表1所示,表1中l为滞后距离,λ为波长,x0为李萨育图形与X轴的交点,A为X方向的振幅。
图4 示波器测量信号周期和峰谷电压差
图5 仿真软件测相位差的双波显示
图6 仿真软件测相位差的李萨育图形显示
图7 示波器测相位差的图形显示
表1 仿真软件与示波器测量两信号的相位差比较
3.3 观测李萨育图形
将S3作为待测信号,仿真示波器的CH1通道选择信号S3,CH2通道选择标准信号源,调节标准信号源的频率,使显示屏上显示各种频率比下的李萨育图形,图1中显示的是fx∶fy=1∶2的图形,测量出S3信号的频率为1 002 Hz,图8为真实示波器的显示结果,测得S3信号的频率也为1 002 Hz。
图8 示波器观测李萨育图形
通过比较,仿真软件的操作界面与测量结果与真实示波器一致,仿真软件完全满足实验要求。
4 结论
论述了XJ4328示波器仿真软件的设计与实现过程,用简单的程序框图模拟了复杂示波器操作面板上各旋钮与按键的交互功能。该软件已在实验教学中演示使用,学生可以不受时间与空间的限制,就像在操作真实示波器一样,进行课前示波器实验的仿真操作和预习。
[1] 龙作友,王丰.大学物理实验[M].武汉:湖北科学技术出版社,2003:69-77.
[2] 梁秋明,田梦君.基于LabVIEW的虚拟示波器的设计与实现[J].电子测量技术,2009,34(3):158 -161.
[3] 王莉,杨鹏.基于LabVIEW的虚拟示波器的设计与实现[J].实验室研究与探索,2010,29(1):62 -64.
[4] 李翼,王小海.基于LabVIEW的虚拟示波器的设计及应用[J].江南大学学报:自然科学版,2006,5(3):290-292.
[5] 阮奇桢.我和LabVIEW[M].北京:北京航空航天大学出版社,2009:296-299.
[6] 龙作友,戴亚文,杨应平,等.大学物理实验[M].武汉:武汉理工大学出版社,2006:45-54.
[7] 吕红英,吴先球,刘朝辉.LabVIEW环境下基于声卡的虚拟示波器软件设计[J].计算机应用与软件,2007,24(3):61 -64.
[8] 福建机电学校教材编写组.电气测量[M].北京:机械工业出版社,1979:160-162.
[9] 岂兴明,周建兴,矫津毅.LabVIEW 8.2入门与典型实例[M].北京:人民邮电出版社,2008:379-398.
[10] 黄松岭,吴静.虚拟仪器设计基础教程[M].北京:清华大学出版社,2008:225-230.
[11] 夏泽中,苏宏良,朱玉璟.电源监控系统中的远程采集终端设计[J].武汉理工大学学报:信息与管理工程版,2010,32(5):694-698.