0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA芯片实现数据时钟同步设计方案

FPGA设计论坛 来源:未知 2023-05-16 23:55 次阅读

数字信号处理模块是接收机系统的 部分,系统要求数字信号处理模块能实时处理ADC变换后的数字信号,并用软件的方法来实现大量的无线电功能,这些功能包括:多通道校准、编解码、调制解调、滤波、同步、盲均衡、检测、数据加密、传输加密纠错、跳扩频及解扩和解跳、通信环境评估、信道选择等,而单个DSP根本无法完成这些功能。目前可用的一些高速DSP的性能 快的也不超过5GIPS ,与实际需求相差巨大。这种处理资源的匮乏,被称之为DSP 瓶颈[1],因此我们在本系统中主要采用Xilinx的FPGA芯片实现后端数字信号处理。

时钟同步

FPGA硬件设计中,时钟是整个设计 重要、 特殊的信号,异步信号输入总是无法满足数据的建立保持时间,所以需要把所有异步输入都先进行同步化。时钟同步的重要性如下:

● 系统内大部分器件的动作都是在时钟的跳变沿上进行,这就要求时钟信号时延差要非常小,否则就可能造成时序逻辑状态出错;

● 时钟信号通常是系统中频率 的信号;

● 时钟信号通常是负载 重的信号,所以要合理分配负载。出于这样的考虑在FPGA这类可编程件内部一般都设有数量不等的专门用于系统时钟驱动的全局时钟网络。

对于一个设计项目来说,全局时钟(或同步时钟)是 简单和 可预测的时钟。只要可能就应尽量在设计项目中采用全局时钟。FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中 短的时钟到输出的延时。

但在许多应用中会出现两个或两个以上非同源时钟,系统设计将面临复杂的时间问题,数据的建立和保持时间很难得到保证。对于需要多时钟的时序电路, 将所有非同源时钟同步化,即选用一个频率是它们的时钟频率公倍数的高频主时钟。各个功能模块要使用统一的复位电路。在使用带时钟的触发器、计数器等有复位端的库器件时,一般应尽量使用有同步复位的器件。注意复位时应保证各个器件都能复位,以避免某些寄存器的初始状态不确定而引起系统工作不可靠。

基于以上分析,在本设计中,将64M的高频时钟作为系统时钟,输入到所有触发器的时钟端。时钟使能信号Clk_en将控制所有触发器的使能端。即原来接8M时钟的触发器,接64M时钟,同时Clk_en将控制该触发器使能;原接64M时钟的触发器,还接64M时钟,Clk_en也将控制该触发器使能。这样,就可以将任何非同源时钟同步化。

多通道校准同步算法

下面以M元阵为例来说明多通道校准过程。接收机开机时,先将选择开关S切换到位置2(见图1),进入校准状态。注入信号s(t)经功分器进入各阵元通道,阵元通道输出为基带数字信号 xm(t)。将 条通道作为参考通道, 条通道的输出延时τ后作为参考信号,与其他阵元通道的输出一起送入相应的自适应校正滤波器。自适应校正滤波器将会对阵元通道的传输特性进行补偿,使各个阵元通道的传输特性趋近参考通道。这里采用LMS自适应算法,待自适应算法收敛后,稳态权矢量将作为自适应校正滤波器的系数固定下来,至此阵元通道的校正结束。 ,将选择开关S切换到位置1就可进入正常通信状态。

按图1所示的模型可知,用L阶横向FIR滤波器模拟通道响应,通过在滤波器的系数上加上小的幅度扰动δ和相位扰动Φ来模拟通道间的失配,这样可得第m个待校准通道模拟滤波器的传输函数为:

设注入的信号是s(t),href(t)和hm(t)分别为参考通道和待校准的第m条通道的冲激响应,hmc(t)为第m条通道的校准滤波器的冲激响应,那么参考通道的输出(暂不考虑延时τ)、第m条待校准通道校准前的输出和校准后的输出分别为:

