您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

利用FPGA实现多路话音/数据复接配置

发布日期:2011-04-19

 
1.小序

  随着当代通讯向着多业务方向生长,为了节流信道资源、低落调制解调配置的巨大度,数据复接配置得到了更充分的利用。它能将多路差别范例的数据流复接成一起高速数据流,通过信道传输,在收端分接出发轫映射的数据流,以实现多业务双向通讯。

  这里利用了XILINX公司的VIRTEX-ⅡPRO系列FPGA实现了数据复接、数据分接及帧同步进程。之以是选用FPGA完成计划成果,是由于数据复接、分接涉及大量的时序进程,FPGA综合东西应用了遍及的时序调解与流水处理惩罚技能以改进时序电路性能。奇妙地应用流水处理惩罚技能,可以实现输入输出端口之间寄存器的移动和均衡实现逻辑的退出,并且不会对原有计划引入分外的处理惩罚等待耽误,可以实现高性能计划的高服从综合,确保最优的时序性能。该配置输入端是8路话音,16路数据,此中8路并行输入的话音均分为V1、V2,16路并行输入的异步数据均分为d1、d2,配置完成将并行输入复接为一起高速数据流(复接后的帧格局见图3)颠末信道发送后再由分接模块分析出各个支路。计划流程图见图1所示。

 

  本文布局摆设如下:起首,先容小序部分;其次,对数据复接分接、帧头同步捕获以及由DDS举行时钟分频做了细致的计划阐发,并给出了相应的计划流程图和原理图;再次,阐发仿真结果,从结论对计划进程举行验证;末了,总结全文。

2.数据复接要领与实现

  数字复接的要领重要有按位复接、按字复接和按帧复接三种。按位复接又叫比特复接,即复接时每支路依次复接一个比特。按位复接要领大略易行,配置也大略,存储器容量小,如今被遍及采取,其缺点是对信号互换倒霉。按字复接,一个码字有8位码,它是将8位码先保存起来,在规定时间对各个支路轮番复接,这种要领比较巨大,详细缘故起因后续阐发。另有一种是按帧复接,这种要领的存储容量请求太大,并且不实用于同步与异步复接环境。这里选用按字复接,缘故起因是颠末ADPCM编码掉队入的话音数据为4bit并入(共2路),这里将一组V1,V2看为8bit(1个字),数据异步吸取后出来的数据,每组也为8bit。

  在计划数据复接与分接配置进程中,重要有效DDS天生所需时钟、帧布局定义、码速调解、控制模块计划、帧同步头捕获计划几大难点,现分别做一阐明:

  1) DDS天生时钟:本计划的晶振为30MHz,由总体思量所需的话音时钟为8kHz,异步数据为117kHz。以是可以先由30MHz时钟源由DDS得到4.096MHz的时钟,再由4.096MHz这个时钟举行512分频得到8kHz时钟,由4.096MHz时钟举行35分频得到117kHz时钟,详细原理图见图2。对付DDS控制字的求解针对此计划可由以下公式得到32位码字:(见书P50)

 

  此中gen_constant为天生控制字的模块,clk_512和clk_35为分频模块。

  2) 帧布局定义:对付输入话音V1和V2其写入时钟为8kHz的同步时钟,数据d1和d2其写入时钟为117kHz的异步时钟。帧同步头选用2个255bit的m序列后补一个0作为256bit同步头,并存放在ROM中。他们颠末复接后得到117kHz的高速数据流,送入信道,吸取端通过同步头捕获模块举行帧同步,捕获后由数据分接模块举行分路,得到发轫映射的8路话音,16路数据。由于本计划输入端还必要插入数据指示、话音信令等码元(以供区分业务种别),在此,我阐发了复接端多路输入时钟与合路后读取时钟的干系,同时综合思量同步话音的解复接后的连续性以及异步数据的紧张性等题目,定义如图2的帧格局。

  这里必要夸大的是异步数据在帧格局里的定义,数据是突发性子的异步数据,固然数据的传输速率很高为117kbps,但是其均匀速率很低,颠末实际阐发其均匀速率约0.6K×8bps,并且该数据作为控制指令以是在帧格局计划时要分外细致,此处定义帧格局时对数据每字重复发送3次以进步可靠性。

 

  3) 码速调解:码速调解部分重要是缓冲存储器,还包括一些须要的控制电路,这里缓冲器选用Asynchronous FIFO。在很多计划中,是通过扣除一个读取脉冲的要领来防备缓存器的信息被取空,如许做的题目是必要果断写入写出时钟的相位干系,并且输出同范例数据将存在不连续性。在计划中通过利用帧定义格局以及计划一个读时钟控制模块来克制缓冲读空题目,包管了种种数据的连续性。缓冲的深度与输入有很大干系。现谋略FIFO请求具备的最低深度(其宽度话音为4bit,数据为8bit):

  起首对FIFO的事变进程做一个扼要阐明,Asynchronous FIFO是一个先入先出存储器,并具有支持读写时钟差别步的成果,在输出口有empty指示(empty=1,表现下临时钟所读的数据为无效数据,反之为有效)。这里在控制模块中请求在末了一位即第211个bit处对配置中全部FIFO复位,目标是防备缓冲存储器被取空。

  输入端单路话音因此8×4(Kbit)发送,成帧后每个数据包512(bit)中包括单路话音40×4(bit),数据包以117kbps发送,则话音写入FIFO的速率与读取FIFO的速率可以表现为(1)、(2)两式所示。
