时间-数字转换器

文档序号:72358 发布日期:2021-10-01 浏览:26次 >En<

阅读说明:本技术 时间-数字转换器 (Time-to-digital converter ) 是由 N·达顿 J·K·莫雷 于 2021-03-29 设计创作,主要内容包括:本公开涉及时间-数字转换器。在一个实施例中,一种方法包括:从TDC接收第一多个数字代码;从第一多个数字代码生成粗直方图;从多个粗仓中检测峰值粗仓;在接收第一多个数字代码之后,从TDC接收第二多个数字代码;以及基于检测到的峰值粗仓从第二多个数字代码生成精直方图,其中精直方图深度范围比粗直方图深度范围窄,其中较低精直方图深度低于或等于较低粗峰值深度,并且其中较高精直方图深度高于或等于较高粗峰值深度。(The present disclosure relates to time-to-digital converters. In one embodiment, a method comprises: receiving a first plurality of digital codes from a TDC; generating a coarse histogram from the first plurality of digital codes; detecting a peak coarse bin from a plurality of coarse bins; after receiving the first plurality of digital codes, receiving a second plurality of digital codes from the TDC; and generating a fine histogram from the second plurality of digital codes based on the detected peak coarse bins, wherein the fine histogram depth range is narrower than the coarse histogram depth range, wherein a lower fine histogram depth is lower than or equal to a lower coarse peak depth, and wherein an upper fine histogram depth is higher than or equal to an upper coarse peak depth.)

时间-数字转换器

技术领域

本公开总体上涉及一种电子系统和方法,并且在特定实施例中,涉及一种时间-数字转换器(TDC)。

背景技术

TDC提供与事件相关联的时间的数字表示。例如,TDC可以用于测量第一事件和第二事件之间的时间。

TDC的实现可以使用计数器。计数器在第一事件发生时启动,并且在第二事件发生时停止。所得到的计数器的计数是第一事件和第二事件之间的时间的表示。可以通过使用所得到的计数和计数器接收的时钟的频率来计算时间。在这种类型的TDC实现中,较高的时钟频率通常会导致较高的时间分辨率。

TDC可以用于例如使用飞行时间(ToF)技术来确定距离的测距系统中。例如,在ToF系统中,例如利用垂直腔面发射激光器(VCSEL)发射光脉冲,并且从物体反射回光子传感器,例如单光子雪崩二极管(SPAD)。光传播到物体并被反射回单个光子传感器上所花费的时间可以用于基于已知光速确定物体与设备之间的距离。在这样的ToF系统中,可以使用TDC来生成在光脉冲的发射与光子传感器对反射脉冲的接收之间的时间的数字表示。

发明内容

根据实施例,一种方法包括:从TDC接收第一多个数字代码;从第一多个数字代码生成粗直方图,粗直方图包括多个粗仓(bin),多个粗仓共同对应于从较低粗直方图深度到较高粗直方图深度的粗直方图深度范围;从多个粗仓中检测峰值粗仓,其中峰值粗仓对应于从较低粗峰值深度到较高粗峰值深度的峰值粗仓深度范围;在接收第一多个数字代码之后,从TDC接收第二多个数字代码;以及基于检测到的峰值粗仓从第二多个数字代码生成精直方图,精直方图包括多个精仓,多个精仓共同对应于从较低精直方图深度到较高精直方图深度的精直方图深度范围,其中,精直方图深度范围比粗直方图深度范围窄,其中,较低精直方图深度低于或等于较低粗峰值深度,并且其中,较高精直方图深度高于或等于较高粗峰值深度。

根据实施例,一种电路包括:TDC;直方图生成电路;以及控制电路,其中直方图生成电路被配置为与控制电路协作以:从TDC接收第一多个数字代码,根据第一多个数字代码生成粗直方图,粗直方图包括多个粗仓,多个粗仓共同对应于从较低粗直方图深度到较高粗直方图深度的粗直方图深度范围,从多个粗仓中检测峰值粗仓,其中峰值粗仓对应于从较低粗峰值深度到较高粗峰值深度的峰值粗仓深度范围,在接收到第一多个数字代码之后,从TDC接收第二多个数字代码,以及基于检测到的峰值粗仓从第二多个数字代码生成精直方图,精直方图包括多个精仓,多个精仓共同对应于从较低精直方图深度到较高精直方图深度的精直方图深度范围,其中,精直方图深度范围比粗直方图深度范围窄,其中,较低精直方图深度低于或等于较低粗峰值深度,并且其中,较高精直方图深度高于或等于较高粗峰值深度。

根据实施例,一种系统包括:以N行和M列排列的像素阵列,其中N是大于1的正整数,并且其中,M是大于1的正整数,并且其中,每个像素包括SPAD;多个TDC,其中多个TDC中的每个TDC与像素阵列的相应像素相关联;多个直方图生成电路,其中多个直方图生成电路中的每个直方图生成电路与多个TDC中的相应TDC以及像素阵列中的相应像素相关联;以及包括M个控制电路的列控制电路,M个控制电路中的每个控制电路被配置为与和像素的对应列相关联的直方图生成电路协作,以:从相应TDC接收第一多个数字代码,从第一多个数字代码生成粗直方图,粗直方图包括多个粗仓,多个粗仓共同对应于从较低粗直方图深度到较高粗直方图深度的粗直方图深度范围,从多个粗仓中检测峰值粗仓,其中峰值粗仓对应于从较低粗峰值深度到较高粗峰值深度的峰值粗仓深度范围,在接收第一多个数字代码之后,从相应TDC接收第二多个数字代码,并基于检测到的峰值粗仓从第二多个数字代码生成精直方图,精直方图包括多个精仓,多个精仓共同对应于从较低精直方图深度到较高精直方图深度的精直方图深度范围,其中精直方图深度范围比粗直方图深度范围窄,其中较低精直方图深度低于或等于较低粗峰值深度,并且其中较高精直方图深度高于或等于较高粗峰值深度。

附图说明

为了更完整地理解本发明及其优点,现在参考以下结合附图的描述,其中:

图1示出了根据本发明的实施例的ToF成像系统10;

图2A至图2C示出了示出根据本发明的实施例的图1的ToF成像系统的可能实施方式的部分布局的俯视图的图;