自适应滤波器采用MMSE准则,其中,准则选择是否合理决定了天线阵暂态响应的速度和实现电路的复杂度。可以证明,这个准则的结果可以分解为一个相同的线性矩阵滤波器和一个不同的标量处理器的积,且都收敛于 维纳解。因此,当自适应滤波器收敛到稳态即 解后, 权值应该为:

从而通道特性得到了校准。

本文中的多通道校准算法是在FPGA中实现的,选择FPGA而不选择DSP器件的原因是FPGA的引脚众多且可以定制,这样就可以在相对较低的工作频率下做到很高的数据吞吐率,而这是DSP难以做到的。

FPGA实现

在本设计中应该综合考虑各方面因素,选择一种 模块结构和模块规模。本设计中的结构化层次是由一个顶层模块和若干个子模块组成,每个子模块根据需要再包含自己的子模块,以此类推,共5层,如图2所示。 本设计中,整个通道失配校准模块共需要90个乘法器。这些乘法器如果采用FPGA的逻辑资源直接构建,不仅难以保证理想的运算速度,而且硬件开销非常巨大。而FPGA芯片内部已经集成了18×18位的硬件乘法器模块,其速度快,实现简单,能有效节省FPGA的逻辑资源。由于系统设计时选用的FPGA芯片型号为Xilinx公司的xc2v8000ff1152-5,它集成了几百个硬件乘法器,因此可以全部使用硬件乘法器来完成相应的乘法运算。

采用VHDL语言编写实现程序,开发环境为ISE 8.2i,综合工具为Synplify Pro v8.1,仿真工具为ModelSim SE 6.3f。图3所示的是程序经Synplify Pro v8.1综合后得到的LMS自适应校正滤波器顶层模块RTL视图。RTL视图即寄存器传输级视图,该图高度抽象为模块化结构,它是在对源代码编译后再现设计的寄存器传输级原理图。

所有算法模块均在全局使能信号clk_en不同状态的控制下进行工作,从而使算法运行达到8M周期,直至找到 权值, 终完成多通道校准的任务,实现多个通道的幅相一致性。

表1为多通道校准算法的FPGA资源占用列表,从系统资源占用情况可以看出:多通道校准算法FPGA实现过程中,如果再加上前后端处理程序一起编译,则输入输出端口将减少,资源占用也将减少,并不影响系统实现。其它各种资源占用量都较少,完全符合FPGA设计要求。

FPGA布局布线后的仿真波形如图4、图5所示。

从仿真结果(图4,图5)和ISE 8.2i的综合 可知,该校正模块的 时钟频率达到102.5MHz。

,由MATLAB仿真和FPGA布局布线后仿真得到的权值,经过MATLAB仿真形成新的方向图,如图6所示,可以看出,两种方向图基本一致。因此,基于FPGA的多通道校准同步算法的实现完全符合系统要求。

结语

由于数据时钟的同步是FPGA 芯片设计实现的一个常见问题,也是一个重点和难点,很多设计不稳定都是源于数据时钟的同步有问题。而本文提出了解决这一问题的时钟同步方法,并在硬件上很好地实现了多通道校准算法,极大提高了系统稳定性。




有你想看的精彩




至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!5月6号北京中心开课、欢迎咨询!
至芯FPGA课程之综合理论分享
一文解读IIC总线的FPGA实现原理及过程





扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看






原文标题:基于FPGA芯片实现数据时钟同步设计方案

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601670

