输入/输出总线中的毛刺检测的制作方法

文档序号:17581785发布日期:2019-05-03 20:59阅读:186来源:国知局
输入/输出总线中的毛刺检测的制作方法

本文所公开的各种示例性实施例涉及晶片到晶片通信,并且更具体地说,涉及实现在时钟和数据外围总线中低成本毛刺检测的设备和方法。



背景技术:

电子装置的亚稳态是数字电子装置系统在不稳定平衡或亚稳定状态中持续无界时间的能力。在亚稳定状态中,电路不能够在正确电路操作所需的时间内安定成稳定的‘0’或‘1’逻辑电平。这通常发生在数据触发器的设定中改变时或在数据运行通过具有不同安定时间的不同逻辑路径(如此获得两个不同的值,这在逻辑上决不应发生)时。因此,电路可以不可预测的方式起作用,并且可导致系统故障或不可预测/错误的操作。处理此问题的方法包括专用模拟滤波器(其具有pvt顾虑)和/或快速时钟(用于过采样和滤波)。两种方法都具有浪费电力并且需要额外组件的问题。



技术实现要素:

下文呈现各种实施例的简要概述。可在以下概述中作出一些简化和省略,该概述意图凸显并引入各种示例性实施例的一些方面,而非限制本发明的范围。足以允许本领域普通技术人员进行和使用发明性概念的实施例的详细描述将紧接着在稍后的章节中。

各种实施例包括延迟电路,该延迟电路包括被配置成接收数据输入的连接器垫、被配置成接收具有时钟边沿的时钟输入的垫管脚、接收数据输入的第一数据线、接收数据输入的第二数据线,该第二数据线包括输出延迟的数据输出的延迟电路,和接受数据输入和延迟的数据输出并输出逻辑状态的至少一个逻辑门,其中逻辑状态确定延迟的数据输出中是否存在毛刺,其中延迟电路包括记录在时钟边沿处至少一个逻辑门的输出以识别毛刺的至少一个延迟元件。

延迟电路可包括锁存器延迟链电路或延迟缓冲器。

延迟电路可包括多个锁存器或多个延迟缓冲器。延迟电路可包括多个逻辑门,其中来自多个锁存器或缓存器的数据线输出用于确定延迟电路中的间歇毛刺。

至少一个逻辑门可为单个异或门。

各种实施例还包括延迟电路,该延迟电路包括接收时钟输入的连接器、接收时钟输入的第一时钟线、接收时钟输入的第二时钟线,该时钟线包括被配置成延迟时钟输入的定时的多个延迟装置,和逻辑块,该逻辑块被配置成接收一个或多个延迟的时钟输入并且确定在时钟边沿之前建立时间中是否存在毛刺,其中多个延迟装置至少包括记录时钟边沿上的逻辑块的输出以便识别毛刺的延迟元件。

所述延迟电路包括锁存器延迟链或延迟缓冲器电路。所述延迟电路包括多个锁存器或延迟缓冲器。所述延迟电路进一步包括多个逻辑门,其中来自所述多个锁存器的所述时钟线输出用于确定所述时钟电路中的间歇毛刺。所述逻辑门为异或门。

各种实施例还包括接收定时信号的方法,该方法包括通过垫管脚输入输入信号、沿控制路径和延迟路径划分输入信号,在延迟路径中,通过预定数目的延迟组件延迟输入信号以产生至少一个延迟的输入信号,和比较至少一个延迟的输入信号与另一个信号以确定延迟的信号是否包括在时钟边沿处或附近的毛刺。

输入信号可为数据信号。输入信号可为时钟信号。输入信号可通过缓冲器延迟。输入信号可通过多个锁存器延迟。

多个延迟的输入信号可被输入到多个逻辑门中以确定延迟的信号是否包括毛刺。

在延迟路径中的至少一个延迟的输入信号可与控制路径的所述输入信号比较以确定延迟的信号是否包括毛刺。

本发明的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。

附图说明

本发明的额外目标和特征将通过与结合附图时的以下详细描述和所附权利要求书而更显而易见。虽然示出并描述了几个实施例,但是在每个图式中相同的附图标记标识相同的部件,其中:

