《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 微波|射頻 > 設(shè)計應(yīng)用 > 基于VerilogHDL的CMOS圖像敏感器驅(qū)動電路設(shè)計
基于VerilogHDL的CMOS圖像敏感器驅(qū)動電路設(shè)計
摘要: 本文就STAR250這款CMOS圖像敏感器,,給出使用Verilog HDL語言設(shè)計的邏輯驅(qū)動電路和仿真結(jié)果,。
關(guān)鍵詞: 傳感器 CMOS 圖像敏感器 Verilog CCD
Abstract:
Key words :

  CMOS圖像敏感器是近年來興起的一類固態(tài)圖像傳感器。CMOS圖像敏感器具有低成本,、低功耗(是CCD耗的1/1000~1/100),、簡單的數(shù)字接口、隨機訪問,、運行簡易(單一的CMOS兼容電池供給),、高速率(可大于1000幀/秒)、體積小以及通過片上信號處理電路可以實現(xiàn)智能處理功能等特點而得到廣泛應(yīng)用,。有些CMOS圖像敏感器具有標準的I2C總線接口,,可方便應(yīng)用到系統(tǒng)中。有些沒有這類總線接口電路的專用CMOS圖像敏感器需要增加外部驅(qū)動電路,。由于CMOS敏感器的驅(qū)動信號絕大部分是數(shù)字信號,,因此可采用FPCA通過Verilog HDL語言編程產(chǎn)生驅(qū)動時序信號。Verilog HDL語言是IEEE標準的用于邏輯設(shè)計的硬件描述語言,,具有廣泛的邏輯綜合工具支持,,簡潔易于理解,。本文就STAR250這款CMOS圖像敏感器,給出使用Verilog HDL語言設(shè)計的邏輯驅(qū)動電路和仿真結(jié)果,。

  1 CMOS圖像敏感器STAR250

  STAR250是一款專為衛(wèi)星天文導(dǎo)航的星跟蹤器(tracker)設(shè)計的CMOS圖像敏感器,。由于太空中含有大量輻射,芯片中加入了抗輻射電路以提高空間應(yīng)用的可靠性,。STAR250的技術(shù)指標如下:

  (1)0.5μm CMOS工藝,;

  (2)512x512分辨率,像素大小25μmx25μm,;

  (3)每個像素4個光敏二極管,,提高MTF(幅值轉(zhuǎn)換功能)和減少PRNU(非均一化光響應(yīng));

  (4)抗輻射設(shè)計,;

  (5)片上雙采樣電路抵消FPN(固定模式噪聲),;

  (6)電子快門:

  (7)最大30幀/秒;

  (8)可以取子窗口,;

  (9)片上10位ADC,;

  (10)陶瓷JLCC-84針封裝。

  STAR250是有源像素的線掃描CMOS圖像敏感器,。所有像素的輸出都連接到列總線,,并且在列總線上每例都有一個列放大器。使用二次采樣技術(shù),,控制列放大器可以從讀出信號中減去光敏單元上一次采集殘留的電荷,。片上ADC獨立于敏感器,可以使用也可以通過軟件關(guān)閉,,而用外部的ADC,。STAR250為了應(yīng)用方便有多種讀出數(shù)據(jù)的方法(窗口方式、電子快門等),,不同的讀出方式有不同的時序要求。

  傳統(tǒng)的計算機或打印機的圖像座標系定義左上角為原點(0,,0),,在STAR250中定義右上角為原點(0,0),,如圖1,。這樣敏感器輸出數(shù)字信號后能夠方便地轉(zhuǎn)換為計算機格式的圖像,方便后續(xù)的處理,。窗口掃描方式是從上向下,、從左向右一個像素一個像素地掃描。

像素分布圖

  2 STAR250時序信號

  STAR250通過兩個步驟完成圖像的采集,。第一步是逐行掃描RESET像素,。行內(nèi)像素RESET后,本行自上一次RESET或讀出后積累的所有光敏電荷被排空。從RESET行像素開始新的曝光周期,。第二步是本次曝光周期數(shù)據(jù)讀出,。以電壓的形式讀出,然后經(jīng)過ADC轉(zhuǎn)換為數(shù)字量,。由于電荷采用排出式讀取,,CMOS圖像敏感器的像素讀出不可恢復(fù),讀取過程也相當于RESET像素,,所以CMOS敏感器行RESET的速度與讀取速度一樣,。

  STAR250通過三個指針標定整個圖像地址:Yrd當前掃描行,Yrst當前RESET行,,Yrd當前讀出像素,。這三個指針都有相應(yīng)的移位寄存器,通過設(shè)置這三個寄存器的初始值可以調(diào)整采集窗口的大小和位置,。圖像采集的流程圖如圖2,。每秒鐘的圖像幀數(shù)通過設(shè)置Yrd和Yrst進行控制,曝光周期也由這兩個量控制,。這個時間量可以用空間距離(行距)表示,,定義DelayLines=︱Yrst-Yrd+︱。由于每一行的RESET和讀取時間是固定的,,所以DelayLines如果固定那么幀率也就固定了,。將DelayLines轉(zhuǎn)換成像素的有效積分時間(曝光時間),是將Delay-Lines乘以讀取一行像素所用的時間,。讀取一行像素所用的時間由四部分組成:(1)行中有效像素的個數(shù)(由行的長度定義),;(2)讀取一個像素所用的時間;(3)像素累積電荷轉(zhuǎn)換為數(shù)字量的時間,;(4)選擇新一行所用的時間,。例如在主時鐘頻率為12MHz時,像素的輸出頻率為主時鐘的二分頻6MHz,,因此一行像素所需要的時間為512×1/6MHz=85.3μs,。再加上換行所需時間,一行像素的讀取時間大約90μs左右,。因此可以根據(jù)這個時間設(shè)置DelayLines來控制曝光時間,。

