基于CTI技术的综合实训平台研制与应用

2017-11-04 01:56李世宝潘荔霞邓云强刘建航
实验室研究与探索 2017年9期
关键词:以太网语音芯片

李世宝, 潘荔霞, 邓云强, 刘建航

(中国石油大学(华东) 计算机与通信工程学院, 山东 青岛 266580)

基于CTI技术的综合实训平台研制与应用

李世宝, 潘荔霞, 邓云强, 刘建航

(中国石油大学(华东) 计算机与通信工程学院, 山东 青岛 266580)

计算机电信集成(CTI)技术是计算机、电子和通信等学科领域的交叉融合,非常适合用于实习实训环节,但现有的CTI实验方案存在硬件资源不开放、二次开发功能弱的缺点。针对这一问题,提出了一种以DSP为核心的硬件语音处理模块设计思路,并结合计算机端的软件单元,组成完整的CTI解决方案。其特点是全面开放的硬件资源和软件接口,具备强大、灵活的二次开发功能。可以实现电信类、语音信号处理类和创新性实验,适合课程设计、暑期实习、毕业设计等环节,有利于培养学生的软硬件综合开发能力以及创新思维和创新能力。

实训平台; 计算机电信集成; 语音处理; 增值业务

0 引 言

“计算机电信集成”(Computer Telecommunication Integration,CTI)技术,是计算机、通信和电子技术的相互交叉的一个领域[1-3],以CTI领域的呼叫中心为例,其设计到的知识包括语音处理、电路设计、数据库、通信信令、交换技术等,非常适合作为培养学生综合能力的实验实践项目。当前的工程教育认证对于培养学生分析、解决复杂问题的综合能力有明确的要求,而通信、电子和计算机技术的交叉、渗透和深度融合已经成为行业发展的新趋势[4-6],因此在教学实践中需要设置综合的实验项目、配套相应的实验平台,以满足行业对于学生的软硬件综合开发能力的要求。

目前已经有一些将CIT技术应用于高校实验教学中的尝试和探索,主要分为以下几种模式,① 语音卡方式[7],按照系统集成的方式购置语音处理板卡,插入计算机中的总线插槽,通过调用厂商提供的API接口函数,完成语音业务的呼入呼出[8]。成本较高,底层硬件资源不开放,只能帮助理解程控交换的流程,锻炼软件开发能力,无法进行语音信号处理方面的实验。② USB语音模块方式,通过USB接口连接计算机,语音处理模块只是简单的语音编解码,通信信令信息交给计算机软件处理。价格低,但稳定性较差,不具备数字信号处理的二次开发能力。③ IP电话方式[9],直接在计算机中开发软IP电话,可以作为计算机网络的综合实验项目,不具备硬件设计和数字信号处理的功能。

针对现有CTI实验平台的不足,本文以TI公司54X系列DSP为核心,以以太网为接口,设计了一个语音处理模块,与计算机配合组建CTI实训平台,可以实现通信信令、交换原理等通信类实验,并可以在板载DSP中进行语音信号处理的二次开发,还可以在计算机中完成软件开发、程序设计类的实验。非常适合课程设计、暑期实习、毕业设计等环节,培养学生的软硬件综合开发能力。

1 系统整体架构

该实验平台主要包括硬件电路和软件控制两部分,完成语音信号的A/D转换、PCM编码、UDP编码以及发送、PC机本地存储的过程。其组成结构如图1所示。

图1 实验平台架构

用户电话机作为拾音设备负责将声音信号转换为电信号,同时为用户接口提供语音数据,其摘挂机以及待机等状态的供电由语音处理模块的Si3210接口芯片[10]实现,数字语音信号主要在DSP芯片中进行处理,然后通过以太网控制接口连接计算机,部署在计算机中的软件部分提供丰富的二次开发接口,用于完成各种增值业务、软交换等项目。通过与软交换服务器的连接可以完成电话的呼入呼出。

不难看出,本实验平台的主体部分是用于处理电话终端语音信号的语音处理模块和计算机中的软件模块。