图3A和图3B示出了根据本发明的实施例的图2A至图2C的任何像素和相关联的电路的可能实施方式的示意图;

图4示出了根据本发明的实施例的用于生成精缩放直方图的实施例的流程图;

图5示出了根据本发明的实施例的粗直方图和精直方图;

图6示出了根据本发明的实施例的用于生成粗直方图的实施列的流程图;

图7示出了根据本发明的实施例的粗直方图和精直方图;

图8示出了根据本发明的实施例的用于使用n步SAR生成精缩放直方图的实施方法的流程图;

图9示出了根据本发明的实施例的在使用图8的方法执行3步SAR时生成的直方图;

图10示出了根据本发明的实施例的图3A或图3B的像素的一部分和/或相关联的电路的可能实现;

图11至图13示出了根据本发明的实施例的积分和读出时间的时序图;

图14示出了根据本发明的实施例的图10的直方图生成电路的可能实施方式的示意图;

图15示出了根据本发明的实施例的图2A至图2C中任一个的直方图生成电路的可能实现的示意图;以及

图16至图18示出了根据本发明的实施例的用于由图15的峰值检测器生成峰值仓索引的实施例的流程图。

不同附图中对应的数字和符号,除非另有说明,一般指对应的部分。附图是为了清楚地说明优选实施例的相关方面而绘制的,并且不一定是按比例绘制的。

具体实施方式

下面详细讨论所公开的实施例的制作和使用。然而,应当理解的是,本发明提供了许多可以应用的发明构思,这些发明构思可以在广泛的各种特定上下文中体现。所讨论的具体实施例仅仅是说明制造和使用本发明的具体方式,而不限制本发明的范围。

下面描述说明了各种具体细节,以提供对根据描述的几个示例性实施例的深入理解。可以在没有一个或多个特定细节的情况下,或者通过其他方法、部件、材料等来获得实施例。在其它情况下,未详细示出或描述已知的结构、材料或操作,以便不模糊实施例的不同方面。在本说明书中对“实施例”的提及表明,关于实施例描述的特定配置、结构或特征包括在至少一个实施例中。因此,可能出现在本说明书不同点处的诸如“在一个实施例中”的短语不一定完全指代相同的实施例。此外,在一个或多个实施例中,可以以任何适当的方式组合特定的形成、结构或特征。

将在特定上下文中描述本发明的实施例,TDC包括用于直方图生成的电路,例如用于ToF图像传感器。本发明的实施例可以用于ToF图像传感器以外的应用中,例如需要两个信号脉冲之间的时间测量以及相应的直方图生成的应用。一些实施例可以用于ToF应用,包括接近传感器、光检测和测距(LIDAR)、深度剖面、相机的自动聚焦等。实施例还可以用于测量事件之间的时间和/或利用事件的时间戳的应用中。

在本发明的实施例中,ToF图像传感器包括以N行和M列排列的像素阵列。每个像素包括SPAD和SPAD下方的对应TDC。分别与像素阵列的相应列相关联的M个控制电路与相应列中的SPAD协作,生成与ToF图像传感器和目标之间的距离测量相关联的相应缩放直方图。在一些实施例中,缩放的直方图是紧凑的直方图,其包括检测到的目标周围的深度信息并且排除离目标更远的深度信息。因此,一些实施例有利地可以实现更高分辨率的深度检测,而不增加直方图的仓数。在一些实施例中,较小数量的仓有利地导致较低的ToF图像传感器的面积消耗,而不牺牲ToF图像传感器的分辨率。

图l示出了根据本发明的实施例的ToF成像系统100。ToF成像系统100包括照明源106、ToF图像传感器118和处理器110。ToF图像传感器118包括SPAD阵列104以及TDC和直方图电路102。在一些实施例中,TDC和直方图电路102分布在SPAD阵列104内部。在其它实施例中,TDC和直方图电路102邻近SPAD阵列104设置。

在一些实施例中,定时生成电路108、照明源106和ToF图像传感器118在集成电路(IC)120内实现,而处理器110与IC 120分离。在其它实施例中,处理器110位于IC 120内部。

在正常操作期间,照明源106例如,在定时生成器电路108控制的时间处,向物体116发射辐射脉冲112(例如,光信号或光脉冲)。反射的辐射脉冲114由SPAD阵列104感测。TDC和直方图电路102生成辐射脉冲112的发射和反射的辐射脉冲114的接收之间的时间的数字表示(例如,以直方图的形式)。处理器110然后处理从ToF图像传感器118接收的信息数据,例如,以确定到物体116的距离。

照明源106可以以本领域已知的任何方式实现。例如,照明源106可以实现为VCSEL。其他实现也是可能的。

处理器110可以实现为通用数字信号处理器(DSP)、处理器或控制器,其包括例如耦合到存储器的组合电路。处理器110也可以实现为定制专用集成电路(ASIC)。其他实现也是可能的。

ToF图像传感器118可以是例如用于移动设备的直接ToF(DTOF)图像传感器。在一些实施例中,ToF图像传感器118具有480×360的空间分辨率,1ns或更好的精度(跨12m的距离范围、80ns),以及大约500ps的TDC标称分辨率。在其它实施例中,ToF图像传感器可以具有不同于480×360的空间分辨率,例如更高分辨率或更低分辨率,并且可以具有不同于跨12m的距离范围、80ns的1ns的精度,诸如800ps、500ps或更高的精度,或跨高于12m(如15m或更高)的距离或跨低于12m(如10m、8m或更低)的2.5ns、5ns或更低的精度。

TOF图像传感器118被配置为生成一个或多个直方图,其具有与发射的和接收的辐射脉冲之间的时间相对应的数据。ToF图像传感器118包括SPAD阵列104以及TDC和直方图电路102。例如,图2A至图2C示出了根据本发明的实施例的ToF成像系统的一部分(未按比例缩放)的可能实现的布局的俯视图。下面的描述集中于图2A中所示的实现,但以类似于图2B和图2C的实现的方式应用。

