利用参考时钟,实现Cyclone10LP器件的串行通信数据恢复
cytech 2024-11-29

在非源同步的低速串行数据通信场景中,由于通信对端的时钟频率可能存在偏差,这可能导致数据接收端无法准确采样。在这种情况下,高端Altera器件的高速收发器或LVDS serdes中的SOFT-CDR和DPA功能可以有效解决这一问题。然而,对于像Cyclone IV或Cyclone 10LP这样的中低端器件,它们既没有高速收发器,LVDS serdes也不支持SOFT-CDR和DPA功能,因此我们需要自行设计逻辑来实现串行数据的恢复。


本设计的技巧是利用接收端的参考时钟,通过对其相移0°和相移90°的两个时钟的上下沿,对接收的数据做8倍过采样,再通过逻辑来判断如何选取稳定时钟域,并以该时钟域采样的数据作为可靠数据。


图 1

如图1所示,第一个触发器由被描述为时域A的CLK上升沿采样,第二个触发器由时域B即CLK90的上升沿采样,第三个触发器由时域C即CLK下降沿采样,第四个触发器由时域D即CLK90的下降沿采样。

当然,为了消除亚稳态,光使用一级采样是肯定不够的,需要对这四个触发器分别做四级采样来消除亚稳态,如图2所示:


图 2

我们按照图2进行触发器逐级采样后,命名第三级触发器分别为AZ(2),BZ(2),CZ(2),DZ(2);命名第四级触发器分别为AZ(3),BZ(3),CZ(3),DZ(3)。

数据经过四个时钟域分别四级采样之后,再做一个组合逻辑,如图3:


图 3

按照图3依次做异或、与/与非逻辑后,经过触发器依次得到数据AAP,AAN,BBP,BBN,CCP,CCN,DDP,DDN;
之后就需要进行可靠时钟域的判决,即挑选采样数据最稳定的时钟域:

在实际情况中,我们可能会遇到:例如数据发送端时钟频率是401MHz,而本地采样时钟频率是400MHz,或相反发送端是400MHz,而本地是401MHz的情况;通过仿真发现在此情形下,判决的结果会进行周期性的变化,即一段时间后判决为稳定的时钟域可能从D变为A,但这并没有关系,按照其判决为最可靠的时钟域去采样数据,最后得到的实际数据一定是正确的。

由于可靠时钟域的判决结果会进行变化,我们需要设计一小段逻辑来进行数据筛选,如图4:


图 4

本设计的主要目的就是为了找到那个能稳定采样数据的最可靠时钟域,即使这个时钟域可能因通信对端时钟频偏差而动态变化,最后基于这个时钟域的采样数据都是稳定可靠的。目前我在某工业客户的硬件基础上,基于10CL010YU256C8G和10CL016YU256C8G验证数据串行通信,长时间挂机测试伪随机码通信,其误码率为0;该客户相关产品已经量产。当然,为了更加可靠的通信质量,我们在实际产品中也会加入8B10B编解码模块。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • FPGA
  • 可编程
  • PLC
  • verilog
  • FPGA设计如何规避亚稳态?

    1、什么是亚稳态?\x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp; 在数字电路中,如果数据传输时不满足触发器FF

    11-22
  • 满足航空Do-254的验证方法学浅谈

    \x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp;改善验证效率和可靠性的一个方法是自动化,自动化工具很多,有些是功

    11-21
  • 简单说说FPGA如何使用LUT表实现组合逻辑

    LUT,全称Look Up Table,查找表。目前主流FPGA实现的是6输入查找表。这里我

    09-26
  • ASIC设计中的常见挑战与解决方案

    在集成电路界ASIC被认为是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、...

    09-12
  • PLC存储器使用的常见误区与解决方案

    存储器的使用范围非常广泛,可以说每个电子设备中都有存储器的身影,PLC也不例外。为增进大家对存储器的认识,本文将对PLC内部常用存储器的使用规则予以介绍。如果你对存储器具有兴趣,不妨和小编一起来继续往下阅...

    09-12
  • 基于FPGA的数字信号处理(4)--如何确定Verilog表达式的位宽

    1、一般规则很多时候,Verilog中表达式的位宽都是被隐式确定的,即使你自己设计了位宽,它也是根据规则先确

    09-12
  • PLC常用物理存储器的介绍与应用

    存储器可以用来存储数据,我们每天都会使用到存储器,比如我们的手机中就有存储器。为增进大家对存储器的认识,本文将对存储器的选片和总线概念、PLC常用的几种物理存储器予以介绍。如果你对存储器具有兴趣,不妨...

    08-26
  • 硬件设计:FGPA如果带MIPI

    一、MIPI简介?\x0a二、硬件设计\x0a三.Interface Designer 设计\x0aTX\x0aRX\x0a四、代码定义\x0a总结

    08-02
  • Verilog基础语法与注意事项

    \x26amp;nbsp;基础知识1\x26amp;nbsp; 模块(Module)\x26amp;nbsp;\x26amp;nbsp;\x26amp;nbsp;\x26amp;nbsp;Ve

    07-30
  • 如何使用专用指令调整Nios II系列处理器硬件?

    前不久,Altera 正式推出了Nios II系列32位RSIC嵌入式处理器。Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在Altera FPGA中实现仅需35美分。Altera的Stratix 、Stratix GX、 Stra...

    07-18
  • FPGA芯片优化设计全面解析

    可编程逻辑器件是通过EDA技术将电子应用系统的既定功能和技术指标具体实现的硬件载体,FPGA作为实现这一途径的主流器件之一,具有直接面向用户,灵活性和通用性极大,使用方便,硬 件测试和实现快捷等特点。硬件描...

    07-18
下载排行榜
更多
评测报告
更多
广告