利用FPGA实现多路话音/数据复接设备

发布者:Huixin8888最新更新时间:2006-10-25 来源: 今日电子关键字:信道  双向  数据  时序 手机看文章 扫描二维码
随时随地手机看文章
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设计方法.北京航空航天出版社

关键字:信道  双向  数据  时序 引用地址:利用FPGA实现多路话音/数据复接设备

上一篇:基于现场可编程门阵列的数控延时器的设计
下一篇:FPGA设计的四种常用思想与技巧

推荐阅读最新更新时间:2024-05-13 18:15

寄云科技完成C轮融资-释放工业数据智能应用价值
最新消息,工业互联网平台厂商寄云科技完成近亿元 C 轮融资,投资方为中电科核心技术研发股权投资基金(北京)合伙企业(有限合伙)(以下简称:电科研投基金)。此前,寄云科技已经获得达晨、云启、基石基金、华成、赞路、丰厚等知名投资机构的多轮投资。 据了解,电科研投基金成立于 2020 年 3 月份,是中国电科核心技术研发投资公司成立之后组建的首支基金,聚焦关键核心技术创新发展,布局核心器件及装备、大数据、人工智能等主要方向,打造产业创新发展新动能,履行科技强国使命。此次电科研投基金投资寄云科技,是落实中国电子科技集团有限公司(以下简称中国电科)的新基建规划布局,为中国电科奠定工业互联网的坚实基础,助力中国工业企业数字化转型。 电
[嵌入式]
用LabVIEW FPGA模块实现不同时钟域的数据连续传输
摘要:为了解决基于LabVIEWFPGA模块的DMAFIFO深度设定不当带来的数据不连续问题,结合LabVIEWFPGA的编程特点和DMA FIFO的工作原理,提出了一种设定FIFO深度的方法。对FIFO不同深度的实验表明,采用该方法设定的FIFO深度能够比较好地满足系统对数据连续传输的要求。研究结果对深入展开研究和工程设计具有一定的指导意义。 关键词:LabVIEW FPGA模块;FIFO数据连续传输;时钟域 0 引言 20世纪80年代中期,NI公司推出了一种图形化的编程语言LabVIEW,并于2003年推出FPGA模块。该模块用于对NI公司RIO设备中的FPGA进行编译,使得工程师无需了解VHDL或其他底层硬件设计工具
[嵌入式]
用LabVIEW FPGA模块实现不同时钟域的<font color='red'>数据</font>连续传输
基于虚拟仪器技术和数据采集卡实现气象监测系统的设计
自动气象站体积比较庞大,而且使用时地点和空间会受到地点、空问上的影响。如果借助虚拟仪器技术中易开发、小体积和方便使用等优点,就可以利用虚拟仪器替代自动气象站的数据采集器和数据预处理器。 虚拟仪器技术是利用计算机的硬件资源(CPU、存储器、显示器、键盘、鼠标)、标准数字电路(GPIB、RS 232接口总线、新型的VXI接口总线、信号调理和转换电路、图像采集电路、现场总线等),经过有针对性的开发测试,使之成为一套相当于使用者自己专门设计的传统仪器。LabVIEW(laboratory virtual instrumentengineering workbench)是NI(naTIonal instruments)美国国家仪器公司的
[测试测量]
基于虚拟仪器技术和<font color='red'>数据</font>采集卡实现气象监测系统的设计
Commvault助力欣和集团大幅提升数据管理能力
面向全球的数据备份和恢复领域服务提供商Commvault(纳斯达克代码:CVLT)为烟台欣和企业食品有限公司提供数据备份、恢复及管理解决方案,助力其增强数据备份与恢复的可靠性,大幅提升数据管理能力,为业务数据增长提供强有力支持。 烟台欣和企业食品有限公司成立于1992年,现已发展成为拥有多种畅销调味品的食品制造企业,服务于全球四千万家庭。伴随业务发展,欣和集团部署了广泛的应用程序和IT平台,包括一系列数据库来支持数百TB的数据量。然而,数据量不断增长,超过备份窗口;超过200 TB的数据分散在包括SAP、VMware、SQL Server、Microsoft Exchange和 AWS 在内的多个平台上,导致数据保护缺少集中管
[网络通信]
模拟数字何处相逢?
  孩提时代我喜欢的超级英雄中有一个名叫Flash的红衣信使,他奔跑的速度惊人,竟能使时间停顿,他在不可思议的短时间内(像人的一次心跳,或者钟表上秒针的一次动作),就能完成许多不同的任务。 Stephan Ohr   尽管电子工业没这么神奇,但它也有自己的Flash版本。时钟和时序发生器就能“切”出更小电子状态片段来。做切片的时候它们就充当了的模拟和数字之间的真正接口。   我在上一期的栏目中解释了非常细密的时间片段和过采样如何用于较高分辨率的A/D转换。数字过采样倾向于削平这些信号的峰值和低谷,而不是强迫数据转换器以更高阶数响应快速变化的信号。因此,delta-sigma数据转换器只
[模拟电子]
Linux+QT+SocketCAN:使用信号槽机制实现数据收发
最近在考虑采用面对对象的方式重新搭建机器人的主控程序框架,虽然之前的框架也是有这种思想在里面,但是总感觉还是有程序化编程的影子,很多地方的处理都不太理想,而且虽然之前也是一直在采用QT Creator作为IDE开发程序,但是实际上并没有怎么用QT的库,只是单纯的作为一个IDE来用,未免也是空守宝山而不入。 因此这次决定充分利用QT的库和信号槽机制来对程序框架进行重新构建。 0.开发环境 HOST平台: Ubuntu16.04 ARM平台:at91sam9x35 QT版本: 5.13.1 1.分析 针对Linux上的CAN通信,Socket CAN提供了一种十分简单方便的解决方案,QT中并没有像QTcpSocket一样的库可以使
[单片机]
数据助力智能交通,高速监控也要智能化
在"大数据"背景下,高速公路各功能系统产生快速、大量、多样的数据,如何将"大数据"转换成"强应用",是新型高速公路监控的发展重点。高速公路应用车牌识别技术、物联网技术、存储技术,使高速公路运营日益智能化、智慧化。 随着互联网技术的普及和完善,人们将先进的信息技术、通讯技术、传感技术、控制技术以及计算机技术等有效地集成运用于高速公路监控体系,极大提高了监控、收费、管理、服务效率。同时,歧义路径算法、自由流模型等技术不断成熟完善,为未来高速公路监控、收费体系跨越式发展和区域合并提供了坚实的技术支撑。在各种技术在高速公路有效运用的背景下,各功能系统产生快速、大量、多样的数据,高性能的高速公路视频监控体系需要从数据中,快速获得有价值信
[嵌入式]
高精度数据采集放大器AD522及其应用
    摘要: AD522是AD公司推出的高精度数据采集放大器,利用它可在恶劣工作环境下获得高精度数据。文中介绍了其主要特点,给出了AD522的典型应用电路,并对AD522在特殊应用情况下漂移、增益、共模拟制比的调整方法作了说明,最后还指出了AD522的误差形成原理及调整方法。     关键词: 数据采集 放大器 共模抑制比 漂移 AD522 1 概述 AD522集成数据采集放大器可以在环境恶劣的工作条件下进行高精度的数据采集。它线性好,并具有高共模抑制比、低电压漂移和低噪声的优点,适用于大多数12位数据采集系统。AD522通常用于电阻传感器(电热调节器、应变仪等)构成的桥式传感器放大器以及过程控制、仪
[半导体设计/制造]
小广播
最新应用文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved