传统的电话网是以电路交换的方式传输语音信号的,它需要的基本带宽为64kbit/s。据统计,在正常通话情况下,大约只有40%的时间为有声期,其余时间电路均为空占,网络带宽利用率不高。随着计算机技术的不断发展,尤其是国际互联网(Internet)的不断完善,基于分组交换的数据通信成为最重要的通信方式。而要在基于IP的分组网络上传输语音,就必须对模拟的语音信号进行特殊处理,使处理后的信号可以适合在面向无连接的分组网络上传输,这就是分组语音技术。本文介绍的就是一种基于TMS320VC5409的IP电话设计。
G..728编码标准
语音编码技术是IP电话的核心技术之一,编码质量的好坏直接关系到IP电话的通话质量。
G .728标准的语音编码算法是16kbit/s的声码器编码标准,采用低时延码本激励线性预测(LD-CELP)技术。线性预测器使用的是反馈型后向自适应技术,预测器系数是根据上一帧的语音量化数据进行更新的,因此算法时延较短,为0. 625ms,相当于5个采样点时间,这也是G .728的帧长时间。由于使用反馈型自适应技术,因此预测器系数不需传送,唯一需要传送的是激励信号量化值,也就是码本索引值。G .728标准的语音编码算法的码本总共有1024个矢量,索引需占10个比特,因此其比特率为10/0.625=16kbit/s。
G .728标准的语音编码的主要特点有:
*算法时延短,仅为0. 625ms;
*一路编码时延小于2ms;
*传输比特率为16kbit/s;
*MOS值为4. 173,达到了长途通信质量。
由于G .728标准的语音编码算法的时延短,语音传输比特率可以满足IP电话的应用要求,所以我们选用G . 728标准的语音编码算法作为IP电话的编码算法。
硬件系统设计
系统的主要作用是充分利用DSP高速数据处理能力,减轻计算机CPU的负担;语音的录入和输出系统也单独分离出来,这样可以更好地和DSP进行数据传输,减少不必要的中间环节,减少时延。最后,通过高速的PCI总线,将数据传送给计算机。系统的总体框图如图1所示,各模块的具体功能见表1所示。
图1 系统框图
DSP与FLASH的通信
由于TMS320VC5409的I/0接口电压为3. 3V,而AM29F101B的接口电压为5V,所以在接口部分需要进行电压转换,并且AM29F101B的片选信号()和输出使能信号()需要地址译码。这些工作均由一片复杂的可编程逻辑器件(CPLD)来完成。
由于AM29F101B的接口速度较慢,所以TMS320VC5409和AM29F101B之间的接口必须插入软件等待状态,具体要插入的软件等待状态数目可以由数据手册计算得到或者是调机时由试验得到。TMS320VC5409与AM29F101B之间的接口电路如图2所示。
图2 DSP和FLASH的接口电路
DSP与ADC、DAC之间的通信
本系统所选用的G.728标准的语音编码算法需要8kHz的采样速率,所以这里我们对ADC和DAC要求就是最高采样率或转换时间不低于8kHz。
根据语音信号的特点,我们选用TI公司的TLC32044芯片,这是一片集成了ADC和DAC功能的芯片。它的最高转化速率为19.2kHz,转换位数为14位,输入电压带范围可调,有标准同步串口,还有输入滤波器和输出重构滤波器,这样可以省去模拟滤波器的设计。TMS320VC5409与TLC32044的接口电路如图3所示。
图3 DSP与DAC、ADC的接口电路
图4 DSP与双端口RAM的接口电路
图5 PC19025双端口RAM接口电路
DSP与双端口RAM之间的通信
为了体现PCI总线速度快的优点,我们选用速度较快的双端口RAM CY7C133-25,最大传输速率为25ns。双端口RAM在DSP的数据空间的地址映射为8000H-87FFH。
这里需要强调的是双端口RAM的BUSY信号。我们并不使用这个信号,因为我们分别对双端口RAM的不同部分进行操作,所以避免了可能发生的任何冲突,因此省去了BUSY信号,BUSY信号悬空。电路的电压转换和地址译码同样由CPLD来完成。
PCI9052与双端口RAM之间的通信
DSP的任务是完成语音的编码和解码,然后再通过PCI总线与计算机进行数据交换。这里我们使用了PCI接口芯片PCI9052。所以,问题就变成了DSP与PCI9052之间的通信。DSP与PCI9052之间用一片双端口RAM(容量为2k×16bit)进行数据交换。
由于PCI9052具有5个局部地址空间和4个局部设备片选信号,所以连线变得相当简单,我们只需要将双端口RAM映射到其中一个局部地址空间,然后使用其中的一个片选信号连接到双端口RAM的,最后将PCI9052的读写信号(R/W)和对应连接到双端口RAM的R/W和。这样就省去了地址译码等外围逻辑电路。
软件系统设计
IP电话系统要实
现的算法就是语音编码算法,还要完成与计算机的数据交换。软件部分的主要作用是用嵌入式操作系统中的TCP/IP协议对需要传送的语音编码信号进行打包,再通过计算机上的网卡将数据通过Internet传送到接收方,并把接收到的TCP/IP包还原为原来的语音编码信号,最后通过PCI总线传输给DSP进行语音解码。
结语
实践证明,本系统设计方案的主要优点是对计算机硬件的要求不高,处理速度快,语音的输入输出系统单独集成,信噪比(SNR)高,具有相当的适用和推广价值。