如图2A所示,定时生成电路108包括PLL 240、时钟控制逻辑电路250和测量控制电路202。ToF图像传感器118包括垂直时钟树252、时钟驱动器253、列控制件258、数据读出电路262和SPAD阵列104。SPAD阵列104包括N行256,其中N是大于1的正整数,例如8、11、16、32等。每个行256具有M个像素254,其中M是大于1的正整数,例如8、13、16、32等。每个像素254包括一个或多个SPAD,其中每个SPAD或SPAD组与相应TDC相关联。列控制件258包括M个控制电路260(SPAD阵列104的每列一个控制电路)。在一些实施例中,每个像素254包括物理上位于像素内部(例如,在SPAD或SPAD组之下)的相应TDC。在一些实施例中,TDC嵌入在SPAD阵列104中(例如,在像素列下垂直展开,例如图2B中所示)。在一些实施例中,TDC(和直方图生成电路)位于SPAD阵列104的边缘(例如,如图2C所示)。

在正常操作期间,PLL 240产生时钟CLKPLL并将其提供给测量控制电路202。测量控制电路202基于时钟CLKPLL产生系统时钟CLKSYS(未示出),用于ToF成像系统100。测量控制电路202还将与辐射脉冲112的产生同步的时钟信号发送到时钟控制逻辑电路250。时钟控制逻辑电路250基于从测量控制电路202接收的时钟产生与辐射脉冲112的产生同步的时钟CLKsample,并使用时钟树和时钟驱动器将时钟CLKsample提供给SPAD阵列104以平衡时钟定时。

如稍后将更详细地解释的,与SPAD阵列104相关联的每个TDC与其相应的控制电路260协作,基于与相应的TDC相关联的SPAD接收的辐射脉冲生成缩放直方图。使用n步逐次逼近方法生成缩放直方图,其中n是大于1的正整数,例如2、3、4、5、6等。数据读出电路262用作接口,使得处理器110能够从ToF图像传感器118读取缩放直方图。

在一些实施例中,控制电路260使用例如并行总线将缩放直方图并行地传送到读出电路262。处理器110使用例如串行总线(诸如串行外围总线接口(SPI))或串行高速接口(诸如MIPI D-PHY、M-PHY或C-PHY)从读出电路260读取缩放直方图。其他实现也是可能的。在一些实施例中,数据读出电路262从每个像素254直接读取缩放直方图,并例如使用串行通信接口转发到处理器110。在一些实施例中,数据读出电路262可选地包括临时存储器以存储缩放直方图中的一个或多个。

列控制件258包括M个控制电路260(每列一个控制电路)。在一些实施例中,控制电路260中的每一个可以以不同的方式在SPAD阵列104的TDC之间共享。例如,在一些实施例中,列控制件258包括M/2个控制电路260,其中每个控制电路260由两个列共享。其他实现也是可能的。

每个像素254包括耦合到TDC的SPAD。例如,在一些实施例中,如图2A所示,SPAD设置在IC(如IC 120)的顶层上,而相应的TDC设置在基底和SPAD之间的层中相应的SPAD下方。其他实现也是可能的。例如,在一些实施例中,一个以上的SPAD(例如,在顶层中)共享TDC(例如,设置在相应的SPAD组的下方),例如,经由OR树或其它组合逻辑,例如,数字加法器。一些实施例,例如图2B所示,每个像素254包括一个或多个SPAD,并且相应的TDC和直方图生成电路垂直地分布在像素列之下。一些实施例,例如图2C所示,每个像素254包括一个或多个SPAD,并且相应的TDC和直方图生成电路位于像素阵列的边缘中。

SPAD阵列104可以占据小至1mm×1mm(1mm2)或更小的面积,或大至6mm×6mm(36mm2)或更大的面积。SPAD阵列104占用的区域不必是正方形的(例如,2mm×3mm)。SPAD阵列104的其它尺寸也是可能的。

ToF成像系统100的部分,例如SPAD阵列104、列控制电路258、PLL 240、时钟控制逻辑电路250、垂直时钟树252、时钟驱动器253、数据读出电路262和测量控制电路202也可以在具有单片半导体基底的IC(例如IC 120)中实现。图2A中所示的特定块的特定布局位置仅作为示例示出。其他布置也是可能的。

在一些实施例中,ToF成像系统100也可以在具有一个以上的半导体基底的多芯片封装中实现。其它实施例也可以用分立部件实现ToF成像系统100的一个或多个部分。

PLL 240可以以本领域已知的任何方式来实现。PLL可以在1GHz、2GHz、4GHz或更高频率下生成参考时钟。也可以使用较低的频率,例如500MHz或更低的频率。在一些实施例中,PLL 240可以是分数PLL,其被配置为生成频率在2GHz和4GHz之间的时钟。也可以使用其他频率。

在本发明的实施例中,具有少量仓(例如,16个仓)的直方图在本地生成(例如,物理上位于像素254中)。控制电路(例如,控制电路260)执行逐次逼近方法,以通过读取局部直方图并将TDC和/或直方图生成电路配置为聚焦于感兴趣区域,来递增地缩放到感兴趣区域(感兴趣深度)。

图3A示出了根据本发明的实施例的像素300的示意图。在一些实施例中,像素254可以例如被实现为像素300。如图3所示,像素300包括TDC和直方图电路102、SPAD 302和缓冲器304。TDC和直方图电路102包括TDC 306和直方图生成电路308。TDC和直方图电路102也可以称为缩放TDC。在一些实施例中,像素300包括SPAD 302,但不包括TDC 306或直方图生成电路308(例如,如图2B和图2C所示)。然而,以下的解释以类似的方式适用于包括SPAD302但不包括TDC 306和/或直方图生成电路308(例如图2B和图2C中所示)的像素。

在正常操作期间,反射的辐射脉冲113激励SPAD 302。每次SPAD 302被激励时,信号通过缓冲器304传播(例如,缓冲器304脉冲)。TDC 306从缓冲器304接收脉冲并基于时钟CLKsample(其与辐射脉冲112的发射同步)确定ToF。

直方图生成电路308最初基于TDC 306的输出生成粗仓(例如,16个仓)的粗直方图。控制电路260从直方图生成电路308接收粗直方图,并且(例如,基于峰值搜索)确定目标所在的(一个或多个)仓。然后,控制电路260配置直方图生成电路308以缩放到感兴趣的仓中(例如,使用例如峰值搜索算法在所发现的峰值周围),从而基于来自TDC 306的新输出在所发现的峰值周围生成具有精仓(例如,16个仓)的精(缩放)直方图。

