本帖最后由 kk的回忆 于 2021-4-9 10:57 编辑
#申请原创#
@21小跑堂
作为电工人,电路板的各种参数是经常要测量的,常规参数比如电压信号,电流信号和功率。通信方面就会涉及到传输速率,误码率和上升时间等参数的测量。这些参数的测量需要使用示波器,误码仪,数字分析仪等仪器。当你看到以下各种繁琐复杂的线束杂绕到一起,肯定是心中暗叹一声,好麻烦啊。 由于测量上升时间用示波器,测量误码率用专用的误码仪设备,测量传输速率用专门的串行数字分析仪设备。这样就需要在不同的设备中反复调试测量,这样连接的线束就更多了。所以有一台自动化的测试治具,就显得难能可贵了。由于现在很多仪器都带有GPIB接口,利用Labview的可视化编程方案就让这一切成为了可能。 编译基于labview环境的上位机软件,控制程控仪器发送测试信号到电路板,然后控制仪器进行数据的实时采集,存储以及显示,最终将测试数据和配置文件中的标准数据比对,给出电路板性能参数是否合格的结论。很久之前做过这方面的工作,对电路板多个参数进行测量,在这里和大家重温“我的经典”产品,和大家一起聊聊的。 先上一个简单的流程图,让大家有个直观的了解。
实际会用到两台高速示波器,具体型号记得不太清楚了,好像是泰克DSA70000系列的,貌似是70404和DSA71604,都是性能超厉害的。下面是这个测试工装的的简要硬件示意图,可以有个感观的认识 这个上位机产品设计的时候做的有些花哨,后期还专门弄了个密码登陆系统,免得辛辛苦苦测试一天的数据被别人删除了,对不同的使用人员给予不同的权限。 登陆成功后马上就进入到labview的主控制界面,可以测试很多参数,只要仪器上支持的测试项目,就都可以测量,并显示和存储到本地。下图是软件实际运行中,测试眼图的内容。将示波器中测量的内容回传给上位机。 下图是实际测试中前面板下达发送“开始测试”命令,测试仪器接收,然后自动进行测量,数据回传保存。
以上是对高速信号的上升时间具体的测量过程。 下面详细的讲解如何利用labview进行软件编程,从而完整进行这个测试过程: 测试上升时间时,使用DSA70404的TDR模块作为信号源,产生一个标准时间长度的上升沿,是此上升沿通过加载板的通道。然后,使用DSA71604对此上升沿进行捕获,并计算上升沿的上升时间。最后,使用补偿值对上升时间进行补偿,并将补偿后的上升时间显示在操作面板上。上升时间的测试流程图如下图所示。 这其中涉及到两台示波器各种指令集的控制,需要写很多vi模块。测试时,首先需要对信号源DSA70404和信号接收者DSA71604进行配置。所使用到的指令字符串、对应的vi和其功能如表1、2所示。
表1 DSA71604配置指令及对应的vi
配置的参数 | | | | | | | :HORizontal:MODE:RECOrdlength <Y> | | | :HORIZONTAL:MODE:SAMPLERATE <Y> | RT__Horizonal SampleRate.vi |
表2DSA70404配置指令及对应的vi
配置的参数 | | | | | | | | | | :TDR:CH<x>:STEP:POLARITY PLUS | | | | |
当配置完后,控制DSA70404对DSA71604输出的上升沿进行捕获,并计算上升沿的上升时间。测试过程的控制指令字符串表3所示。
表3测试过程的控制指令字符串
测试完成后,从DSA71604中读取通过加载板通道后的信号的上升时间。然后,根据补偿值,对测试值进行补偿。最后,根据阀值判定该测试通道是否合格。 上升时间的补偿、判定由RT_datahandle.vi来处理,图标如下图所示。
表4 RT_datahandle.vi输入参数
RT_datahandle.vi输出参数的详细描述如表5所示。
表5 RT_datahandle.vi输出参数
至此完成整个上升时间的测试,下面展示一个RT_RiseTime,vi的前面板和程序面板的内容: 而且这个程序仅仅是测试上升时间上十个子vi中的一个,所以要完成一个完整参数的测量需要很多指令集的综合调试。在附件中会把这十几个子vi作为附件上传,有需要的可以作为参考进行学习。 如果要测量的参数越多,那么所要的指令集就会越多的,程序也就会越多,就要考虑各种容错机制的。 最后和大家聊聊PC机和MP1800仪器的通信问题,这是整个测试治具是否成功的关键。MP1800通过LAN和PC机通信,使用GPIB接口和测试仪器通信。由于MP1800仪器的背面有两个LAN接口,默认情况下使用的是LAN1接口(背面靠上的那个接口,最好使用LAN1接口,曾经尝试使用LAN2接口(背面考下的那个接口),但PC和MP1800之间无法通信)。 PC与MP1800之间使用网线连接好后,需要设置PC和MP1800的IP地址,子网掩码和默认网管,使PC和MP1800之间能够进行通信。经过尝试,PC和MP1800的IP为192.168.xxx.xxx,子网掩码为255.255.255.0,默认网关为192.168.xxx..254时,PC和MP1800可以通信。其中,IP和默认网关的红色部分要一样。 当前PC和MP1800的LAN配置为,PC的IP为192.168.3.100,子网掩码为255.255.255.0,默认网关为192.168.3.254 。 MP1800的IP为192.168.3.100,子网掩码为255.255.255.0,默认网关为192.168.3.254 。 MP1800内部的IP地址分为两类,一类是仪器地址,用于与PC通信;另一类为仪器内部的模块地址,用于仪器内各模块,如同步时钟,PPG,ED与MP1800主板之间的通信。 在对MP1800的LAN进行设置时,不要通过仪器上的“网络连接”---> “属性” --->“Internet协议TCP/IP”来设置MP1800的IP地址,“网络连接”中的IP是用来在MP1800主板和各模块(同步时钟,PPG,ED)之间通信的IP地址。而且不要修改此处的IP地址,修改之后,MP1800将无法识别安装在其上的模块(同步时钟,PPG,ED),PC发送个MP1800的控制各模块的指令将无法被执行。 对MP1800的LAN的设置,必须在MP1800上的应用程序上的设置中完成。 在这篇帖子里是完整介绍了,利用Labview通过GPIB接口控制程控仪器测试上升的全过程。只要示波器支持各种VISA驱动,将测试上升时间的控制指令修改为测试下降时间,并重新建立一个新的子vi,在前面板再增加一个界面,下降时间的测试按钮。就又增加了一个新参数的测量。 以此类推,示波器界面的频率,电压,电流,相位各种信息全部可以完成测试。同时上位机还可以发送截图指令,将示波器当前的测试波形也实时回传到上位机的前面板界面,实现和示波器的同步观测同步测量。 如果电路板的测试参数太多,示波器又只有四个channel,这个时候就需要多台示波器测试,使用labview的自动化测试优势就太明显,使用GPIB的级联设备,可以实现多台设备多参数的测试。将测试工装架设好,测试人员剩下的工作就好更换测试电路板和操控PC机,可以轻松高效的完成多个电路板的测试。 以后大家用到相应的测试仪器时候,可以参考这个设置进行配置,减少调试时间。整个软件的开发过程经历了几个月,但是后期显著提高了测试效率,还是值得的。
|