2 硬件电路设计

该系统硬件部分以DSP数字信号处理器为核心,包括核心板模块、用户接口模块、以太网通信模块以及PC模块、软交换服务器等。硬件部分的设计不仅要考虑到各个功能模块的选用以及模块之间的搭配,同时还要遵循合理的布局布线规则,进行PCB制版以及调试,以保证设计的硬件电路符合预期效果。为了将电话机受话器接收到的语音信号转换成为数字信号,并通过以太网传送给PC机,采用了德州仪器公司生产的TMS320C5416芯片作为硬件逻辑的核心[11-12],借助其专用的乘法器和快速指令周期实现对模拟电话接口、以太网控制器等外设的实时控制以及对语音信号的快速处理,其组成如图2所示。

图2 硬件电路组成

(1) 核心板模块。核心板是整个系统硬件逻辑的中心,同时也是实验平台的核心电路,其作用是保障DSP处理器稳定的工作环境以及通信线路的逻辑准确性。该模块采用了一块高性能的数字信号处理器芯片,它所采用的哈佛体系结构将数据和逻辑代码分开进行存储,同时得益于其独特的硬件乘法器部件,可以快速处理复杂的数字信号变换以及编解码过程,具有优秀处理器的方便灵活通用等特点。

核心板的电源部分采用独立供电机制。外围数字时钟与A/D转换等与核心处理逻辑采用不同的供电电压与电源,既最大限度地降低了系统功耗,同时又保证了较高的工作稳定性。

为了实现平台的快速调试与功能验证,核心板同时预留了JTAG模块[13],借助其边界扫描技术,可以实现对芯片寄存器的快速访问,便于核心板与逻辑代码开发者在线互连,提高模块调试效率。同时为了方便在调试过程中查看芯片内部数据以及实现用户与芯片参数的交互,核心板模块还增加了备用的外设接口,如Mini 液晶显示器、键盘接口等。

DSP处理器与外设模块交互采用多种连接方式并存的策略,对于用户线路与处理器的接口SI3210,采用高速SPI总线,可以通过4根连接线实现全双工同步通信,保证语音数据的实时性;对于以太网控制器,其与DSP芯片的连接采用数据线与地址线分开的方式,为大量数据的转发传送提供了条件。

(2) 用户接口模块。用户接口模块指的是用户语音与DSP处理器的接口,该接口模块要完成DC-DC转换,DTMF双音多频信号产生,PCM语音编码,PCI总线数据通信等功能,确保电话机工作正常,同时可以及时将用户摘机、挂机、通话等过程通知处理器。为了实现用户接口模块与DSP处理器之间的高速全双工通信,该系统采用了SPI接口进行两者之间的数据互联。SPI数据接口连接关系如图3所示。

图3 SPI接口示意图

DC-DC转换为电话机提供在待机状态的电压,以及振铃馈电电压等,维持电话机的正常工作,其电压不连续变换范围要求从-48~90 V,才能保证用户取得较高的通话质量;DTMF双音多频信号包括4个频率的高频群和4个频率的低频群,作为一种信令信息发送电话呼号;语音编码(Pulse Code Modulation,PCM)过程通过抽样、量化、编码按照奈奎斯特定理将模拟的语音信号转换为数字信号;数据通信过程负责协调外部中断与数据采集功能,辅助DSP处理器芯片完成对编码后的数据的采集。

该模块采用SiLab的一款Si3210转换芯片实现以上功能,其供电电压为3.3 V或5.0 V,是一种基于CMOS工艺的用户接口芯片,符合RoHS规范,具有简单高效的特点。

(3) 以太网控制模块。以太网控制模块是实验平台与以太网连接的转换接口,负责将DSP处理过后的数字语音数据发送给以太网,该部分功能采用CS8900A芯片实现,其与DSP处理器的连接关系如图4所示。

图4 CS9800A的驱动方式