在一些实施例中,直方图生成电路308包括存储器,例如位于每个像素254内部的SRAM存储器,SRAM存储器被配置为存储粗直方图和精直方图的仓的计数。在一些实施例中,存储器可以位于像素254外部,例如位于与SPAD阵列104相邻的区域中(例如,列控制件258内部)。在一些实施例中,相同的存储单元可以首先用于存储粗直方图,并且随后用于存储精直方图(由此擦除与粗直方图相关联的一些或所有数据)。

TDC 306被配置为输出时间戳(指示时间的数字代码D306),并且可以以本领域中已知的任何方式来实现。例如,在一些实施例中,指示时间的地址通过SPAD阵列104传播,并且每个TDC 306在对应的SPAD被断言的瞬间锁存该地址,并且随后输出该地址。在一些实施例中,TDC 306可以实现为具有低压差分信令(LVDS)时钟的格雷码锁存器。其他实现也是可能的。

图3B示出了根据本发明的实施例的像素350的示意图。在一些实施例中,像素254可以例如被实现为像素350。像素350以与像素300相似的方式操作。然而,像素350包括SPAD集群352而不是单个SPAD 302,并且包括(和/或与之相关联)被耦合到TDC 306而不是缓冲器304的OR树354。即使SPAD集群352被示为包括8个SPAD,也可以使用不同数量的SPAD,例如2、6、9或更多。

图4示出了根据本发明的实施例的用于生成精缩放直方图的实施方法400的流程图。图5示出了根据本发明的实施例的粗直方图502和精直方图504。图4可以参照图3和图5来理解。

在步骤402期间,直方图生成电路308基于TDC 306的输出生成粗直方图,例如粗直方图502。在该示例中,粗直方图502具有16个粗仓。一些实施例可以生成具有不同数量的仓的直方图,例如20个仓、32个仓、64个仓或更高,或10个仓、8个仓或更低。

每个粗仓都有一个粗时间窗口。例如,在一些实施例中,每个粗仓具有5ns的时间窗口。其它实施例可以对每个粗仓使用不同的时间窗口,例如2.5ns。

在步骤404期间,与直方图生成电路308相关联的控制电路260从直方图生成电路308接收(例如,读取)粗直方图。在一些实施例中,控制电路260使用并行接口从直方图生成电路308读取粗直方图。

在步骤406期间,控制电路260执行峰值搜索以确定直方图的最高峰。控制电路260可以使用任何合适的峰值搜索算法,例如线性搜索。在图5所示的示例中,峰值位于粗仓12中。

在步骤408期间,控制电路260配置直方图生成电路308,使得直方图生成电路308在检测到的峰值处或附近缩放到仓中。在图5所示的示例中,直方图生成电路308被配置为缩放成仓11、12、13和14。

在步骤410期间,直方图生成电路308基于TDC 306的输出生成精直方图,例如精直方图504。在该示例中,精直方图504具有16个精仓,每个粗仓4个精仓。一些实施例可以生成每个粗仓具有不同数量的仓的精直方图,例如2、8、9、10、16等。

与粗仓相比,每个精仓都有一个精时间窗口。例如,对于具有5ns的时间窗口的粗仓,每个精仓可以具有1.25ns的对应时间窗口。

在一些实施例中,粗仓的数量和精仓的数量是相同的,从而有利地允许底层存储器的完全重用。在一些实施例中,可以通过使用时间偏移技术,例如下面关于图6所解释的,使粗仓的有效分辨率加倍。

如图所示,一些实施例忽略在缩放直方图时间窗口之外的TDC 308的输出(在图5的示例中,在与仓11-14相关联的时间窗口之间)。一些实施例可以有利地仅使用一小部分仓(例如,16个仓)来实现更高的精度(例如,具有64个仓的直方图的精度)。

如图所示,在ToF图像传感器118中(例如,在像素254和控制电路260之间)而不是在处理器110中本地执行直方图生成。通过减少直方图中的仓的数目,一些实施例有利地实现ToF图像传感器118的较低面积消耗,因为用于直方图生成和存储的存储器较少。

作为另一示例,生成32个粗仓直方图和16个精仓缩放直方图的实施例可以实现具有128个仓的直方图的深度精度,同时只将直方图的16个仓传送到数据读出电路262。

在一些实施例中,SPAD 302设置在IC(例如IC 120)的顶层中,而缓冲器304、TDC306和直方图生成电路308设置在IC的基底和SPAD 302之间的层中。在一些实施例中,电路304、306和308完全位于SPAD 302之下。换句话说,在一些实施例中,SPAD 302完全位于电路304、306和308的顶部。在其它实施例中,电路304、306和308仅部分地位于SPAD 302之下。在另一些实施例中,电路304、306和308不在SPAD 302之下。例如,在一些实施例中,TDC 306和直方图生成电路308可以位于SPAD阵列104外部的区域中。

图6示出了根据本发明的实施例的用于生成粗直方图的实施方法600的流程图。步骤402可以通过方法600来实现。图7示出了根据本发明的实施例的粗直方图702和精直方图704。图6可以参照图3、图4和图7来理解。

在步骤602期间,例如以与步骤402类似的方式生成第一直方图702。在该示例中,直方图702具有16个粗仓。

在步骤604期间,通过对例如CLKsample施加半个周期的偏移(粗步骤的一半)来生成第二直方图。除了时钟偏移之外,第二直方图以与第一直方图相似的方式生成。图7中未显示第二直方图。

在步骤606期间,第一直方图和第二直方图(每个具有16个仓)被组合成32个仓的粗直方图。在一些实施例中,偏移技术(其也可以被称为抖动)有利地扩展能量以更好地解析目标能量并至少部分地克服可以在粗仓中显示的量化效应。图7在704中显示了组合粗直方图的32个仓(未显示计数)。

如图6所示,在步骤404期间读取组合直方图,并且执行步骤406、408和410,例如,如关于图4所述。精直方图706示出可以由执行步骤602、604、606、404、406、408和410产生的直方图。