图1示出根据本文所描述的实施例的用于检测毛刺的锁存器延迟链;

图2示出根据图1的时序图;

图3示出根据图1的另一时序图;

图4示出根据本文所描述的实施例的数据延迟链;

图5示出根据本文所述的实施例的时钟延迟链;

图6a和6b示出根据图5的时序图;并且

图7示出根据本文所描述的实施例的锁存器延迟链的另一个实施例。

具体实施方式

应理解,图式仅为示意性的并且不按比例绘制。还应理解,贯穿图式使用的相同附图标记表示相同或相似的部件。

描述和图式示出各种例子实施例的原理。因此将了解,本领域的技术人员将能够设计各种布置,尽管本文中未明确地描述或示出所述布置,但其体现本发明的原理且包括于本发明的范围内。此外,本文中所述的所有例子主要明确地意在用于教示目的以有助于读者理解本发明的原理及由(一个或多个)发明人所提供的概念,从而深化所属领域,且所有例子应解释为不限于此类具体列举的例子及条件。另外,除非另外指明(例如,“否则”或“或在替代方案中”),否则如本文所用的术语“或”是指非排他性的或(即,和/或)。并且,本文所描述的各种实施例不一定相互排斥,因为一些实施例可与一或多个其它实施例组合从而形成新的实施例。例如“第一”、“第二”、“第三”等描述词不意图限制所论述元件的次序,且用于区分一个元件与下一元件,且通常可互换。值(例如,最大值或最小值)可基于本申请被预定且设定为不同值。

本文所描述的实施例使用锁存器链以获得在通向时钟脉冲的短时段内过采样的等效方案。锁存器链为缓冲器类延迟模型。实施例包括检测数据和/或时钟信号中的噪声或毛刺。如本文所用的毛刺关于在管脚上噪声尖峰。基本上,状态的不当变化,该变化可由耦合到总线或接地平面的外界噪声导致。对于外部时钟/数据总线的“受控器”(例如i2c、i3c、spi),总线时钟可用作用于串行化/反串行化和其它动作的外围时钟。令人担忧的是在时钟边沿处在(一个或多个)数据线上的毛刺/噪声的可能性。时钟上也可存在毛刺。本文解决的是亚稳态(对错误状态采样和导致时钟建立的地弹反射)。

检测是安全的选项,因为当噪声靠近时钟出现时,滤波通常产生不正确的数据。检测可有助于调试线,如确定线具有噪声问题,其可能是由于布线或驱动器强度/斜率(例如共模注入)。在正常使用中,检测可用于使数据重新发送以避免捕获不正确的信息或命令。本文所描述的实施例可用于主控器和受控器、时钟和数据。使用检测涉及低功率并且聚焦于实际关注区域。

如本文所述,在时钟脉冲或边沿处可用的最终记录的数据可与其几纳秒之前的该数据比较。如果两个数据值不匹配,那么产生误差(作为一种方法),或不匹配可用作某种滤波器。实施例提供在紧挨着时钟的时段处非常快速过采样的等效方案,而不需要快速时钟,后者可具有功率以及较高速度时钟成本的问题。

本文所述的实施例涉及用于总线接口如i3c中的数据和数据传输速率。i3c为被配置成将传感器与应用程序处理器连接的总线接口。i3c为规范,该规范结合集成电路总线(i2c)和串行外围接口(spi)的属性,作为将这些接口的益处包含到一个接口中的替代接口。i3c构建于i2c和在其周围生长的生态系统的性能上,同时保持双线式串行接口。使用i3c,系统设计师可连接多个传感器,同时减少功率消耗、组件和实施成本。支撑于i3c总线上的数据速率取决于总线模式、总线上的装置的类型和装置性能。在相同总线上存在多个装置由于较长迹线、短截线和线上更多的回转而增加噪声的机会。

本文所述的噪声检测设备和方法包括低成本、技术独立的解决方案。例子实施例可对7管脚、350nm数字方法以及最先进的方法几何结构中的大装置起作用。例子实施例还与使用时的总线电压无关地起作用。紧凑的设计可实现低成本和实施的容易性。