CS8900A是一款应用在局域网中的信号处理与接口芯片,它的逻辑工作模式按照IEEE802.3标准,并且支持全双工工作模式。该芯片的主要功能是进行本地数据与以太网数据的交互,将需要发送的数据帧打包成符合以太网传输协议的数据包,并在合适的时机发送出去。其冲突检测机制还可以对网络状况进行实时监测,如果检测到网络中存在数据冲突,它还可以实现自动数据重传,避免数据丢失。

CS8900A与DSP芯片相互配合即可实现对话音信号的传送,其工作流程如下:CS8900A监测网络状态,以及DSP数据源状态,如果收到由DSP发来的数据,则对网络状态进行判断,等到网络空闲时立即按照既定的格式向网络发送数据。发送过程中还要为数据增加以太网帧头部,并生成CRC校验码供接收端进行完整性以及准确性验证。如果接收到从网络发送来的数据,该芯片会自动对数据包进行解码、去帧头、校验等操作,并通知DSP处理器芯片,将数据发送出去。

3 软件设计

该系统的实现借助的是CTI,其目的是将传统的电信技术融入到现代计算机网络中,能够自动地进行电信信令的识别与处理,并通过互联网建立网络连接,从而向用户传送语音文件等,主要分为3个模块。首先,用户接口部分对用户端的电话机提供BORSCHT七项功能(Battery feeding,Over voltage protection,Ringing control,Supervision,CODEC &filter,Hybird Circuit,Test),为电话机提供正常的工作环境,获取电话机拾音器收到的语音信号,其次要通过以太网控制器将PCM编码的话音数据发送到以太网,最后阶段PC机接收PCM编码的语音包信号,并进行存储、播放以及录音等工作。这3个模块的协调工作依靠DSP处理器进行控制,既能保证系统的实时性,又可以通过软件对系统进行调节。

3.1前端接口模块

作为该系统的前端,电话机的状态直接影响着系统后端的动作,因此需要可靠的监控机制保证系统可以实时了解电话机的状态。前端用户接口模块采用了一块Si3210芯片实现对用户摘挂机检测以及忙音产生等工作,其软件配置流程如下:

(1) DSP系统初始化;

(2) 用户接口模块Si3210初始化;

(3) 用户摘机检测(待机);

(4) 如果用户摘机,发送回铃音,进入下一步骤,否则返回步骤(3);

(5) 用户按键检测与话音拾取;

(6) 用户挂机检测,如果用户挂机,则返回步骤(3),否则返回步骤(5)。

其中,在DSP系统初始化中主要完成整个系统的初始设定,包括DSP芯片工作模式设置,定时器、看门狗、中断等的工作方式设置。其中DSP的多通道同步缓冲串口McBSP0被初始化成SPI工作模式,保证DSP与外设的正常通信。表1所示为用户接口模块说明。

表1 用户接口模块函数说明

用户接口模块的初始化主要完成对Si3210芯片的初始化配置,使其可以对电话机进行馈电等功能,同时协助DSP芯片完成摘挂机检测以及数据传送等工作。其摘挂机检测是通过检测回路电压以及电流实现的。DSP芯片在对用户接口模块进行初始化时首先通过读取Si3210芯片的寄存器缺省值来确定其与Si3210芯片的正常通信,然后设置Si3210工作在正常模式,接下来在挂机状态下进行DC-DC校准,检测转换器的输出电压值VBAT是否正常,准备进行摘机检测。若OFF-hock函数检测到用户摘机则系统执行busy-tone函数发送忙音。

在步骤(5)中,系统要完成用户按键检测以及语音转换工作。用户按键产生的双音多频信号将会通过用户接口模块送到DSP芯片进行识别;用户按键结束以后启动话音拾取进程,将模拟语音信号进行抽样量化编码,以PCM编码的形式发送出去。

3.2以太网控制与数据发送

为实现以太网网络通信,该系统采用了一种嵌入式TCP/IP协议方案。由于DSP芯片处理能力受限于时钟频率、功耗等因素,故网络协议根据嵌入式应用进行了裁剪。该方案的设计中实现了ARP、IP、UDP等部分协议,既实现了DSP系统与PC的通信,又不会占用过多的系统资源。下面从以太网的发送、接收以及TCP/IP协议3个方面介绍以太网数据传送的软件设计方案。

