一种测试嵌入式PCBA上GPS模块的方法及其系统
技术领域
本发明涉及一种测试嵌入式PCBA上GPS模块的方法及其系统。
背景技术
PCBA:是英文Printed Circuit Board +Assembly 的简称,也就是PCB空板,经过SMT(表面贴装技术)上件,再经过DIP插件的整个制程。在本发明中的PCBA就是已经贴片后还没有整机组装的电路板。
GPS: Global Positioning System(全球定位系统)的简称。
嵌入式设备越来越多地进入到人们的生活当中,工业上如工控机,触摸屏等,商业上如瘦客户机,展示屏等,还有生活中常见的嵌入式设备就有MP3,MP4,可穿戴电子设备,机顶盒,手机,平板等等。单单平板一项,目前根据行业发展趋势和分析,2013年平板电脑的出货量接近2亿台。在如此大规模的基数背景下,生产效率就成了制约嵌入式产能的短板。特别是现在的嵌入式设备要实现越来越多的功能,在PCBA上设有越来越多的功能模块,如GPS模块等。为了提高生产效率,保证生产单位在工艺上的品质,所以我们需要提出一种对嵌入式PCBA上GPS模块进行快速测试的方法。能快速测试出GPS模块的好坏,保证PCBA中GPS模块的正确焊接以及正确的参数调试,确保SMT工艺的可靠性。
现有技术中公开了一种“手机电视PCBA的测试装置及测试方法”,见公开号为:CN101360257,公开日为:20090204的中国专利,描述了描述一种手机电视的PCBA的测试装置,包括DVD播放器、AV信号分配器、调制、混频器和测试夹具。对比文件中使用了DVD播放器、AV信号分配器、调制、混频器和测试夹具来对手机电视PCBA进行测试,由于嵌入式PCBA上GPS模块没有对比文件中提到的PCBA板上的电视天线馈点,无法接收射频信号,因此该对比文件无法对嵌入式PCBA上的GPS模块进行测试。
现有技术中公开了一种“蓝牙耳机PCBA批量测试方法及系统”,见公开号为:CN102243281A,公开日为:20111116的中国专利,描述了蓝牙耳机的PCBA批量测试方法。对比文件中的技术特征为使用带有测试程序的电脑对蓝牙耳机的PCBA进行批量测试并在显示器上显示测试结果,需要使用到测试电脑和显示器,当有多个测试人员要对大量的PCBA进行测试时,要准备多个测试电脑和显示器。电脑和显示器购买和使用一方面增加了测试的成本,另一方面也占用了场地,同时,电脑和显示器移动时也不方便,测试时并不显得十分便利,有局限性。
现有技术中公开了“一种PCBA功能测试装置及其测试方法”,见公开号为:CN 102854452A,公开日为:20130102的中国专利,描述了一种PCBA功能测试装置,有数字万用表,一转接机构和一功能检测机构组成。该对比文件中公开的技术特征可对多电流、内置继电器、外置继电器、开关按键和键盘按键进行测试,而对于嵌入式PCBA上的GPS模块的好坏,特别是GPS模块内部工作不良则无法进行测试。
现有技术中公开了“一种显示装置的PCBA自动化测试方法及系统”,见公开号为:CN103002317A,公开日为:20130327的中国专利,描述了一种显示装置的PCBA自动化测试方法。对比文件对PCBA的测试同样需要用到工业电脑和显示装置,有一定的局限性。
现有技术中公开了一种“模块化开放性PCBA功能测试平台、测试系统及方法”,见公开号为:CN102590730A,公开日为:20120718的中国专利,描述了一种模块化开放性PCBA 功能测试平台。该对比文件中对PCBA的测试用到了包括针床的检测台,针床的检测台上还有用于与PCBA测试点对应的测试针,则要对PCBA进行检测时需要在PCB设计时预留测试点,同时还要对针床进行制作,大大增加了研发到测试流程的时间,同时也加大了企业的测试成本。同时在不同批次的PCBA上的元件位置变动时,一旦PCB上的测试点被遮挡需要改变位置时,则针床要进行相应的修改,非常繁琐。
综上所述,现有技术对PCBA上GPS模块的测试存在测试成本高,测试流程繁琐等问题,已经限制了电子通讯产品的生产效率,不能符合技术发展的需求。
发明内容
本发明所要解决的技术问题,在于提供一种测试嵌入式PCBA上GPS模块的方法和系统,可以快速、准确地测试出PCBA上GPS模块SMT是否正常。
为实现上述目的,本发明提供了一种测试嵌入式PCBA上GPS模块的方法,包括如下步骤:
扫描PCBA上存储器接口中的可插拔式存储器;
加载预存在可插拔式存储器的测试代码,测试GPS模块;
如果测试结果正常,则驱动PCBA上的提示设备发出正常提示信息,如果测试结果异常,则驱动PCBA上的提示设备发出异常提示信息。
进一步地,所述的可插拔式存储器为SD卡。
进一步地,加载预存在可插拔式存储器的测试代码前先加载预存在可插拔式存储器的Linux内核以及最小根文件系统。
进一步地,测试GPS模块的具体步骤是:
向GPS模块发送模块型号信息读取命令;等待GPS模块返回模块型号信息,如果在设定的超时时间内GPS模块没有返回模块型号信息,则测试结果异常,结束测试;
如果在设定的超时时间内GPS模块返回模块型号信息,则读取可插拔存储器中预存的驱动并根据模块型号信息加载相应的驱动,读取寄存器信息,检测寄存器信息是否正常,如果寄存器信息异常,则测试结果异常,结束测试;
如果寄存器信息正常则使用GPS模块获取位置信息,如果不能返回正确的位置信息则测试结果异常,结束测试,否则测试结果正常,结束测试。
进一步地,所述的提示设备为LED灯,所述的正常提示信息为LED灯常亮,异常提示信息为LED灯闪烁。
为实现发明目的,本发明还提供了一种嵌入式PCBA上GPS模块的快速测试系统,包括用于提示测试结果是否正常的提示设备、待测的GPS模块、用于连接可插拔式存储器的存储器接口和存储测试代码的可插拔式存储器,其特征在于:还包括以下模块:
存储器控制器,用于扫描存储器接口中的可插拔式存储器;
GPS模块控制器,用于控制通讯模块;
自动匹配模块,用于加载预存在可插拔式存储器的测试代码;
自动测试模块,用于测试GPS模块;
其中,当测试结果正常时,自动测试模块驱动所述的提示设备发出正常提示信息;当测试结果异常时,自动测试模块驱动所述的提示设备发出异常提示信息。
进一步地,所述的快速测试系统还包括:
嵌入式内核加载模块:用于在自动匹配模块加载预存在可插拔式存储器的测试代码前先加载预存在可插拔式存储器的Linux内核以及最小根文件系统。
进一步地,所述的自动测试模块包括以下单元:
读取模块型号单元,用于向GPS模块发送模块型号信息读取命令;等待GPS模块返回模块型号信息,如果在设定的超时时间内GPS模块没有返回模块型号信息,则测试结果异常,结束测试;
模块驱动加载单元,用于当读取模块型号单元成功读取到型号信息时,读取可插拔存储器中预存的驱动并根据模块型号信息加载相应的驱动,读取寄存器信息,检测寄存器信息是否正常,如果寄存器信息异常,则测试结果异常,结束测试;
以及模块通讯单元,用于当模块驱动加载单元检测寄存器信息正常时,使用GPS模块获取位置信息,如果不能返回正确的位置信息则测试结果异常,结束测试;否则测试结果正常,结束测试。
本发明具有如下优点:PCBA上电就开始加载可插拔式存储器中测试程序进行测试,没有其他多余的步骤,在测试结束时在板上直观地显示出测试结果,提高了测试效率。特别地如果采用流水线作业,准备多个可插拔式存储器,一个测试人员专门将插拔式存储器插入PCBA板上同时给PCBA板上电,另一个测试人员专门查看测试结果并分拣不同测试结果的PCBA板并将可插拔式存储器取出,就可以避免了一个人测试时在PCBA测试过程的等待时间,能够快速测试嵌入式的PCBA上GPS模块SMT的正确与否,极大的提高了测试和生产效率,为后续整机的正常工作提供了硬件保障,取得了良好的效果。
附图说明
图1为本发明具体实施方式所述PCBA上GPS模块测试系统结构示意图;
图2为本发明具体实施方式所述PCBA上GPS模块测试方法流程图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
如图1所示,本实施例提供了一种嵌入式PCBA上GPS模块的快速测试系统,包括GPS模块1,可插拔式存储器,存储器控制器,GPS模块控制器,自动匹配模块4,自动测试模块5,提示模块。其中存储器控制器为SD控制器3,GPS模块控制器为UART控制器7,可插拔式存储器可以为SD卡2,提示模块可以为LED灯6。本系统外还有用于提供GPS信号的无线AP7。
如图2所示的流程,下面结合实施例对本发明的测试方法进行详细的描述,在这一实施例中,嵌入式PCBA为Android平板PCBA,现有的Android平板PCBA上带有USB控制器接口或SD控制器接口,可插拔式的存储器可以为U盘或SD卡,这些存储器体积小、成本低并可插拔后随处移动,准备过程简单,只要复制粘贴就可准备多个可用于测试的存储器,方便进行批量的测试。首先在步骤S101需要对PCBA上存储器接口中的可插拔式存储器进行扫描,为下一步的加载做好准备。
再加载预存在可插拔式存储器的测试代码,测试GPS模块。将测试代码存在可插拔式存储器中,测试时不需要对PCBA板进行修改,加快了测试流程。由于已经对可插拔式存储器进行了扫描,则可直接加载测试代码。测试代码可以根据需要对GPS模块的测试内容进行编写:如果测试内容简单,如仅仅是测试GPS模块存不存在,那可以直接编写底层的硬件测试代码进行测试,可以加快测试的进度。如果测试内容相对复杂,如需要对GPS模块的各个方面都进行完整性的测试,则可以使用嵌入式内核(如WINCE,Linux等)和最小根文件系统,因为嵌入式内核和最小根文件系统可以为测试过程提供一个操作系统的环境,包含了GPS模块相关的网络环境以及后续驱动加载的环境。在嵌入式内核的基础上再加载测试代码进行测试,也可以降低测试代码编写的工作量。本实施例选择了Linux内核,则预先要将Linux内核以及最小根文件系统存入可插拔式存储器中,然后在步骤S102中先加载预存在可插拔式存储器的Linux内核以及最小根文件系统,后再加载测试代码进入测试流程。
测试PCBA上GPS模块SMT(表贴)的好坏要测试GPS模块是否可以正常通讯,能正常通讯则表明GPS模块SMT正常,不能正常通讯则GPS模块SMT异常。使用GPS模块进行通讯测试要先驱动GPS模块,驱动GPS模块要先知道GPS模块的型号,根据这一原理,则对GPS模块的测试可以按照如下步骤进行:
向GPS模块发送模块型号信息读取命令。对于不同的GPS模块可以使用不同的控制器对其进行操作,在本实施例中,对GPS模块采用UART(通用异步接收发送装置)控制器对其操作,即在步骤S103中利用UART控制器向GPS模块发送读取型号信息命令。然后在步骤S104中等待GPS模块返回模块型号信息,如果在设定的超时时间内GPS模块没有返回模块型号信息,则进入步骤S111测试结果异常,结束测试;
如果在设定的超时时间内GPS模块返回模块型号信息,则在步骤S105读取可插拔存储器中预存的驱动并根据模块型号信息加载相应的驱动,读取蓝牙模块寄存器信息,在步骤S106检测寄存器信息是否正常。由于测试程序是在Linux环境下进行的,读取寄存器信息可以从Linux环境提供了GPS设备节点读取GPS模块的寄存器信息,检测读取到的寄存器信息中包含的厂家ID是否正确。如果读取到的厂家ID不是正确的,即寄存器信息异常,则进入步骤S111测试结果异常,结束测试;
如果读取到的厂家ID正确,即寄存器信息正常则进入步骤S107使用GPS模块获取当前位置信息,在S108检测当前位置信息是否正确,如果是不正确的位置信息则进入步骤S111测试结果异常,结束测试,否则进入步骤S109测试结果正常,结束测试。使用GPS模块获取当前位置时,GPS其实是接收太空中卫星发过来的定位信号,应该要保证测试时GPS模块对空无遮挡,避免GPS模块正常时无法获取到正确的位置信息。
以上测试代码执行完之后,如果测试结果正常,则驱动PCBA上的提示设备发出正常提示信息,如果测试结果异常,则驱动PCBA上的提示设备发出异常提示信息。Android平板PCBA常有的可以让用户直接获取到测试结果是否正常的提示设备有LED、喇叭或是振动器,正常提示信息可以是驱动设备持续性工作,如LED常亮,喇叭一直响,振动器一直振动,则在步骤S109测试结果正常后步骤S110为驱动PCBA上的LED常亮;异常提示信息可以是驱动设备间歇性工作,如LED闪烁,喇叭间断地响,振动器间断地振动,则在步骤S111测试结果异常后步骤S112为驱动PCBA上的LED常亮。这样在测试结束时PCBA板上设备的不同响应直观明了地表达了测试结果。
当同时需要对大量的嵌入式PCBA进行测试时,可以使用多个的SD卡对PCBA进行测试,即可以快速地将正常与异常的PCBA板进行分离开来,就可以为接下来的生产做好准备,具有实用意义。SD卡等可插拔式存储器的可移动性,使得对于PCBA上GPS模块的测试可以在任意地方,同时由于SD卡售价低廉,SD卡体积小也只需占用相当小的空间,可以大大降低企业的测试成本。
在其他实施例中,可以将本实施例中的相应模块与步骤运用于手机、MP4,触摸屏等其他嵌入式PCBA。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。