关于时钟和数据通信,本文所述的实施例包括使用延迟流程(允许测量),以获取其中信号应稳定的时间和信号实际被装置记录的时间之间的量度,以确保无变化。

与传播延迟、电容和其它因素无关,只要数据线到在接收侧上检测到时钟边沿的时间安定,那么电路被满足,电路知道值应该为何。使用短持续时间缓冲器,恰当地忽略在检测区域或建立时间外的任何毛刺。

本文所述的一种方法为测量在时钟边沿改变时的时段之前的时间。该时间段从数据的角度进行测量。本文所述的方法不关心导致事件的原因,也不关心其花费多长时间。如本文所论述,这就是通常所谓的相对于时钟的建立时间。

除了诊断数据误差以外,本文所述的电路和方法可用于测量恰好在边沿周围不存在时钟毛刺。在时钟边沿周围的毛刺可意味着存在错误边沿或错误时钟,如矮小时钟。

根据实施例,在延迟线开始处看不到边沿或转变流程,直到一些纳秒时在延迟线的另一端处看到。这允许比较数据或时钟信号的当前未延迟版本和该数据或时钟信号的延迟版本。使用逻辑门如异或(也称为xor)可以检测信号值的差别。如果延迟信号和未延迟信号相同,那么在延迟的时段内,已经保持或似乎已经保持真实信号。此流程适用于在本文中示出且描述的缓冲延迟电路。延迟线可包括一系列锁存器或单个延迟缓冲器。

在另一个实施例中,多个锁存器可用于验证信号或确定具有较短延迟的毛刺,使得毛刺在延时线之后开始并且在时钟边沿之前安定。使用多个锁存器,可确定甚至在延迟的时段期间,如在本文所述的延迟电路中,没有发生可测量的转变或毛刺。

大体来说,延迟或毛刺的量值可为三到五纳秒;这通常是由于电容引起的短高能量尖峰平坦化输出。本文所述的实施例关注在时钟边沿之前预期数据或时钟为稳定的时间量,和限定该时钟边沿的触发器电平。

在i3c总线上的数据和时钟信号可具有保持时间和建立时间。保持时间是指数据在时钟脉冲之后保持稳定多久。本文所述的实施例关注通向时钟脉冲的信号的稳定性,这是建立时间。本文所述的电路和方法包括数据在时钟边沿之前应该稳定的时间量。随着数据流接近时钟边沿,数据可为不确定的,可能直到最后几纳秒改变。在时钟边沿之前的时间取决于所使用的技术和内部延迟。出于安全,时钟边沿通常加边际。这是下一个时钟边沿的建立时间。在此时段期间,预期该数据保持稳定处于其所在的任意状态(高或低)。

根据本文所述的实施例的毛刺检测电路提前确定数据或时钟线截至预定时段是否稳定,并且因此确定在建立的亚稳定分量期间数据或时钟线是否改变。如上文所提及,朝向时钟边沿的亚稳态是指在数据太靠近时钟边沿改变的情况下的不确定性。在这种情况下,由于电子器件的特性,电路不能够确定触发器是否捕获一或零,或甚至电子装置是否将存在稳定的一或零。另外,亚稳态意指数据在该点处发生毛刺并且引起值的不确定性;同样地即使毛刺在触发器的亚稳定建立之前开始,毛刺也将导致捕获错误值。噪声可出现在任何地方。本文所述的实施例将检测在时钟的建立区域中是否出现不希望的噪声或毛刺。

