DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 280|回复: 0
打印 上一主题 下一主题

基于ARM7内核的IP电话的设计与应用

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 15:31:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
传统的电话网是以电路交换的方式传输语音信号的,它需要的基本带宽为64Kb/s。据统计,在正常的通话情况下,大约只有40%的时间为有声期,其余时间电路均为空占,网络带宽利用率不高。随着计算机技术的不断发展,尤其是互联网络的不断完善,基于分组交换的数据通信成为最重要的通信方式。而要在基于IP的分组网络上传输语音,就必须对模拟的语音信号进行特殊的处理,使处理后的信号可以适合在面向无连接的分组网络上传输,这就是分组语音技术。本文介绍的就是一种基于ARM7内核的IP电话设计。
G.728编码标准

语音编码技术是IP电话的核心技术之一,编码质量的好坏直接关系到IP电话的通信质量。   

G.728标准的语音编码算法是16Kb/s的声码器编码标准,采用低时延码本激励线性预测(LD-CELP)技术。线性预测器使用的是反馈型后向自适应技术,预测器系数是根据上一帧的语音量化数据进行更新的,因此算法时延较短,为0.625ms,相当于5个采样点时间,这也是G.728的帧长时间。由于使用反馈型自适应技术,因此预测器系数无须传送,唯一需要传送的是激励信号量化值,也就是码本索引值。G.728标准的语音编码算法的码本总共有1024个矢量,索引需占10比特,因此其比特率为10/0.625=16Kb/s。

G.728标准的语音编码的主要特点有:算法时延短,仅为0.625ms;一路编码时延小于2ms;传输比特率为16Kb/s;MOS值为4.173,达到了长途通信质量。

由于G.728标准的语音编码算法的时延短,语音传输比特率可以满足IP电话的应用要求,所以选用G.728标准的语音编码算法作为IP电话的编码算法。
硬件系统设计

TMS470R1A256属于TI TMS470R1x通用16/32位精简指令微控制器系列。该系列采用高速的ARM7内核,从而保证了其高性能、高吞吐量和编码空间效率。

系统的主要作用是充分利用ARM7内核高速的数据处理能力,以减轻计算机CPU的负担;语音的录入和输出系统也单独分离出来,这样可以更好的和MCU进行数据传输,减少不必要的中间环节,减少时延。最后,通过高速的PCI总线,将数据传送给计算机。系统的总体结构框图如图1所示,各模块的具体功能如表1所示。



图1 系统总体结构框图




1 MCU与Flash的通信

由于TMS470R1A256的I/O接口电压为3.3V,而AM29F101B的接口电压为5V,所以在接口部分需要进行电压转换,并且AM29F101B的片选信号(CE)和输出使能信号(OE)需要地址译码。这些工作均由一片复杂的可编程逻辑器件(CPLD)来完成。

由于AM29F101B的接口速度较慢,所以TMS470R1A256和AM29F101B之间的接口必须插入软件等待状态,具体要插入的软件等待状态数目可以由数据手册计算得到或在调机时由试验得到。TMS470R1A256与AM29F101B之间的接口电路如图2所示。



图2 MCU与Flash的接口电路

2 MCU与ADC、DAC之间的通信

本系统所选用的G.728标准的语音编码算法需要8kHz的采样速率。所以对ADC和DAC要求最高采样率或转换时间不低于8kHz。

根据语音信号的特点,选用TI的TLC32044芯片,这是一片集成了ADC和DAC功能的芯片。它的最高转化速率为19.2kHz,转换位数为14位,输入电压带范围可调,有标准同步串口,还有输入滤波器和输出重构滤波器,这样可以省去模拟滤波器的设计。TMS470R1A256与TLC32044的接口电路如图3所示。



图3 MCU与ADC、DAC的接口电路

3 MCU与双端口RAM之间的通信

为了体现PCI总线速度快的优点,选用速度较快的双端口RAM芯片CY7C133-25,其最大传输速率为25ns。双端口RAM在MCU的数据空间的地址映射为8000H~87FFH。

需要强调的是双端口RAM的BUSY信号。本设计并不使用这个信号,因为分别对双端口RAM的不同部分进行操作,所以避免了可能发生的任何冲突,因此省去了BUSY信号,该信号悬空。

电路的电压转换和地址译码同样由CPLD来完成。MCU与双端口RAM的接口电路如图4所示。



图4 MCU与双端口RAM的接口电路

4 PCI9052与双端口RAM之间的通信

MCU的任务是完成语音的编码和解码,然后再通过PCI总线与计算机进行数据交换。MCU与PCI9052之间用一片双端口RAM(容量为2k×16bit)进行数据交换。

由于PCI9052具有5个局部地址空间和4个局部设备片选信号,所以连线变得相当的简单,只需要将双端口RAM映射到其中一个局部地址空间,然后使用其中的一个片选信号连接到双端口RAM的CE,最后将PCI9052的读写信号(R/W)和OE对应连接到双端口RAM的R/W和OE。这样就省去了地址译码等外围逻辑电路。



软件系统设计

IP电话系统要实现的算法就是语音编码算法,还要完成与计算机的数据交换。

软件部分的主要作用是用嵌入式操作系统中的TCP/IP协议对需要传送的语音编码信号进行打包,再通过计算机上的网卡将数据通过Internet传送到接收方,并把接收到的TCP/IP包还原为原来的语音编码信号,最后通过PCI总线传输给MCU进行语音解码。
结束语

本设计方案的主要优点是对计算机硬件的要求不高,处理速度快,语音的输入输出系统单独集成,且信噪比高。
                                
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-14 08:06 , 耗时 0.101729 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表