图4和图6描述了2步逐次逼近寄存器(SAR)缩放直方图生成。一些实施例可以执行用于SAR缩放直方图生成的2个以上步骤。例如,在一些实施例中,可以按照以下顺序执行步骤:602、604、606、404、406、408、602、604、606、404、406、408、410。例如,图8示出了根据本发明的实施例的用于使用n步SAR生成精缩放直方图的实施方法800的流程图。方法800类似于方法400。然而,方法800包括使用在步骤802、804和806中使用的计数器(i)的循环。

如图所示,当n等于2时,方法800类似于方法400(2步SAR缩放直方图生成)。然而,方法800还示出了执行3步SAR缩放直方图生成(当n等于3时)或更高。

图9示出了根据本发明的实施例的在使用方法800执行3步SAR时生成的直方图902、906和910。在图9的示例中,直方图902的每个仓具有每个仓10ns的时间窗口。直方图902覆盖12m的深度。直方图906的每个仓具有每个仓2.5ns的时间窗口。直方图906覆盖3m的深度。直方图910的每个仓具有每个仓625ps的时间窗口。直方图910覆盖0.75m的深度。

图10示出了根据本发明的实施例的像素300的一部分的可能实现。如图所示,直方图生成电路308包括感兴趣窗口电路1008和直方图电路1012。直方图电路1012包括直方图存储器1018、累加器电路1014和控制器1016。

在正常操作期间,每次发射辐射脉冲112时,TDC 306接收开始事件1002(例如,基于时钟CLKsample)。每次SPAD 302接收反射的辐射脉冲114时,TDC 306也从SPAD 302接收停止事件1004。TDC 306基于t0(开始事件1002的时间)和t1(停止事件1004的时间)之间的时间Δt生成数字代码1006。

感兴趣窗口电路1008接收数字代码1006,并确定数字代码1006是否在感兴趣窗口内。如果数字代码1006在感兴趣窗口之外,则忽略数字代码1006。如果数字代码1006在感兴趣窗口内,则数字代码1006用于更新直方图存储器1018,例如,通过控制器1016执行读、更新、回写操作。例如,在一些实施例中,直方图存储器1018将每个仓存储在寄存器中。控制器1016读取对应于数字代码1006的直方图存储器1018的仓,使用累加器电路1014的加法器1020将读取的内容递增1,并将累加的数据写回对应于数字代码1006的直方图存储器1018的仓中。

在一些实施例中,基于寄存器1010的内容来确定感兴趣窗口。例如,在一些实施例中,寄存器1010指向感兴趣窗口的起始仓,并且感兴趣窗口具有从寄存器1010指示的位置处开始的固定持续时间(例如,16个仓)。在其它实施例中,还可以修改感兴趣窗口的持续时间(例如,通过使用未示出的另一寄存器)。其他实现也是可能的。

在一些实施例中,直方图生成电路308以粗模式(当处理粗直方图时)和精模式(当处理精直方图时)操作。在粗模式下,直方图生成电路308仅使用代码1006的MSB来生成粗直方图(并且忽略LSB)。在精模式下,直方图生成电路仅使用代码1006的LSB来生成精直方图(并且忽略LSB)。

在一些实施例中,时钟CLKsample是单个时钟信号。在一些实施例中,时钟CLKsample包括多相位方式或具有多比特代码的多个时钟信号。TDC 306使用多个时钟信号来确定代码1006。

控制器1016可以例如实现为异步状态机。在一些实施例中,控制器1016还可以执行感兴趣窗口电路1008的一个或多个操作。在一些实施例中,控制器1016可以实现为控制器或处理器,其包括例如耦合到存储器的组合电路。其他实现也是可能的。

直方图存储器1018可以通过例如易失性或非易失性存储器来实现。例如,直方图存储器1018可以通过寄存器来实现,寄存器由例如D触发器、静态随机存取存储器(SRAM)、基于锁存器的存储器(锁存单元)和/或纹波计数器(例如由D触发器制成)来实现。其他实现也是可能的。

图11示出了根据本发明的实施例的积分和读出时间的时序图1100。

如图11所示,在粗积分步骤1102期间,针对每一行并行地执行包括步骤402的粗操作。在包括由控制电路260读出直方图存储器1018的SAR处理步骤1104期间,顺序地或部分地顺序地执行峰值搜索步骤406和在步骤408期间的寄存器1010的配置(例如,因为控制电路260例如由一列像素254共享)。在精积分步骤1106期间,针对每一行并行执行包括步骤410的精操作。在精直方图读出步骤1108期间,处理器110顺序读取每个像素254的每个精直方图(例如,通过顺序读取一行的每个精直方图,然后顺序读取下一行的每个精直方图,等等)。

一些实施例可以并行地执行步骤1102、1104、1106和1108的部分。例如,在具有N个像素300的列中,第一像素子集(subset1,子集1)可以包括例如列中的N/2个像素,并且第二像素子集(subset2子集2)可以包括列中的其他N/2个像素。每个子集subset1和subset2可以并行地执行操作。在一些实施例中,可以有两个以上的子集。在一些实施例中,每个子集中的像素数可以不相等。

图12示出了根据本发明的实施例的第一像素子集(subset1)和第二像素子集(subset2)的积分和读出时间的时序图1200。如图所示,与子集1和子集2相关联的步骤可以并行执行。当子集1执行粗积分(步骤1102)、粗峰值搜索(步骤1104)和精积分(步骤1106)时,子集2执行精直方图读出(步骤1108)。类似地,当子集2执行粗积分(步骤1102)、粗峰值搜索(步骤1104)和精积分(步骤1106)时,子集1执行精直方图读出(步骤1108)。

图13示出了根据本发明的实施例的用于3步SAR缩放直方图生成的第一像素子集和第二像素子集的积分和读出时间的时序图1300。

图14示出了根据本发明的实施例的直方图生成电路1400的示意图。直方图生成电路308可以实现为直方图生成电路1400。直方图生成电路1400包括异步状态机1416、累加器1014、直方图存储器1018、地址解码器1402、寄存器1010和缓冲器1404。直方图存储器1018包括用于存储直方图的仓的多个寄存器。

