护手厂家
免费服务热线

Free service

hotline

010-00000000
护手厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

一种基于嵌入式技术的VoIP网关设计

发布时间:2020-07-21 18:17:33 阅读: 来源:护手厂家

作为目前热门的嵌入式技术,开发基于嵌入式技术的voip网关有助于进一步拓宽嵌入式技术的应用范围。本文介绍了基于嵌入式arm处理器的voip网关模块的设计思路,并结合核心芯片ac4880xc-c详细介绍了该模块的设计流程、软硬件结构及其工作方式。

本文引用地址: voip的应用趋势 作为ngn(下一代网络)中的重要组成部分,voip是面向未来、可持续发展的语音解决方案,可以为商业和家庭用户提供质优价廉的ip语音服务。随着ngn网络技术的快速发展,voip的通信量也已得到快速增长,并以其低廉的价格优势迅速占有市场。

voip语音技术与传统电话的区别

voip(又称ip phone)是建立在ip技术上的分组化、数字化语音传输技术。其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按ip等相关协议进行打包,经过ip网络把数据包传输到接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由ip网络传送语音的目的。voip系统把传统电话的模拟信号转换成计算机可联入因特网传送的ip数据包,同时也将收到的ip数据包转换成声音的模拟电信号。经过voip系统的转换及压缩处理,每个普通电话传输速率约占用8~11kbit/s带宽,因此在与普通电信网同样使用传输速率为64kbit/s的带宽时, voip线路数是原来的5~8倍。同时,ip技术允许多个用户共用同一带宽资源,改变了传统电话由单个用户独占一个信道的方式,节省了用户使用单独信道的费用。

voip的基本结构由网关(gw)和网守(gk)两部分构成。网关的主要功能是信令处理、h.323协议处理、语音编解码和路由协议处理等,对外分别提供与pstn网连接的中继接口以及与ip网络连接的接口。网守的主要功能是用户认证、地址解析、带宽管理、路由管理、安全管理和区域管理。voip的核心与关键设备是voip网关。

基于嵌入式技术的voip功能实现框图 1、voip实现原理框图:(如图1)

2、嵌入式系统中voip的工作过程:

① 在单个独立的嵌入式系统内部进行语音通信时,该系统实现功能的过程如下:用户话音脉冲通过slic和codec电路产生pcm流,载入语音处理器ac4880xc-c中,通过片内dsp进行语音压缩、成帧(包括地址等用户信息及语音信息),ac4880xc-c再将数据包通过hpi口传送到主系统,完成交换功能后,认定目的地是本系统的另一个用户,将处理过的话音数据包传给ac4880xc-c,ac4880xc-c进行解压缩后, 以pcm流返回到codec部分,根据目的地址信息驱动目的用户。 ② 在嵌入式系统之间进行语音通信时,过程如下:ac4880xc-c将话音数据包通过hpi口传给本系统后,本系统的交换功能认定目的地是另一个嵌入式系统的一个用户,本系统将数据包重组后,通过i/o端口传给目的系统,由目的系统自动完成解压缩,驱动目的用户的功能。

系统设计实现

硬件设计为以下六块组成

1、slic(用户线接口电路)部分

采用amd公司生产的am79r70plcc芯片,通过该芯片产生输入、输出话音脉冲和铃音脉冲。

2、codec(编解码)部分

采用amd公司生产的am79q021jc编解码芯片,通过该芯片产生的pcm流送到语音处理芯片处理。 3、语音处理部分

作为本系统中的核心部分,语音处理采用以色列audiocodes公司生产的专用多通道语音处理芯片ac4880xc-c。它具有以下特点:

⊙ 支持itu的g.711、g.723.1、g.726、g.729a等分组语音处理标准;

⊙ 支持回波抵制和抵消、静音检测和舒适噪音等提高分组语音处理性能的配套模块;

⊙ 高质量坏帧插补;

⊙ 支持2.4~14.4 kbps的t.38和frf.11的功能传真业务;

⊙ 支持各种信令,如dtmf等;

⊙ 提供语音、传真、数据或信令等pcm高速接口;

⊙ 可选择 或o 律;

⊙ 输入输出增益控制;