V话音=8×4(kbps) (2)
Vread=[40/(512/117)]×4=9.14×4(kbps) (3)
ΔV=1.14×4(kbps) (4)

  设缓冲区深度为X,则在7个数据包完成时间内由速率差完成的深度为:
ΔX=1.14×7×512/117=34.92 (5)

  这个即话音FIFO的最小深度,这里选择深度为64,宽度为4bit的Asynchronous FIFO。

  对付异步数据在每个数据包512bit中留出了8×3×3bit空间,由于数据量很小,且思量到每帧开始会对配置全部FIFO复位一次,在此不必要思量写入读出的时钟题目,FIFO的深度只要大于7×3就可以。对付加强数据可靠性,重传3次的题目在FIFO中不加思量,由控制模块完成。末了定义数据FIFO深度32,宽度8bit的Asynchronous FIFO。








 


  4) 控制模块的计划:这部分计划关键是对时钟的控制以及时隙的摆设,这个也是整个复接配置计划的重要难点,同步报头的插入使能信号、帧格局的定义都有控制模块中一个12位计数器来同一控制。对付异步数据每个字节重复3次发送这个进程的计划,这里重要引入模块计划,它通过前后时隙空余时期,利用时钟上升沿与降落沿一起促发,将FIFO的输出扩展为1个与FIFO输出同相的信号并存入本地RAM,如许办理了FIFO的先入先出的事变特点(同个数据无法返回再读)。对付分接模块,难点同样也是在异步数据部分,由于在帧格局中预定了数据重复3次发送,以是在分析模块中采取的是3中取2的要领,对异步数据举行讯断。

  5) 帧头同步捕获模块的计划:由于m序列具有很强的自相干性,利用255的m序列末端加1个0作为同步头。当输入序列立室与本地码相立室时将出现相干峰值(输入序列存放在移位寄存器中),当不立室时相干值很小。这里用2个上述码字,分别作为帧同步头和保密机同步头,其相干捕获进程的MATLAB仿真图如图3所示。这里在256和512处出现了相干峰值,即在这2点处本地码与寄存器中数据立室相干。相干检测技能在很多文献都有先容,这里采取的也是通用的要领,只是在详细实现时,根据256bit来计划了一个移位寄存要领,采取2个4×64bit的移位寄存器作为输入序列的存放地点,分别用于帧同步头和保密机同步头捕获时输入序列与本地码元的自相干。由于在计划中必要捕获告成的使能信号提前一个时钟周期,因此本文的办理要领是将本地码沿着输入序列的反方向循环移动1bit,如许可以在序列进入255bit时得到相干峰,以提前1个时钟周期给出捕获告成的使能信号。

  由于信道中存在滋扰,在控制模块中不可以用m序列的自相干大小作为捕获果断基准值,这里设置的捕获环路的基准值,它是通过相干峰值加上肯定的偏移值而定的,如许可使得同步的误判率减小。用户还可以通过设置软基准值,即通过信噪近来自适应决定偏移值,如许可以越发可靠的到达同步状态。

3.仿真结果阐发

  通过在ISE软件中编写UCF文件,把步伐下载到xc2vp20-fg676中测试通过,已经作为总体计划的一部分投入利用,并利用正常。在此,对整个计划用Modesim举行仿真一下,并给出结果:当话音输入为图5所示,从0000到0110,写入FIFO时钟如图v_in_buff_w为8kHz,则输出见图6所示,当时钟降落沿促发得empty为0后,下临时钟降落沿所抽取的数据为开始的有效值。

  必要阐明的是话音是同步的,必须包管话音输出要连续,确保这个连续性跟定义的帧格局大小以及信道发送的速据速率等因数有关。

  对付异步数据部分必要不绝的对empty信号举行果断,以确定下个时钟降落沿抽取的数据是否有效,根据FIFO事变特点输出指示empty为0后,下一个时钟降落沿获取的数占据效,输入数据见图7,相应的输出结果见图8。

4.总结

  数据复接在多业务通畅中应用遍及,它能将多路差别范例的数据流复接成一起高速数据流,通过信道传输,在收端分接出发轫映射的数据流,以实现多业务双向通讯。数据复接配置的计划要领多样,这里所做的计划要领具有肯定的通用性与实用性,给出了同步、异步合路的办理方案,并且先容了利用DDS举行孕育产生所需时钟的要领。在计划帧布局以及FIFO深度方面,本文也做了较细致的推理。由于在计划数据复接、分析进程中,大量涉及进程见解,时序性很强,以是选用FPGA去完成软进程,这相比其他器件可以举行更有效的时序调解与流水处理惩罚技能,进而改进时序电路性能。

参考文献
1 曾凡鑫.关于源头根本M序列的一些自相干函数取值.通讯学报,1997,第9期,26-30
2 “异步传输模式互换机的复接配置”技能指标 专利号:972458913 [美] Bob Zeidman着, 赵宏图译.基于FPGA & CPLD的数字IC计划要领.北京航空航天出版社