在正常操作期间,地址解码器1402从TDC 306接收数字代码1006。地址解码器1402基于寄存器1010的内容检查数字代码1006是否在感兴趣窗口内。如果数字代码1006在感兴趣窗口之外,地址解码器1402禁用状态机1416(例如,通过断言禁用信号1410)直到接收到下一数字代码1006。接收到的下一数字代码1006可以被无延迟地处理,并且可以不被忽略。

如果数字代码1006在感兴趣窗口内,则地址解码器1402不禁用状态机1416(例如,通过解除禁用信号1410的断言或确保禁用信号1410被解除断言)。状态机1416从TDC 306接收数字代码1006,并且还从地址解码器1402接收对应于数字代码1006的与直方图存储器1018的寄存器仓的地址相关联的数字代码1414。

状态机1416通过从直方图存储器1018读取对应于数字代码1006的直方图存储器1018的寄存器仓,将读取值1406和数字代码1006提供给累加器1014,从累加器1014接收累加值(例如,读取值+1),并将累加值写回对应于数字代码1006的直方图存储器1018的寄存器仓,来执行读/累加/写操作。

在状态机1416执行读/累加/写操作的时间期间,可以忽略接收到的任何新数字代码1006。例如,如果执行读/累加/写操作需要15ns,则在接收到数字代码1006之后的15ns期间,忽略接收到的任何其他数字代码1006。当异步状态机1416不执行读/累加/写操作时,异步状态机在接收到新代码1006时执行读/累加/写操作,除非异步状态机1416被地址解码器1402禁用。

在一些实施例中,如果发射的辐射脉冲112的脉冲重复率(PRT)短(例如,短于读/累加/写操作时间的两倍),则对于每个发射的辐射脉冲112,处理单个反射的辐射脉冲114。如果PRT长(例如,长于读/累加/写操作时间的两倍),则对于每个发射的辐射脉冲112,可以接收和处理多个反射的辐射脉冲114。

在一些实施例中,选择PRT,使得其包括消隐时间(例如,在死区之后),以考虑从远物体反射的辐射脉冲。

状态机1416可以实现为同步状态机或异步状态机。状态机1416可以例如使用(例如被耦合到存储器的)组合逻辑,来实现。

控制电路260被配置为经由缓冲器1404例如顺序地(例如在步骤1104期间)读取直方图存储器1018的寄存器的内容。在一些实施例中,控制电路260使用总线1420从直方图存储器1028读取数据,总线1420也连接到列中的其他像素254。

控制电路260还被配置为例如基于读取寄存器的处理(例如基于读取寄存器的峰值搜索的结果)来写入寄存器1010。

控制电路260可以用物理上位于列控制件258中的组合逻辑来实现,并且可以由例如N个像素共享(其中N是SPAD阵列104中的行数)。在一些实施例中,控制电路260可以在每个像素254内部被实现,并且每个控制电路260可以专用于每个像素254。其他实现也是可能的。例如,在一些实施例中,每对像素可以共享控制电路260。

在一些实施例中,寄存器1010指向感兴趣窗口开始的第一寄存器仓。例如,在粗积分步骤1102期间,寄存器1010可以指向第一寄存器仓O。在步骤1106期间(在SAR处理步骤1104之后),控制电路260向寄存器1010写入一个值,使得寄存器1010指向感兴趣窗口的第一寄存器。例如,在图7所示的示例中,控制电路260写入寄存器1010,使得它指向寄存器仓23。

在一些实施例中,寄存器1412确定包括在感兴趣窗口中的仓的数量。在这样的实施例中,寄存器1412的内容还可以用于确定代码1006是否在感兴趣窗口内。例如,在粗积分步骤1102期间,寄存器1412的内容使得感兴趣窗口覆盖所有粗仓。在步骤1106期间,寄存器1412的内容指示用于精积分的仓的数量(例如,覆盖4个粗仓而不是所有粗仓)。同样的过程可以扩展到n步SAR直方图生成,其中n大于2。

图15示出了根据本发明的实施例的控制电路1500的示意图。控制电路260可以实现为控制电路1500。控制电路1500包括直方图存储器1518、选择电路1504和1508、滤波器1506、峰值检测器1510、查找表(LUT)1514以及缓冲器1502和1512。控制电路260具有粗操作模式和精操作模式。在步骤1104期间,控制电路可以在粗操作模式下操作。在步骤1108期间,控制电路1500可以在精操作模式下操作。对于具有2步以上的SAR直方图生成的实施例,除了精积分步骤(步骤1108)(其中控制电路1500在精操作模式下操作)之后的最后一步之外,控制电路1500可以在粗模式下操作。

在粗操作模式期间,控制电路1500经由总线1420从例如像素列中的每个像素254(例如顺序地)接收直方图数据。对于每个像素254,控制电路1500例如顺序地从直方图存储器1018的每个寄存器仓接收数据,并将其存储在直方图存储器1518中。在一些实施例中,可以跳过将直方图数据存储到直方图存储器1518中,并且可以在从直方图存储器1018接收到直方图数据时直接执行后续步骤。例如,可以在没有直方图存储1518的情况下实现这样的实施例。

选择电路1504(例如,多路复用器)例如顺序地(例如,经由一个或多个电路或直接)向峰值检测器1510提供每个接收到的仓数据。

在一些实施例中,低通滤波器(LPF)1506用于在由峰值检测器1510执行峰值搜索之前对仓数据进行滤波。例如,在一些实施例中,使用3抽头FIR滤波器来平滑直方图。其他实施方式也是可能的。例如,一些实施例可以在没有滤波器1506的情况下实现,或者使用不同类型的滤波器来实现。

在一些实施例中,选择电路1508(例如,多路复用器)用于在仓数据的滤波版本(例如,bin data2(仓数据2)是bin data1(仓数据1)的滤波版本)或仓数据的未滤波版本(例如,仓数据2等于仓数据1)之间选择,以由峰值检测器1510使用来执行峰值搜索。一些实施例可以在没有选择电路1508的情况下实现,例如通过使LPF 1506直接连接到峰值检测器1510或通过使选择电路1504的输出直接连接到峰值检测器1510。

