当前位置: 首页 > 专利查询>安徽大学专利>正文

一种新弹性缓冲器结构及SKP添加方法技术

技术编号:14768237 阅读:123 留言:0更新日期:2017-03-08 12:31
一种新弹性缓冲器结构,包括存储单元、同步单元、阈值监测单元、输入检测单元、写指针控制单元、输出检测单元、输出控制单元以及读指针控制单元。输入检测单元和写指针控制单元位于恢复时钟域,协同存储单元、同步单元和阈值监测单元完成SKP的添加操作。输出控制单元以及读指针控制单元位于本地时钟域,协同存储单元、同步单元和阈值监测单元完成SKP的删除操作。另外,一种新SKP添加方法亦被提出,其特征为利用读指针的暂停来实现SKP的添加。

【技术实现步骤摘要】

本专利技术属于缓冲器模块领域,特别是涉及到一种传输接口的弹性缓冲器模块及SKP的添加方法。
技术介绍
USB3.0规范(UniversalSerialBus3.0Specification)是intel、ENC等公司于2008年公布的最新的USB设计标准,它是高速、串行、源同步数据传输协议。相比较于早期版本USB,USB3.0采用一种新的物理层,用两个信道把数据传输和确认过程分离,因而提高了数据传输速率。采用USB3.0接口进行通信时,发送端采用差分对的方式发送串行信号,接收端采用时钟数据恢复电路从接收到的串行数据中恢复出时钟和数据。由于接收端和发送端均有各自独立的时钟源,所以接收端恢复出来的时钟和本地时钟可能存在一定的偏差。为了保证数据的正确传输,USB3.0采用弹性缓冲器来进行时钟频率补偿和相位同步。为了完成时钟频率补偿和相位同步,弹性缓冲器通过插入或删除SKP对来实现。它的容量大小由时钟频率的偏差大小和特定符号的出现频率共同决定,因此可以稳定地同步一个时钟域的数据到另一个时钟。传统的弹性缓冲器在实现SKP的添加和删除的过程中涉及到异步的逻辑控制,可能带来时序错误,并且在SKP的添加过程中需要进行写指针跳跃和断点保存,需要用更多的逻辑单元和寄存器来完成。
技术实现思路
本专利技术的目的是为了避免由异步控制可能带来的时序错误以及减少写指针跳跃和断点保存所带来的逻辑单元和寄存器的使用。本专利技术的技术方案为:弹性缓冲的本质是一个读写同时受控的异步FIFO,工作在常半满(normalhalffull)状态。弹性缓冲器在工作开始后,首先会向FIFO中写入8个有效数据,使得弹性缓冲器维持在半满状态。当读写时钟不一致时,若读时钟频率大于写时钟频率,则弹性缓冲器中的有效数据个数将会小于8甚至会出现被读空的状态,若读时钟频率小于写时钟频率,则弹性缓冲器中的有效数据个数将会大于8甚至会出现写满的状态。为了维持弹性缓冲器在半满状态,需要向输入的数据中添加和删除SKP。本专利技术提出一种新弹性缓冲器结构及SKP添加方法,在读时钟大于写时钟情况下,当弹性缓冲中有效数据数量会小于添加阈值时,阈值监测单元就会发起SKP添加请求,此时若输出检查单元给出SKP添加窗口有效,则读控制单元会将读指针暂停,通过输出控制单元向输出的数据中添加SKP,而此时写指针正常工作,使得弹性缓冲器中的有效数据量增大到添加阈值以上,以此来完成读写时钟频率补偿的问题。在读时钟小于写时钟情况下,当弹性缓冲中有效数据数量会大于删除阈值时,阈值监测单元就会发起SKP删除请求,此时若输入检查单元给出SKP删除窗口有效,则写控制单元会将写指针暂停,通过写一个数据来覆盖当前的SKP以实现SKP的删除,而此时读指针正常工作,使得弹性缓冲器中的有效数据量降低到删除阈值以下,以此来补偿读时钟和写时钟之间的频率差异。本专利技术具有以下的优点:1与传统的弹性缓冲器设计相比,本专利技术提供的新弹性缓冲器将SKP的添加和删除的过程进行了分离,分别在两个时钟域中独立进行,避免了由异步控制可能带来的时序错误。2与传统的弹性缓冲的设计相比,本专利技术的弹性缓冲器在进行SKP对的添加时,利用读指针暂停的方式来实现,无需写指针跳跃和断点保存,减少了逻辑单元和寄存器的使用。附图说明图1绘示本专利技术提供的一种新弹性缓冲器的结构框图。图2绘示本专利技术提供的一种新SKP添加过程示意图。图3绘示本专利技术中SKP删除过程示意图。图4绘示本专利技术一实施例的弹性缓冲器设计流程图。图5绘示本专利技术一实施例的SKP添加的实验结果图。图6绘示本专利技术一实施例的SKP删除的实验结果图。图7绘示本专利技术一实施例的下溢实验结果图。图8绘示本专利技术一实施例的上溢实验结果图。具体实施方式图1显示的是本专利技术提供的一种新弹性缓冲器结构框图,包括存储单元、同步单元、阈值监测单元、输入检测单元、写指针控制单元、输出检测单元、输出控制单元以及读指针控制单元。输入检测单元和写指针控制单元位于恢复时钟域,协同存储单元、同步单元和阈值监测单元完成SKP的添加操作。输出控制单元以及读指针控制单元位于本地时钟域,协同存储单元、同步单元和阈值监测单元完成SKP的删除操作。输入检测单元检测输入的数据中是否包含SKP字符,并根据检测的情况判断出是否为SKP删除操作提供窗口。写指针控制单元用来产生写指针的二进制码和格雷码,其中二进制码是数据写入的存储单元的地址,格雷码是用于同步到本地时钟域同读指针进行比较,判断FIFO是否下溢。输出检测单元是检测输出的数据中是否包含SKP字符,为SKP的添加提供添加窗口。输出控制单元并根据SKP添加操作指令是否有效来添加SKP字符并输出数据,此外根据FIFO是否读空来判断是否要添加END字符。读指针控制单元产生读指针的二进制码和格雷码,其中二进制码是读出的数据在存储单元对应的地址,格雷码是用于同步到恢复时钟域同写指针做比较,判断FIFO是否上溢。储存器是整个弹性缓冲的基础,根据接收到的写指针存储出来自恢复时钟域的数据,同时会根据读指针输出存储的数据。同步单元的作用是将写指针的格雷码同步到读时钟域,并与读指针格雷码比较,以产生空标志。同样将读指针的格雷码同步到写时钟域,并与写指针格雷码比较,以产生满标志。同时还将同步后的读、写指针格雷码转换为二进制自然码输出。阈值监测单元的作用是监测FIFO中有效数据的数量,并根据其数量与8的差值决定是否产生SKP添加或删除请求标志。图2显示的是本专利技术提出的一种新的添加SKP字符的工作机理。在读时钟频率大于写时钟频率情况下,从存储器中读出的数据速度要比写入的速度快,经过一段时间后,弹性缓冲器中的有效数据个数小于添加阈值,此时阈值检测单元会发送SKP添加请求。在SKP添加请求命令有效的情况下,待到输出检测控制单元检测到输出数据为SKP时,SKP添加指令有效。有效的SKP添加指令会使得读指针控制单元发送暂停读指针指令暂停读指针,同样会触发输出检测控制单元将输出数据变为SKP,完成SKP的添加功能。在利用读指针暂停来实现SKP添加的过程中,同样会向存储单元中写入数据,增加存储单元中有效数据个数,使得弹性缓冲器维持在半满状态。图3显示的SKP删除的工作机理。在读时钟频率小于写时钟频率情况下,弹性缓冲器中的有效数据个数大于删除阈值,此时阈值检测单元会发送SKP删除请求。在SKP添加请求信号有效的情况下,待到输入检测单元检测到输入数据为SKP时,SKP删除指令有效。此时写指针控制单元发送暂停写指针指令使得写指针暂停,故在下一个时钟到来后,后一个数据会覆盖当前要删除的SKP,完成SKP删除功能。写指针暂停过程中,在存储单元中的数据会被读出,减小存储单元中有效数据个数,使得弹性缓冲器维持在半满状态。图4绘示出本专利技术一实施例的弹性缓冲器设计流程图。在实施例中,当使能信号RxValid有效且复位信号rst无效时,若读写时钟同步,FIFO中的效数据将维持在8个,当写指针wrptr为4’b1111,则下个写时钟周期上升沿到来,wrptr将置零,否则每经过一个写时钟周期写指针加1;若读时钟慢于写时钟,当弹性缓冲中有效数据数量大于删除阈值,阈值监测单元则发起SKP删除请求,待输入检测单元检测到输入数据为SKP字符时,写指针将暂停,通过下一个本文档来自技高网...
一种新弹性缓冲器结构及SKP添加方法

