作者 | 李伟 上海控安安全测评部总监
来源 | 鉴源实验室
引言:上一篇文章我们讲了整车的OTA升级测试(详解车载设备FOTA测试),本篇我们介绍在车载零配件上比较少见却很实用的测试:通讯模组的AT(Attention)指令测试。
01
AT测试的用途
AT指令可以通过终端设备发送指令的方式控制移动模组系统功能的一组指令集。
通讯模组的AT指令测试通常在移动通讯模组的供应商或者移动通讯设备供应商的研发测试部门使用较多,如:华为、中兴通讯、移远通讯的移动设备研发测试部门。
AT指令测试的实施一般是将测试电脑和被测试通讯模组进行连接,在测试电脑上运行的终端工具软件(如QCOM)中输入AT指令,并将指令通过软件发送给通讯模组,通讯模组根据接收的AT指令来执行各种操作和配置。如:通过发送AT质量查询移动通讯信号强度或IMEI(International Mobile Equipment Identity)信息、设置APN(Access Point Name)接入点、发送短信、拨打电话等等。
我们可以把AT指令工具理解为一个shell工具,AT指令操作的这些功能在手机或者移动终端的上层应用软件中可以实现,通过AT指令工具可以在命令行的方式下进行操作。因为排除了上层应用软件,直接通过AT指令操作通讯模组会更加快捷和方便,特别做某些频繁的操作测试,如在2G/3G/4G/5G间快速切换网络模式,频繁查询移动通讯信号强度等。
电脑和模组直连图如下:
图 1
02
为何TBOX需要做AT指令测试
车载零部件中的AT指令测试和通讯模组研发的AT指令测试是不一样的,模组研发的测试是通过AT指令对通讯模组本身的软硬件功能和性能进行测试。车载零部件中使用的通讯模组都是成熟的商用解决方案,已经通过了供应商的各项测试,我们在车载零部件测试中使用AT指令是为了更方便、快捷和高效地辅助进行车辆功能的相关测试。
在车载零部件测试中一般也不会使用到通讯模组AT指令,只有在进行TBOX或者整车各场景通讯相关的测试中才有可能使用到AT指令辅助进行测试,是将AT测试指令作为工具,验证不同的车辆使用状况下整车或者相关零部件通讯模块的功能和性能。
这些测试的使用场景通常是模拟车辆处于不同信号强度或者不同通讯信号覆盖场地的情景。对于信号强度的模拟通常会使用铝箔布或铝箔纸包裹TBOX,在包裹前后分别通过AT指令查询实际的接收信号强度,验证在信号强度发生变化时车辆相关功能的处理是否符合预期设计,如下图所示:
图 2
因为移动运营商信号基站布局的原因,在车辆使用中会经常出现 2G/3G/4G/5G 网络接入信号的切换,此种场景测试人员通常是没有直接的手段来切换 TBOX 接入网络类型的,但是通过 AT 指令我们可以非常方便且高效的进行网络切换和重新注册。
03
如何执行AT指令测试
3.1 测试前的准备
实际中使用AT指令进行辅助测试的操作本身是比较简单的,我们要执行AT指令测试需要做一些准备工作:
(1)首先要跟模组供应商确认TBOX上通讯模组的型号,获取对应的设备驱动。
(2)获取通讯模组匹配型号的AT命令手册,也可以跟供应商直接获取需要使用到的具体AT指令。通常供应商提供的AT命令手册包含了所有指令,文档的长度会有数百页,易读性对非专业人员不是很好。
(3)TBOX连接电脑的USB驱动。
(4)获取发送和接收指令的串口工具,如下图所示QCOM是模组供应商移远通讯常用的AT指令收发工具。
图 3
3.2 设备连接
测试时通常使用的连接方式较为简单,TBOX直接通过USB接口连接到测试电脑,在测试电脑上安装对应的驱动程序即可发现生成的虚拟AT端口。我们以移远通讯的驱动为例,驱动安装成功后,连接设备时,在电脑的设备管理中会出现USB AT端口,如下图所示:
图 4
根据设备中显示的端口号,以及供应商提供的连接信息,配置工具 QCAOM 中的串口号、总线速率、停止位、流控等信息,配置完成后点击“Open Port”进行连接,连接成功后,“Open Port”会变为“Close Port”,其他串口编号等设置项会变为灰色不可选,此时就可以在输入框中输入 AT 指令,进行测试了。
3.3 AT指令
模组供应商不一样或者模组型号不一样时,使用的AT指令可能不一样,这边我们使用移远EM05指令集为例给大家做简单介绍。
命令:AT+CSQ 信号强度查询
使用本命令模组会返回通讯信号的强度值。
我们在此只简单介绍这两个指令的含义,其他AT指令可以参考指令集或咨询供应商。
04
测试小结
我们知道在测试过程中经常会遇到一些功能或者场景需求,无法或者很难进行测试设计,或者是设计简单执行很难。对于这些问题其他行业的测试可能已经具备了成熟的解决方法和测试手段,这就要我们对于其他行业的测试要有一定的了解,随着行业工作经验的积累,跨行业的知识要不断学习。
对于AT的指令测试有几点小结分享大家:
(1)我们不是模组的测试人员,不是替供应商测试模组的,只是使用他们的工具来辅助汽车零部件测试。
(2)AT指令有很多,有时候一个功能点可以有很多个相关的指令都可以支持我们的测试目标,这跟测试设计就相关了,可以多做几个测试设计,选用最好的方法。
(3)AT指令在辅助进行通讯相关测试时,不是唯一的万能使用方法,通常是跟其他手段结合使用的,要用好不同技术的组合测试设计。
(4)有问题时寻求供应商技术支持是很有用的,有时候可以节省大量时间。
参考资料:
1.移远通讯:Quectel_EM05_AT_Commands_Manual_V1.0.