APP下载

基于W5300的IP话音技术研究

2016-07-20吕先望宋建明魏萌

科技传播 2016年11期

吕先望+宋建明+魏萌

摘 要 为了解决基于SIP协议的VoIP中必须加载服务器和传输带宽的问题,本文介绍了基于W5300和AMBE在VoIP话音中的应用。通过分析基于W5300和ambe这2种芯片的工作原理,提出了将2种芯片通过FPGA芯片进行结合的改进方法,并对改进方法的可行性进行了阐述,采用硬件电路对技术方案进行实现。结果表明基于W5300和AMBE在VoIP话音比基于SIP协议的VoIP有更好的性能。

关键词 SIP;VoIP;W5300;IP话音

中图分类号 TN91 文献标识码 A 文章编号 1674-6708(2016)164-0075-02

随着移动通信、互联网技术和网络融合技术的发展,VoIP(Voice?over?IP)这种基于分组交换的话音通信的迅速崛起[1]。1995年首次提出VoIP,到现在为止,VoIP已经在话音通信业务中占据了比较大的笔记。而随着未来因特网技术(FIT)概念的提出与LTE技术的发展,在未来几年的通信网络中,VoIP将会占据更重要的位置[2]。

目前的VoIP的解决方案是由SIP服务器和终端共同组成。这种解决方案在无线通信系统甚至机动的窄带的无线通信系统中就会有2个问题:一是当SIP服务器设备没有开机或者服务器坏掉的情况下,系统就只能重新配置才能正常工作;二是这种解决方案的无论哪种编码方式,其带宽利用率很高,在窄带的无线信道中的传输比较困难[3]。

为了解决以上2个问题,本文讨论基于W5300和amb3000的VoIP解决方案,W5300使用组播和单播协议可以实现VoIP的传输[4],ambe3000可以实现话音的更高速率的编解码功能。在本地可以存储所有的电话号码信息以保证每一个终端具有服务器的功能而不需要另外添加服务器,而ambe3000的高性能的压缩特点可以实现超低速话音的传输[5]。

1 IP话音实现的硬件方案

本系统中的核心控制模块采用Altera公司Cyclone? III系列EP3C80F672I8芯片作为数字处理芯片,可以使用系统时钟为16.384MHz。该器件丰富的I/O管脚,可以实现并行运算,并且芯片中内嵌Nios?II软核,可是实现CPU控制的操作。

网络传输模块选用Winzet公司的具有MAC、TCP和UDP协议栈的以太网协议手法W5300。该芯片最多可同时支持8个独立端口同时进行连接,有效的通信传输速率可达到90Mbps;与主机的CPU(Nios?II)接口使用16bit数据总线[6]。

PCM编解码芯片使用Winbond公司的W681512芯片,该芯片支持模拟话音的差分输入和差分输出,支持u滤和A滤的PCM编码[7]。

话音压缩模块使用数字语音系统公司(Digital? Voice?System?Inc,DVSI)的AMBE-3000芯片,AMBE-3000芯片采用多带激励语音压缩算法,该芯片能在最低为2.0kbps的速率下提供清晰的话音[8]。

硬件结构图如图1所示。

2 W5300的协议栈的实现

在硬件连接实,W5300芯片采用数据总线采用16位数据的模式、并且采用间接寻址的寻址方式选择模式和FPGA的Nios?II的地址总线进行连接,使用间接寻址可以有效的降低W5300芯片对F[PGA中硬件资源的占用。总线的连接原理如图2所示。

由于W5300芯片上电后不能自动复位,所以当系统上电之后,必须首先用FPGA产生20ms以上的低电平信号对W5300芯片进行复位。复位之后,对系统等待50ms的时间以保证W5300的内部锁相环稳定工作。

系统复位完成之后,使用CPU对W5300芯片进行配置,配置的内容包括MAC地址的配置、IP地址配置和内部收发存储器的分配。之后对网络层的协议进行配置,如开启UDP协议、开启组播协议、配置组播MAC地址,配置组播IP地址等寄存器进行配置。

初始化结束后系统打开socket端0。组播IP地址应该设置为224.0.0.1~239.255.255.254之间的一个IP地址作为组播地址,为了避免和其他组播地址的冲突,本系统选用IP地址:224.1.1.11作为本系统的组播地址,设备的协议连接完成后,使用CPU查询W5300芯片的相关寄存器,看是否有来自系统内其余终端发送的数据包。如果有数据包存在,则接收该数据包,并关闭中断,开始处理接收到的数据包,将数据包处理完毕后,打开中断,重新开始查询相关的寄存器;如果没有接收到数据包的存在,则检测是否有本地话音数据需要发送,当检测到有本地的话音数据时,使用W5300的基于UDP的组播协议将数据发送出去。如图3所示。

3 系统性能测试

系统的性能测试是针对带宽,传输抖动和语音质量3方面将设备和基于SIP协议的VoIP的标准设备进行比对。

3.1 传输带宽测试

测试在发包间隔为20ms、40ms、60ms、80ms和100ms这5种典型发包间隔的情况下,2种设备的传输带宽,测试结果如表1所示。

3.2 传输抖动测试

VoIP流量达到20、60、100、120、140、180路时,选取新增流量中的一个VoIP呼叫观察抖动情况,采用VTSW3CM标记算法和采用VTSW3CM标记算法的区分服务网络中,抖动变化情况基本一致,均保持在用户可以接受的范围,小于14ms。

3.3 语音质量测试

语音质量的好坏是设备性能的最重要的指标。我们将设备与几款主流的基于SIP协议的标准设备进行话音质量盲测。测试结果标明:设备与主流的基于SIP协议的VoIP的设备的G.729的编码协议的话音质量相当。

4 结论

将基于W5300的IP话音和传统的基于SIP协议的VoIP话音就传输带宽,传输抖动和话音质量进行对比,结果表明各方面都有所改善。

参考文献

[1]邵子华.基于SIP和H.323的嵌入式VoIP系统的扩展与优化[D].北京:北京邮电大学,2009,2.

[2]白佳俊,孟祥勇,张德平,等.基于W5300和FPGA的实时数据采集系统设计.电子技术应用,2013,39(4):19-23.

[3]左海洋.PCM编解码芯片中低成本低功耗SARADC设计[D].杭州:杭州电子科技大学,2011,3.

[4]杨文强.基于AMBE_2000的OFDM水声语音通信平台研究[D].哈尔滨:哈尔滨工程大学,2010,3.

[5]许汉文,李波,高田,等.基于DM3730和W5300的嵌入式视频流传输系统的设计与实现微型电脑应用,2013,29(11):1-4.

[6]龚艺.基于区分服务的VoIP语音质量的研究[D].重庆:重庆大学,2009,4.

[7]刘鹏.基于FPGA的PCM并行控制器设计[D].济南:山东大学,2013,4.

[8]李思,周旺.基于AMBE3000的多路语音数据处理系统.信息技术,2010(10):152-154.