图1示出根据本文所述的实施例的检测毛刺的延迟电路100。延迟电路100可包括接收传入信号数据_in(data_in)(并且转换成内部数字1或0)的在输入/输出(io)垫110处的数据管脚105。除馈入到外围中供用作数据以外,io垫110可将信号数据_in分配到逻辑门如异或逻辑门120且分配到锁存器延迟链130的起点,该锁存器延迟链130也可仅为延迟缓冲器。锁存器延迟链130可为可配置的(由其中的元件数目确定),以设置使数据_in信号延迟的期望大致时间量,该时间量在某种程度上随方法、电压和温度变化而不同。锁存器延迟链130可包括中间锁存器元件130a-130c和最终锁存器元件130d。中间元件的数目可根据期望缓冲延迟时间段而更大或更小,并且同样地期望延迟时段的延迟缓冲器可替换所有锁存器链130。在数据_in经过最终锁存器元件130d之后,输出数据_延迟(data_delay)信号。为确定在数据_延迟线中是否存在毛刺,逻辑门120将输出两个输入是否相同。时钟信号150触发输出触发器155,以将存储的确定值传送到毛刺输出端157。如果两个值相同,那么逻辑门120将输出零,表示未检测到毛刺。如果两个值不同,那么逻辑门120将输出一,指示在数据_延迟线上有毛刺。当时钟信号150的时钟边沿被触发时,考虑逻辑门120的输出。举例来说,锁存器延迟链130可被配置成八纳秒延迟。当时钟信号150被触发并且在xor逻辑门120处在数据_in线和数据_延迟线之间进行比较时,系统控制器将记下数据_in线在其现在这样之前八纳秒是否为相同值。如果不是,那么数据_in在时钟边沿之前小于八纳秒改变。

锁存器延迟链130为传输数据_in信号的逻辑装置。锁存器延迟链130使用多个延迟元件130a、130b、130c和130d,但延迟组件的数目不限于此。

建立时间为其中针对外围的底层逻辑(触发器),数据线必须稳定以达成正确结果的安全时间。这涵盖随方法、电压和温度变化的路径时间和触发器“建立”时间。方法可指由于加工因素(如氧化层的厚度)引起的管芯的变化。电压和温度为变化的环境因素。在此建立时间期间数据_延迟相较于数据_in的不同值将确定建立时间中的毛刺。借助触发器155的复写和在另一个时钟边沿(即下降边沿)上的触发,图1的电路可用于检测朝向两个时钟边沿的毛刺。这样做的实用性取决于总线和是否在一个或两个时钟边沿上采样数据。

图2示出根据图1的时序图200。时钟信号210将具有时钟边沿220。数据信号的例子被示出为线230或线240。数据线230和240表示相同数据信号。数据线230和240表示为两条单独的线以指示数据信号可高开始或低开始。本文所述的实施例关注数据信号的变化或潜在变化。在进入锁存器延迟链130之前,数据信号230或240沿延迟路径在时间区段212期间将具有导入时间。参考标号218表示数据_in信号进入锁存器延迟链130的开始时刻。如图2所示,通过锁存器延迟链130中的组件的数目和类型使数据_in信号延迟。数据_in信号作为数据_延迟信号离开锁存器延迟链130。开始时刻218可由电路设计者基于锁存器的数目或延迟缓冲器尺寸来预先确定。数据线可为正到负的数据信号230或负到正的信号240,或当接近延迟缓冲器130的开始时刻218时,数据线的极性可不变换。建立时间区段216可跨越从延迟缓冲器130开始时的开始时刻218,直到时钟线150的上升边沿220被触发。在建立时间216期间,数据_延迟信号输出最后的触发器130d并输入图1的的逻辑门120,并且与数据_in信号比较。如果信号具有相同值,那么在通向时钟中的数据线中无毛刺并且逻辑门120将输出零。如果两个值不同,那么检测到毛刺并且门120将输出一。

在正常无毛刺状态中,正数据信号230或负数据信号240可在时钟的上升边沿220之前并且在延迟缓冲器开始时刻218的开始之前,在转变点250处转变,足够充分地在建立时间之前的时钟的上升边沿220之前。时钟的上升边沿220对应于数据_in和数据_延迟进入图1的逻辑门120的时刻

图3示出根据图1的另一时序图300。图3示出在延迟缓冲器130的延迟缓冲器开始时刻218的开始之后且在时钟的上升边沿220之前建立时间中出现毛刺的影响。在图3中替代的例子数据线表示为数据信号270和280。在图3中,当时钟在时钟的上升边沿220处被触发时,进入延迟缓冲器开始时刻218的例子数据信号270和280与数据信号270和280的值不相同。在图3中,在时间260处,在建立时间216期间数据信号上出现毛刺,从而使数据线改变状态。数据线值的此差异在图1的xor逻辑门120处输出一,该一被输出到输出触发器155并且进一步作为在检测电路100中的毛刺检测结果被输出。

