用于图像阵列检测器和自动头灯控制的控制电路的制作方法

文档序号:7580777阅读:736来源:国知局
专利名称:用于图像阵列检测器和自动头灯控制的控制电路的制作方法
技术领域
本发明涉及一种控制系统,尤其涉及一种用于控制具有预定数量的象素的图像阵列检测器并控制图像阵列检测器和微控制器之间通过串行通信接口进行通信的控制系统,所述控制系统通过一种电路使得能够高效而经济地控制象素的各个子组或子窗口以及图像阵列检测器的操作方式,所述电路适合于被制成专用集成电路(ASIC),甚至适合于和图像阵列检测器以及微控制器集成在一起从而形成定制的IC。
图像阵列检测器在本领域中是公知的。已知有光闸(photogate)和光二极管图像阵列检测器。这种图像阵列检测器的例子在美国专利5386128和5471515以及2/SPIE卷1900的2-14页,由Eric R.Fossum发表的“ACTIVEPIXEL SENSORSARE CCD’DINOSAURS?”中披露了,在此列为参考。有源象素图像阵列检测器也是已知的,例如,由PHOTOBITLLC,La Crescenta,California制造的这种检测器。这种有源象素图像阵列检测器通常具有形成窗口的预定数量的象素,例如50×50个象素的窗口。
关于这种有源象素图像阵列检测器具有几种重要的控制考虑。一种重要的考虑涉及通常被称为开窗功能。开窗功能涉及用于不同用途的在图像阵列检测器内控制子窗口的图像的能力。例如,有源图像象素阵列检测器可以作为自动头灯变暗系统的一部分用于头灯和尾灯检测。更具体地说,在本发明的一个实施例中,图像检测器实际上在一帧中通过不同的滤光器被分成两个相同尺寸的独立定位的子窗口;一个用于对头灯成像,另一个用于对尾灯成像。在这种应用中,一行可以从第一子窗口被扫描,而相应行从其它窗口被扫描。这个过程被重复,直到在子窗口的中所有的行都被扫描为止。
开窗功能也可用于控制系统的数据输出。例如,在上面讨论的应用中,需要识别噪声,例如道路标记和街灯。在这种应用中,可以使用谐波分析确定是否存在交流电源线电压。在这种应用中,在美国最强的谐波一般是120Hz和60Hz线电压,在欧洲是100Hz和50Hz线电压。为了利用富氏分析检测100和120Hz频率分量,数据必须以一般高于每种频率的两倍的速率被采样,并被分成相等的1/50秒和1/60秒的完整周期。例如,6个均匀间隔的采样对于50Hz的线路频率可以以每秒300个采样的速率取得,5个采样对于60Hz的线路频率以相同的每秒300个采样被取得。每秒300个采样的速率大约等于通常用于视频摄像机的通常每秒30个采样的帧速率的10倍。为了避免过高的数据输出速率,帧尺寸可以被限制为相当小的尺寸,例如2×2个象素。
开窗特点也可用于系统的对准。例如,用于检测迎面而来的车辆的头灯的有用的视野在高度方向大约为10度,在宽度方向大约为30度。不过,在这种系统中,最好允许在车辆内的检测器的光学对准有些误差。例如,可以提供具有13度垂直视野的检测器,以便允许有3度的失准误差,仍然能够观看接近10度的高度范围。开窗功能可以把要被扫描的视野减少10度,例如,利用这种功能可以得到好20%的图像处理数据输出。尤其是,为了获得合适的视野,可以在系统被安装之后进行校准测量。视野也可以基于迎面而来的头灯的图像的平均位置或者基于由被控车辆本身的头灯进行正常照明的道路部分的位置平均,这能够使系统根据到来的车辆使被控车辆的头灯变暗,所述头灯一般出现在垂直方向,在由被控车辆的头灯照明的道路的部分上部范围上方只有几度的视野。
应用有源图像象素阵列检测器的另一个重要的考虑是控制所述检测器的灵敏度的能力。对于某种应用,需要调整系统的灵敏度以便避免图像阵列检测器的饱和。例如,在这种应用中,来自到来车辆的头灯的图像作为亮点在视野中出现。如果图像阵列检测器的灵敏度被设置得太高,使头灯成像的特定的象素将饱和,因而可能不能确定实际的强度,因为头灯图像的灵敏度是到来车辆的距离的一般表示,所以这种信息便被丢失。第二,来自到来车辆的头灯的亮的图像很好地向系统表示检测的图像是来自到来的车辆而不是被照亮的或者来自由被被控车辆本身的头灯照明的物体反射的图像。
因此,需要提供一种改进的窗口尺寸控制方法以及改进的这种有源图像象素阵列检测器的的操作方式。除去灵敏度和操作方式的调整之外,其它的参数,例如帧读出重复定时和要被读出的帧的数量,也需要被控制。第三个重要的考虑是相当快地进行这种改变的能力。
利用这种系统的另一个重要考虑是用于这种控制电路的相当有限的空间。例如,自动头灯变暗系统最好位于壳体内,其和后视镜共用一个安装支架。在这种应用中,空间是相当有限的。而且,对于任何控制电路,希望减少电路元件的数量,这一般能够减少成本。例如,上述的有源图像象素阵列检测器就基于CMOS技术。因而,需要研制可以和图像阵列检测器以及微控制器本身集成的电路装置。
本发明的目的在于解决和现有技术有关的各种问题。
本发明的另一个目的在于提供一种用于图像阵列检测器的控制系统。
本发明的另一个目的在于提供一种用于控制在图像阵列检测器和微处理器之间通信的控制系统。
本发明的另一个目的在于提供一种用于控制图像阵列检测器例如有源图像象素阵列检测器的各种功能的控制电路。
简要地说,本发明涉及一种控制系统,用于控制图像阵列检测器并通过串行通信接口控制在图像阵列检测器和微处理器之间的通信。所述控制系统能够有效地控制图像阵列检测器的各个方面,例如开窗,操作方式,灵敏度和其它的参数,以便减少数据输出量。本发明的一个重要的方面涉及这样的事实,即控制电路可以相当容易且高效地由CMOS构成,其具有相当少的输出插头,这使得控制电路可以根据图像阵列检测器和微处理器和CMOS相当容易且高效地集成,从而减少元件数量,因而,降低系统成本。
本发明的这些和其它目的通过参阅下面的说明和附图可以被容易地理解,其中

