VoIP语音网关中TDM控制模块的设计如果要设计一个无线控制通信模块_第1页
VoIP语音网关中TDM控制模块的设计如果要设计一个无线控制通信模块_第2页
VoIP语音网关中TDM控制模块的设计如果要设计一个无线控制通信模块_第3页
VoIP语音网关中TDM控制模块的设计如果要设计一个无线控制通信模块_第4页
VoIP语音网关中TDM控制模块的设计如果要设计一个无线控制通信模块_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语音网关中控制模块的设计如果要设计一个无线控制通信模块 用Verilog硬件描述语E实现VoIP语音网关芯片上的TDM(时分复用)控制模块,包括模块的结构设计和FIFO缓存机制,并且以VoIP语音网关系统为平台对模块进行了验证。 TDM控制模块是VoIP网关系统设计中的重要部分,是连接PSTN(Public Switched Telephone Network)串行的TDM数据格式和并行的Wishbone数据格式的桥梁,实现两边数据跨时钟域无丢失的转换。为满足高速数据转换的要求,采用了Wishbone总线,将多个IP核集成为VoIP网关系统。 Wishbone最先是由Silicore公司提出,现在已被移交给OpenCores组织维护。Wishbone总线规范是一种片上系统IP核互连体系结构,定义了一种IP核之间共公的逻辑接口,可用于软核、固核和硬核,对开发工具和目标硬件没有特殊要求,并且几乎兼容已有所有的综合工具,可以用多种硬件描述语言来实现。 TDM控制模块的设计 TDM在VoIP语音网关系统中的作用 TDM控制模块同时接收ISDN(综合业务数字网)、E1专线或者语音编码器等不同信源的串行语音数据。如图1,VoIP语音网关的基本功能是完成以太网数据与外部语音设备数据的转换,TDM接口与以太网接口分别为外部语音设备的数据、以太网上数据与网关系统的通信桥梁。该网关SoC系统的处理器采用的是同济大学微电子中心自主研发的高性能低功耗的32位嵌入式CPUBC320。 时分复用原理与TDM数据频率 时分复用是把对信道的使用时间划分为多个时间帧,进一步把时间帧划分为n个时间隙(时间间隔)。每一个时间隙分配给一个子信道,从而实现在一个信道上同时传输多路信号。时分复用循环使用时间帧,各路信号循 环顺序插入时间帧中的时间隙传输。TDM控制模块的主要作用就是复用多路信号与解复用混合有多路信号的TDM数据,如图2所示。 本设计的串行语音数据针对E1专线标准,E1主要应用于欧洲,中国也采用该标准。E1标准的数据率为2.048Mbs,每一个时间帧包括30个B子信道,一个D子信道和一个同步子信道,共32个子信道。以语音模拟信道为例,信道带宽限制为3.4kHz,根据奈圭斯特定律,子信道采样速率至少是信号最高频率的两倍,通常选择采样速率为8kHz。因此,整个TDM信道的比特速率可以达到: 8kbs832=2048kbs=2.048Mbs,即E1标准规定的TDM数据率。 模块设计 模块的主要功能是完成多路数据的复用和复用数据的分解,其关键部分就是复用和分解。本设计采用缓存器辅助完成复用和分解,实现两种协议数据跨时钟域的转换。本设计模块主要分三部分,见图3。 串行数据接口主要负责串行数据与8位宽并行数据的转换,因为存放数据的FIFO是以8bit为一地址空间的。转换由设计的状态机来控制:接收(receive)操作、发送(transmit)操作和等待,接收就是将串行数据转换成8bit位宽数据的过程,发送与之相反。由于语音数据要求双工机制,由时钟高低电平来作为发送和接收状态的切换信号,即当时钟为低时由发送状态转为接收状态,当时钟为高时,由接收状态切换为发送状态,这样可以看作接收与发送是同时进行的。 发送、接收缓存器不仅包括用于暂时存储数据的FIFO,而且还设计有状态机来控制接收、发送数据流。由于跨时钟域,由双口RAM组成的FIFO可能会带来地址比较冲突的问题,本设计采用乒乓机制来完成FIFO,当一个 缓存器进行读操作时,另一个缓存器则进行写操作,两者的切换由硬件来完成。以下以接收缓存器为例(数据方向从TDM串行数据到Wishbone,总线并行数据)来描述本设计。缓存器的大小设计为包含四帧TDM数据,因此每个FIFO的大小为8bit324=1024bit,如图4。选用乒乓FIFO以及FIFO大小设计的原因如下。 串行数据的时钟相对于Wishbone总线的时钟要慢,当两时钟域上的数据相互转换时,Wishbone总线可以在很短时间内读写FIFO,而串行总线需要相对较长的时间读写相同数据量。尽管如此,在Wishbone总线时钟频率相对较慢时,Wishbone总线很可能在下一批串行数据写进FIFO前不能完全读空FIFO。以接收缓存器为例,如果不考虑处理器(BC320)中断响应时间和从RAM读数据的时间(待处理的数据都要先暂存在Wishbone总线上挂的RAM中),从Wishbone总线读空一个FIFO中的四帧数据需要时间为: 1/25M324=5.1210-6s=5.12s 25M是本设计在FPGA开发板进行测试时所采用的时钟频率,即测试系统时Wishbone总线上的时钟频率。 而在另一边串行数据,当四帧写满FIFO后,第五帧的第一个字节数据开始写入FIFO的准备时间为: 1/2M8=410-6s=4s FIFO中的四帧数据被读空时间大于第五帧的第一个字节写入FIFO的准备时间,FIFO的写满与读空都是有硬件产生信号标识,此时FIFO读空信号标识未产生,不能对同一FIFO进行写操作,导致待写数据丢失。因此选用两个FIFO采用乒乓机制来切换读写操作,如图4所示。 在解复用时,数据的地址恢复很重要,一个TDM数据帧含有32个时隙,每一时隙中的数据均不同的信道源,本模块要将复用在一路的TDM数据恢复出32路。TDM数据的每个时隙含8个bit,而Wishbone总线的数据位宽是32位,因此需要四帧的TDM数据才能拼接成一路完整32位宽数据。相邻时隙数据由于不同信道源,暂存在FIFO中的地址不能相邻,前一时隙中数据和后一时隙中数据在地址空间上相差4(如图4),这样从初始地址开始,每相邻四个地址对应的数据拼接成一路完整的信号,在Wishbone总线读取FIFO中数据时的地址是按顺序的。 本文着重讨论了接收缓存器的设计,发送缓存器与之类似,这里就不再赘述。 Wishbone接口连接TDM控制模块与Wishbone总线,它的主要功能是设计正确的状态机产生有效控制信号来同步数据交换。 验证与结论 用Verilog语言描述完成TDM控制 为了使CPU能够处理其他事情,该监测系统的单片机数据采集部分采用了分时处理事件的方法进行控制。它通过日历时钟芯片DS1302将一天的时间分成有效的若干段,分时进行数据采集与无线通信,这样就可以使系统顺利工作。另外,为了使系统可靠的工作,还采取了一些软件抗干扰措施。模块的设计,并以VoIP语音网关系统为验证平台,利用Candence公司的NC-verilog仿真器进行代码仿真。仿真波形表明,处理器(BC320)对FIFO写满产生信号标识的反应时间大约为60个Wishbone总线时钟周期,这一时间加上Wishbone总线读空第一个FIFO所用时间后,串行语音数据仍在写进另一个FIFO,Wishbone总线有足够的空闲等待这个FIFO写满标示信号的产生,不会有任何数据丢失。 VoIP语音网关系统在型号为Virtex- Pro FF1152的FPGA开发板上进行了硬件验证,TDM控制模块外接型号为Le88221的SLIC(用户线接口电路)芯片作为语音信源,利用Chipscope在线扫描TDM控制模块内部、Wishbone总线和处理器(BC320)寄存器的信号变化,并用示波器对SLIC芯片信号进行捕捉。从观察的信号来看,所设计的TDM控制模块能够与系统的其他IP模块,尤其是处理器(BC320)和以太网模块正确有效地协同工作,模块的功能达到设计要求。 _ 1TDM controller:overview.opencores. corn.xx. 2Chang Hen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论