APP下载

一种话音自动呼叫系统的设计与实现

2010-06-13巍,李

无线电工程 2010年8期
关键词:话音单音中继

郭 巍,李 鑫

(中国电子科技集团公司第五十四研究所,河北石家庄050081)

0 引言

话音通信由于其自身的便捷性和通用性,在目前所设计的各种卫星通信系统中仍然占有很大的比重。一套话音通信系统的设计实现之后,需要测试该系统的工作稳定性,即需要进行成百上千次的拨号呼叫,测试系统的呼叫成功率。这样通常需要花费大量的人力物力,并且测试过程十分枯燥,经常会有人为的误差。

为提高工作效率,降低人力成本,提高测试准确性,利用数字信号处理器(DSP)[1]芯片、单片机、中继接口电路以及监控单元,设计了一种话音自动呼叫系统。利用该系统,可以模拟实现一部电话机的整个呼叫流程:通过中继接口电路实现自动摘机,利用DSP芯片检测信号音,并产生双音多频信号(DTMF)[2]进行拨号,进而实现呼通率的测试,通过本系统的监控单元,可以实时观察到测试结果。此外,也可以通过C8051单片机的串口直接将结果输出到计算机。

1 DSP芯片产生DTMF和检测信号音

1.1 DSP处理器

DSP是鉴于数字滤波和快速傅里叶变换的数字信号处理技术而发展的,DSP处理器具有多总线、多处理单元和流水线处理结构,并具有丰富的I/O接口,在音频、图像和视频等众多领域有着广泛的应用。

本设计中的DSP采用Ti公司的TMS320 VC5509A,该芯片运算速度快、功耗低、接口丰富,非常适合于语音信号处理算法。由于DSP内部不带用户可以直接使用的程序存储器,因此本系统使用Intel公司的28F160并口Flash芯片,该芯片读写速度快,具有16Mbit的存储容量。

1.2 DTMF的产生和信号音的检测

在电话通信过程中,通过电话机拨号,产生DTMF信号进行呼叫,该信号是由2个不同频率的信号叠加而成的复合信号,用于自动程控交换机及电话拨号。拨号完成之后,通过一些固定的信号音来识别主被叫的状态,协助完成整个通信过程,拨号完成之后,如果听到忙音(0.5 s通,0.5 s断的450 Hz单音),则呼叫失败;如果听到回铃音(1 s通,4 s断的450 Hz单音)则认为呼叫成功,此时被叫端送振铃,主叫端等待被叫摘机,被叫摘机后,主叫端停止送回铃音,被叫话机停止振铃,此时,主被叫双方可以进入话音通信阶段。

利用DSP芯片,产生DTMF信号,模拟电话机拨号,呼叫完成之后,再通过DSP进行信号音的检测,判断一次话音通信是否成功,进而统计呼叫成功率。

DTMF的产生和信号音的检测均由DSP芯片完成,然后通过异步串口上报给CPU单元。系统加电后,由片上Boot程序将系统程序加载到芯片,系统开始运行初始化模块,对数据和部分全局变量进行初始化处理。初始化后,系统上报状态,然后启动中断,中断服务程序开始处理外部中断、串口中断。DSP系统运行中,看门狗模块对系统进行监控,如果系统超过没有响应看门狗模块,该模块会自动重启系统。

DSP检测信号音以及产生DTMF信号示意图如图1所示。DTMF音频信号的产生通过CPU的控制命令实现,如果DSP的串口服务程序接收到产生DTMF的命令,则首先控制DSP产生2种所需的单音信号,然后再将2种单音进行叠加,得到所需的双音多频。

图1 DSP检测信号音以及产生DTMF信号示意图

信号音检测的原理是:首先通过信令检测模块检测输入的PCM是否为450 Hz的单音信号,其算法的基本原理是对待检测语音进行FFT变换,分析其频域的特征,选择一定的门限对单音所在频带能量进行判断,如果超过门限即判其为单音。考虑到待检测的单音有可能不是标准的450 Hz单音信号,可以对一定范围的单音进行判断,比如本系统中450 Hz的单音检测范围为421.875~468.75 Hz。在检测到单音信号之后需要对单音的通断比进行判断,如果是连续的则上报拨号音;如果为0.5 s通,0.5 s断的单音则上报忙音;如果为1 s通,4 s断的单音则上报回铃音。

1.3 中继接口

外部交换局(Foreign Exchange Office,FXO)接口,通常叫做中继环路接口,简称中继接口。中继接口是接收模拟线路的埠,用来传输挂机/摘机指示。

