本文基于嵌入式ARM设计的CQT测试系统采用远程检测方式,测试终端分布在目标测试地点,并接受来自远程的监控中心的测试任务指令,自动进行测试,再生成报告回送监控中心,实验表明,该方案具有很好的实用性和可靠性。
监控主机可采用有线和无线两种接入方式,如果在CMNET的APN中进行测试,可采用普通的ADSL有线接入Internet网络,亦或采用一套GPRSModem无线接入网络;如果在CMWAP或专用APN接入,则监控主机必须使用同网段的GPRS无线接入。
主处器采用了三星ARM920T内核的S3C2410,该芯片非常适合开发高性能手持及便携式智能设备或终端。在本GPRSCQT测试终端中,着重有以下部分:
存储体系:64MNandFlash、64M(32M×2片)SDRAM;
以太网:设计了100Mbit/s以太网口,作为调试、升级用;
串口:板上设计了两个串口UART0为控制台,UART1作为与GPRSModem的通信接口。
GPRS模块选用了法国WaveCom公司的Q2403A模块,支持话音、短消息、数据及传真功能,适用于短信中心、无线抄表、GPRS无线上网、GPS、直放站监控等,超薄超小设计,性能稳定,加少许外围电路即可实现标准Modem接口,与本系统中UART1接口相连,主板和GPRSModem之间使用标准的AT指令实现通信。
测试软件设计
在底层软件中,该方案移植了目前应用广泛的软实时嵌入式操作系统armlinux。嵌入式Linux具备完整的常用网络协议(TCP/IP、UDP、FTP、等)和相关工具,且性能稳定可靠。在本实验中移植的是linux2.4.18内核。为了实现PPP拨号等功能,在makemenuconfig配置内核的时候选择PPP协议支持,并选择相关的工具pppd和chat,为了测试UART1,同时移植了tip串口调试工具。
下面着重介绍下本实验实现的几项CQT项目测试方法。全部用linux下C编程实现,离线测试主要为串口编程,在线测试涉及相关的网络套接字编程。
ATTACH附着测试先使用AT指令集中的AT+CGATT?查询附着情况,返回1表示已附着,返回0表示未附着。如果已附着,则向GPRSModem发AT+CGATT=0让其退出附着,然后发送AT+CGATT=1,并启动计时器,等待返回,收到OK则停止计时器,采集到一个ATTACH测试数据。实验中设置等待时间15秒,超时视为失败。按照中国移动DT和CQT测试规范及考核规范(下文简称测试规范),应采集10项ATTACH数据。
PDPACTIVATE测试可使用AT+CGACT指令测试。首先向GPRSModem发送AT+CGACT?查询PDP激活情况,返回+CGACT:0 0表明未激活,+CGACT: 0 1表示激活。如果已激活,则发送AT+CGACT=0,0使PDP返回未激活状态,然后发送AT+CGACT=0,1,并启动计时器,等待返回+CGACT: 0 1,则停止计时,采集到一个PDP ACTIVATE测试数据。超时时间同样为15秒。
SMS短信测试同样使用相关的AT指令进行。进行10次的发送测试,并检测发送报告。为便于测试,短信设置为Textmode,可使用AT+CMGF=1设置,AT+CMGS=[,]后接信息内容,以结尾,发送短信,AT+CMGR=读取短信。
离线测试完成后,系统暂存测试数据,然后启动ARMlinux系统的pppd和chat程序发起PPP拨号连接至CMNET接入点,并生成帧格式,立即向监控主机上送离线测试数据,接着进入以下的在线测试。
拨号测试配置PPP相关文件,使用linux的pppd/chat程序发起拨号,检测ip-up脚本程序的启动与否判断拨号成功,计算耗费时间。总共作10次的拨号测试。
PING和FTP测试则按照测试规范,pingGGSN局域网内的站点,ping的包长为500byte,每点测试10次,FTP测试下载500KByte文件一次。