(1) 数据发送。当用户向以太网发送数据时,需要提前知道目标主机的MAC地址,因此需要利用已知的IP地址向网络广播ARP数据包,直到可以利用收到的ARP响应包数据分析出目标主机的MAC地址,置位ARP响应成功标志ARP_Answer_Successful_Flag,再通过Prepare_UDP_Fra-me()函数将需要发送的数据封装成UDP包,向网络发送该数据包10次,以太网数据发送成功完成。

(2) 数据接收。对于挂接在以太网上的主机来说,当网络上有数据包传送时,会触发数据接收中断,进入中断服务程序,进行数据接收。中断服务程序需要根据接收到的数据帧的目标地址来识别它是广播包还是单播包,然后调用函数ProcessEthBroadcastFra-me()和ProcessEthIAFrame()来处理收到的数据帧。如果收到的是ARP广播包,则将自己的MAC地址封装成ARPAnswer包发送到以太网;如果收到的是单播包,首先检查是否是ARP请求返回的响应包,如果是,就可以从中提取对方的MAC地址,保存起来,并置位ARPAnswerSuccessFlag;如果接收到是的IP类型的数据帧,需要根据协议的不同判断是ICMP包还是UDP包,分别调用ProcessICMPFrame()和ProcessUDPFra-me()处理。若是ICMP,判断若是Echo包,则调用Prepare_ICMP_Answer()函数给与响应;若是UDP包则判断端口号对应再保存UDP帧。

(3) TCP/IP协议的实现。当RTL8019AS从网络上接收到数据帧以后,会自动对其缓冲区内的这些数据进行检测,确定数据的完整性以及正确性。如果接收到的数据不能通过校验,则舍弃该数据分组。下面分3层分别对TCP/IP协议每层的作用机制进行介绍(见图5)。

图5 嵌入式TCP/IP协议

① 物理层。对于处在网络物理层的RTL8019AS芯片来说,对它的控制归根结底就是对它的寄存器进行控制,因此,在该部分中主要进行网络控制寄存器的复位,以及相关寄存器初始化的工作,以设置该芯片的工作方式、中断模式以及DMA工作方式等。

② 网络层。主要实现IP协议和ARP协议。当DSP接受到正确的数据包以后,首先对其类型进行初步判断,区分其是ARP请求还是ARP应答。对于ARP请求,则应当回复ARP应答;对于ARP应答,则应当在ARP缓存中放入发送方的IP地址和硬件地址。网络层的另外一个功能是处理来自传输层的数据,为它们加上IP包头以及协议类型、校验和等,并交由下层传送。在DSP中,不支持IP数据包分段。

③ 传输层。UDP协议是一种面向无连接的协议。该部分实现对输入包的处理,对输入包的端口号以及校验和进行判断,如果这些处理结果正确,则将数据交由上层的应用程序,否则丢弃该数据包。当传输层收到来自上层应用程序的数据包时,应当设置数据包的源以及目的端口号,传送给IP层进行传送。

3.3PC端程序设计

为实现该系统与PC的通信,在PC利用MFC[14]编写一个程序,作为与DSP通信的接收端。程序中编写两个继承Socket的两个类Cping和CUDP分别实现两大功能:① 测试DSP的ICMP协议即实现Ping功能;② 与DSP通过UDP通信。

Cping类主要功能是发送Ping命令到DSP,并且解析返回的数据,在界面上显示响应数据。根据ICMP的帧格式建立对应的结构体。Cping的应用在Ping按钮的OnPing()事件中,OnPing触发时,获取目标地址,调用SendEchoRequest()构造请求并发送到目标地址,然后WaitForEchoReply()等待响应,由RecvEchoRe-ply()接收数据进行分析,处理完成后再界面的列表框中显示结果。