【技术保护点】
一种新弹性缓冲器结构,包括:存储单元、同步单元、阈值监测单元、输入检测单元、写指针控制单元、输出检测单元、输出控制单元以及读指针控制单元。

【技术特征摘要】
2015.08.25 CN 20151052573081.一种新弹性缓冲器结构,包括:存储单元、同步单元、阈值监测单元、输入检测单元、写指针控制单元、输出检测单元、输出控制单元以及读指针控制单元。2.根据权利要求1所述的弹性缓冲器结构,其中输入检测单元和写指针控制单元位于恢复时钟域,输出控制单元以及读指针控制单元位于本地时钟域,存储单元,阈值监测单元和同步单元位于恢复时钟域和本地时钟域之间。3.根据权利要求1所述的弹性缓冲器结构,其中该输入检测单元用以检测输入数据是否为SKP字符,为SKP删除操作提供删除窗口,并将检测结果输出至写指针控制单元。4.根据权利要求1所述的弹性缓冲器结构,其中该写指针控制单元用以产生写指针的二进制码和格雷码,其中二进制码是数据读出的存储单元的地址,格雷码是用于同步到本地时钟域同读指针格雷码进行比较产生空标志;此外会将写指针的二进制码输出至同步单元、存储单元,将格雷码输出至阈值检测单元。5.根据权利要求1所述的弹性缓冲器结构,其中该存储单元会根据接收到的写指针存储出来自恢复时钟域的数据,同时会根据读指针输出存储的数据。6.根据权利要求1所述的弹性缓冲器结构,其中该同步单元将恢复时钟域的写指针格雷码同步到本地时钟域,同时将同步后的写指针的格雷码与读指针的格雷码比较产生空标志,同样也将本地时钟域的读指针格雷码同步到恢复时钟域并与写指针的格雷码进行比较以产生满标志,并将空满标志输出,将同步后的读指针格雷码和写指针格雷码输出至阈值监测单元。7.根据权利要求1所述的弹性缓冲器结构,其中该阈值监测单元根据读指针和写指针的比较检测出弹性缓冲器中有效数据个数,根据有效数据个数添加阈值以及删除阈值之间的差值决定是否产生SKP添加或删除请求标志,并且将添加请求和删除请求分别输出至读指针控制单元和写指针控制单元。8.根据权利要求1所述的弹性缓冲器结构...

【专利技术属性】
技术研发人员:柯导明常红程国林张平陈浩张世阳吕苗
申请(专利权)人:安徽大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1