图1是用于说明常规的高射束头灯的头灯发射图形的顶视图;图2是形成本发明的一部分的光学系统的侧截面图,说明在所需的视野内以直角入射的光线。
图3和图2类似,说明在所需的视野外以垂直的仰角入射的光线;图4是图1说明的光学系统的顶截面图,说明在所需的视野内成水平角度的光线;图5是按照本发明的自动头灯变暗系统的方块图;图6是按照本发明的图像处理的总的流程图7是说明用于在所需的视野内检测车辆的尾灯的方法的流程图;图8是说明在所需的视野内用于检测其它车辆的头灯的流程图;图9是说明按照本发明的控制电路的示例的应用的流程图;图10a-c是在图9中说明的方块图的电路图;图11a,11b是寄存器的方块图以及按照本发明的控制电路部分使用的逻辑;图12a和12b是按照本发明的控制电路的顶层示意图;图12c是按照本发明的控制电路的SerBlK部分的电路图;图12d-g是按照本发明的控制电路的CanCtrl部分的电路图。
本发明涉及一种用于控制图像阵列检测器例如上述的有源图像象素阵列检测器的控制系统,例如,光位(photobit)光二极管图像阵列检测器,并提供和微控制器之间的相当高效的串行通信接口。虽然参照光二极管图像阵列检测器对系统进行说明,但是本发明的原理也可应用于其它的图像阵列检测器,例如上述的光控(photogate)型图像阵列检测器。下述的系统和现有的CMOS图像阵列检测器甚至和微控制器集成在一起。在微控制器和图像阵列检测器之间的串行通信接口提供一种相当少的插头的器件。例如在一个实施例中,可以集成控制逻辑,可编程的行、列和定时控制器,光阵列检测器和相关的偏置电路,以及放大器和由图9的方块1,2,3,4表示的模数转换器。这些功能的集成使得只剩下微控制器块5作为主要的单独块。使得只需要接地脚,V+电源脚,振荡器输入脚,和用于和微控制器的串行通信接口的3个脚。甚至可以集成V-电源和用于诊断功能的串行输出脚,这只需要8个脚。
按照本发明的控制系统如图9-12g所示。这种控制系统的应用例子如图1-8所示。不过,应当理解,本发明的原理不限于这些应用。特别是,按照本发明的控制系统实际上适用于任何图像阵列检测器,在这些检测器中,一个或几个图像阵列检测器参数,例如窗口尺寸、帧以及上述的各个其它的参数需要被控制。
自动头灯变暗系统用于按照交通部(DOT)的规定提供自动的头灯变暗,以便提供在3°时为40000cd,在6°时为32050cd,在9°时为1500cd和在12°时为750cd的强度。这种发射图形的一个例子由图1所示。可以利用本发明的自动头灯变暗系统包括如图2-4所示的光学系统和如图5-8所示的图像处理系统。为了能够使高射束头灯保持最长的合理的时间而不使其它车辆的驾驶员感到过分刺眼,按照本发明的自动头灯变暗系统根据距离和其它车辆相对于被控车辆的水平角度的位置控制车辆的高射束头灯。如同下面要详细讨论的,光学系统适用于在头灯和其它车辆的尾灯之间进行识别。来自头灯和其它车辆的尾灯的光线被在空间上在象素检测器阵列上分开,从而提高头灯和尾灯相对于其它的周围的光源例如道路标记和雪及其类似物的反射的识别。光学系统能够在其视野内确定入射光源的水平和垂直位置。图像处理系统处理象素,从而根据距离和另一个车辆相对于被控车辆的水平角位置对头灯进行自动控制。例如,按照本发明的系统适用于提供车辆高射束头灯的最佳控制,使得能够使高射束头灯保持工作尽可能长的时间,同时又能防止其它车辆的驾驶员感觉过度刺眼。
参见图2-4,光学系统包括一对透镜103和104,透镜保持器105和图像阵列检测器106。由图2和3可清楚地看出,透镜103和104在垂直方向上是分开的,以便使同一个视野的图形形成在阵列的不同部分。透镜103和104基本上对同一个视野成像,因为透镜103,104之间的距离相对于装置的视野内的光源是相当小的。
透镜103可以由红色滤光器构成,用于透过波长大于600nm的光线,并把来自尾灯的红色光线101聚焦在图像阵列检测器106的一半上。红色滤光器使透镜103吸收可见光谱的蓝色一端的所有的光线,并透过可见光谱的红色端的光线。结果,由非红色光源例如头灯透过的光的数量被大大减少,同时来自尾灯的光线被全部透过透镜103。结果,在图像阵列检测器106上成像的来自尾灯的光线的相对亮度被大大增加。
透镜104可以由蓝绿色滤光器构成,用于透过波长小于600nm的光线。透镜104用于把光线聚焦在图像阵列检测器106的另一半上。蓝绿色滤光器具有和上述的红色滤光器互补的效果。具体地说,蓝绿色滤光器透过可见光谱蓝端的光线而吸收光谱的红色端的光线。结果,来自光源例如头灯的大部分的光可以通过透镜104,同时基本上全部阻止尾灯发出的光线。
头灯和尾灯发出大量的红外线。利用具有阻止大于750nm波长的光的滤色滤光器或分色滤光器的透镜,由头灯和尾灯发出的红外光基本上被透镜103和104阻断。通过消除红外光,可以显著提高通过红色滤光器成像的红光和通过蓝绿色滤光器成像的红光之间的强度之间的比。
下面示例地说明透镜103和104的红色和蓝绿色滤光器的用途。透镜103和104的滤光特性被这样选择,使得装置对于特定光源的灵敏度最佳。例如,在新的车辆中的头灯和尾灯可以用具有不同光谱分量的其它光源代替,例如利用高强度放电头灯和要求不同滤光特性的发光二极管尾灯。根据头灯和尾灯的光谱特性,可以利用具有分色滤光器的透明的透镜103和104。
透镜103和104可以由丙烯酸球面透镜构成。此外,透镜103和104可以被制成非球面透镜,以便减少颜色分散和由于球面透镜而存在的球面像差。也可以设想使用由球面透镜和非球面透镜构成的复合透镜。
也可以使用一个透镜代替分开的透镜103和104,使用一个透镜可以用来对视野在整个或部分的彩色图像阵列检测器上成像,所述检测器的阵列中的各个象素染有颜色。
由图2和图3可清楚地看出,两个透镜103和104与图像阵列检测器106之间的水平距离略有不同。两个透镜103和104的偏移补偿了由于物质的折射率随通过该物质的波长而改变这个事实而引起的色散。因为两个透镜103和104透射可见光谱的不同的部分,所以透镜103和104与图像阵列检测器106之间的距离被最佳化,以便减少由每个透镜103和104发射的光带的色散。
如上所述,通过透镜103透射的光线101被成像在图像阵列检测器106的一半上,而通过透镜104透射的光线102被成像在图像阵列检测器106的另一半上。为了提供通过透镜103和104透射的光线的这种空间分离,透镜保持器105配备有切口107,其最好由光吸收材料构成或者涂覆有光吸收材料。这些切口107阻止通过红色透镜103透射的所需的最大垂直角之外的光线在为光线102保留的图像阵列检测器106的部分上成像。同时切口107还阻止通过透镜104同时的光线被在为光线101保留的图像阵列检测器106的部分上成像。
光学系统的视野被透镜103和104的结构以及切口107相对于图像阵列检测器106的位置确定。例如,在垂直方向上10度在水平方向上20度的示例的视野可以由下面所述的配置产生。具体地说,对于这种视野,透镜103和104被这样选择,使得其直径为1.5mm,并被切除一小部分,以便使得透镜103和104能够被这样设置,使得其中心离开1.0mm。透镜103被设置在离开图像阵列检测器1064.15mm,而透镜104被设置在离开图像阵列检测器106 4.05mm。透镜103和104的前后表面的半径是4.3mm,厚度为0.2mm。
由图3和图4可以清楚地看出,在透镜保持器105中,形成有环形切口108。在后壁112上形成有一对基本上为矩形的孔110。矩形孔110的水平方向为1.6mm,在垂直方向上为0.8mm。由图4可清楚地看出,切口107从后孔110到前方切口108的直径成锥形,以便提供上述的视野。
因而,上述的配置能够阻挡所需的水平视野和垂直视野之外的光。具体地说,图3说明本系统是如何阻挡以超过垂直视野的角度入射的光线的。图4说明光线在水平视野内的图像阵列检测器106上成像。
图像阵列检测器106可以是CMOS有源象素图像检测器阵列,例如美国专利5471515披露的,在此列为参考,并可从Photobit LLC ofLa Crasenta,Clifornia得到。CMOS有源象素图像检测器提供相当高的灵敏度和低的功率消耗,并且能够在同一芯片上集成其它的CMOS电子电路。图像阵列检测器106可以是50×50的40μm的象素阵列。在图像阵列检测器106中的象素的数量被这样选择,使得不是所有的象素落在透镜103和104投射的区域上。额外的象素使得可以通过偏移预期的图像位置简单地校正机械对准误差。
图像阵列检测器106提供关于视野内的光源的空间信息。在阵列内具有的象素数量被这样选择,使得可以得到足够的空间细节,但是阵列的尺寸不受限制,因而可以被选择并且甚至可以由物理和经济条件确定。图像阵列检测器106必须具有高的灵敏度,以便能够精确地检测几百英尺处的尾灯。这种灵敏度可以通过延长在一帧期间阵列中的光点(photosite)的曝光时间来达到。选择一帧的时间间隔使得阵列能够捕获一帧的图像并在足够短的时间内把其传递给图像处理系统,以便使图像处理系统检查进入视野的另一个车辆。短的时间间隔也限制了在积分间隔期间在一帧内的运动量,因而可以产生相当精确的瞬间图像。
象素阵列的使用也提供了其它的优点。例如,如上所述,用于捕获一帧的光积分时间可以被改变。这种特点使得系统能够在不同的暗度下提供最佳的结果。图像阵列检测器的另一个重要方面是利用阵列内的象素子集或者利用每个象素的能力。例如,当窗口尺寸减少时,读出速度可以增加。这种特点使得系统能够识别周围的光源,例如街灯。具体地说,这种特点使得系统能够定位一帧内的光源,并以大于60Hz几倍的速率捕获光源的几个采样。具体地说,如果采样具有120Hz的强度调制,则该光源很可能是街灯或者以60Hz交流电源供电的光源。如果光源未被调制,则该光源可能是由车辆的直流电源供电的光源。
图像阵列检测器的另一个潜在的优点在于,其可以利用较高的象素分辨率对车辆正前方的视野成像。因而,该系统可以被这样构成,使得有效的象素分辨率随着车辆相对于被控车辆的角度的减少而增加,这样可以减少在这些区域内的处理时间。这样一种结构能够减少装置对于由路旁的静止物体反射的光源的灵敏度。
图像阵列检测器可以被这样制造,其中象素间距根据象素成像的视野的面积而改变。例如,对相应于车辆中心3度的水平角内的空间成像的象素的间距可以是10微米。对在3和6度之间的水平角成像的象素的间距可以是20微米,而对大于60度的水平角的视野成像的象素的间距可以是40微米。虽然这种结构可能不会增加检测面积,但是能够增加分辨细节的能力,考虑到在相当大的距离的尾灯的相对尺寸,这是一个重要方面。例如,距离为200英尺的直径为4.5英寸的尾灯对着小于0.11度的角。如果使用50×50的图像阵列检测器成像一个20度的视野,则尾灯对着由象素成像的总面积的大约5.7%。
尾灯比其周围环境亮,不过,由尾灯发出的红光被一个距离的环境光淡化了。当比较给定区域的红光数量和在同一区域的非红光数量时,这个因素是重要的。当被比较的空间区域相对于光源较大时,红光的百分数被减小。比较起来,如果在阵列106的中心使用10微米的象素代替40微米的象素,则尾灯将对着90%的总面积,因而改进了16倍。
图5-8说明图像处理。图像处理系统包括图像阵列检测器106,微处理器204,例如Motorola HC08型,头灯控制单元205和一对头灯206。如上所述,有源图像象素阵列检测器可以用于图像阵列检测器106。这种有源图像象素阵列检测器包括图像阵列检测器201和模数转换器(ADC)202。定时和控制电路203用于控制图像阵列201和ADC202,以便控制积分时间、读出时序、象素选择、增益补偿和其它变量。微处理器204用于分析由图像阵列检测器采集的数据。微处理器204和头灯控制单元,例如由继电器实现的用于控制头灯206的常规单元通信。头灯控制单元205用于改变加于头灯206的电压,以便使高射束或亮灯被接通与断开。
用于头灯控制的流程图如图6所示。该系统以连续循环的方式运行,其中有暂时的中断,用于进行光的测量、ADC参数的调节或其它功能。
在每个循环开始,在块301,通过透镜103和104获取两个图像。在步302,分析来自透镜103和104的图像以便检测尾灯。在步303通过透镜104获取另一个图像。通过透镜104获取的图像具有足够低的增益,用于检测迎面而来的头灯,同时拒绝接收强度较低的反射光和其它干扰光源。在图像被分析之后,在步305,系统检查在图像中出现的表示突然出现的车辆头灯或在视野之内的尾灯的非常亮的光,例如当一个轿车在被控车辆的前方行驶的情况。如果检测到亮光,则装置使头灯206立即变暗,并旁路如下所述的时间确认。然后循环被重复。如果没有检测到亮光,则系统进入步307,确定在图像中是否具有如何头灯或尾灯。
为了证实在一帧中头灯或尾灯的有无,使用一个非变暗计数器和一个变暗计数器。除去如上所述当检测到亮光时,这些计数器能够在向头灯控制单元205发出指令使头灯变暗或不变暗之前,由连续的帧证实特定的光源是来自尾灯或者来自头灯。通过提供确认,装置中的异常或者图像中的异常就不会引起头灯206的误操作。
每当检测到具有头灯或尾灯的一帧时,变暗计数器便加1,直到达到进行操作所需的连续的帧数。每当达到一个清除帧时,变暗计数器便被置为0。非变暗计数器每当出现一个清除帧被加1,并每当出现一个含有头灯或尾灯的帧时被置0。变暗或不变暗所需的连续帧数由装置的总体速度确定。为证实使用的帧越多,系统受噪声和异常情况的影响的可能性越小。不过,装置必须具有足够的反应速度,使得确认帧的数量被保持相对较低。当在步307检测到头灯或尾灯时,在步308非变暗计数器被置为0。在步309,系统检查头灯206的高射束是否接通。如果没有接通,则不需要进行进一步操作,并在步317使循环重复。如果高射束是接通的,则在步310使变暗计数器增加1。在在步310使变暗计数器加1之后,在步311,系统检查变暗计数器是否达到使头灯变暗所需的连续的帧数。如果是,则系统进行步306,并使头灯206变暗,并且使变暗和非变暗计数器复位,并重复循环。否则,系统重复循环,进行步317的处理。
在步307,如果图像中没有头灯和尾灯,则在步312变暗计数器被置为0。接着,在步313,系统检查高射束206是否接通。如果是,则在步317系统重复循环。如果不是,则在步314使非变暗计数器增加1。此后,在步315,系统检查非变暗计数器是否达到启动高射束206所需的连续清除的帧数。如果是,则在步316接通高射束,并重复循环。如果不是,则在步317,系统重复循环。
图7是尾灯处理的流程图。如下面要详细说明的,用于识别物体例如尾灯的主要方法涉及比较通过透镜103的象素的灰度值和通过透镜104成像的代表同一空间的象素的灰度值。如果通过透镜103成像的象素的值大大高于通过透镜104成像的象素的值,则该光源被确定为红光。除去确定是否是红光之外,在通过确定象素的灰度值是否大于一个门限值进行确定光源是否是尾灯之前,系统还检查红光的亮度。正如现有技术中已知的那样,光源的亮度随光源离开观察者的距离的平方而改变。因而,可以正确地确定前方车辆的距离,以便确定使头灯变暗的合适时间。
门限值可以用许多方法计算。例如,它可以是一个预先确定的数,或者是一个当前图像检测器设置值和ADC设置值的函数。门限值也可以通过计算一个门限来被确定,所述门限是整个图像的平均象素强度的一部分,其可以帮助消除通过改变环境光源而引起的不同。此外,该象素值可以和感兴趣的象素的紧接区域的象素的平均值比较。这一局部平均方法能够防止把图像中的相当大的、中等亮度的光点看作车辆光源。更具体地说,远方的尾灯对着不到一个象素,因而只具有中等的亮度。在图像中的具有中等亮度的大的光点很可能是由大的物体的反射引起的。对着许多象素的近处的尾灯具有饱和的中心,其较周围的象素亮,因而可以用相同的方法的其进行检测。
所述门限值也可以借助于查表或计算通过在空间上改变所述门限来确定。不过,该门限值的确定,应使得对于DOT标准允许的最暗的尾灯能够正确地变暗。远方的车辆受到被控车辆高射束的最强的部分的照射,因而只需要在被控车辆的正前方变暗,如图1所示。因而对于在被控车辆正前方的被成像的光源,可以选择相对低的门限值,而对于被控车辆的非正前方的光源,则选择较高的门限值。例如,如结合图1所讨论的,对中心线左右3度角的视野成像的象素的门限应当相应于入射到图像阵列检测器上的光强,其大约是车辆正前方的红光的门限值的4倍,是对于6度的车辆的门限值的12倍。这样一个空间改变的门限值,通过使系统对被控车辆的两侧的区域的灵敏度降低,有助于消除由红色的反射物引起的假的尾灯检测。
可以采取类似的方法用于改变在空间和中心上下角度的成像区域中的象素的门限。不过,当确定相对于垂直角的尾灯强度时,可以采取比较保守的方法,因为由于道路上的起伏而使得车辆趋于更频繁更快地变动。因此,规定一个适当的垂直门限可以使亮的头灯206当车辆上下偏移几度时被接通和切断。
可以对门限提供一个滞后的乘法器,以便阻止当光源具有等于或接近门限的灰度值时发生头灯206的谐振。因而,如果亮的头灯206被关闭,则为了阻止亮的头灯被接通,该门限对于所有的象素是较低的,即使在图像中存在最弱的尾灯。不过,如果如果亮的头灯206是接通的,则该门限应当较高,使得只有足够亮度的尾灯被检测到,从而表明轿车是在变暗的范围内,以便使头灯206变暗。
面对尾灯检测的最大的问题之一是由具有拐角的立方体反射物反射的干扰红光,这通常存在于道路一侧的标记和邮筒的标记上。上述的可变门限方法帮助消除一些这种噪声。不过,当车辆以合适的角度接近一个反射物时,要识别红色反射物和尾灯是几乎不可能的。幸好,通过检查连续的帧并分析这些物体随时间的运动,这种反射可以被滤除。通过随着时间存储尾灯和图像的位置,或者通过检测尾灯所在的感兴趣的小的区域,通过几次连续的检测,装置可以试图向右运动,并确定光源是否是反射物。此外,被控车辆相对于一个静止物体的速度比比相对于另一个运动的车辆的速度大得多。因而,对于静止的反射物,物体的亮度增加的速率将比另一个车辆的亮度增加的速率大得多。这个伴随着向右运动而产生的亮度变化率可以被用作用于减少尾灯的误检测的次数的特征。
用于分析光源的空间运动的一种较简单的计算方法是取光源所在的感兴趣的局部区域的几个连续的区域。前面车辆的尾灯在垂直和水平方向上的运动是相当低的。在几个连续的时间采样一个象素,检查在所有的采样中是否都存在尾灯,则可以足以消除在图像内快速运动的物体。
尾灯处理的流程图如图7所示。首先,在步318系统确定是否象素在尾灯窗口内。具体地说,如上所述,红光被成像在图像阵列检测器106的一半上。因而,如果象素不在图像阵列检测器106的合适的一半内,则系统执行步319并移动到另一个象素。如上所述,判断图像是否是尾灯有两个准则。第一个准则涉及比较通过透镜103的象素图像的灰度值和通过透镜104成像的同一区域的相应的灰度值。如果通过透镜103成像的象素的灰度值明显地大于通过透镜104成像的相应象素的灰度值,则满足用于检测尾灯的一个准则。因而,如果按照步318的判断感兴趣的象素在尾灯的窗口内,则在步320进行比较通过透镜103成像的象素的灰度值和通过透镜104成像的相应象素的灰度值。如果通过透镜103的象素图像的灰度值不大于通过透镜104成像的相应象素的灰度值n%,则系统执行步319,确定另一个象素。否则,系统执行步321,并根据被成像的空间区域计算特定象素的门限。例如,如上所述,象素门限可以根据象素在图像阵列检测器内的空间关系而改变。
如上所述,用于尾灯检测的另一个准则涉及和相邻象素相关的象素的亮度。因而,在步322,系统计算相邻象素的平均灰度值。如果在步323确定通过透镜103成像的象素的象素灰度值比相邻象素的平均灰度值大n%,则系统执行步324,把该象素加到用于将来的参考帧的尾灯表上。否则,系统执行步319,移到下一个象素。在步325和326,系统确定检测的红光是尾灯还是反射物,如上所述。如果确定是反射物,则系统执行步327,移到下一个象素。否则,在步328使头灯变暗。
用于头灯处理的流程图如图8所示。头灯检测和尾灯检测类似。主要区别在于只利用通过透镜104看到的图像。如上所述,象素积分时间较短并且ADC参数使得图像只显示很亮的物体,例如头灯。大部分的反射具有处于ADC的0门限以下的低强度的光源。因此,象素和周围象素的局部平均强度比较。门限的空间改变可以被这样设置,使得相应于视野中心的象素比图像的左边的象素(左侧行驶的国家)更灵敏。不过,这些门限不应当在空间上被改变为和用于尾灯的门限相同的程度,因为从头灯观察到发射图形的相当宽的改变。此外,由于对于迎面而来的车辆的驾驶员更刺眼的相当高的强度,所以可以控制头灯比当检测到沿同一方向行驶的车辆的尾灯时更快地变暗。和尾灯处理电路类似,可以引入滞后,以便阻止头灯的振荡。
和头灯检测有关的另一个问题是由和迎面而来的车辆之间的距离的快速减少引起的,这在对方车辆突然进入被控车辆的视野时尤其严重,例如在拐弯时或者在类似的情况下。为此,使用一个附加的标记以便使车辆的头灯立即变暗,并且如果光源超过某个高的亮度门限则旁路任何确认。
使头灯检测复杂化的主要的干扰光源是上方的光源,例如街灯和电气照明的街道标记。消除这种干扰光源的一种方法是分析其运动。具体地说,所有的上方街灯当被控车辆运动时都垂直向上运动。分析这个运动提供了用于检测某些街灯的有效的方法。不幸的是,远方的街灯似乎具有和远方的头灯几乎相同的上仰角度,并且直到接近街灯时,图像中的垂直上升的速率才增大。不过,如上所述,街灯是交流电源供电的,因而受到120Hz的强度调制。由直流电源供电的头灯没有这个特征。因而,能够使图像阵列检测器106利用少量的象素在窗口中取几个快速的连续的读数。如果窗口足够小,则每秒可以读出几百帧。一旦图像中的光源被识别,以240Hz或更高的速率读出几帧。这些读数然后被分析,从而检测强度调制。如果调制存在,则光源是交流光源因而可以被忽略。此外,可以使用光二极管和带通滤波器相结合,确定图像中的被交流调制的光和未被调制的光的比。如果光源的大部分是被交流调制的,则图像中的光源被认为是交流光源。否则,光源被认为来自直流光源。
头灯处理的流程图如图8所示。首先,系统在步329确定象素是否在头灯窗口(即用于通过透镜104成像的象素阵列的图像阵列检测器106的部分)中,如果不是,则系统执行步330,检查下一个象素。否则,系统在步331检查该象素确定其是否是被120Hz调制的,如上所述。如果是,光源被认为是街灯,因而系统在步330处理下一个象素。如果不是被120Hz调制的,则系统在步332计算相邻象素的平均灰度。在步333,系统根据根据其成像的空间区域确定特定象素的门限。在步334系统接着比较象素的灰度值和一个绝对高的门限值,例如以便确定是否有任何迎面而来的车辆突然进入被控车辆的视野。如果是,系统执行步335,设置一个标记使头灯立即变暗。否则,系统执行步336,确定象素的灰度值是否比相邻象素的平均灰度大n%。如果不是,则系统返回步330检查下一个象素。否则,系统执行步337,把该象素加到用于将来帧参考的头灯表中。
在步338和339,系统按照上述检查光源,确定其是否是街灯。如果不是,则系统执行步340设置一个标记使头灯206变暗。如果系统确定光源是街灯,则系统执行步341,检查下一个象素。传统的车灯系统具有亮的灯的开关选择。本发明能够容易地适用于这样的头灯系统,其中根据在视野中的其它车辆的距离可以打开亮的灯以便改变亮度。在这种实施例中,可以通过几种技术改变头灯的亮度,其中包括调制头灯的占空比来减少或增加总的亮度。
可变强度的头灯也具有较好的噪声滤除作用。具体地说,当检测到使车辆的被控头灯的亮度减少的光源时,可以检测其它的图像,以便确定所述其它光源的强度是否被减少一个相同的量。如果是,系统就能够确定光源是来自车辆头灯的反射光。这种信息可以用作反馈,用于提供一种消除由被控车辆的头灯的反射引起的干扰光源的相当有效的手段。在一个实施例中,不使用上述的亮度门限。更具体地说,在图像中最亮的头灯和尾灯的亮度被用于确定被控车辆的头灯的亮度。在图像中的头灯或尾灯越亮,则被控头灯越暗。
对于上述的示例的应用,按照本发明的控制系统适用于经济地实行灵活的开窗功能。例如,在上述示例的应用中有3个重要的考虑。第一,能够控制窗口尺寸和方向以及图像阵列检测器的操作方式,这具有较大的实用性,例如,在上述的应用中,在双窗口方式和单窗口操作方式之间转换的能力。第二,其它参数,例如灵敏度、帧读出重复定时、以及要读出的帧数都需要被控制。第三,在上述的示例的应用中,实际上每个新的读数都要求主要改变前一个读数的设置,因此其必须能够快速地改变这些设置。即使在这种应用中,也需要频繁地大量地改变操作设置,由于要求在每次读出之前写入所有的设置,所以增加了一些辅助操作。这也使得不再需要寻址传递和较复杂的总线结构和在图像阵列控制电路中的地址译码。
对于上述应用的控制电路还有许多其它的考虑。第一,为了减少成本并提供一种紧凑的控制电路,需要能够把一些主要的电路元件集成在一个集成电路中,即使不是全部。按照本发明的一个方面,下面说明的控制电路包括和微控制器的串行接口,其可以被集成在作为图像阵列检测器的同一个集成电路上,并且可以和许多其它元件集成在一起,例如用于使象素读数数字化的模数转换器。最后,甚至微控制器也可以被集成在同一个集成电路芯片上。
这种控制电路的另一个考虑在于,图像阵列检测器所需的光学窗口增加了组件的成本,并且和常规的集成电路组件相比,为实行组件和光学窗口的电气连接的成本也更高。因为这些原因,非常需要在图像芯片和微处理器之间使用插头少的串行接口。另一个优点在于使用同一个双向串行接口向图像检测器控制器发送指令并读出被返回的数字化的图像信息。另一个优点还在于,保持一个共用的串行通路、串行寄存器和定时用于和微控制器的串行端口连接,继续利用共用的串行结构和寄存器用于指令排队,并最后处理指令数据从而完成所需的成像操作。另一个优点还在于,将逐渐接近的象素读出的步骤和用于上述的串行指令处理的同一个时钟相连,并同步地向微控制器传递反变换的位,当用于转换那个相同象素的逐渐接近步骤还在进行时,这一位状传递开始。因为产生图像控制器需要通用电路和设计,以适应于本领域的技术状态,所以至少在开始时,硅片的成本也较高。因而,重要的是连接成像阵列和微控制器的以及控制图像检测处理的逻辑利用合适的硅片来实现。为了满足这些和其它的设计目的,利用一种新的串行结构直接和微控制器相连,以便有效地记录频繁改变个指令并进行处理,以便控制相当复杂的窗口读出功能。
在一个示例的应用中,在串行负载操作期间,9个字节(72位)的指令数据被移位到作为一个串行邻接寄存器而配置的9个字节长的移位寄存器部分中。几个8位长的寄存器被配置作为72位的链的分支,其中每个寄存器必须被初始化为等于主链中的一个值或者由所述一个值确定的值。在本发明的一个配置中,字节形的串行指令在8位移位寄存器部分的第一部分中被从最高有效位第一变为最低有效位第一。这样作是因为所用的微控制器首先发送和接收最高有效位,并且逐渐接近模数转换器首先转换与发送最高有效位。在另一方面,串行递增电路必须首先发送最低有效位。在两个其它8位移位寄存器部分中,当值被移入时被预先递增。因而,在更一般的情况下,简单的移位寄存器功能被添加一个辅助的处理步骤,使得特定的寄存器部分利用串行输入值的导数被加载。在本发明的一个实施例中,用于模数转换处理的定时和用于串行处理的定时是相同的。电容电荷平衡模数转换器可以用在控制器中进行串行处理的时钟同步,事实上其使用同一个时钟操作,因而当进行每个逐渐接近转换步骤时数据位通过同一个串行接口被发送给微控制器。这便节省了任何额外的同步、控制和缓冲逻辑,这些逻辑在两个功能不是一起同步操作时可能是需要的。
上述被串行加载的数据最好包括以下信息第一帧窗口的第一和最后一列的数量,指示单独选择的位,用于禁止在积分间隔开始时行的复位,并禁止在积分间隔结束时帧的读出,并且只选择和处理第二帧。这些选择的最后一个当不需要如上所述的用于处理头灯或尾灯图像的每帧双窗口特征时使用。包括第一帧窗口的第一行和最后一行的数量。在串行数据中还包括表示在积分间隔开始被复位的帧窗口的行和被读出的帧窗口的行之间的循环行偏移的行的位置。还包括第二帧相对于第一帧的行和列的偏移,供选择第二帧时使用。上述这些条件是为了除去由循环行偏移提供的积分间隔之外进一步增加积分间隔,其中在一帧中或者在一对帧中特定的行的复位和特定行的读出之间插入0个或几个整数的附加的积分帧间隔(例如0-255)。所述数据还包括读出帧或帧对的次数,从而完成指令。
包括选择地禁止在积分间隔或读出开始时复位这些特征使得在积分或读出之前的复位可以在积分之后作为单独的操作被处理。用于一次读出整个图像所需的块的尺寸可能超过微控制器的存储容量。读出操作只使读出的行复位。对于低的亮度,需要使用相当长的积分时间。有限的微控制器存储器可能需要把图像分成块,以便使得每次的处理不会需要比可得到的更多的存储器。不用单独复位和读出指令,这需要复杂的控制,或者需要等待整个的积分间隔用于处理每个块。在低亮度条件下有效地使用检测器需要在尽可能多的检测器区域上并且在尽可能多的时间内收集光。因为对于长的积分时间,定时一般并不重要,所以如果可利用的控制方式允许,积分可被置于微控制器的控制之下。这个能力便是为此而提供的。此外,因为非重叠行的窗口在积分间隔开始的复位期间或者在作为读出功能的一部分的复位期间不复位其范围之外的行,该部分可以被拆成具有非重叠行的窗口,其使用单独的指令按照禁止读出功能但选通复位功能的交错方法被复位。然后微控制器在每个可接受的积分间隔之后通过禁止复位功能而选通读出功能可以开始这些块的连续的读出和处理。用这种方式,用于处理多个块的积分间隔可以被重叠,而控制电路的复杂性具有最小的增加。按照上述方法,每个指令的积分间隔一般被设为最小值,因为实际的积分间隔由微控制器确定,并且一般选择一个或两个帧的一个读出循环。
所述的实施例被配置用于连接并控制例如上述的光二极管象素检测器阵列。一般地说,在一行中的每个光点上的电荷当该行被复位时被放掉。然后,随着质子撞击光点而释放电子时电荷被积累,使得在相当宽的亮度级和积分时间的范围内,积累的电荷近似和积分时间和亮度级的积成正比。这样,上述的积分间隔类似于照相机和胶片的曝光时间。
在一个实施例中,利用逐渐接近的模数转换器,并且为了使缓冲器存储器和控制逻辑最小,当进行逐渐接近时数据位利用提供的最小的缓冲被移回微控制器,从而使和微控制器相连的串行总线上的时钟定时最佳化。
在接收读指令数据之后,控制系统最好在同一个串行接口上响应串行传递的表示被在由指令规定的每个帧中的每个象素接收的亮度级的数字化读数。该读出序列被重复由指令规定的次数。微控制器,例如,摩托罗拉68HC708XL36,利用直接存储器存取功能,其可以用于增加数据被从光检测器向微控制器传递的速率,并且不需微控制器的其它功能。一个缺点在于,特定微控制器的直接存储存取功能被一次256个字节的块所限制。每个象素读数被编码成为一个8位的值,因而256个字节只可以存储来自256个象素的读数。利用一般的用于双帧检测器的用作雨天或头灯变暗检测器的64×64象素的阵列,例如如果60位相应于30度,则10度×30度的视野将含有1200个象素,因而相应的两个彩色双帧将含有2400个象素。这个视野可能必须被读出并在块中被处理,以便阻止微控制器中可利用的存储器在达到存储限制之前溢出。为了使用被选择的微控制器的直接存储存取功能,需要使数据在256个字节或更小的块中被采集。在一个实施例中,具有一个等于在每个新的行开始时传递行中5个连续象素所需的时间的间隔。当对于特定的读指令具有一个以上的数据块要被采集时,为了利用直接存储存取功能,块的长度最好这样设置,使得这些块在行边界上结束,并且这样选择中断方式,使得微控制器在其接收的每个块结束时发生中断。此时微控制器具有5个象素的间隔用于设置直接存储控制器,以便接收下一个块的数据。在行滞后时间之间的间隔被控制电路用于使行复位,从而开始其积分间隔,并从该行的象素中把电荷传递到电容器上用于读出操作。这个处理在下面的电路说明中被详细说明了。在行之间的5个象素的延迟时间可以选择地使其成为可变的,或者被改变为某些其它的固定的延迟时间。不过,对于给定的读操作的行间的延迟时间最好具有恒定的长度,即使在这个间隔期间执行的每个功能不是每次都被执行。恒定的时间间隔的优点在于,可以减少在计算读出间隔时的控制逻辑的复杂性。此外,一个可变的时间间隔,根据改变的形式,可以使重复进行的帧读出成为非周期的,这将在谐波分析时带来问题。所用的微控制器可以选择地用数字信号处理器或其它可编程的数据处理装置代替。
参见图9,其中示出了利用本发明的包括图像阵列检测器和微控制器的一个示例的系统的方块图。该系统包括可编程的行列和定时控制器1,控制逻辑2,图像阵列检测器3,放大器和模数转换器(A/D)电路4和微控制器5。本发明涉及控制逻辑2和可编程的行列与定时控制电路1,用于控制图像阵列检测器3并提供和微控制器5的双向串行通信接口6。本领域的技术人员应当理解,构成本发明的可编程的行列与定时控制电路1以及控制逻辑电路2可以作为一个ASIC来实现,并可以和以下的一个或几个电路部分集成在一起微控制器5,图像阵列检测器3和放大器与模数转换器电路4。
图10a-10c是图9所示的方块图的电路原理图。如图10a-10c所示,按照本发明的控制电路,如上所述,包括控制逻辑2和可编程的行列与定时控制电路1,例如用ASIC XC4003E来实现。
图12a-12b是用于产生图10b所示的ASIC XC4003E的程序的顶层示意图。图12a-12b和参考的下层图一起使用WorkviewOfficeTM,Version 7.31,Feb.6,1977,Viewlogic Systems,Inc.结合Unified Library from Xilinx,Inc.来实现。使用这些方法产生一个网格表,该表可以用Xilinx Design Manager version M1.3.7进行处理。由Xilinx Design Manager的部件程序产生的位流可以用于对ASIC XC4003E编程。图10b的Atmel At17C65串行存储器被配置用于存储程序,并在每当对该电路首次供电时自动地对XC4003E下载程序。
图11a和11b说明用于存储图像阵列检测器指令数据并被操作用于控制图像阵列检测器的寄存器和数据通路。寄存器的总的功能是产生检测器的双窗口读出需要的行选择和列选择地址的序列,并返回加快读出序列的控制的状态信号。块300和320联合产生列选择地址CSO0-CSO6。块330和340联合产生行选择地址RSO0-RSO6。块360计算被增加以便延长检测器积分时间的帧数。最后,块370计算为完成指令序列所需的读帧或帧对的次数。
控制电路有两种一般的操作方式,第一种是指令串行加载方式,其中寄存器利用72位数据(9个串行传递的字节)被串行地加载。第二种操作方式是指令执行方式,其中寄存器被重构,并被有选择地选通,以便利用8个时钟周期序列完成递增、加载和比较功能,这些是用于产生复杂的地址序列和按顺序输出阵列检测器的被控的窗口读出所需的表示输出的状态所需的。该电路产生二进制的行和列的地址,它们被阵列检测器解码,从而在选择的行和列的交点选择合适的行和象素,以便完成所需的控制与读出功能。
被输入到块300,320,330,340,360和370的控制信号在各个表中被标号为301,321,331,341,361和371,并且从这些块(除去所示的互连)输出的信号在各个表中被标号为302,328,332,342,362和372。每个块接收时钟信号CLK,串行加载信号SLD,和表示这是最后一组8位时钟信号的信号LAST,对于该信号特定的块或一组块被选通,由除去块330之外的每个块使用。在组SCOXF,LCXF,HCXF,SROXF,LRXF,ARXF,HRXF,IFDXF和RFCXF中的72个矩形块中的每个块表示具有一个时钟选通的各个同步的D型触发器。这些触发器都被选通并一般被配置成一个长的移位寄存器,用于加载72位的指令字(9个串行传递的字节)。除去8位组SCOXF之外,其余的8个触发器组是简单的8位移位寄存器,每个具有一个时钟选通端。在加载序列期间,SCOXF接收每个字节的位7到位1,并将其串行移入SCO7F到SCO1F,使得刚好在8个时钟脉冲的最后一个之前完成移位,使位7移入SCO1F,位1移入SCO7F。然后在8个时钟脉冲的最后一个脉冲,保持LAST,使最后来自SRCV的位0直接进入SCO0F,并交换SCO1F和SCO7F,SCO2F和SCO6F,SCO3F和SCO5F,剩下SCO4F不被交换。这便使字节中位的顺序倒置,使得连续的字节被串行地传递,最低有效位首先从SCO0F到LCIN和LC7F的D输入端。对于在块320,340,360和370中执行的串行相加功能这是需要的。SCIXF组被首先放置是因为其值在执行阶段期间如同SROXF一样保持静态,并且在该阶段期间不被选通。这使得不需要更加复杂的用于从最高有效位第一到最低有效位第一反置传递顺序的数据选择器。4个低顺序位SCO0到SCO4是由对于加法器307的较高顺序位重复SCO4而扩展的符号。这个在总线303上传递的数是第二帧相对于符号中的第一帧的列偏移,在AC0到AC7中产生二进制补码形式,其在加法器307中被加到第一帧的列地址,并在总线304上被传递。加法器的输出在总线305上传递。使信号SSF选择总线305,第二帧的偏移已被加到该总线,并使其和总线306相连。当不确定SSF时,信号304被直接被送到306而不加列偏移值。CSOXF是一个D型寄存器,利用CCLK的上升沿把来自306的行地址送入其中。在CSOXF寄存器中的位数可以改变,以便适应检测器中的象素的列数。预计头灯变暗控制和上述的干扰检测需要32到64列和行。在行和列选择地址中的位数对于较少的行和列数可被减少,或者被增加到8,以便只需很少的改变就能容纳多达256行或列。更多的行和列也在本发明的范围内,尽管需要在字的尺寸上进行其它的调整。显然,一般使用的字尺寸是8,这在微控制器存储器中以及8位串行传递的数据中和字节尺寸匹配是方便的。
在串行加载阶段期间,数据选择器322把输出信号SCO0送入LC7F触发器的D输入端LCIN。数据选择器324把识别位流送到AC7F的D输入端,数据选择器325把LCOF的输出送到HC7F的D输入端。在完成指令加载阶段之后,8位寄存器LCXF和ACXF都含有开始地址或第一帧第一列的地址,HCXF含有第一帧的最后列或高列的地址。因而在ACXF中的计数在最低的列地址开始,并被递增直到达到高的列地址为止,低的列地址的的复制再次被移入ACXF,使得重复从低到高的列地址的计数。因而递增的象素计数是一个简单的串行加1操作,直到计数等于高的列地址,然后进行低的列地址的复制操作,将其复制到ACXF计数检测器中,用于下一次递增操作。
在块320中说明的逻辑被自含用于完成递增、比较和复制,以便根据需要产生上述的序列。其响应CLK输入的8的循环序列进行这些处理,其中选通象素计数EPXC输入是高的。在8个时钟周期的第一个,确定第一个并被串行加一电路326用于对ACXF计数的最低有效位加一。串行加一电路326包含几个门电路,并只包含一个触发器用于记录进位。除去在串行加载复位计数周期期间,串行递增的输出ACA被选择器324选择,使得递增的值在8个选通的时钟周期之后出现在ACXF中。在每个递增操作期间,EPXC也选通LCXF,并且利用SLD为低,LCO被送到LCIN,其是LC7F的D输入端。因而,在8个选通的时钟周期结束时,LCXF的原始内容被再循环到其开始位置,使得LCXF的值保留其原始的低的列地址。高的列地址HCXF以相同方式被再循环,并且在ACIN的新的被变成串行的ACXF的值以位状的方式和被变成串行的高的列地址在HCIN比较。串行比较功能由块327完成,其只含有两个触发器和几个逻辑门。一个触发器保持跟踪计数器的值和高列地址按位相等,同时将其串行地提供给比较器,另一个被用于在下一个8个时钟周期期间产生ACEH输出信号,在此期间内,在ACXF中的计数等于等于HCXF中的高列地址之后确定EPXC。第一个被用于初始化串行比较相等表示,最后一个被用于发出所需的更新信号ACEH。注意,用这种方式,ACEH被确定以便精确地把低列地址复制到计数器所需的时钟周期数。此外,ACEH被输出,并作为输入被送到控制电路,用于表示行的结束。在行之间的EPXC的其它的周期分选通中,有5个象素暂停,使得可以完成所需的行的特定功能。否则,在指令的整个执行周期期间,列计数被定期地递增,而不管是否正在读象素值,从而使象素计数定期地循环,以便定期地确定ACEH,其被用于选通行计数,所述行计数以类似的方式循环,以便使积分帧计数循环,这又使读帧计数增加,直到所需的帧数被读出。只有当计数ACXF处于其在8个时钟序列的第一个和最后一个时钟周期之间的静止位置时,才确定CCLK信号,使得在列选择寄存器中寄存的位不会被移到错误位置。
方块300和320共同产生列地址,并也按照刚才所述的方式循环,从而建立周期的行时基。块330和340执行类似的但不同的功能,用于产生行地址,并产生周期的帧扫描定时信号。该说明将针对不同的情况进行。在预期的应用中,第二帧列偏移一般是小的,但是第二帧行偏移是大的。因此,SROXF的8位都被用于第二帧行偏移。因为已经使低位第一的顺序倒置,SROXF是一个一个简单的8位移位寄存器,其具有只有在串行指令加载期间,即当SLD为高时才被确定的选通。加法器337累加第二帧行偏移的功能和用于第二帧列偏移的块307中包括的相关电路的功能类似,并且选择第二帧SSF信号的用途和RCLK的用于把新的行选择地址寄存到RSOXF寄存器中的用途类似。不过,确定RCLK以便选择新的行时的定时是十分不同的。两个单独的行选择计数器被不同地初始化,但是被一起增加。每个计数器被单独地和高的行地址比较,并在用于确定选通行计数ERWC信号的下8个时钟周期期间复位为低的行地址。可能被增加一个第二帧行偏移的复位的行计数器RRXF被用于选择行,从而在积分时间开始时复位。模数行计数ARXF被用于选择行,从而选通电容保持寄存器,用于对读出窗口的低列到高列中的象素进行模数转换。复位行计数器RRXF被初始化等于低的行地址,使得其总的配置直接类似于列计数。不过,模数读行ARXF计数被初始化为被规定为读指令一部分的值。这个给定的值应当大于被写入LRXF的低的行计数,或者等于被写入HRXF的高的行计数。当其被加载和被递增时,以及被复位为低的行计数时,在递增操作期间,在检查过是否等于高的行计数之后,每个计数被分别检查是否等于高的行计数。其结果是,复位的行和模数读行计数器按照同一上升速度通过行计数值的同一范围,但是彼此不同相。当复位的行RRW信号被确定,从而在积分时间开始时使一个行复位时,数据选择器345接通来自RRXF计数器的总线343到总线334。否则来自ARXF计数器的总线344被和334接通,从而选择要读出的行。当复位行地址等于低的行地址时,即在帧的顶部时,用于开始积分时间的相继行的复位在指令周期开始时开始。用于开始积分时间的行的复位一旦开始,便继续直到帧或帧对中所有的行都被复位为止。在积分帧间隔复位操作被停止,所述积分帧间隔等于被插入并被继续到在最后的读出周期帧或帧对被复位时的积分延迟的帧数。然后在一个或几个行之后,当模数行计数器被设置等于低的行地址,从而读出操作在帧对顶部进行时,行的读出操作开始。如同复位处理一样,读出一旦开始,便继续到帧的结束,其中伴随着读出暂时被停止,以便增加积分延迟帧周期。在最后帧或帧对的最后行的读出被完成之后,结束指令的执行。
IFDXF寄存器被预置为增加的积分延迟时间和1的和的二进制补码形式。即,在无额外延迟周期时,其以二进制补码形式被设置为-1,当在每个读出周期在复位和读出之间有2个额外积分延迟时,其以二进制补码形式被设置为-3。在IFDXF寄存器中的值通过如同低的和高的列与行计数寄存器那样使其再循环从而被保持。计数器IFCXF起初被加载为1加上IFDXF寄存器中的值,并确定溢出状态,其中通过使积分帧计数溢出IFCOV对于下8个时钟周期为高,对于所述8个周期确定选通积分帧计数EIFC信号。如同前一个块一样,确定EIFC,以便增加计数,并且溢出指示的确定使来自IFDXF的值的复制值被预增加,并被复制在IFCXF中。使用预增加功能从而使得当计数器被加载时在同一个周期可以发生溢出状态。确定IFCOV用于表示积分帧延迟周期的结束。对于每个周期的帧间隔,通过确定8个CLK信号的EIFC信号被选通一次。串行加一和溢出检测器使用两个触发器,几个逻辑在IFCA接通并输出一个串行位流,其等于1加上在IFIN输入的串行位流的值。
在块370中的计数器373被设置为1和读帧或帧对的次数的和的负数。和块360中的IFCXF寄存器类似,不需要使寄存器复位为所述的值,因为在最后帧的读操作结束时指令的执行也结束。当RFCOV溢出条件被确定并且块的读出被完成时,表示读指令的结束。
作为一种选择,借助于控制器并在指令写阶段按照常规输入微处理器的串行输入可以输出SOUT信号。返回的值将具有在块373中被加一电路增加的每个串行字节的值。利用这个小的改变,其由在前一个指令执行结束时设置的72位寄存器中的值被直接地确定,借以构成好的诊断测试点,从而利用极少的附加逻辑证实控制逻辑的大部分的操作。RFCOFN具有相同的CLK,和作为RFCOF的选通信号,并具有RFCO作为其D输入。其被在时钟的负沿同步而不在正沿。结果是SOUT导前RFCO一个半时钟脉冲,并且其相位适合于在MISO线路上向微控制器回送。
在指令寄存器中共有72个触发器,在附加处理寄存器中具有25个附加触发器,在用于捕捉和保持行列地址的寄存器中具有14个触发器,在串行相加、比较和溢出功能寄存器中具有13个触发器,总共具有124个触发器。加选通和总线逻辑最小,并且控制和串行接口块利用相当少的相加元件实现,因而根据被执行的逻辑要求,这个新的方法被非常有效地实现。
参见图12b,图12c说明的块500提供和时钟以及和微控制器5的SPI端口,例如图10c所示的摩托罗拉68HC708XL36连接的逻辑。和时钟以及微控制器的串行端口的互连在块500中示出了,并在图12c的电路的说明中被说明了。
块501接收来自块500的SYNC,RUNS,和CLK信号和来自串行结构的指令队和处理块502到505的计数状态信息,块505响应这些信号,发出一组控制逻辑选通信号,用于控制在块502到507的全部处理过程。块501还对电荷重新分布模数转换器(A/D),例如LTC1196,发出时钟和组合的选择与开始转换信号。块500输入并缓冲来自LTC1196的串行数据线,并向微控制器5发出作为DOUT的数据信号的缓冲串行形式和作为NDCLK的相关的时钟。块502-507被在图11a,11b中说明,其中使用表示新的串行结构的方式,其用于多种功能,用于排队、存储和处理指令。这种表示中,结构细节比常规的逻辑图清楚。
块502被在图11a,11b的块300和320中详细说明了。在确定SLD的指令输入阶段期间,在块502中的触发器从串行指令字中输入并排队3个字节,24位。这些位是第二帧列偏移SCO,第一帧的低列LC,和第一帧的高列HC。在确定RUNS的指令运行或执行期间,这同一个寄存器设置被用于产生工作列地址的合适的序列,其按照需要被锁存在块506中。块506还被表示为在图11a的块300中的CSOXF触发器组。SCOXF寄存器的位0到位4(即SCO0F,SCO1F,SCO2F,SCO3F,SCO4F)被用于输入有符号的数,其分配第二帧的列相对于第一帧的相应的列的列偏移。这个字的5,6和7被用于特定用途。这些位在总线SCO(7,0)的被分配的线路上从块502输出,并作为SCO7(SFM),SCO6(IRR),SCO5(IAD)被输入到块501(注意这些信号在图12a-12g中的SFM,IRR,和IAD的标记下传递)。SCO7(SFM)被设置在指令字中,以便跳过第一帧的处理和读出,因而只处理帧对的第二帧。指令执行时间和积分时间被缩短了,这是因为当设置SFM时粗略地平分了处理步骤的数量。设置SCO6(IRR),以便禁止在积分时间开始时使行复位,设置SCO5(IAD)用于禁止在执行期间的行读出。IAD或IRR的设置禁止所述功能而不改变指令执行的时间。
块503在图11a的块330和图11b的块340中被详细说明了。在用于确定SLD的指令执行阶段期间,在块503中的触发器从串行指令字输入并排队4个字节,32位。这些字节是第二帧行偏移SRO,第一帧的低行LR,利用模数转换器AR读出的行的初始行计数值,和第一帧的高行HR。在确定RUNS的指令运行或执行阶段期间,这同一个寄存器组被用于产生行地址的合适的序列,其按照需要被锁存在块507中。在图11a的块332中,块507也被表示为RSOXF触发器组。该逻辑产生并锁存在积分时间开始按照需要被复位的行数和在各个积分时间结束时读出的行数。
图11b的块360中详细说明了块504。在块504中的触发器在确定SLD的指令输入周期期间,从串行指令字输入并排队1个字节,8位。在确定RUNS的指令运行或执行阶段期间,这个字节控制在帧的行复位和其读出之间被插入的0个或几个积分帧延迟周期数,从而提供象素位置的多个“曝光”时间,以便积累光感应电荷。
图11b的块370中详细说明了块505。在块505中的触发器在确定SLD的指令输入周期期间,从串行指令字输入并排队1个字节,8位。在确定RUNS的指令运行或执行阶段期间,这个字节控制帧或帧对的连续读出数,它们被取出并作为表示各个象素位置接收的光值的8位的数字化读数串行地返回微控制器8。
图12c是用于执行图12b的块500的电路的逻辑图。在块500中,和在这些图中的其它块中一样,在块内的和插头相邻的信号名是在执行该功能的子块中使用的名字,在这种情况下,即图12c的电路。在封装外面的布线通路上的名字是用于在该级上互连的名字,在大多数情况下,这些名字是相同的,但是,有一些信号名在不同的图中是不同的。例如图12b的信号名SCO7在块501以及和其相关的图12d-12g中被改变为SFM。
图12c执行图12c的块500。微控制器5(图10c)由5个信号通路和ASIC XC4003E相连。由上面的讨论可以清楚地看出,简单的改变便能使得这个数量被减少到4个,其中利用可以选择地被提供用于实现选择的诊断检查的第5个连接。微控制器5的串行外围接口(SPI)端口包括4个信号连接,其中的3个是双向线路,它们直接和每个装置的相应的插头在串行SPI总线上互连,在本实施例中,所述总线只由微控制器5和ASIC XC4003E构成。
3个双向总线是主入从出MISO,主出从入MOSI,和串行外围串行时钟SPSCLK。此外,连接端口的每个装置具有标号为SS的用于微控制器的和标号为XSS的用于ASIC XC4003E的低有效从选择(SS)。用于微控制器的SS插头被接地,并且这个要求要被满足,可以使用编程的选择,把微控制器5的内部SPI端口置于主方式或从方式。低有效XSS插头被微控制器5驱动到低,将其置为从方式。在一般的一次或几次读帧或读帧对的指令中,微控制器5通过把XSS驱动到低将其内部端口SPI置为主方式,并将ASIC XC4003E置为从方式。微控制器5然后向ASIC XC4003E串行地发送9个字节,72位指令。在所示的结构中,如果发送更多的位,则发送的最后72位是被捕获的位。指令字节首先被发送每个字节中的最高有效位,并且按照从第一到最后的顺序读帧计数、积分帧延迟、高行、模数行开始计数、低行、第二帧行偏移、高列、低列、和第二帧计数偏移。在指令传递阶段期间,微控制器5的主端口SPI利用数据驱动MOSI线路,并利用数据时钟驱动SPSCLK线路。在指令被传输之后,微控制器5把其内部的SPI单元改变为从方式,制备程序用于接收象素数据的字节,然后驱动XSS到高,这使得ASIC XC4003E处于主方式。作为响应,ASIC XC4003E输入RUNS状态,并当来自各个象素的电压被数字化时,把数字化的象素数据串行地传递回微控制器5。然后,ASIC XC4003E进入空载方式,直到从微控制器5收到另一个指令。在RUNS方式期间,ASICXC4003E是主,微控制器5是从,从而ASIC XC4003E利用来自象素的A/D读数的数据驱动MOSI线路,利用数据时钟驱动SPSCLK线路。实际上,在指令被完成并确定END之后,ASIC XC4003E作为主在非传递状态下继续驱动SPSCLK和MOSI,直到微控制器5驱动XSS为低。如果在指令完成之前XSS被确定为低,则其被中断。
微控制器5的SPI端口具有几种时钟方式,其中使用的一种是在空载状态下SPSCLK信号是高的。以ASIC XC4003E编程的用于SPSCLK插头的上升沿确保SPSCLK当SPI不处于主方式时停留在高。第一个选通的时钟状态当微控制器5的SPI或者ASCI中的SPI成为主时,并且一个以上的SPI端口在此时永远不成为主时,第一个选通的时钟状态应当是高。另外,时钟被这样构成,收到第一个转换是数据在MOSI线路上被驱动的下降沿。从时钟用于在时钟的随后的上升沿上的数据。应当在两个方向进行从一个时钟源到另一个时钟源的正确的仔细地确认,使得不丢掉被同步的数据位也不引入不需要的位。
在指令发送方式期间,ASIC XC4003E利用从前一个指令的执行移出的数据驱动MISO线路。微控制器5或者一个单独的测试设备可以选择地被编程,以便当下一个指令被加载时读取并确认这个数据。其继续仔细地检查ASIC逻辑的功能和与微控制器5的互连,因为大部分的数据通路以及微控制器在发送和接收端的通信对于预期的要被返回的72位值必须正确地进行。如果不使用这个特征,则不需要连接MISO插头。
再次参见图12c,OSC时钟信号被微控制器5的晶体振荡器驱动,对于这种应用其预期的操作范围是8-16兆赫。不过,可以使用宽范围的频率。OSC在焊盘513输入,并且频率被2分割,从而以正常的4-8兆赫在OSCD产生50%的占空比。OSCD在正常操作方式下不被中断。由微控制器5驱动的低有效的XSS信号被在焊盘514输入,该信号被由OSCD同步的D触发器511采样,从而产生NSSP,其被同步以便得到XSS输入,并且将值通过触发器512移位,从而产生NSSL,其是最后一个得到的XSS输入。当XSS输入对于至少两个相继的采样为低时,来自门515的LOAD信号为高。这相当于ASIC XC4003E的从状态,因而来自门516的MST是低的。在这种条件下,在插头521来自微控制器5的SPSCLK输入通过517,519和时钟缓冲器520被选通,用于驱动ASIC XC4003E的主CLK信号。因而,在这种方式下,系统时钟具有一个正时钟沿,用于指令字的每一位,其被从微控制器5串行地输入到ASIC XC4003E的MOSI焊盘524,不被送到串行接口块500的DIN插头。如图12b所示,在信号DIN中的数据在块500的输出插头改变名字成为SRCV,并被从块500的输出插头送到块502的SRCV输入插头,其是72位长指令字的输入点。在图12c,LOAD为高,MST为低,缓冲器522和523被禁止,使得SPSCLK和MOSI在LOAD操作期间不由ASIC XC4003E驱动。缓冲器525被LOAD高驱动,因而来自图12a的块505的SOUT通过块500的SOUT插头被选通,用于驱动到微控制器5的MISO返回线路。在块505中,信号NSSP被负沿触发的触发器驱动,从而建立合适的状态用于在MISO上被驱动的数据。当微控制器5把XSS从低驱动为高时,在NSSL之前一个时钟周期,信号NSSP被驱动为高,使得528的输出在一个时钟周期内为高。这个高值通过529加到527的D输入端,使得RUNS为高。由于通过529的反馈通路使RUNS保持为高,直到通过驱动XSS为低而产生另一个LOAD信号确定,或者通过530中ENDF信号的确定而发出指令正常结束信号时使527被复位为止。当从块501中收到END时,ENDF被设置,并被下一个LOAD指令清除。当XSS被驱动为高时,MST被确定,从而通过518、519、520选通OSCD以便为ASIC XC4003E驱动CLK。LOAD和MST与OSCD的同步以及去除一个和确定另一个之间的一个循环时钟周期确保了在微处理器的SPSCLK被响应时有一个完整的时钟转换。在RUNS或LOAD未被确定时SYNC被确定,并且被用作块501的软初始化,以便使串行位流中的字节定时和字节同步。
图12d-12e,六个触发器551-556组成一个环形计数器,它循环计数表550中所列的数值0到数值11共12个数字。当RUNS被确定时计数器循环全部12个状态,并且在RUNS未被确定的LOAD期间,门对557-560使得计数器循环表550中0到7前8个值。当LOAD或RUNS均未确定时,SYNC被确定以清除所有6个计数器的状态并使其保持在表550中的0状态。对于计数值0,FIRST被确定,它是用于在块502到505中并行处理信息的8个时钟的第一个。对于计数值7,LAST被确定,它是用于处理信息的8个时钟的最后一个。对于计数值8到11,CTLP被确立,它用来阻断当这些附加计数状态被使用时,用于并行处理的可用信号。对于第一个额外计数状态即寄存器可用端为不可用,CTL被确定。这种状态表示所有并行处理寄存器处在正常停止位置,对于这些位置,“行等高”,“列等高”,“溢出”状态被确定。它是12个计数周期之一,在这期间作出大部分控制决定,和由大量的触发器所表示的一样,所述触发器的选通由该信号控制。提供其它构成CTLPD 3个计数器9-11用于提供由LTC1196模数转换器所需的每个象素12个时钟。通过在逻辑上进行大的改变,这种计数方法可以只利用8个计数器工作,或者根据需要可以十分容易地被调节为每周9个或更多的计数,以便衔接其它装置例如模数转换器和电路的其余部分的操作。在LOAD阶段期间,不进行模数转换,并且不进行特定的处理决定,此外,CLK被直接从串行输入时钟得到,使得每位精确地具有一个时钟。这便是提供门对557-560,在串行加载阶段期间使计数器通过8个计数循环的原因。FIRST和LAST位指示符的产生继续被正确地产生,并被在串行指令加载操作中使用。
在RUNS阶段期间,在每个行的开始,加上5个象素的暂停时间。(该暂停是在第一行被处理之前一个短暂的时间。)这样作是为了提供时间在每行的积分时间的开始进行行复位,其被读出并产生一个信号序列,用于选通每个行的象素读数的值,以便在行的读序列开始时保持电容器。触发器570-575一般作为移位寄存器来构成,并且通过一个0的字段被移动1位,按照上述确定CTL选通信号的时钟发生移位。
在RUNS指令的开始处,当RUNS为低时通过设定确定STRT。它使触发器591在RUN序列的开始时的一个象素间隔被设定,并且这一个象素宽的确定时间通过触发器571-575而波动。RE4的确定使触发器585被设置,确定PXE和PXE的反馈使得该信号被维持直到由来自列处理块502的ACEH的确定表示行的结束。ACEH的确定表示行中的最后列正在被处理。触发器586在确定PX之前插入一个象素宽度延迟。门565对于每12个时钟周期象素时间中的所需的8个时钟周期,即,对于不被确定CTLPD 12个时钟周期中的8个,确定EPXC。EPXC被块502用于增加到下一个列的位置。当RUNS不被确定时,EPXC被连续地确定,以便当LOAD被确定时在指令输入期间选通块502。
ERWC由门566确定,以便在REO被确定时,并且只在两个帧的第二个的行被处理之后,如同要求确定SSFD所表示的在行间隔之间的开始处增加到下一行。只在12个时钟周期的8个期间,当CTLP不被确定时,再次确定ERWC。ERWC也在LOAD期间当RUNS不被确定时被确定。注意当只处理一帧时,被处理的是第二帧,使得ERWC在每行的结束被确定。当RUNS被确定时ERWC的选通被门569确定,并作为信号GINC被中断,这被附加地限制,以便仅当在确定RREH的最后行的末尾以及在行设置帧的末尾选通积分帧计数EIFC。读帧计数只在读帧的末尾当确定AREH时被增加,并且另外积分帧计数当由IFCOV被确定被完成,如确定IFCOV所表示的。EIFC和EAFC当RUNS为低时在加载期间确定。
当RUNS和SYNC都不被确定从而表示指令正在被加载时确定SLD。当所需的帧数被读出时确定预结束PEND,如正在和AREF一道被确定的RFCOV所表示的,这表示最后读帧设置已经被达到。附加的触发器在PEND被确定之后,并在提供一段时间以便完成最后的模数转换,并向微处理器5发出串行数据之后确定END。此处的定时是相当重要的,因为太多或太少的象素时钟在向微控制器串行发送象素读数时将引起帧误差。
触发器580记录选择的第二帧SSF指示,该指示被图12a的块502和503使用,并且也在下面讨论的图12d-e的逻辑中使用。当SSF被确定时,第二列和第二行偏移被加到基本的行和列选择上,从而处理在第二帧中的数据。在正常方式下,当SFM不被确定时,SSF被保持在0,并且第一帧的行被处理,此时不改变基本行的值,SSF被确定,并且第二帧的相应的行被处理,用这种方式,两个帧的相应的行的处理被交错进行,并且在相应行的处理之间的时间交错是短的,其等于处理两帧之一的时间。特意使用的双帧之一是要投影两个图像,除去在两个帧的一个上利用具有基本相同部分的颜色过滤器之外,两个图像是基本相同的。其中运动的影响和随时间而改变的强度的影响通过减小在相应的图像读数之间经过的时间而被减小。其中注意用于保留本发明的串行结构的许多特征的选择是把两帧分开,对它们作为一帧并行地驱动,其中具有施加于两帧之一的可能的记录偏移。此时读出也是并行的,并且整个行扫描次序更像扫描一帧的情况。
在图12d-12e中,当选择第二帧方式SFM被确定时,或者门584使SSF被继续设置,使得列和行偏移被加到整个指令上,并且只有第二帧的行被处理。在正常双帧方式下,当SFM不被确定时,禁止门或者门582触发580的设置,并在每行的开始处理SSF,除去当信号583DREO被确定时的每个第一行之外。触发器581输出信号SSFD,其是一个被延迟一个周期的SFF。这延迟的信号在例如门569的一些逻辑操作中是有用的。
参见图12g,触发器902记录RSR,其在帧处理间隔期间被确定,在此期间行被复位,从而开始积分间隔。触发器910记录ADR,其在读出每个行的期间被确定。门908和909确定REN,从而启动触发器控制RSR和ADR,以便记录一行,可能被改变和设置。在RUN被确定并且STRT仍然是高时,REN在每个指令执行周期开始被确定,并且由CTL时钟周期同步新的行的开始,如DREO的确定所表示的,因而完成第二帧的行的处理,如由SSFD的确定所表示的。
在指令执行的开始,并且在新的积分行复位帧的开始,RSR当STRT被确定时被设置(RREH在前一帧结束时被确定),同时完成帧的读出(ADR被确定),并且有另一个帧被读出(RFCOV不被确定)。RSR当符合以下条件时被复位即当达到复位帧的结尾时(RREH被确定),不再进行帧读出(ADR不被确定)以及STRT不被确定。当最后读出的最后一行在进行中时(PEND),RSR被保持复位,或者当指令不被执行时(NRUNS被确定),或者在积分间隔开始行的复位被禁止。
在读帧开始(AREH被确定)ADR被确定,并且不保留更多的积分帧间隔(IFCO被确定)。ADR在读帧开始(AREH被确定)并且积分帧延迟间隔被保留(IFCOV不被确定)时被复位。至于RSR,如果PEND或NRUNS被确定,则ADR被复位。ADR不由IRR的确定复位,而由禁止A/D读出(IAD不被确定)的确定复位。提供焊盘920-924用于和具有光二极管光位置的光位有源象素检测器互连。PG焊盘920对于光二极管的形式被接地,其驱动被说明了,其中具有逻辑部分,以便产生合适的控制方式用于检测器的不同的光门形式。在本例中不进行一般的复位,而是使用逐行复位,因此RESET插头921被接地。
为了复位一行,通过RCLK的正沿把要被复位的行数锁存在图12a的行选择寄存器块507中。这个寄存器的输出直接和ASIC XC4003E的行选择焊盘18,19,20,23,24,25和26相连,并被输入到图像阵列检测器3上的相应的行选择插头。在一个稳定时间之后,行复位RR信号在插头924上建立,插头924和图像阵列检测器3的相应的复位行输入相连。复位行RR信号被建立,以便在积分间隔开始使行复位,并且作为读出过程的一部分使行复位,从而使得在积分间隔之后通过在一个采样电容器上记录象素电压取得象素电压的不同的读数,然后使行复位,并在电容器对的第二个电容上记录该电压。对于每个象素列提供有一个这种电容器对,并且列选择功能接通在采样电容器对上的电压,用于对于图10a的放大器AD830的不同的输入所选择的列。上述过程可以消除当象素被复位时由改变0读出电压而引起的系统读数误差。
注意有两种不同的行地址,其必须被快速地建立,其中一个用于在积分间隔开始时要复位的行。这在5个象素周期的一个期间在为建立RRW的行开始时完成。RRW被图12d-12f的逻辑使用,并被输入到图12a的块503,以便选择一个合适的复位行和A-D读行地址。复位行地址被选择,以便只在RRW被建立时锁存入行选择寄存器507中,否则则选择用于A-D读出的行地址。
在构成象素时钟的周期的12个中的6个连续的时钟周期期间,CCA被建立。在任何先前的行和列时钟之后,大约4个CLK周期CCA被建立,并且大约在任何随后的行或列时钟之前2个时钟周期返回0,这使得得到一个好的信号,用于选通NSHS,NSHR和RR,使得当这些信号建立时行和列选择是稳定的。
NSHS是一个低有效信号,其选通来自选择行的信号,以便保持电容器,用于在图像阵列检测器3中的读出。NSHS被建立以便在行的预处理间隔期间当RE3和CCA被建立时读行。复位行RR在下一个象素间隔期间当RE4和CCA被建立时被建立。然后,低有效位信号NSHR被建立,以便在行被复位之后从所选的行到第二组保持电容器选通读操作,使得按照上述进行不同的读操作。NSHR被建立用于在下一个象素间隔当RE5和CCA被建立时复位行读操作。在行读出的开始,伴随着这个准备的序列列计数从选择行的第一列到最后列被改址,选通所选列的象素的保持电容器电压到差动放大器U6,使得正常的和复位的象素读数之间的差被放大,并被缓冲,并被送到例如型号为LTC1196的线性模数转换器的输入端。
参见图12f,触发器930在建立CTL的一个时钟周期之后的一个时钟周期使RCLK循环为高,以便在RSR和RRW被建立时把复位行值送到行输出寄存器。RCLK以类似方式被循环为高,从而当ADR和RE2被建立时使行同步读入输出寄存器。类似地,触发器931在CTL为高的一个时钟周期当ADR和PXE被建立时使CCLK循环为高,从而表示该帧正在被读出,并且该行的象素正在被转换。
CCLK仅当新的列地址被输入到输出寄存器时才被建立,从而将其输出到光位检测器,以便选择合适的象素读出。因而,CCLK也用于启动模数转换器的处理。触发器932作为脉冲扩展器和CCLKP持续11个时钟周期,其由紧跟的CCLK脉冲启动。触发器933有效地延迟CCLKP,并产生低有效信号NCS,其在ASIC XC4003E的焊盘938上输出,并被送到LTC1196模数转换器的的组合的芯片选择和开始转换插头。系统时钟LCK通过ASIC XC4003E97被送到LTC1196,并把转换的数据返回到ASIC XC4003E的焊盘939,并在正的时钟沿输入到触发器935。这用于重新建立相对于CLK和从门936得到的NDCLK的数据传输定时,并提供随数据传递的8个时钟脉冲,最后用于将其送到微处理器的SPI端口。
显然,按照上述教导,本发明可以作出各种改变和改型。因而,应当理解,在所附权利要求的范围内,本发明可以用和上述实施例不同的方案实施。
权利要求
1.一种用于控制有源图像象素阵列检测器并控制和微控制器通信的控制系统,所述控制系统包括双向接口,用于提供和所述微控制器的双向串行通信接口,用于从所述微控制器发送与接收数据;用于控制所述有源图像象素阵列检测器的装置;以及用于接收来自所述微控制器的串行指令字的装置,用于控制所述有源图像象素阵列检测器。
2.一种成像系统,包括由限定一个窗口的象素检测器阵列构成的图像检测器,在阵列中的每个象素检测器位于一个行地址和一个列地址上,图像检测器具有用于选择行地址的行输入和用于选择列地址的列输入,图像检测器通过操作产生用于根据入射到象素检测器上的光在选择的行地址和选择的列地址的象素检测器的象素输出信号;模数转换器,其和图像检测器通信,用于通过操作使输出信号数字化;处理器,其可通过操作产生用于成像系统的指令;以及控制系统,其和图像检测器、模数转换器、控制系统通信,其可通过操作(a)接收来自处理器的指令,(b)根据接收的指令确定图像检测器窗口的第一子窗口,以及(c)确定相应于子窗口中的每个象素的选择的行地址和选择的列地址。
3.如权利要求2所述的成像系统,其中处理器通过串行总线和控制系统通信。
4.如权利要求3所述的成像系统,其中串行总线可以操作用于从处理器向控制系统发送新的指令。
5.如权利要求4所述的成像系统,其中当新的指令从处理器向控制系统发送时,串行总线还可以操作用于从控制系统向处理器发送通过处理直接前面的指令而确定的结果,并且其中处理器可以操作以便使用从控制系统传递的结果作为一个诊断测试点。
6.如权利要求4所述的成像系统,其中串行总线和可以通过操作从控制系统向处理器传递数字化象素数据。
7.如权利要求3所述的成像系统,其中控制系统包括用于保持子窗口开始列地址的第一寄存器;用于保持子窗口结束列地址的第二寄存器;用于保持子窗口开始行地址的第三寄存器;用于保持子窗口结束行地址的第四寄存器。
8.如权利要求7所述的成像系统,其中控制系统还包括用于保持列偏移的第五寄存器;用于保持行偏移的第六寄存器;其中控制系统还可以操作用于使用第一子窗口的位置、列偏移和行偏移确定第二子窗口。
9.如权利要求8所述的成像系统,其中控制系统还可以操作用于在单子窗口操作方式和双子窗口操作方式之间转换。
10.如权利要求8所述的成像系统,其中控制系统还可通过操作交替地读出第一子窗口的至少一个象素检测器的输出信号,并读出第二子窗口的至少一个象素的输出信号。
11.如权利要求7所述的成像系统,其中每个象素检测器可以操作用于通过积分入射到象素检测器上的光产生一个信号,并且其中每行象素检测器具有复位信号,用于初始化一个积分间隔,控制系统还包括复位行计数器,其被初始化为由所述指令确定的值,复位行计数器周期地递增;转换行计数器,其被初始化为由所述指令确定的值,所述转换行计数器周期地递增;用于根据复位行计数器值发出象素检测器行复位的信号的逻辑;以及用于根据转换行计数器值发出象素检测器输出产生的信号的逻辑;借以由转换行计数器初始值和复位行初始值之间的差确定积分间隔。
12.如权利要求11所述的成像系统,其中访问在至少一个子窗口内的所有行所需的时间限定一个帧周期,控制系统还包括积分帧周期计数器,其被初始化为由所述指令确定的值,借以使积分时间延长由积分帧周期计数器确定的帧周期数。
13.如权利要求12所述的成像系统,其中在至少一个子窗口中的所有行的设置限定一帧,读帧包括产生帧中每个象素的象素输出信号,并且其中控制系统还包括帧读计数器,其被初始化为由指令确定的值,控制系统还通过操作根据帧读计数器的初始化值在结束指令之前确定要被读取的帧数。
14.如权利要求2所述的成像系统,其中模数转换器使用逐渐接近使输出信号数字化。
15.一种用于控制图像检测器的控制系统,其中图像检测器由象素检测器的阵列构成,所述阵列限定一个图像窗口,其中每个象素检测器具有行地址和列地址,并且其中每个象素检测器可以操作用于输出一个表示在一个积分间隔入射到象素检测器上的光的信号,控制系统包括用于和处理器通信的串行接口;多个和串行接口相连的寄存器,所述寄存器可以操作用于接收来自处理器的指令;和多个寄存器的至少一个相连的逻辑,所述逻辑可以操作用于根据接收的指令确定图像窗口的至少一个子窗口;以及和所述逻辑相连的输出端,其可以操作用于对相应于至少一个子窗口中的每个象素的图像检测器提供行地址和列地址。
16.如权利要求15所述的控制系统,其中至少一个子窗口包括第一子窗口,多个寄存器包括用于保持第一子窗口起始列地址的第一寄存器;用于保持第一子窗口结束列地址的第二寄存器;用于保持第一子窗口起始行地址的第三寄存器;用于保持第一子窗口结束行地址的第四寄存器。
17.如权利要求16所述的控制系统,其中多个寄存器还包括用于保持第二子窗口的列偏移的第五寄存器;用于保持第二子窗口的行偏移的第六寄存器;其中控制系统通过操作确定和第一子窗口分开的第二子窗口,其分开的列数由列偏移表示,分开的行数由行偏移表示。
18.如权利要求17所述的控制系统,其还可以操作用于在单子窗口操作方式和多子窗口操作方式之间转换。
19.如权利要求17所述的控制系统,其还可以操作用于交替地读出第一子窗口的至少一个象素检测器的输出和第二子窗口的至少一个象素的输出。
20.如权利要求16所述的控制系统,其中每行象素检测器具有复位信号,用于初始化一个积分间隔,控制系统还包括复位行计数器,其被初始化为由所述指令确定的值,复位行计数器周期地递增;读出行计数器,其被初始化为由所述指令确定的值,所述读出行计数器周期地递增;用于根据复位行计数器发出象素检测器行复位的信号的逻辑;以及用于根据读出行计数器值发出象素检测器输出的信号的逻辑;借以由读出行计数器初始值和复位行初始值之间的差确定积分间隔。
21.如权利要求20所述的控制系统,其中访问在至少一个子窗口内的所有行所需的时间限定一个帧周期,控制系统还包括积分帧周期计数器,其被初始化为由所述指令确定的值,借以使积分时间延长由积分帧周期计数器确定的帧周期数。
22.如权利要求15所述的控制系统,其中在至少一个子窗口中的所有行的设置限定一帧,读一帧包括产生来自该帧中每个象素的信号,并且其中寄存器组包括帧读计数器,其被初始化为由指令确定的值,控制系统还通过操作根据帧读计数器的初始化值在结束指令之前确定要被读取的帧数。
23.如权利要求15所述的控制系统,其中至少两个多个寄存器是移位寄存器。
24.如权利要求23所述的控制系统,其中至少两个移位寄存器是串联的,从而形成一个串联连接的寄存器,借以使指令数据被串行地移入寄存器。
25.如权利要求24所述的控制系统,其中至少两个移位寄存器可以操作而被重构,以便为用于确定至少一个子窗口的逻辑使用。
26.如权利要求23所述的控制系统,还包括模数转换器,用于对由行地址和列地址规定的象素的输出数字化。
27.如权利要求26所述的控制系统,其中模数转换器是逐渐接近模数转换器。
28.如权利要求25所述的控制系统,其中至少两个可重构的移位寄存器可以同时操作。
29.如权利要求24所述的控制系统,其中多个寄存器中的至少一个可以操作用于和串联连接的寄存器并行地接收指令的一部分。
30.如权利要求15所述的控制系统,其中串行接口是双向的。
31.如权利要求29所述的控制系统,还包括和串行接口相连的逐渐接近模数转换器。
32.如权利要求25所述的控制系统,其中移位寄存器串联的顺序使得消除单独的地址传输和译码。
33.一种用于控制汽车上的至少一个头灯的系统,包括和至少一个头灯相连的头灯控制单元,其通过操作用于响应一个控制信号控制至少一个头灯;和头灯控制单元相连的处理器,其通过操作能够处理至少一个图像,以便检测迎面而来的汽车的头灯和前方汽车的尾灯的存在,并产生所述控制信号;图像检测器,其由限定一个窗口的象素检测器阵列构成,在阵列中的每个象素检测器位于一个行地址和一个列地址,图像检测器具有用于选择行地址的行输入和用于选择列地址的列输入,图像检测器通过操作用于根据入射到象素检测器上的光产生对于在选择的行地址和选择的列地址上的象素检测器的象素输出信号,图像检测器通过操作用于观看汽车前方的情况;和图像检测器相连的模数转换器,其通过操作用于对输出信号数字化,并把数字化的输出信号传递到处理器;以及和图像检测器、模数转换器、以及处理器相连的控制系统,所述控制系统通过操作,用于(a)接收来自处理器的指令,(b)根据接收的指令确定图像检测器窗口的第一子窗口,以及(c)确定相应于子窗口中的每个象素的选择的行地址和选择的列地址。
34.如权利要求33所述的成像系统,其中处理器通过串行总线和控制系统通信。
35.如权利要求34所述的成像系统,其中串行总线可以操作用于从处理器向控制系统发送新的指令。
36.如权利要求35所述的成像系统,其中当新的指令从处理器向控制系统发送时,串行总线还可以操作用于从控制系统向处理器发送通过处理直接前面的指令而确定的结果,并且其中处理器可以操作以便使用从控制系统传递的结果作为一个诊断测试点。
37.如权利要求35所述的成像系统,其中串行总线和可以通过操作从控制系统向处理器传递数字化象素数据。
38.如权利要求34所述的成像系统,其中控制系统包括用于保持子窗口开始列地址的第一寄存器;用于保持子窗口结束列地址的第二寄存器;用于保持子窗口开始行地址的第三寄存器;用于保持子窗口结束行地址的第四寄存器。
39.如权利要求38所述的成像系统,其中控制系统还包括用于保持列偏移的第五寄存器;用于保持行偏移的第六寄存器;其中控制系统还可以操作用于使用第一子窗口的位置、列偏移和行偏移确定第二子窗口。
40.如权利要求39所述的成像系统,其中控制系统还可以操作用于在单子窗口操作方式和双子窗口操作方式之间转换。
41.如权利要求39所述的成像系统,其中控制系统还可通过操作交替地读出第一子窗口的至少一个象素检测器的输出信号,并读出第二子窗口的至少一个象素的输出信号。
42.如权利要求38所述的成像系统,其中每个象素检测器可以操作用于通过积分入射到象素检测器上的光产生一个信号,并且其中每行象素检测器具有复位信号,用于初始化一个积分间隔,控制系统还包括复位行计数器,其被初始化为由所述指令确定的值,复位行计数器周期地递增;转换行计数器,其被初始化为由所述指令确定的值,所述转换行计数器周期地递增;用于根据复位行计数器值发出象素检测器行复位的信号的逻辑;以及用于根据转换行计数器值发出象素检测器输出产生的信号的逻辑;借以由转换行计数器初始值和复位行初始值之间的差确定积分间隔。
43.如权利要求42所述的成像系统,其中访问在至少一个子窗口内的所有行所需的时间限定一个帧周期,控制系统还包括积分帧周期计数器,其被初始化为由所述指令确定的值,借以使积分时间延长由积分帧周期计数器确定的帧周期数。
44.如权利要求33所述的成像系统,其中在至少一个子窗口中的所有行的设置限定一帧,读帧包括产生帧中每个象素的象素输出信号,并且其中控制系统还包括帧读计数器,其被初始化为由指令确定的值,控制系统还通过操作根据帧读计数器的初始化值在结束指令之前确定要被读取的帧数。
全文摘要
本发明公开了一种控制系统(1,2)用于控制图像阵列检测器(3)并通过串行通信接口(6)控制图像阵列检测器(3)和微控制器(5)之间的通信。控制系统(1,2)能够有效地控制图像阵列检测器(3)的各个方面,例如开窗口、操作方式、灵敏度以及其它参数,以便减少数据输出量。本发明的一个重要方面涉及这样的事实,即,控制电路(1,2)可以相当容易地且相当高效地以CMOS的形式构成,其具有相当少的输出插头,能够使控制电路(1,2)容易而有效地和基于CMOS的图像阵列检测器(3)甚至和微控制器(5)集成在一起,从而减少元件数量,因而降低整个系统的成本。
文档编号H04N5/335GK1270736SQ98809195
公开日2000年10月18日 申请日期1998年9月15日 优先权日1997年9月16日
发明者J·H·贝赫特尔, J·S·斯塔姆 申请人:金特克斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1