传统的计算机或打印机的图像座标系定义左上角为原点(0,0),在STAR250中定义右上角为原点(0,0),如图1。这样敏感器输出数字信号后能够方便地转换为计算机格式的图像,方便后续的处理。窗口扫描方式是从上向下、从左向右一个像素一个像素地扫描。

CMOS图像敏感器STAR250的的逻辑驱动电路设计和仿真

2、STAR250时序信号

STAR250通过两个步骤完成图像的采集。第一步是逐行扫描RESET像素。行内像素RESET后,本行自上一次RESET或读出后积累的所有光敏电荷被排空。从RESET行像素开始新的曝光周期。第二步是本次曝光周期数据读出。以电压的形式读出,然后经过ADC转换为数字量。由于电荷采用排出式读取,CMOS图像敏感器的像素读出不可恢复,读取过程也相当于RESET像素,所以CMOS敏感器行RESET的速度与读取速度一样。

STAR250通过三个指针标定整个图像地址:Yrd当前扫描行,Yrst当前RESET行,Yrd当前读出像素。这三个指针都有相应的移位寄存器,通过设置这三个寄存器的初始值可以调整采集窗口的大小和位置。图像采集的流程图如图2。每秒钟的图像帧数通过设置Yrd和Yrst进行控制,曝光周期也由这两个量控制。这个时间量可以用空间距离(行距)表示,定义DelayLines=︱Yrst-Yrd+︱。由于每一行的RESET和读取时间是固定的,所以DelayLines如果固定那么帧率也就固定了。将DelayLines转换成像素的有效积分时间(曝光时间),是将Delay-Lines乘以读取一行像素所用的时间。读取一行像素所用的时间由四部分组成:(1)行中有效像素的个数(由行的长度定义);(2)读取一个像素所用的时间;(3)像素累积电荷转换为数字量的时间;(4)选择新一行所用的时间。例如在主时钟频率为12MHz时,像素的输出频率为主时钟的二分频6MHz,因此一行像素所需要的时间为512×1/6MHz=85.3μs。再加上换行所需时间,一行像素的读取时间大约90μs左右。因此可以根据这个时间设置DelayLines来控制曝光时间。

3、Verilog HDL驱动时序设计

经过以上分析可知,CMOS图像敏感器采集时可以分为RESET过程和采集过程。时间上两个过程是独立的,如图3。但在FPGA内部处理这两部分的电路物理上是同时存在,因此必须将相应的信号通过置标志位的方法置为有效或无效。