摘 要: 本文介绍了一种互联互通电话呼叫测试仪的系统结构,并且给出了硬件、软件的设计方案。
关键词: 互联互通;呼叫测试;短信息;手机模块
引言
互联互通测试系统的目的是便于监测数据和固定网通信业务与PSTN网间互联互通业务的运行质量,通过分析该测试系统的输出结果能够及时发现问题,从而提高网间互联质量,同时能够及时可靠地完成各种测试任务,达到提高效率、节约成本的目的。
本互联互通呼叫测试仪主要用于部分省市中国联通公司,提供联通数据和固定网业务与PSTN之间的互联互通呼叫测试,包括IP电话业务(含卡类17910和一次呼叫17911)、193长途电话业务(含卡类193和一次呼叫193300)、165呼叫上网等业务。
系统结构
互联互通电话测试系统由管理中心和互联互通呼叫测试仪终端通过GSM、PSTN构成,如图1所示。
管理中心可编辑设置各种呼叫规则和任务,包括对应呼叫号码的测试时间、周期、呼叫内容(号码)、呼叫次数等。管理中心通过GSM的短信息方式建立对所辖各呼叫测试仪终端的数据通信,从而完成规则、任务下达,并且接收终端呼叫记录上报。
各呼叫测试终端依据管理中心下达的规则和任务忠实执行,完成定时呼叫,并对呼叫结果进行分析、判断、记忆,具体包括:呼叫时间、主叫号码、被叫号码、呼叫时长、呼叫结果(忙音,拥塞,久不应答,语音应答,正确接通)。
管理中心接收各测试终端上报的测试记录,并对记录按相应条件进行数据分析、统计、归类,形成相应图表供显示或打印输出。
当呼叫测试仪拨打市话时,可以根据交换机送来的信号音判别被叫线路的状态,信号音的种类符合《电话交换设备总技术规范书》YDN 065-1997[1](见表1)。
呼叫测试仪的工作过程如下:
硬件设计
呼叫测试仪的硬件结构框图如图2所示,包括电话机话音电路、MCU和外围功能电路、GSM模块电路三大部分。
呼叫测试仪硬件电路以P89C51RD+为MCU,通过SPI接口连接外围功能电路——实时时钟DS1302、串行存储器X5045、DTMF发送和信号音检测电路CMX624;通过CMX624连接电话机话音电路PBL385 73N ;MCU通过UART访问GSM模块。
话音电路PBL385 73N
PBL385 73N是Ericsson生产话音电路。它内置自动增益控制电路(AGC),所需的外围元件少,使用范围宽。图3中,T1为摘机继电器,MCU通过CMX624的第14引脚驱动继电器摘机,AB线信号经过桥堆定向后,送到PBL385 73N。
MCU和外围功能电路
MCU采用PHILIPS的P89C51RD+,它兼容最流行的Intel 80C51单片机,内含有64K bytes FLASH ROM,1K bytes RAM,32个I/O,对于本设计,不用扩展外部RAM和I/O。
串行存储器X5045用于存放下载到呼叫测试仪的非易失工作参数。同时,该芯片将看门狗定器、上电复位控制、压降管理以及具有块保护功能的串行EEPROM这四种功能集成到一体,有助于简化应用系统的设计,减少PCB的占用面积,提高系统可靠性。
实时时钟DS1302是一个可编程3 线SPI串行接口时钟芯片,在图4中,连接在DS1302第8引脚的BATTERY是可充电3.6V备用电池,来备份系统时间和数据。
图5 呼叫测试仪的主程序流程图
本设计主要使用DTMF发送和信号音检测电路CMX624的DTMF编码和发送、呼叫进程音(信号音)的检测功能[2]。在MCU的控制下,经过CMX624的第9引脚,DTMF被送到PBL385 73N的第3引脚,最后送到AB线上。另外,AB线上450Hz的呼叫进程音经过PBL385 73N的第12引脚,在CMX624的第16、17引脚被接收、检测,最后由MCU判别。
GSM模块
GSM模块采用法国WAVECOM公司的WISMO2C2-G900/1800(简称2C2),它是一个功能完整的手机模块,MCU通过UART对它进行控制和数据传输,包括短信、CSD、GPRS、GROUP3 CLASS 1和CLASS 2传真等。MCU对模块的控制采用的是AT指令,符合ETSI标准GSM 07.07和GSM 07.05[3]。
软件设计
呼叫测试仪的主程序流程如图5所示,其程序分为三部分:初始化及自检、参数下载及保存、呼叫测试及上报纪录。
上电后,程序完成对MCU寄存器和变量的初始化,以及对外围功能芯片DS1302、X5045、CMX624的初始化。自检的内容包括,读取DS1302时间值,进行合法性检查和时钟正常运行检查;对X5045指定单元写入数值,再读出比较,检查该芯片的好坏;对CMX624寄存器进行读写检查,驱动摘挂机继电器T1开关一次。如果自检不通过,则点亮LED闪烁告警。
MCU通过输入AT指令对2C2模块进行初始化,以便进行短信的收发。主要的指令[4]有:
当呼叫测试仪首次使用或收到管理中心下发的更改参数短信时,MCU等待参数下载完毕。MCU通过AT+CMGR=指令读取短信,解析短信内容,把其中的工作参数保存到X5045。工作参数有:终端卡号、管理中心号、短信中心号、呼叫起始时间、呼叫终止时间、呼叫周期、呼叫次数,呼叫内容等。
当呼叫测试仪完成参数下载后,MCU循环检查拨打规则,通过读DS1302,判断呼叫起始时间、呼叫终止时间、呼叫周期、呼叫次数满足拨打规则后,就从X5045读出下一个待呼叫的电话号码。MCU控制CMX624驱动摘挂机继电器摘机,发送待呼叫号码对应的DTMF编码。交换机接续后,根据被叫状态送出相关的信号音到AB线上,MCU通过读取CMX624寄存器的值,按照图1进行信号音的检测。MCU产生呼叫记录,然后以PDU格式的短信上报管理中心。在PDU模式下,如果发送短信,则先发送短信的长度AT+CMGS= ,等待2C2模块返回字符“>",则可以发送PDU数据, PDU数据以0X1A作为结束符。若短信发送成功,2C2返回OK。PDU编码格式详见ETSI标准GSM 03.40和GSM 07.05。
本设计程序采用C51语言编写而成。MCU访问DS1302、X5045和CMX624都通过SPI接口,所以SPI接口读写的频率较高,其中最基本、最常用的是输出一个字节和输入一个字节的子函数。由于篇幅原因,具体程序代码就不一一列出。
结语
本互联互通呼叫测试仪通过与PSTN的电话线相连,自动呼叫预先定义的测试号码,并将测试结果以短信息方式传送到管理中心,管理中心对测试结果加以分析,形成直观的测试报表。
目前,该互联互通测试系统已经开始应用,主要用于测试使用IP业务的固话用户能否正常拨上IP平台,测试PSTN和IP平台的互联互通。实践表明该系统灵活地完成了互连互通的测试任务。■
参考文献:
1. 邮电部电信传输研究所,‘电话交换设备总技术规范书’, YDN 065-1997.
2. Consumer Microcircuits Limited,‘CMX624DS.PDF’
3. WAVECOM,‘WISMO2C Hardware Specification’, August 2000.
4. WAVECOM,‘AT commands interface’,March 2000.
摘自 电子产品世界