图4示出根据本文所述的实施例的包括延迟链430的数据延迟电路400。此电路类似于图1,不同之处在于该电路可在建立中的任何位置检测毛刺,即使毛刺由时钟边沿正确地解析。不同于图1,此电路400不可使用单个延迟缓冲器实施。延迟链430包括多个锁存器412、414、416和418以检测通向时钟的毛刺。锁存器412-418的数目并不限于此,并且根据在建立时段期间的期望的大致时间延迟,可为更小或更大的量。延迟链430可输入划分到控制路径421和延迟路径422中的数据_in信号。不同于图1的实施例,延迟电路400可比较从中间锁存器412-418输出的多个数据_延迟信号以确定是否出现在时钟脉冲之前在数据线中较小增量的毛刺。

每个锁存器412、414、416和418增添小延迟(比方说1ns),使得四个锁存器412-418将向数据_in增添超过四纳秒的可视性。根据电路设计者的判断力和工艺技术中锁存器的性质,锁存器延迟可设定成具有不同时间延迟。锁存器的数目也可变化。每个锁存器412-418产生相应的错开延迟的信号数据_d1、数据_d2、数据_d3和数据_d4。这将检测区域集中在用于记录用于使用的实际数据的时钟边沿周围。检测通过记录的数据脱机,如此不影响并行器或数据的其它使用。

如图4所示,来自锁存器412的输出信号为数据_d1信号。在逻辑门423处,延迟1ns的数据_d1信号与延迟2ns的从锁存器414输出的数据_d2信号进行比较。借助到xor424中的锁存器414和416的相应数据_d2和数据_d3(延迟3ns)输出,和在到xor425中的锁存器416和418的相应输出数据_d3和数据_d4(延迟4ns)之间以及在到xor426中的锁存器418的数据_d4和原始数据_in信号之间进行类似比较。数据_in信号和数据_dx信号中的任一者之间的差异将在逻辑门423-426的输出端处产生一。来自逻辑门423-426中任一个的一输出将在或(or)门440处产生一,该一被输入到锁存器450,从而检测数据_in信号中的毛刺。因此,图4示出其中可检测到毛刺的多个离散时间时段。每个锁存器412-418可表示一纳秒,或如由电路设计者指定的另一时间段。使用如图4所示的配置,可在未用单一缓冲器方法检测到的时钟边沿(如图1中所见)之前在若干时间段中的一个处检测到毛刺或噪声。图1所示的锁存器延迟链和图4的锁存器方案提供用于误差检测的各种结构和方法。在一些发生的事件中,线的电容将传播转变并且延迟电路100可用于检测毛刺。

图5示出根据本文所述的实施例的时钟延迟链500。时钟延迟链500可为类似于图1的实施例的单个延迟线,或为图5的切分延迟线。时钟延迟链500被配置成检测输入/输出总线的时钟中的时钟毛刺或矮小脉冲。不同于图1和4,进入锁存器530的延迟链的输入为时钟管脚510的输出。时钟线可包括待供外围用作时钟的路径521,和延迟路径522。类似于图4的实施例,多个锁存器512-518可使时钟信号错开以确定恰好在时钟边沿550被触发之前时钟脉冲中是否出现毛刺。借助示出具有下降边沿触发器的触发器的复写,相同电路不仅可用于检测两个时钟边沿上的时钟毛刺,而且可用于检测恰好在时钟之后出现的毛刺。也就是说,毛刺将看起来为倒置极性的时钟边沿,并且因此该毛刺将被检测到。

图6a和6b示出根据图5的时序图600和650。图6a示出处于正常操作状态的时钟信号,其中在610处具有导入时钟信号并且在620处具有时钟边沿。在导入时间612之后,在618处开始延迟时段。在建立时间616期间,在时钟脉冲620之前时钟稳定性是期望的。稳定性倾向于指示时钟脉冲620为有效的时钟脉冲,在时钟上不存在矮小脉冲或噪声脉冲,并且电路正常运行。本文所述的时钟边沿可为向上脉冲或向下脉冲。

