1 引言
近年来,随着电子系统功能的不断扩大和完善,测试已经是电子产品在设计和生产过程中的重要环节。电子产品的功能和结构日益复杂,研制周期不断缩短,这些给测试带来许多问题,因此实现自动化测试是必然趋势。自动化测试避免人为因素的误差,可获得比较良好的测试效果。所以开发一套针对性的测试工装既能够保证产品的可靠性,又能够提高调试人员的整机调试效率。
本文提出的测试方案,主要是基于LabVIEW的通用测控平台实现的,通过TTL-232实现测试平台与MSP430FG439单片机的数据交互,测试平台通过分析、统计、判断并将数据保存在excel中输出,测试人员可以直观的看到测试数据以及测试结果,也能更方便找出单板的测试问题。此方案在很大程度上削弱了随机误差和系统误差,从而获得较高的测量精确度,也实现了测试系统的通用性、可扩展性和可维护性。
2 单板测试系统的主要功能
此系统是为了测试产品性能及硬件焊接是否出错而研发的,具有良好的通用性,测试平台能够记录数据、进行数据分析,并直观的给出测试结果。该测试系统的主要功能有:
⑴采集单板各关键点电压:测试平台直接对各点电压采样,采样读取并判断数据是否符合要求;
⑵诊断功能:测试平台能够自动诊断测试值的正确性,并在记录单给出测试结论;
⑶生成并输出记录单:在测试完成后,测试平台能够自动生成记录单,并记录各测试项的测试情况;
⑷扩展性功能:测试平台具有良好的扩展功能,能够很好的兼容其它同类型的设备。
3 测试平台结构
测试平台由硬件平台和测试流程控制软件组成。硬件系统是整个平台工作的基础,主要功能是实现IO、AD等信号的传输、采集。测试流程控制程序是平台工作的核心,采用的是企业普遍使用的LabViEW软件开发平台,同时还引入了顺序测试、并行测试等设计思想。
3.1 硬件结构
硬件结构由测试针床、特殊信号处理板、海量连接系统及通用测试平台组成。其中,测试针床一般都是定制的。而对于不能直接测试的特殊信号,都是制作信号处理板,添加到测试链路中。海量连接系统,用于传输专用治具与通用测试平台之间的大量信息,具有可靠性、长寿性、操作方便的优点。测试平台中的大规模多路复用开关盒开关矩阵能实现大量测试信号多路选通PXI,因此可以实现测试平台的通用性。而数据采集模块主要是将现实世界中的模拟信号转换为计算机可以识别、存储的数字信号。数据采集系统主要包括以下几个部分:串口PXI、数字IO PXI、信号源PXI、万用表PXI以及通用信号模块等。在数据采集模块中含有多种类型的PXI,基本能覆盖所有单板测试需求。
因此,测试其他模块时,只需重新连接治具,并调用对应的测试程序。自动测试平台原理框图,如图1所示:
3.2 软件架构
目前计算机自动控制系统中的测控软件大都是由软件开发人员用各种编程语言通过编制大量的指令和代码来实现的,其工作量大、成本高、周期长,且通用性差。因此,根据系统设计的实际情况,我们选择了基于LabVIEW的开发方案。LabVIEW的通用测控平台采用了结构化的程序设计方法,遵循自上向下逐步细化的原则,使系统软件易于调试、测试和维护。软件架构主要有人机界面模块、单板初始化模块、数据采集模块、数据处理模块等组成。
为了实现软件的可操作性,我们将采集到数据保存在Excel表格中,包括了对应单板的测试要求。当测试平台启动时,首先系统将自检,在完成自检后,系统将对单板烧写程序以及初始化。在相应的单板初始化成功后,将按照表格中的要求完成数据的采集和处理,并将数据记录在表格中,无需人工单独记录。当底层发生变化时,用户只需修改该excel表格,就能完成相关单板的测试。自动测试流程图,如图2所示:
4 单片机软件设计及关键技术
单片机软件主要完成单板界面显示、温度传感器、红外通讯等功能检测。其中比较关键的是红外通讯测试,通讯数据位一般不能超过10个字节,超过的话会导致数据收发不正确。
4.1 单片机软件流程
单片机上电启动后,测试平台通过串口给单片机主动发送数据,当单片机收到数据后,首先会对数据的正确性进行校验,接着就会对数据中的命令进行判断,如果命令不正确就会返回到主程序。在收到相应正确的命令后就会进行功能检测,检测完后就会通过TTL-232将检测数据发送给测试平台。
其中串口通信数据格式如表1所示,当接收到帧头和帧尾时就表明数据接收完成,其中地址信息包含发送和接收端的相关地址,命令码是用来区分功能测试,命令附加码是用来区分对单片机的读写操作,而crc校验保证数据传输的正确性。
4.2 单板测试关键技术
软件测试比较关键的是红外通讯测试,红外通讯主要是发射端控制载波信号实现的,载波一般使用频率为38KHz、占空比为50%的方波,实际使用也可以根据CPU工作频率而略作调整(30KHz~40KHz)。方波典型的周期是600us,在本文中如果有方波产生,默认看成输出高电平,没有方波的话就看成输出低电平,发送1bit的时间定为600us。当发射端发射方波时,对接收端而言就输出低电平,而发射端没有输出信号时,对接收端而言就输出高电平。通信数据格式具体为:帧头:4*600us、逻辑0:2*600us、逻辑1:3*600us、帧尾:5*600us。600us的检测误差为+/-50us,帧数据的正确性由8bit的crc校验保证。单片机的解析采用下降沿触发检测脉宽的方法,接收1bit、帧头或者帧尾的时间就是两次下降沿触发之间产生的脉宽时间。接收和发送端的数据格式,如图3所示:
对于发送端而言:
对于接收端而言:
5 测试结果
程序初始化时,首先会按照测试要求对单板的一些关键点电压进行测试,在单板电压测试完成后,测试平台将自动给单板烧写程序,测试平台通过串口实现与单片机的通信,并对单板进行一些功能的测试。如果测试结果能达到测试要求,测试流程控制框图将在右边显示Passed,若测试结果达不到测试要求,将会显示Failed。在测试完成后,界面也会显示一个条形框提示测试情况,若显示Test Sequence Passed则表示测试通过。最终这些测试结果将会保存在Excel中,并生成报表打印出来。测试结果如图4所示:
本文中的测试系统由于采用了海量连接系统、大规模多路复用开关盒开关矩阵、开放式模块化设计思想和结构,使系统不仅具有自动化程度高、工作稳定可靠、用户界面友好、操作简便、电子化记录的特点,而且系统可扩展性强,可用于多种单板测试。除单板测试外,还可用于其他测试领域,这对于提高测试效率、节约人力成本具有重要的意义。
刘君华.虚拟仪器编程语言LabWindows/CVI教程,第一版.北京:电子工业出版