利用FPGA实现多路话音/数据复接设备
[11-20 16:15:14] 来源:http://www.88dzw.com FPGA 阅读:8485次
文章摘要:--- 这里需要强调的是异步数据在帧格式里的定义,数据是突发性质的异步数据,虽然数据的传输速率很高为117kbps,但是其平均速率很低,经过实际分析其平均速率约0.6K×8bps,而且该数据作为控制指令所以在帧格式设计时要特别注意,此处定义帧格式时对数据每字重复传送3次以提高可靠性。 --- 3) 码速调整:码速调整部分主要是缓冲存储器,还包括一些必要的控制电路,这里缓冲器选用Asynchronous FIFO。在很多设计中,是通过扣除一个读取脉冲的方法来防止缓存器的信息被取空,这样做的问题是需要判断写入写出时钟的相位关系,并且输出同类型数据将存在不连续性。在设计中通过利用帧定义格式以及设计
利用FPGA实现多路话音/数据复接设备,标签:fpga是什么,fpga教程,http://www.88dzw.com--- 这里需要强调的是异步数据在帧格式里的定义,数据是突发性质的异步数据,虽然数据的传输速率很高为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个时钟周期给出捕获成功的使能信号。
- 上一篇:FPGA在软件无线电中的应用
《利用FPGA实现多路话音/数据复接设备》相关文章
- › 利用FPGA协处理器提升无线子系统的性能
- › 利用FPGA协处理提升无线子系统性能
- › 利用FPGA实现视频监控系统的视频处理
- › 利用FPGA实现低成本汽车多总线桥接
- › 利用FPGA和CPLD数字逻辑实现ADC
- › 利用FPGA实现高性能数字电视系统
- 在百度中搜索相关文章:利用FPGA实现多路话音/数据复接设备
- 在谷歌中搜索相关文章:利用FPGA实现多路话音/数据复接设备
- 在soso中搜索相关文章:利用FPGA实现多路话音/数据复接设备
- 在搜狗中搜索相关文章:利用FPGA实现多路话音/数据复接设备