基于串口的机顶盒自动测试方法及其系统分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于串口的机顶盒自动测试方法及其系统分析

发表时间:2020-03-25T11:41:40.974Z 来源:《防护工程》2019年21期作者:吴日荣[导读] 测试机能自动控制机顶盒进行升级,并通过串口对升级过程进行监控,无需人为控制机顶盒的控制面板来升级,升级过程更加简单且自动化,大大方便了测试升级操作。南宁富桂精密工业有限公司广西南宁 530000

摘要:一种基于串口的机顶盒自动测试方法及其系统,所述基于串口的机顶盒自动测试方法包括步骤:测试时,测试机控制机顶盒断电重启;测试机通过串口检测机顶盒是否进入升级准备状态;进入所述升级准备状态时,控制升级码流传输至机顶盒进行升级;测试机通过串口检测升级是否完成,升级完成后停止升级码流的传输,结束测试。测试机能自动控制机顶盒进行升级,并通过串口对升级过程进行监控,无需人为控制机顶盒的控制面板来升级,升级过程更加简单且自动化,大大方便了测试升级操作。

关键词:串口机顶盒;自动测试;系统分析

一、前言

随着数字电视机顶盒的推广,机顶盒成为人们日常生活必不可少的家用电器,为确保搜索功能的稳定性,需要对机顶盒进行测试,常规的人工方式进行机顶盒测试需要测试人员多次重复进行手动搜索测试,并记录测试结果进行分析,这种方式对测试人员的技术要求和工作负担来说是非常高的。且因为测试过程包含太多的人力操作,测试的可重复性和准确性得不到保证,对测试的质量没有保障。

因此,建立一套高效可靠的机顶盒自动测试方法和系统显得非常有必要。本文介绍了一种基于串口的机顶盒自动测试方法及其系统,其通过串口,利用测试机通过多线程共享对升级过程进行串口通信协议和监控,自动控制机顶盒进行升级。本系统设计方法简单,测试准确度高,灵活度高,适用于接收性能整体测试等需要大量测试的应用,具体如下。

二、机顶盒自动测试系统的整体设计机顶盒的Loader(加载)模块是机顶盒系统软件的重要组成,主要功能是提供机顶盒应用软件进行升级,Loader模块常见的升级方式是OTA在线升级,有的机顶盒通过网口来实现自动化升级,但大部分的机顶盒只有串口,只能采用手动升级测试,而且大多数的人工测试需要测试工程师熟悉Loader业务,来搭建Loader的测试环境,并通过遥控器之类的设备对机顶盒的控制面板发送升级测试相关指令,从而进行升级测试。

这种人工测试的方式需要通过遥控器多次发送控制指令,操作步骤重复、繁杂。针对人工手动升级测试存在的问题,建立一套高效可靠的机顶盒自动测试方法和系统对于机顶盒的相关研发和生产企业是非常有必要的。本文介绍了一种基于串口的机顶盒自动测试方法和系统,这对于机顶盒自动测试系统的设计具有一定的参考意义。

本文介绍的机顶盒自动测试基本组成主要由两大大部分组成,包括待测机顶盒和测试机。基本工作原理为:测试时,测试机控制机顶盒断电重启,测试机通过串口检测所测机顶盒是否进入升级准备状态,进入所述升级准备状态时,控制升级码流传输至所述的机顶盒进行升级;最后测试机通过串口检测升级是否完成,升级完成后停止升级码的传输,结束测试。

(一)测试机

测试机是整个测试系统的核心,主要的功能有以下几点。第一,自动测试待测机顶盒脚本的读取和测试标准的判断;第二,完成机顶盒的初始化,依照机顶盒的类型对应设置升级参数,完成测试仪器的设置;第三,依照测试脚本完成待测机顶盒的升级码传输,并实时检测进度条的进程;

第四,通过串口向与机顶盒相连接的串口发出版本查询指令,判断当前机顶盒的软件版本与升级版本的码流是否相同。测试机在整个测试系统中,可以模拟多信道输出进行邻道干扰的测试,要能够无缝循环播放码流。

(二)机顶盒

待测机顶盒在整个自动测试系统,需要能够根据自动测试系统的需要提供相应的支持,可以响应测试机的串口命令接收码流进行接收机的参数配置,反馈读取到的码流的错误信息或反馈升级的进度条的数值。

三、自动测试流程设计

基于串口的机顶盒自动测试的方法和系统,是通过串口自动化测试机顶盒Loader模块,来实现自动升级。主要步骤包括:通信接口初始化,检测待测机顶盒是否进入升级准备状态,进入升级准备状态并控制升级码传输至待测机顶盒进行升级,测试机通过串口检测升级完成后,停止升级码的传输,结束测试。具体流程如下。

