欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 信号装置> 一种LoRa无线数据采集装置用测试系统及其测试方法独创技术13972字

一种LoRa无线数据采集装置用测试系统及其测试方法

2021-03-16 17:20:43

一种LoRa无线数据采集装置用测试系统及其测试方法

  技术领域

  本发明涉及一种LoRa无线数据采集的测试系统及测试方法。

  背景技术

  数据采集装置通过配备LoRa无线模块,可以实现远程控制和无线数据传输。现有技术只探讨不同应用场景使用LoRa模块实现无线物联网络数据收集、传递的单一电路或系统测试问题,例如专利:申请号201910629905.8,《一种LoRa无线机电设备用测试系统及其测试方法》,申请号201910629382.7,《一种LoRa无线数据采集器用测试系统及其测试方法》,没有探讨带有LoRa的数据采集装置在批量生产时多个同种电路的同时测试问题,针对这一问题本发明提出了一种自动测试系统及其测试方法。

  发明内容

  本发明的目的: 减少LoRa无线数据采集装置逐一测试时间,自动进行多个电路功能的测试,提高生产测试效率。

  实现本发明目的的技术解决方案为:

  一种LoRa无线数据采集装置用测试系统的测试方法,包括以下步骤:

  步骤1、待测电路接收到上位机发送的测试指令并解析;

  步骤2、由测试指令中包含的最小的序号对应的第一待测电路开始执行测试程序,其他序号对应的待测电路继续等待测试指令;

  第一待测电路测试完成后按照特定格式返回测试数据给上位机,并且第一待测电路修改测试指令,使测试指令中不再包含第一待测电路对应的序号,并修改后的测试指令继续发给其他序号对应的待测电路;

  步骤3、其他序号对应的待测电路检测到测试指令后,继续由测试指令中包含的最小的序号对应的待测电路执行测试程序;

  步骤4、重复步骤2至步骤3,直到测试指令中不再包含序号信息,发送清零后的测试指令给上位机结束测试。

  进一步地,上位机通过串口控制LoRa无线模块将带有测试电路序号的特定格式测试指令发送给待测电路。

  进一步地,上位机依次接收到所有待测电路反馈的测试数据和修改后的测试指令,并通过修改后的测试指令检查自动测试过程是否按照设置的待测电路序号由小到大的顺序执行。

  进一步地,上位机发送的测试指令和/或接收的修改后的测试指令格式为:帧头字节+序号字节+命令字节+校验字节。

  进一步地,帧头占两个重复发送的字节,待测电路的序号组合成一个字节,命令为预留指令字节,占一个字节,校验采用循环冗余校验占一个字节。

  进一步地,待测电路反馈的测试数据格式为:帧头字节+序号字节+数据字节+校验字节。

  进一步地,帧头占两个重复发送的字节,序号占两个字节,其中待测电路自身序号占一个字节,剩余待测电路序号占一个字节,数据占三个字节,校验采用循环冗余校验占一个字节,共计8个字节。

  进一步地,上位机发送的测试指令和接收的修改后的测试指令中包含两个重复发送的帧头字节,待测电路反馈的测试数据中包含两个与上位机发送的测试指令和接收的修改后的测试指令中不相同的、重复发送的字节。

  进一步地,步骤2中,包括以下具体步骤:

  待测电路上电初始化后自动进行数据采集,检测到测试指令帧的帧头时,判断接收的帧头是否正确,如果没有接收到正确的帧头,返回重新接收帧头,如果接收到了正确的帧头,继续接收剩余全部字节的测试指令,进行CRC校验,若CRC校验错误,返回重新等待接收测试指令的帧头;

  若CRC校验正确,判断接收的指令中的待测试电路序号字节中是否有自己电路对应的序号,如果待测序号指令字节中没有自己电路对应的序号或自己电路对应的序号不是当前测试指令包含的最小序号,返回重新接收测试指令;

  如果接收的测试指令中有自己电路对应的序号并且该序号是当前测试指令中序号最小的电路,则查询装置的数据采集状态,查询到装置的数据采集状态后将得到的状态数据,由LoRa无线模块按照前述格式发送给上位机;

  数据发送完成后清除测试指令中对应的序号,再按照测试指令格式发送测试指令给其他待测电路。

  本发明创造的优点以及达到的效果:

  (1)只需要上位机发出一次测试指令,设定的测试模块可以自行返回测试结果,可以一次测试多个装置的电路功能,相比于一个模块发送一次命令再接收返回命令,节约多次指令时间,提高了测试效率。

  (2)多个被测试电路同时上电,又同时返回数据,会产生数据冲突的问题,本发明根据指令中需要测试的模块按照模块序号由小到大依次返回测试结果,避免了数据冲突。

  (3)可以按照需求调整返回数据的时机,即可以测试完成一个待测电路返回一个测试结果,也可以所有待测试电路完成测试一起返回测试结果,进一步简化测试。

  (4)测试方法有广泛适用性。本发明的LoRa无线数据采集装置采集的是音频信号,收集其他类型数据的LoRa无线数据采集装置也适用。

  (5)测试方法具有灵活性。待测电路可以根据实际需求调整测试顺序,即如果1号待测电路需要多次反馈数据可以在其他大序号待测电路中再次设置测试1号电路,这样就可以同时测试多种功能的带有LoRa无线外设的电路装置。另外测试方法中待测电路序号的字节数量可以根据测试电路数量设置,可以是一个字节也可以是为多个字节。

  附图说明

  图1 LoRa无线数据采集装置电路结构;

  图2 测试系统及方法示意图;

  图3 被测电路程序流程图;

  图4 一号电路接收上位机指令示波器波形;

  图5 一号电路反馈数据示波器波形;

  图6 一号电路更新测试指令的示波器波形。

  具体实施方式

  下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

  LoRa无线数据采集装置如图1所示,包括系统电源、主控制器、LoRa无线模块和其他外设四个部分。系统电源模块提供整个电路所需的多种电源,保障电路工作。主控制器协调其他外设的数据采集,同时负责通过LoRa无线模块接收上位机发送的测试指令和向上位机反馈测试数据。

  LoRa无线数据采集装置用测试系统如图2所示,包括上位机和待测电路。上位机通过串口控制一个LoRa无线模块发送串口助手软件中的测试指令,并接收待测电路反馈的数据和修改后的测试指令。待测电路就是LoRa无线数据采集装置。

  测试方法以三个被测试电路为例,图2虚线框中1号、2号和3号为待测电路。待测电路1、电路2、电路3上电后即开始等待上位机的测试指令。上位机通过串口控制一个LoRa无线模块将带有测试电路1、电路2、电路3序号的特定格式测试指令发送出来,待测电路在解析上位机发送的测试指令后,序号最小的待测电路开始执行测试程序,即图2中的1号电路,其他待测电路继续等待测试指令。

  1号电路测试完成后按照特定格式返回测试数据给上位机,然后1号电路修改测试指令,该测试指令不再包含1号电路的序号,只含有2号电路和3号电路的序号,修改完成后按照特定格式发送新的测试指令给其他待测电路,2号电路和3号电路在检测到测试指令后,继续由序号最小的待测电路即2号电路执行测试,然后2号电路给上位机反馈测试数据,2号电路再次修改测试指令并发送,指令中只含有3号电路的序号,1号和3号电路接收到指令后3号电路执行测试,给上位机反馈测试数据,再次修改测试命令,将测试指令中的序号信息清零,发送清零后的测试指令,上位机会依次接收到所有被测电路反馈的数据和修改后的测试指令,并通过修改后的测试指令检查自动测试过程是否按照设置的被测电路序号由小到大的顺序执行,以上工作做完后即完成LoRa无线数据采集装置的自动测试工作。

  电路功能测试时LoRa无线模块设置相同地址、相同速率、相同信道会大大减少测试指令发送端的工作,但是随之而来的问题是多个待测电路同时反馈测试数据相互冲突。这是因为射频发送时同频段的射频信号会造成互相干扰,多个电路同时通过自己的LoRa无线模块向上位机反馈数据会造成信号冲突,导致无法得到准确的数据或者数据丢失,因此收发协议格式显得尤为重要。

  本发明的上位机发送指令和待测电路更新测试指令的格式为:帧头+序号+命令+校验,帧头为“AA AA”占两个字节,待测电路序号组合成一个字节,命令占一个字节,校验占一个字节,共计5个字节。帧头重复字符发送设置,减少待测电路错误接收指令的可能性。待测电路序号组合按照字节中8位分别设置,“00000010”表示待测电路为2号电路,其十六进制为0x02,“00000111”表示待测电路为1号电路、2号电路和3号电路,其十六进制为0x07,当前设置的待测电路组合可以测试8个待测电路,增加字节即可增加待测电路数量。命令字节为预留指令字节,可以根据指令返回不同的测试数据,校验字节采用循环冗余校验CRC8,校验公式为x8+x5+x4+1,以待测电路为1号、2号和3号为例,测试指令为“AA AA 07 01 1E”。

  待测电路反馈数据格式为:帧头+序号+数据+校验,帧头为“55 55”占两个字节,当前反馈数据的电路序号占一个字节,剩余待测电路序号一个字节,数据占三个字节,校验占一个字节,共计8个字节。反馈数据帧头与发送指令帧头不同,用以待测电路快速识别接收指令并能够忽略其他电路的数据反馈,数据位数根据系统实际需求反馈的数据来确定,本系统需要3位数据,校验位与发送指令算法相同,均为循环冗余校验CRC8。以待测电路1号数据反馈为例,反馈数据为“55 55 01 06 XX XX XX CRC”。

  由图2 的测试方法设计的被测电路测试方法程序流程图如图3所示,待测电路上电后即开始系统初始化,初始化包括控制器全局和相关功能寄存器配置,硬件外设电路工作模式配置,初始化完成后自动进行数据采集工作,同时LoRa进入接收状态,准备接收上位机的测试指令,系统检测到测试指令帧的帧头时,判断接收的帧头是否正确,如果没有接收到正确的帧头,程序返回重新接收帧头,如果接收到了正确的帧头,继续接收剩余全部字节的测试指令,进行CRC校验,若CRC校验错误,返回重新等待接收测试指令的帧头;

  若CRC校验正确,判断接收的指令中的待测试电路序号字节中是否有自己电路对应的序号,如果待测序号指令字节中没有自己电路对应的序号或自己电路对应的序号不是当前测试指令包含的最小序号,返回重新接收测试指令;

  如果接收的测试指令中有自己电路对应的序号并且该序号是当前测试指令中序号最小的电路,则查询装置的数据采集状态,查询到装置的数据采集状态后将得到的状态数据,由LoRa无线模块按照前述格式发送给上位机;

  数据发送完成后清除待测指令序号字节中对应的序号,再按照测试指令格式发送测试指令,即完成本电路测试工作,电路合格。在前面三个待测电路的例子中发送测试指令后,上位机收到的数据为“55 55 01 06 XX XX XX CRC1 AA AA 06 01 DA 55 55 02 04 XX XXXX CRC2 AA AA 04 01 4B 55 55 03 00 XX XX XX CRC3 AA AA 00 01 70”。

  1号电路测试过程中的收发数据的示波器波形如图4、图5和图6所示。

  以上反馈结果均为电路功能正常时的反馈结果,当电路功能失效,有以下几种状态,还是以1号、2号、3号电路待测为例。发送测试1号、2号、3号的指令后,没有任何反馈,发送测试2号、3号的指令有正确反馈,1号电路异常,如果仍没有反馈,只发送测试3号电路的指令,如果3号电路有正确反馈,1号和2号待测电路功能异常,如果三条指令均没有反馈,测试上位机LoRa无线模块功能,确认上位机LoRa无线模块功能是否正常。如果上位机LoRa无线模块功能正常,更换异常电路的LoRa无线模块重新进行上述测试,如果待测电路更换功能正常的LoRa无线模块后仍没有反馈数据,需要检测电路外设芯片功能和主控制器功能。如果反馈的帧头是正确的“55 55”,电路序号后的数据异常,说明电路的外设功能异常需要进一步察看。

  按上述方法即可快速高效地完成批量电路的测试工作。

  以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

《一种LoRa无线数据采集装置用测试系统及其测试方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)