峰值检测器1510执行所接收的仓数据的峰值搜索,以识别具有最高累加值的仓的索引。例如,在一些实施例中,对L个仓执行线性搜索,并且将最高累加值提供给LUT 1514。在其它实施例中,仅当最高值高于预定阈值时才检测峰值。如果具有最高值的仓小于预定阈值,则未检测到峰值(例如,未检测到目标),并且在步骤1104(代替步骤1106)之后重复步骤1102。

如果峰值检测器1510检测到峰值,则LUT 1514接收峰值仓(对于具有最高计数的仓)的仓索引。然后LUT生成值并将该值写入寄存器1010(例如,经由缓冲器1512)中,使得寄存器1010基于峰值仓的索引指向期望的感兴趣窗口的开始。例如,在图5的示例中,峰值仓是仓12,并且寄存器1010被写入使得寄存器1010指向仓11作为感兴趣窗口的开始。

在精操作模式期间,控制电路1500经由总线1420从例如像素列中的每个像素254例如顺序地接收直方图数据。对于每个像素254,控制电路1500例如顺序地接收来自直方图存储器1018的每个寄存器仓的数据,并且在步骤1108期间经由例如电路1518和1504将其转发到读出电路262(例如顺序地)。

图16示出了根据本发明的实施例的用于由峰值检测器1510生成峰值仓索引的实施例方法1600的流程图。

在步骤1602期间,峰值检测器1510接收仓数据2,并且变量i、maxCount和maxIdx被初始化。变量i用于遍历仓数据2的每个仓的每个计数。变量maxCount用于存储最大计数(峰值的计数)。变量maxIdx用于存储具有最大计数的仓的索引。

在步骤1602期间,变量被初始化为0(例如,以指向bin data2中的第一仓),变量maxCount被初始化为0(例如,以指示没有仓已表现出峰值),并且变量maxIdx被初始化为-1(例如,以指示没有仓已表现出峰值)。在一些实施例中,可以使用不同的值来初始化变量i、maxCount和maxIdx。

在步骤1604期间,将位于位置i(Bin[i])的仓的计数与存储在maxCount中的计数进行比较。如果Bin[i]高于maxCount,则maxCount被更新为等于Bin[i],并且maxIdx被更新为等于i(在步骤1606期间)。如果不是,则不更新变量maxCount和maxIdx。

在步骤1606期间,变量i被递增以遍历仓数据2中的下一个仓。在步骤1610期间,如果仓数据2的所有仓都已被遍历(如果i不小于直方图仓的总数L),则在步骤1612期间将峰值索引设置为maxIdx。如果在仓数据2中仍有待遍历的仓(如果i小于直方图仓的总数L),则执行步骤1604。

图17示出了根据本发明的实施例的用于由峰值检测器1510生成峰值仓索引的实施例方法1700的流程图。方法1700类似于方法1600。然而,方法1700仅在计数高于预定阈值(由变量minCount表示)时才考虑仓的计数。

在一些实施例中,预定阈值minCount可以是固定的。在其它实施例中,阈值minCount可以基于例如直方图的环境噪声、直方图的散粒噪声或其它参数(并且因此可以动态地改变)。例如,图18示出了根据本发明的实施例的用于由峰值检测器1510基于环境噪声生成峰值仓索引的实施例方法1800的流程图。

如图18所示,minCount是环境仓(或环境计数器)的函数。环境仓可以具有例如等于与仓数据2相关联的平均环境噪声的计数。

在一些实施例中,在预期没有反射光脉冲的时刻(例如在发射光脉冲之前,例如在粗积分之前,如图12和图13中可选的环境积分块所示)填充环境仓。因此,与反射光脉冲相反,(环境仓的)环境计数可以用作与环境光相关联的SPAD激活的数量的估计。因此,可以在峰值搜索期间使用这样的环境计数。

在一些实施例中,minCount等于环境仓(ambientBin)的计数。在其它实施例中,minCount可以基于散粒噪声。例如,在一些实施例中,minCount可以由:给出。其他实现也是可能的。

一些实施例的优点包括,具有集成TDC和直方图生成能力的ToF图像传感器可以例如在像素级本地生成具有少量仓的高分辨率深度检测。因此,一些实施例可以有利地具有用于特定深度分辨率的低或减少的面积消耗,例如,当与为每个粗仓生成具有所有精仓的完整直方图相比时。在一些实施例中,由于片外数据传输可以减少(例如,因为仅所生成的直方图的感兴趣窗口在片外传输),实现了较低的功耗。

本文概述了本发明的示例性实施例。还可以从本文中提交的说明书和权利要求书的全部理解其它实施例。

示例1.一种方法,包括:从时间-数字转换器(TDC)接收第一多个数字代码;从第一多个数字代码生成粗直方图,粗直方图包括多个粗仓,多个粗仓共同对应于从较低粗直方图深度到较高粗直方图深度的粗直方图深度范围;从多个粗仓中检测峰值粗仓,其中峰值粗仓对应于从较低粗峰值深度到较高粗峰值深度的峰值粗仓深度范围;在接收第一多个数字代码之后,从TDC接收第二多个数字代码;以及基于检测到的峰值粗仓从第二多个数字代码生成精直方图,精直方图包括多个精仓,多个精仓共同对应于从较低精直方图深度到较高精直方图深度的精直方图深度范围,其中精直方图深度范围比粗直方图深度范围窄,其中较低精直方图深度低于或等于较低粗峰值深度,并且其中,较高精直方图深度高于或等于较高粗峰值深度。

示例2.根据示例1的方法,其中检测峰值粗仓包括检测具有高于预定阈值的计数的峰值仓。

示例3.根据示例1或2中的一项的方法,还包括基于粗直方图的环境仓确定预定阈值。

示例4.根据示例1至3中的一项的方法,其中确定预定阈值包括通过确定预定阈值,其中,minCount对应于预定阈值,并且ambientBin对应于环境仓的计数。

示例5.根据示例1至4中的一项的方法,其中,多个粗仓中的每个粗仓具有第一深度粒度,并且其中,多个精仓中的每个精仓具有高于第一深度粒度的第二深度粒度。