借助于例子,以12.5mhz操作的时钟可具有八十纳秒总时段和50/50占空比,从而产生大致四十纳秒高时段和大致四十纳秒低时段。在数字域中,信号为二进制低或高。低或上升被认为低。高但有效地下降仍被认为高。时钟转变等待决定性切换,因为该切换用于有效进行数字转变。在图5和6a的时钟电路中,锁存器530的延迟缓冲器越长(在图6中的锁存器延迟时间区段614处示出),检测毛刺的机会越大。

参考图6b,例子时钟信号可以低开始,类似于图6a。时钟信号接着可在正脉冲619处升高。在短脉冲621处脉冲保持平稳,接着在向下脉冲边沿623处下降。时钟信号在向下的脉冲边沿623处失去能量的事实指示,前正边沿或后下降边沿表示毛刺,并不是真实的时钟脉冲,并且可借助下降边沿触发器检测到。当在短脉冲621处被驱动回到高时,在向下脉冲边沿623处能量衰减。在619处的正脉冲可表示毛刺对上升边沿的影响,例如反射。毛刺驱动时钟线升高,但毛刺中的能量可不能维持时钟线高,因为时钟的启动器正在使时钟线保持低。

锁存器延迟时间区段614的建立时间应足以截留从根本上太短并且因此作为毛刺的时钟边沿。电路可寻找噪声尖峰的耗散。大部分毛刺将在一、两、三纳秒范围中,以确保照此正确地检测到边沿。当边沿下降时,可检测到问题。

如果如图6b所示,在此相对小时间段内在617和619处出现转变,那么这可通过逻辑解译为非常快的时钟。如果未检测到,那么这可干扰正常操作,因为电路的时序尚未被配置成用于非常快的时钟。如果在619或619处的脉冲被确定为时钟信号,那么依赖于那些闭合信号的其它电路将与此假时钟毛刺噪声对偏。因此,图6b示出不是正在出现的时钟,而是可被误解为时钟边沿的毛刺,因为逻辑将未必能够将该毛刺滤掉。

如本文所述,用于数据通向时钟的延迟时间并不与用于时钟通向时钟的延迟时间相关。数据独立于时钟。时钟信号可被认为是在+/-40ns处的脉冲。数据切换的时段可更短。

图7示出根据本文所述的实施例的延迟电路700的另一个实施例。在图7中,锁存器链730包括在数据入侧处的任选的与门735,以当不使用时,使链停用。

如果时钟边沿用于数据记录,那么本文所述的实施例可在用于输入时钟的从电路中使用。延迟链(锁存器或延迟缓冲器)可验证时钟处于相反状态持续预定时间段或先前处于相反状态。这将检测时钟毛刺(错误边沿和矮小脉冲)。如由电路设计者根据面积、功率和延迟精度所确定的,本文所示的锁存器不限于任何特定类型,并且可为具有自然延迟的锁存器或延迟缓冲器。不同锁存器可与本文所述的实施例一起使用,如具有自然延迟的锁存器或延迟缓冲器,加权各种因素如面积、功率和延迟精度。

本文所述的实施例的优点包括功率节省、成本节省和面积节省。本文所述的实施例包括检测机制,该检测机制可以非常低成本被建构和执行(即技术独立),并且可与经变化的技术或方法几何结构一起使用。电路将对标准的普通io垫起作用。本文所述的实施例使用锁存器,但实施例并不限于此。

尽管已通过特定参考一个实施例的某些示例性方面详细地描述了该一个实施例的各种例子,但是应理解,本文所述的实施例能够具有其它实施例,且其细节能够在各种显而易见的方面中被修改。如本领域的技术人员容易明白的,在保持在实施例的精神和范围内,可实现变化和修改。因此,前述公开内容、描述和图式仅出于说明性目的并且不以任何方式限制实施例,该实施例仅由权利要求书限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1