CUDP类的主要功能是接受DSP发来的UDP数据进行解析,也能够将数据以UDP的形式发送到DSP上。在CUDP类中添加了一个事件OnReceive()用来进行数据的接受,在这个事件触发时启动定时器,每10 ms调用RxData()函数将接收的数据和长度显示到界面上。在‘发送’按钮被触发时,会执行OnbtnSendData(),获得编辑框中的数据,然后调用socket父类中的Sendto函数将数据以UDP形式发送到DSP端。

4 CIT实训平台的应用

本实训平台的语音处理模块和服务器端软件都具备完善的二次开发接口,板载的DSP和服务器端的信令解析、上层协议和增值业务开发都可以开设大量的实验实践项目。

4.1电信类实验

综合类实验指的是该实验平台与已有实验系统结合可以完成常规的无线通信相关各类实验,同时结合无人机具备的机动性优势,可以完成许多年传统实验平台不支持的通信系统实验项目。

电信增值业务是学生平常接触最多、最熟悉的内容,例如语音信箱、自动应答、呼叫中心等,将增值业务作为实验实践项目入门门槛低、业务逻辑容易理解,不需要深刻的理论基础,非常适合面向大一大二的实践环节,同时又能激发以后学习的兴趣。

笔者所在学校通信工程专业大一夏季小学期的“程序设计实习”课程中,设置了电信增值业务开发类项目,包括10086呼叫中心、学生成绩语音查询、点歌台、语音信箱等。设置在大一结束后的夏季小学期中,主要考虑到此时学生已经学习了C语言、C++和通信概论等课程,具备了一定的专业知识和程序开发能力,迫切想找到一个较为综合的项目来实战。而以电信增值业务作为实习项目,既避免了很深的理论,又不只是课后题式简单练习,深层次的语音信号处理等封装在API中,学生在具备简单的通信概论的基础上,可以专注于软件开发。一方面培养学生分析问题、解决问题的能力,同时也激发了学生对于数字信号处理和通信网络理论的学习热情。图6所示为学生实现的10086系统流程和界面。

图6 10086系统界面

4.2语音信号处理实验

语音信号处理在数据传输、人机交互等领域有着广泛应用,越来越受到关注。本实验平台中的语音处理实验主要在板载DSP中完成,并可以结合到整个CTI通信系统中联调、验证。主要包含以下几类实验:① 语音基础信号分析,例如时域分析、频域分析、线性预测、矢量量化等。② 语音信号在通信中的应用,例如语音端点检测、共振峰检测、波形编码、参量编码、混合编码等。③ 语音信号高级处理技术,例如语音识别、说话人识别、盲源分离等。如图7所示为语音端点检测效果图。

(a) “00.wav”语音信号

(b) 短时过零率

(c) 短时能量

4.3综合性、创新性实验

依托该平台的软硬件资源,在科技竞赛、大学生创新创业训练计划等环节可以实现许多有趣的实践项目。① 基于开放的平台硬件资源,可以为嵌入式相关课程提供操作平台,同时也可以为与无线通信相关实验融合,用于综合性的课程设计,帮助学生实现系统性的功能开发,锻炼学生的综合设计开发能力。② 基于平台软件资源可以发挥学生的想象力,设计开发综合应用项目,例如图8所示为学生设计开发的110接处警系统。也可用于难度较大的复杂算法设计,例如呼叫中心系统中排队调度算法[15-16]的实现等。

(a) 接警处警功能

(b) 查询回看功能

5 结 语

将CTI技术用于IT相关学科的实验实践教学,可以开设融合通信、电子和计算机技术的综合性、设计性的实验实践项目,以锻炼学生解决复杂问题的综合能力。本文以DSP为核心研制的语音处理硬件模块与计算机端的软件相配合,可以实现电信类、语音信号处理类和创新性实验,弥补了现有CTI实验方案的缺点,非常适合课程设计、暑期实习、毕业设计等实践环节,培养学生的软硬件综合开发能力。同时全面开放的接口和灵活自由的二次开发功能,非常有利于培养学生的创新思维和创新能力。

[1] 张云帆, 徐雅斌. 基于CTI技术的呼叫中心设计与实现[J]. 辽宁工业大学学报(自然科学版), 2006, 26(1):7-9.