⊙ 提供同步hpi、pcm、时钟、存储器以及i/o和仿真测试接口(如图2);

⊙ 144pin,tqfp封装,1.8v内核电压,3.3v芯片电压。 4、cpld部分

ac4880xc-c采用8位并行的主处理器接口hpi接口与主系统进行数据交换。鉴于嵌入式系统中接口逻辑繁杂,选用cpld实现接口适配功能。主cpu可通过cpld控制实现codec 和slic部分的功能。

5、hpi接口部分

本设计中,嵌入式系统cpu与ac4880xc-c通过hpi接口进行数据通信,cpu通过ac4880xc-c片内共享的双口存储器与其片内dsp实现数据交互。 hpi接口包括1根8位数据总线和11根控制总线。主系统cpu通过三个寄存器(hpic、hpia和hpid)控制ac4880xc-c及访问片内存储空间。hpic为控制寄存器,用来选择ac4880xc-c的高低字节顺序。hpia为地址寄存器,用来寻址片内的2k存储空间。hpid为数据寄存器,用来缓存每次读写的两个字节数据,外部cpu以单个word或块数据访问hpid。以块数据方式访问时,hpia寄存器自动累加,可减少外部cpu写hpia寄存器的开销。ac4880xc-c的内部寄存器和存储器为16位,外部cpu每次访问ac4880xc-c必须以两个字节为基本单位,信号线hi/lo用来选择高低字节,信号hrs1、hrs0指示当前访问的是哪个寄存器。

6、语音接口部分

语音接口提供未压缩语音、传真数据的i/o通道。语音接口对外提供四根信号线pcmin、pcmout、pcmclk、pcmfs构成pcm总线,直接连接外部codec芯片的pcm highway。pcmin输入从codec送来的pcm信号,ac4880xc-c内部的dsp按照相应标准压缩后从hpi口交给主系统cpu 处理。pcmout则相反,ac4880xc-c将主系统cpu送来的语音数据按照合适的标准解压缩,然后从pcmout口送到外部codec,codec经过数/模转换后恢复成语音信号再通过用户接口送给用户端。pcmclk提供2.048mhz的比特同步时钟,而pcmfs提供8khz的帧同步时钟。pcm主时钟(bclk)、帧同步时钟(fs)、接收数据(dr)和发送数据(dx)一起构成pcm highway信号,与ac4880xc-c进行连接。bclk与fs分别对应ac4880xc-c的pcmclk和pcmfs,这两个时钟信号都由ac4880xc-c 产生;dr和dx分别对应ac4880xc-c的pcmout和pcmin。pcm highway信号时序以及时隙与帧同步信号的关系分别如图3、图4所示。为了codec与dsp芯片间正确收发数据,一般选择codec芯片在bclk的上升沿发送数据dx,下降沿采样数据dr,而在另一端的ac4880xc-c,则在时钟下降沿采样pcmin,上升沿发送pcmout。

软件设计部分 该系统软件主要用于对ac4880xc-c进行控制,实现读写等操作。

1、编写芯片ac4880xc-c的读写函数

图5 软件流程图(略)

主要是基于嵌入式arm处理器,通过hpi接口实现对ac4880xc-c及相关芯片的读写操作。流程图如图5所示:

2、配置ac4880xc-c内部设置

首先通过处理器对codec和cpld进行配置,并调用audiocodes 公司提供的初始化内核程序对ac4880xc-c进行复位初始化。复位成功后,写入内核程序,然后写入工作程序,最后再将这些程序通过ac4880xc-c的hpi接口写入到ac4880xc-c,芯片即开始工作。

结语

嵌入式系统作为一种功能强大的软硬件操作开发平台,很适合基于嵌入式arm处理器的voip的开发。ac4880xc-c是一款功能强大语音处理芯片,本方案利用该芯片作为核心芯片,配以其他功能芯片实现了基于嵌入式技术的voip网关。该网关已应用于嵌入式综合实验平台,效果十分理想,在ip电话和多媒体通信领域的应用前景非常广泛。

09 Markdown 辅助线

Wiki宝典

Android 适配器 Adapter

03 Ruby 语法初探

相关阅读