(一)测试机控制机顶盒断电重启

测试开始,根据实际的测试需求进行测试机的设置,并且测试机控制开关机对机顶盒进行先断电后供电的操作,外部电源通过开关机传输至电源接口,测试机通过第一串口向开关机发送开关指令,使开关机自身先关后开,这相当使机顶盒的外部电源先断开再输入电源接口,从而达到让机顶盒断电重启的作用。

在机顶盒断电重启运行自身程序之后,测试机通过本身的第二串口和机顶盒的第三串口进行通信。通信之后,先判断机顶盒是否进入应用程序,既计算机自动测试控制程序,接着测试机设置机顶盒的升级类型,机顶盒在识别升级类型后自动重启,进入对应的升级界面,而进入升级界面也就表示机顶盒进入了升级准备状态。

(二)升级码输送

机顶盒进入升级准备状态之后,此时测试机通过本身的USB接口发送输出指令控制播流工具输出升级码传输至机顶盒的电缆接口,机顶盒收到升级码后开始进行升级。在升级码输送完成之后,测试机将通过第二串口向机顶盒的第三串口发出参数查询指令,以检测升级码流中设置参数是否与机顶盒相匹配,升级参数包括机顶盒的基本参数、性能参数等,如模式、宽带、速率等数值,只有升级参数与机顶盒相匹配才能完成升级。

测试机通过串口检测升级是否完成,检测方式有自动检测和主动检测两种方式,主动检测即测试机通过第二串口向机顶盒发出升级查询指令,若机顶盒已经完成升级,则通过第三串口传输给测试机第二串口升级完成指令,测试机识别后确定机顶盒完成升级,若未完成则不给反馈,直到进度条达到100%之后才反馈升级完成指令给测试机。而自动检测既是指机顶盒在升级过程中实时检测进度条的数值,达到100%时自动向测试机反馈测试完成指令。

在进度条达到100%后机顶盒自动重启,此时,测试机收到升级完成指令后判断机顶盒升级完成,停止升级码的传输。在升级测试

完成之前,测试机还可以查询机顶盒当前的软件版本是否为升级码对应的版本,从而判断升级是否成功。具体为:测试机通过第二串口向机顶盒第三串口发出版本查询指令,机顶盒根据版本查询指令获取当前的软件版本并通过第三串口传输给第二串口,测试机比较当前的软件版本与升级版本的码流是否相同,相同则升级成功,不相同则升级失败。之后,测试结束。

在测试过程中,测试机的第二串口与机顶盒的第三串口进行通信时,即是双方交互数据指令时,发送的数据需要进行反转处理(接收时进行相应的反转恢复)以避免其他数据的干扰。而在串口发送数据指令时,要先对数据指令进行映射获得数字串,该步骤的目的是为了减少串口发送多字符串的负担,数据指令的字符串包括发送的模块名(既是那个模块发送的数据指令)、发送的动作名(既是指该指令需要执行的操作)和参数(数据的具体数值)。接着对数字串进行反转,主要就是将数字串与预设串进行数值的反转,最后调用串口发送反转后的数字串,完成发送过程。而串口在接收到反转后的数字串时,先将接收到的数字串进行反转,恢复为原始的数字串,并过滤掉干扰的字符串,接着根据协商好的通信协议把字符串根据映射表依次还原为字符串,即还原为发送的模块名、发送的动作名和参数,串口的数据接收过程结束。

四、结束语

综上所述,本自动测试方法和系统,只要有串口就能进行自动升级,测试机就能够通过多线程共享对升级过程进行串口通信协议和监控,自动控制机顶盒进行升级。这样的自动升级方法和系统无需人为控制机顶盒的控制面板来进行升级,提高了测试的总体效率,提高了自动测试的覆盖率,解放了劳动力,使得对机顶盒Loader(加载)模块不是很熟悉的测试工程人员也能够测试机顶盒Loader模块,使得升级过程更加简化自动化,方便了测试升级操作,为机顶盒的自动升级系统设计的进一步发展奠定了一定的基础。参考文献:

[1]Bruce,Eckel.Thinking in Java[M]. 机械工业出版社:Bruce Eckel,2016:650-766.

[2]李良,朱善安 . 基于 Java 的串口通信 [J]. 电子器件,2007(2):714-720.

[3]马赛 . 基于 Java 异步串行通信技术的研究[J] 计算机测量与控制,2014,22(8).

[4]霍晓丽 . 利用 comm.jar 开发包实现 Java与单片机全双工串口通信 [J]. 工矿自动化,2005,49(2).

相关文档
最新文档