一种IP电话的DSP实现
扫描二维码
随时随地手机看文章
来源:电子产品世界; 作者:湖南工学院 俞斌 贾雅琼
摘要: 本文针对目前IP电话和网络的发展情况,提出以DSP技术为核心软硬件结合的IP电话方案并介绍了语音编码的基本原理;根据IP电话的特点,确定以G .728编码标准作为IP电话的编码算法。
关键词: IP电话;DSP;语音编码
引言
传统的电话网是以电路交换的方式传输语音信号的,它需要的基本带宽为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之间