圖像采集的流程圖

  3 Verilog HDL驅(qū)動時序設(shè)計

  經(jīng)過以上分析可知,CMOS圖像敏感器采集時可以分為RESET過程和采集過程,。時間上兩個過程是獨立的,,如圖3。但在FPGA內(nèi)部處理這兩部分的電路物理上是同時存在,,因此必須將相應(yīng)的信號通過置標志位的方法置為有效或無效,。

CMOS圖像傳感器采集過程示意圖

  STAR250所需數(shù)字驅(qū)動信號共28個,,其中SELECT信號在正常使用時,直接接PCB板的Vcc,。因此需FPGA控制的驅(qū)動信號有27個,。根據(jù)采集過程可以把信號劃分為列放大器信號,包括CAL,、Reset,、Lr、S,、R,、LdY。這6個信號在每一行的初始化部分都要用到,,因此可以編寫到一個模塊(ColControl)中,;模式信號(PaternCtrl)模塊用來設(shè)置CMOS敏感器的工作模式及初始地址,包括G0,、G1,、Bitlnvert和Addr[8:0]共12個信號。其中G0,、G1用來設(shè)計輸出的放大倍數(shù),,BitInvert用于將輸出取反,Addr[8:0]則設(shè)置采集的起始地址,;行讀出信號控制模塊(YlCtrl)產(chǎn)生行讀出地址的同步信號SyncYl及時鐘驅(qū)動信號ClkYl,;行RESET信號控制模塊(YrCtrl)產(chǎn)生行RE-SET地址的同步信號SyncYr及時鐘驅(qū)動信號ClkYr;像素控制模塊(RowCtrl)產(chǎn)生行內(nèi)像素初始地址的裝載信號LdX及同步信號SyncX,;行內(nèi)時鐘信號模塊(RowClk)產(chǎn)生列內(nèi)像素的時鐘驅(qū)動CLKX,、ADC驅(qū)動時鐘信號CLkAdc及輸出三態(tài)控制信號TriAdc。系統(tǒng)的輸入信號為主時鐘CLK,、EosX行內(nèi)像素結(jié)尾信號,、EosYl幀內(nèi)行結(jié)尾信號、EosYr幀內(nèi)RESET行結(jié)尾信號,、芯片的RESET信號,。經(jīng)過這樣劃分后的模塊化Verilog程序就比較易寫了。經(jīng)過頂層模塊綜合生成的網(wǎng)表如圖4,。布線仿真時序圖如圖5,其中時鐘信號過于密集變成黑色帶狀,,同樣輸出時鐘CIkX及ClkAdc也是黑色帶狀,。在時序上ClkX與ClkAdc是反相關(guān)系,在TriAdc保持低電平時輸出有效,。所設(shè)計的驅(qū)動信號仿真波形與理論波形十分符合,。這樣就完成了STAR250的時序驅(qū)動電路設(shè)計,。

 

經(jīng)過頂層模塊綜合生成的網(wǎng)表

布線仿真時序圖

  使用Verilog語言設(shè)計時序邏輯具有很高的效率。結(jié)合CMOS敏感器特性可以方便地開發(fā)出驅(qū)動時序電路,。但必須對CMOS圖像敏感器的信號分析準確,,正確分離那些獨立的信號和共用的信號,用時序邏輯設(shè)計驅(qū)動信號,,用組合邏輯實現(xiàn)不同采集過程時間上的分離,。布線延遲是必須考慮的,采用流水線技術(shù)可以預(yù)測延遲,,保證信號的正確性,。雖然文中并未給出像素ADC輸出的存儲電路,但實際上直接使用TriAdc信號作為SRAM的片選,,ClaAdc的低電平作為寫信號,,SRAM的地址在ClkAdc的上升沿增加、下降沿寫入,。這樣就可以完成圖像數(shù)據(jù)的存儲,。以上Verilog程序在FLEXl0kl0上布線實現(xiàn)。經(jīng)示波器觀察邏輯正確,,CMOS敏感器正常工作,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。