示例6.根据示例1至5中的一项的方法,还包括:在接收第一多个数字代码之前,从TDC接收另外的多个数字代码;从另外的多个数字代码生成另外的粗直方图,另外的粗直方图包括另外的多个粗仓,另外的多个粗仓共同对应于从另外的较低粗直方图深度到另外的较高粗直方图深度的另外的粗直方图深度范围;以及从另外的多个粗仓中检测另外的峰值粗仓,其中另外的峰值粗仓对应于从另外的较低粗峰值深度到另外的较高粗峰值深度的另外的峰值粗仓深度范围,其中粗直方图深度范围比精直方图深度范围窄,其中,较低粗直方图深度低于或等于另外的较低粗峰值深度,并且其中,较高粗直方图深度高于或等于另外的较高粗峰值深度。

示例7.根据示例1至6中的一项的方法,其中生成粗直方图包括:基于第一时钟,从第一多个数字代码的第一部分生成第一粗直方图;基于偏移的第一时钟,从第一多个数字代码的第二部分生成第二粗直方图;以及组合第一粗直方图和第二粗直方图以生成粗直方图。

示例8.根据示例1至7中的一项的方法,其中生成精直方图包括:基于第一寄存器的内容确定第二多个数字代码中的第一数字代码是否在精直方图深度范围内;当第一数字代码对应于在精直方图深度范围内的深度时,递增多个精仓中的对应精仓;以及当第一数字代码对应于不在精直方图深度范围内的深度时,避免基于第一数字代码更新精直方图。

示例9.根据示例1至8中的一项的方法,还包括基于所检测的峰值粗仓更新第一寄存器的内容。

示例10.根据示例1至9中的一项的方法,其中TDC具有耦合到第一单光子雪崩二极管(SPAD)的输入。

示例11.根据示例l至10中的一项的方法,其中TDC的输入经由逻辑电路耦合到第一SPAD。

示例12.根据示例1至11中的一项的方法,其中逻辑电路包括OR树,OR树具有分别耦合到多个SPAD的多个输入,其中,多个SPAD包括第一SPAD。

示例13.一种电路,包括:时间-数字转换器(TDC);直方图生成电路;以及控制电路,其中直方图生成电路被配置为与控制电路协作以:从TDC接收第一多个数字代码,从第一多个数字代码生成粗直方图,粗直方图包括多个粗仓,多个粗仓共同对应于从较低粗直方图深度到较高粗直方图深度的粗直方图深度范围,从多个粗仓中检测峰值粗仓,其中,峰值粗仓对应于从较低粗峰值深度到较高粗峰值深度的峰值粗仓深度范围,在接收到第一多个数字代码之后,从TDC接收第二多个数字代码,以及基于检测到的峰值粗仓从第二多个数字代码生成精直方图,精直方图包括多个精仓,多个精仓共同对应于从较低精直方图深度到较高精直方图深度的精直方图深度范围,其中,精直方图深度范围比粗直方图深度范围窄,其中,较低精直方图深度低于或等于较低粗峰值深度,并且其中,较高精直方图深度高于或等于较高粗峰值深度。

示例14.根据示例13的电路,直方图生成电路包括第一寄存器,其中,控制电路被配置为基于所检测的峰值粗仓更新第一寄存器的内容。

示例15.根据示例13或14中的一项的电路,其中直方图生成电路被配置为:基于第一寄存器的内容,确定第二多个数字代码中的第一数字代码是否在精直方图深度范围内;当第一数字代码对应于在精直方图深度范围内的深度时,增加多个精仓中的对应精仓;并且当第一数字代码对应于不在精直方图深度范围内的深度时,避免基于第一数字代码更新精直方图。

示例16.根据示例13至15中的一项的电路,还包括经由逻辑电路耦合到TDC的输入的单光子雪崩二极管(SPAD)。

示例17.一种系统,包括:以N行和M列排列的像素阵列,其中,N是大于1的正整数,并且其中,M是大于1的正整数,并且其中,每个像素包括单光子雪崩二极管(SPAD);多个时间-数字转换器(TDC),其中,多个TDC中的每个TDC与像素阵列的相应像素相关联;多个直方图生成电路,其中,多个直方图生成电路中的每个直方图生成电路与多个TDC中的相应TDC以及像素阵列中的相应像素相关联;以及列控制电路,包括M个控制电路,M个控制电路中的每个控制电路被配置为与和对应列的像素相关联的直方图生成电路协作,以:从相应TDC接收第一多个数字代码,从第一多个数字代码生成粗直方图,粗直方图包括多个粗仓,多个粗仓共同对应于从较低粗直方图深度到较高粗直方图深度的粗直方图深度范围,从多个粗仓中检测峰值粗仓,其中峰值粗仓对应于从较低粗峰值深度到较高粗峰值深度的峰值粗仓深度范围,在接收第一多个数字代码之后,从相应TDC接收第二多个数字代码,以及基于检测到的峰值粗仓从第二多个数字代码生成精直方图,精直方图包括多个精仓,多个精仓共同对应于从较低精直方图深度到较高精直方图深度的精直方图深度范围,其中精直方图深度范围比粗直方图深度范围窄,其中,较低精直方图深度低于或等于较低粗峰值深度,并且其中,较高精直方图深度高于或等于较高粗峰值深度。

示例18.根据示例17的系统,还包括被配置为产生光脉冲的照明电路,其中像素阵列被配置为接收源自照明电路的反射光脉冲。

示例19.根据示例17和18中的一项的系统,其中像素阵列的每个像素包括多个TDC的相应TDC和多个直方图生成电路的相应直方图生成电路。

示例20.根据示例17至19中的一项的系统,其中每个像素包括经由相应的OR树耦合到相应TDC的多个SPAD。

示例21.根据示例17至20中的一项的系统,其中多个TDC垂直地分布在一列像素之下。

示例22.根据示例17至21中的一项的系统,其中多个TDC设置在像素阵列的边缘处。

虽然已经参照说明性实施例描述了本发明,但该描述并不旨在以限制性的意义来解释。通过参考描述,本领域技术人员将清楚说明性实施例以及本发明的其它实施例的各种修改和组合。因此,所附权利要求包括任何这样的修改或实施例。

30页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种多路信号的同步采样方法、装置、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类