原文标题:基于FPGA芯片实现数据时钟同步设计方案

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA里面例化了8个jesd204B的ip核同步接收8块AFE芯片的信号,怎么连接设备时钟和sysref到AFE和FPGA

    各位有人用过AFE58JD48吗,我在FPGA里面例化了8个jesd204B的ip核同步接收8块AFE芯片的信号,怎么连接设备时钟和sysref到AFE和
    发表于 11-18 07:51

    多片AFE5818的输入ADC时钟同步时钟,不同的芯片上LVDS串行数据时钟和帧时钟是否是同步的?

    多片AFE5818的输入ADC时钟同步时钟,不同的芯片上LVDS串行数据时钟(DCLKP、D
    发表于 11-18 07:29

    如果系统中使用多片功放芯片TAS5622A,如何实现时钟同步

    如果系统中使用多片功放芯片,如何实现时钟同步(例如TAS5622A)? ST的芯片(如TDA7498)可以支持: Master芯片提供
    发表于 10-21 08:06

    请问PCM1794A的外部时钟芯片)如何选型?

    如题: 请问PCM1794A的外部时钟芯片)如何选型?数据表中建议使用 PLL170x的时钟芯片,我阅读后发现似乎不能支持到 192kh
    发表于 10-17 07:58

    RobustRIO-E模块 时钟同步&分发,实现声音与振动板卡间及跨机箱时钟同步

    同步时钟发生器 + 同步时钟分发器
    的头像 发表于 09-14 15:00 235次阅读
    RobustRIO-E模块 <b class='flag-5'>时钟</b><b class='flag-5'>同步</b>&分发,<b class='flag-5'>实现</b>声音与振动板卡间及跨机箱<b class='flag-5'>时钟</b><b class='flag-5'>同步</b>

    FPGA芯片HDMI接入方案及源码

    FPGA 在无外部PHY芯片情况下输出HDMI,目前是比较成熟的方案(外部电路需要转换成TMDS电平)。在无PHY芯片情况下怎么进行HDMI信号输入呢? 有输出当然有输入了,
    发表于 07-16 19:25

    基于FPGA的SPI Flash控制器的设计方案

    Flash控制器的设计方案,并用VHDL实现。编写的SPI Flash控制器IP核在Modelsim 6.5g上进行了功能仿真,在FPGA开发板上进行了测试验证,可作为功能模块应用于SOC
    发表于 06-03 10:13

    芯片为什么要时钟信号 时钟芯片的作用是什么?

    基准,使得整个芯片能够以协调一致的方式进行工作。 时钟信号的重要性主要表现在以下几个方面: 1. 同步功能:芯片内部的各个模块需要以同步的方
    的头像 发表于 01-29 18:11 3765次阅读

    FPGA时钟内部设计方案

    时钟设计方案 在复杂的FPGA设计中,设计时钟方案是一项具有挑战性的任务。设计者需要很好地掌握目标器件所能提供的
    发表于 01-22 09:30 562次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>时钟</b>内部<b class='flag-5'>设计方案</b>

    网络时钟同步有哪些要求?如何在5G网络中测试时间与时钟同步

    实现数据的正确传输和协调。 网络时钟同步的要求主要包括以下几个方面: 1. 精度要求:根据不同的应用场景和需求,对网络时钟
    的头像 发表于 01-16 16:03 1240次阅读

    时钟同步怎样组网?

    时钟在一开始很可能并不完全一致,这可能是由于硬件差异、通信延迟、时钟漂移或其他因素引起的。因此,时钟同步对于网络中各个节点的协同操作具有重要意义。在网络中
    的头像 发表于 01-16 15:10 558次阅读

    USB设备之间是怎么同步时钟的?所有USB设备的时钟频率都是一致的吗?

    USB设备之间是怎么同步时钟的?是所有USB设备的时钟频率都是一致的吗? USB设备之间的时钟同步是通过USB协议中的帧
    的头像 发表于 01-16 14:42 2153次阅读

    控制系统之间如何实现时钟同步

    控制系统之间如何实现时钟同步? 控制系统之间的时钟同步是确保不同系统之间的时钟保持一致的过程。它在许多实时应用中非常重要,如分布式系统、通信
    的头像 发表于 01-16 14:37 948次阅读

    AD9783芯片是否有两路相位同步的功能?如何实现两路相同信号相位同步

    使用Xilinx V5系列的FPGA开发AD9783芯片,将两路相同的信号数据,送给DAC,具体利用DCO反馈时钟,通过源语产生差分时钟产生
    发表于 12-19 06:03

    AD9764如何让输出数据同步

    最近做的项目中FPGA输出的三路数据(正弦波)经过DAC芯片(AD9764)输出波形;如何实现同步呢?
    发表于 12-14 07:51