4.2 I2C语音模块
由于语音编解码器的处理延时是影响VoIP话音质量的因素之一,为了保证语音编解码的实时性,软件系统在控制WM8731编解码器的编解码同时,加入了I2C语音模块,以实现语音数据的实时处理。它采用自顶向下设计方法利用QuartusⅡ进行设计。
I2C是一种双向制串行总线协议,只有总线处于“非忙”状态时,数据传输才能被初始化。数据传输期间,只要时钟线为高电平,数据线都必须保持稳定,否则数据线上的任何变化都被当作“启动”或“停止”信号。它实现数据的实时传输。
首先在QuartusⅡ环境内创建一个名为I2C的原理图文件,然后建立包括各个模块的顶层图(使用Altera提供的LPM功能模块或者建立自己的功能模块),在顶层图中将各个功能模块进行连接,如图8所示。
调试通过以后必须对其引脚进行手动设置,以便程序的下载,如图9所示。
将Wolfson WM8731音频编解码器被配置为控制模式,可以自动产生AD/DA的连续比特时钟和左/右声道时钟(CLOCK_500.v)。编解码系统采样频率设定为48 kHz。
I2C.v程序流程见图10。
在QuartusⅡ中对本模块进行测试,输入频率50 MHz,波形结果如图11所示。
AUD_ADCDAT与AUD_DACDAT分别为I2C总线的输入输出,由图11中可见其延迟为9.033 ns,实现了语音数据的实时处理。
5 结 语
本文研究并设计了一个基于SIP的IP电话终端,其结构比较完整。同时对系统进行了分块测试和环境测试,实现了语音数据的A/D、D/A实时转换,进行了数据报的收发。同时,本文提出的SIP与PSTN的互联模型,使用户(尤其是长途电话用户)不必担心SIP IP终端与PSTN用户的连接,可以在运营商的支持下自由地同其他用户进行通信,而不用担心产生高昂的通话费用。
Altera公司的软件开发工具QuflrtusⅡ和NiosⅡ因其功能强大、可移植性强、可扩展性高,作为CPU开发,给大系统的升级与扩展提供了简便的操作界面与操作方法。
从长远来看,在VoIP技术发展过程中仅实现语音传输功能是远远不够的。但利用Altera公司的软核CPU技术,若在本文研究的基础上添加短信平台、VGA接口等,则IP电话终端就不仅能实现语音通信,还能实现短消息传输、视频通讯等,或者与一些数据平台服务商联合,为用户提供数字点播等服务,以成为一个功能强大的多媒体通信终端。