本系统采用的是中继接口电路为MY2033中继模块,该模块具有二/四线转换、环路检测、铃流检测和模拟摘机等功能,并且内部带有PCM编解码功能(TP3057)。通过把2根平衡的电话线转换成对地的模拟输出信号VX再经过CODEC转换成PCM输出;相反,输入PCM信号DR经过DODEC转换成输入模拟信号VR而后经过2/4线变换成平衡的2根信号。可以通过指定MY2033的工作时隙,选择处理不同时隙的PCM信号。

2 系统设计与实现

2.1 系统设计

利用单片机(MCU)作为CPU,外加一片FPGA芯片以及DSP芯片对系统电路进行控制和交互,通过中继接口电路,将本系统接入待测试系统中。通过中继电路控制摘机,通过DSP芯片进行DTMF拨号,信号音检测,进而将结果上报到CPU,通过计算得到待测系统的呼叫成功率。最后可以通过一个RS232异步串口将测试结果上报计算机或者直接通过显示屏显示出来。系统设计结构示意图如图2所示。

图2 系统设计结构示意图

2.2 系统实现

本系统中,CPU采用Silicon公司的C8051系列单片机;FPGA采用Xilinx公司的SPARTANXC2S50,中继接口选用明亚公司的MY2033中继接口模块;DSP选用Ti公司的TMS320VC5509A,监控屏选择MGLS-12233液晶模块作为显示输出,并配有4个按键作为输入。

呼通率测试开始之前,首先需要输入被叫号码长度和被叫号码,本系统最长支持16位拨号。可以通过2种方式输入,一种是直接通过监控屏和按键输入;另一种方式是通过C8051自带的异步串口,转换为RS232电平,连接计算机,通过计算机的串口软件输入。完成被叫号码的输入后,通过电话线将本系统接入待测试的话音通信系统,通过FPGA设置中继接口和DSP芯片工作在相同时隙,即可开始进行呼叫测试。单次呼叫测试流程如图3所示。

图3 测试呼通率流程

首先通过控制MY2033的RC管脚置高电平,模拟中继接口摘机,利用DSP芯片检测中继接口收到的信号音,如果是拨号音,则可以进行拨号;如果是忙音,则不能进行呼叫,置MY2033的RC管脚低电平,模拟中继接口挂机,开定时器,延时一段时间后,再次进行摘机检测,直到检测到拨号音后,便可以进行拨号呼叫。拨号号码是预先输入到在CPU之中的,按照300 ms间隔,持续时间 50 ms定时,顺序通过串口给DSP发送产生DTMF命令,利用DSP芯片产生DTMF,模拟进行拨号呼叫,拨号完成后,DSP对对端回送的信号音进行监视检测,并且上报给CPU。如果上报检测到回铃音,则认为呼叫成功,置MY2033中继接口的RC管脚置低电平,模拟挂机,一次呼叫完成;如果定时超时或者检测到忙音,则认为本次呼叫失败,置RC管脚挂机,等待下次呼叫。完成一次呼叫之后,完成对呼叫总次数、成功次数、失败次数的计算,并且显示在监控显示屏上,同时可以通过计算机串口对此时的呼叫情况进行查询。

3 结束语

利用DSP芯片、中继接口电路和单片机组成的话音自动呼叫系统,可以便利准确地对一套话音通信系统的呼叫成功率进行测试。本系统使用简单,系统工作只需要+5 V一种电压,并且不需要其他任何辅助装置,即可利用按键直接输入被叫电话号码,并通过系统的液晶屏显示测试结果。此外,在测试中,还可以选择多种测试方式,既可以选择一对一的呼叫,即利用本系统呼对一个固定的电话号码进行呼叫测试;也可以进行一对多呼叫,即轮流呼叫待测系统中的多个不同的电话号码,测试方式的多样性使测试结果更加全面、准确。

[1]张雄伟,陈 亮,徐光辉.DSP芯片的原理与开发应用(第3版)[M].北京:电子工业出版社,2004.

[2]陈立万.基于DTMF解码器的DSP技术[J].无线电工程,2001,31(1):132-134.

猜你喜欢

话音单音中继
卫星通信物理层非直扩链路的单音干扰影响解析
自适应多中继选择系统性能分析
单音及部分频带干扰下DSSS系统性能分析
话音叠加中实时混音算法的FPGA实现
视唱练耳听力训练的方法
基于干扰感知的双路径译码转发中继选择算法
一种基于无线蜂窝网络的共享中继模型
分组话音在窄带信道的组播实现方案
中继测控链路动态分析与计算方法研究
IP语音报头压缩设计与实现