[2] 张文涛, 双 锴, 陈 平,等. 基于MapReduce方法的分布式CTI系统[J]. 北京邮电大学学报, 2016(s1):32-36.

[3] 胡 飞, 龚伟杰, 龙庆麟. CTI技术在社会联动系统中的应用及实现[J]. 华中科技大学学报自然科学版, 2003(s1):369-371.

[4] 李丫丫, 赵玉林. 战略性新兴产业融合发展机理——基于全球生物芯片产业的分析[J]. 宏观经济研究, 2015(11):30-38.

[5] 毕 晶, 郑 猛. ICT产业发展及其影响因素研究——以拉美33国为例[J]. 国际经济合作, 2016(3):52-59.

[6] PAN Yu, Maurizio Dècina. ICT industry convergence [J]. China Communications, 2013(12):1-2.

[7] 蔡丽萍, 洪 利. 基于语音卡的电话交换教学实验系统设计[J]. 实验室研究与探索, 2007, 26(12):79-80.

[8] 任淑霞, 赵 政. 基于多通道语音卡的招投标专家系统[J]. 计算机工程, 2010, 36(5):266-268.

[9] 涂继辉, 佘新平, 陈永军. 软交换实验平台中 SIP协议分析软件的设计与实现[J]. 实验技术与管理, 2013(8):105-108.

[10] 王小利. 基于VOIP的数字对讲系统设计[J]. 实验室研究与探索, 2013, 32(8):79-81.

[11] 李军科, 吴建军, 杨国华. DSC平台上创新实验室项目设计[J]. 实验室研究与探索, 2012, 31(8):197-200.

[12] 黄 冰, 杨召青, 吕治国. 基于TMS320C5416的G.729语音编解码算法的优化和实现[J]. 电子技术应用, 2008, 34(7):55-58.

[13] 杨 诚, 张 春. 高速JTAG在线调试系统的设计[J]. 微电子学, 2014(2): 214-217.

[14] 侯俊杰. 深入浅出MFC[M].2版.武汉:华中科技大学出版社, 2001.

[15] 夏正洪, 潘卫军. 呼叫中心智能排班系统关键技术[J]. 计算机工程与设计, 2015(5):1332-1336.

[16] 宋加山, 李 勇, 黄 亭. 排队论模型在排班管理系统的最优控制[J]. 统计与决策, 2015(19):179-181.

DevelopmentandApplicationofIntegratedTrainingPlatformBasedonCTITechnology

LIShibao,PANLixia,DENGYunqiang,LIUJianhang

(School of Computer and Communication Engineering, China University of Petroleum, Qindao 266580, Shandong, China)

computer telecommunication integration(CTI) technology is the integration of computer science, electron and communications discipline, and is suitable for practice training. However, the present CTI experimental scheme does not have open interface and is weak in secondary development. To solve this problem, we proposed a combination of hardware and software voice processing platform based on DSP processor, which has full open access to hardware and software interface, and is suitable for secondary development. Moreover, this platform is suitable for telecommunication, voice signal processing and innovative experiments, hence it is useful in course design, summer internship and graduation design, for the development of students’ innovation ability and engineering capability.

training platform; computer telecommunication integration(CTI); voice processing; value-added service

TP 202;G 482

A

1006-7167(2017)09-0117-06

2016-11-11

全国工程专业学位研究生教育2016~2017年度自选研究课题-教改项目(2016-ZX-271);教育部-NI2015年产学合作专业综合改革项目(2015-2);中国石油大学(华东)教学实验技术改革项目-重点项目(SY-A201608)

李世宝(1978-),男,山东潍坊人,硕士,副教授,系主任,主要研究方向为无线通信、移动计算、移动学习。Tel.:15966883535;E-mail:Lishibao@upc.edu.cn

猜你喜欢
以太网语音芯片
芯片会议
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
谈实时以太网EtherCAT技术在变电站自动化中的应用
多通道采样芯片ADS8556在光伏并网中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用