新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 实现USB3.0物理层中弹性缓冲的设计方案

实现USB3.0物理层中弹性缓冲的设计方案

作者: 时间:2011-07-29 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/155982.htm

  2.3 机制

  本质上是读写同时受控的异步FIFO,常半满(normal half full)FIFO,其深度为16,首先要写满8个有效数据,并一直维持在半满的状态。因此在正常情况下,FIFO一直处于或接近半满状态,当读写时钟一样快慢的时候,FIFO中有8个有效数据。

图 3 常半满读写同等速率

  当读时钟快于写时钟,读出的数据多于写入的数据,常半满模式可能导致FIFO中的数据数量少于8,甚至有可能被读空。如下图所示,在出现SKP窗口的时候,FIFO中的有效数据为4,比常态少4。所以此时,应该添加4个SKP,使得FIFO维持半满,以此来调节时钟。此时读指针向前跳跃4个间隔,并且当读指针读到跳跃区间时,完成SKP添加。

图 4 常半满模式读快于写

  当读时钟慢于写时钟,写入的数据多于读出的数据,常半满模式可能导致FIFO中的数据数量多于8,甚至有可能被写满。如下图所示,在出现SKP窗口的时候, FIFO中有效数据为10,比常态多2. 所以此时,弹性缓冲应该删除2个SKP,使得FIFO维持半满,以此来调节时钟。此时写指针应该暂停2个时钟周期,完成SKP删除。

图 5 常半满写快于读

  3.弹性缓冲结构

  常半满模式下弹性缓冲的结构,可以分为接收时钟域控制、系统时钟域控制、阀值检测与同步。接收时钟域控制包括,写控制与写指针控制。系统时钟域控制包括读控制与读指针控制。阀值检测与同步包括SKP添加删除阀值与时钟域之间的同步。

图 6 常半满模式弹性缓冲结构



评论


相关推荐

技术专区

关闭