基于CPLD的全幀型CCD圖像傳感器驅動系統(tǒng)設計
0 引 言
電荷耦合器件(Charge Coupled Devices,CCD)是20世紀70年代初發(fā)展起來的新型半導體集成光電器件。作為一種新型的MOS器件,與普通MOS器件相比,具有集成度更高、功耗更低、設計更簡單、制造工序更少等優(yōu)點。隨著航天技術的發(fā)展,在航天器高姿態(tài)和高準確度測量、空間遙感和對地觀測等領域中,性能優(yōu)越的CCD相機越來越多地得到了應用。
在此,將CCD應用于數(shù)字航測相機中。數(shù)字航測相機是基于數(shù)字相機的基本原理,將圖像以數(shù)字信息的形式存儲、轉移,并與地面實現(xiàn)通信。CCD圖像傳感器是相機的眼睛,它對相機的性能起到非常關鍵的作用,因此,實現(xiàn)電子掃描功能的CCD驅動電路是數(shù)字航測相機系統(tǒng)設計的關鍵。
DALSA公司的FTF4052M 22M Full-Frame型CCD是一款全幀型CCD圖像傳感器。這里在分析該器件的工作過程中,以及對驅動信號的要求后,采用了基于可編程邏輯器件(CPLD)技術,將CCD驅動電路集成在一塊芯片上,實現(xiàn)了CCD圖像傳感器的驅動電路,并且結合Ahera公司的EPM7160SLC84-10完成了硬件電路的設計。
1 全幀型CCD驅動時序發(fā)生器原理
1.1 FTF4052M芯片介紹
FTF4052M是22兆像素(4 008 pixel×5 334 pix-e1)的超大分辨率全幀CCD圖像傳感器,其內部結構如圖1所示。
其主要特性如下:
(1)36 mm×48 mm的光敏面;
(2)優(yōu)異的抗光暈性能;
(3)22兆有效像素(8H×5 344 V);
(4)可實現(xiàn)垂直子采樣;
(5)高的線性動態(tài)范圍(>72 dB);
(6)數(shù)據(jù)傳輸率高達27 MHz;
(7)可實現(xiàn)單路,雙路和四路同時輸出。
該芯片在結構上分為3部分,中間最大的區(qū)域為光敏區(qū),即光積分區(qū)域;上下兩部分為兩個輸出寄存器。將光積分生成的電荷水平轉移到4個角的輸出放大器,輸出放大器將光生電荷形成的電壓信號放大并轉移出CCD。
C1,C2,c3為水平像素轉移寄存器的時鐘信號。A1,A2,A3,A4為垂直行驅動時鐘信號。TG是光敏區(qū)與輸出寄存器之間的隔柵;OG是輸出柵;sG是輸出柵之前的最后一個柵;RG是輸出放大器。該芯片的最大特點是將光敏區(qū)生成的圖像分成W,X,Y,Z四個對稱的象限,每個象限的電荷可以以不同的方向轉移,通過四個輸出端同時輸出,有效地提高了幀速率,單端輸出的幀速率為1幀/s,而四端同時輸出就可以達到3.6幀/s。
1.2 幀轉移時序分析
CCD的整個幀轉移時序如圖2所示,主要分為3個階段,而且這三個階段是周期進行的。在此,把空閑模式階段定義為第一階段,在CCD芯片空閑模式下,A時鐘信號全部保持低電平??臻e模式后,CCD芯片開始進入第二階段,即光積分階段。
如圖2所示,SSC為系統(tǒng)內部基準時鐘信號,用于校準整個CCD的時序。VA high是控制四組A時鐘的高低電平轉換信號;TG信號的相位和頻率與A1完全一致。由于CCD芯片F(xiàn)TF4052M發(fā)球全幀CCD芯片,光敏面占CCD面積的大部分,為了得到100%的污染點圖像,必須加上機械快門。它的開啟由Trig-in信號完成。當Trig-in信號上升沿到來時,觸發(fā)快門使之進行開啟動作,CcD準備進行光積分。在Trig-in信號上升沿之后,當基準時鐘信號SSC的第一個上升沿到來時,產(chǎn)生脈沖寬度為190.6 ps的信號CR,用于對CCD進行初始化。當CR脈沖到下降沿時,快門徹底打開,ccD正式進入光積分階段。A1繼續(xù)保持低電平;A2,A3,A4上升為高電平。因為CCD芯片中的每個像素都可以看作是由四個柵極(每個柵極連接一相時鐘信號)“覆蓋”的,而且像素之間必須分離開,水平方向上可以通過溝道隔離像素。為了將像素與像素在垂直方向上隔離開,必須將四個柵極中的某一個柵極電壓變?yōu)榱?。在該系統(tǒng)應用中,將A1保持低電平,以起到像素隔離的作用。然而光生電荷在保持高電平的A2,A3,A4柵極下積聚起來,形成信號電荷包。
光積分結束后進人第三階段,即幀轉移階段,而幀轉移又可以看成是垂直行轉移和水平像素轉移交替進行的,它們之間的轉換通過SSC電平的高低轉換實現(xiàn)。
SSC上升沿的到來標志著一次水平像素轉移的結束和一次垂直行轉移的開始,CCD像素垂直方向的行轉移是由A1,A2,A3,A4等時鐘及像素傳輸門TG時鐘來完成的,其頻率都為50 kHz,且四相A時鐘信號要滿足嚴格的交迭原理。在SSC保持高電平時,如圖3所示,光敏區(qū)里已經(jīng)生成的電荷包在四相A時鐘信號的驅動下逐行地向上和向下轉移到輸出寄存器。
SSC下降沿到來時,標志著一次垂直行轉移的結束和一次水平像素轉移的開始,CCD像素水平方向像素的轉移是由C1,C2,c3等時鐘來完成的,信號頻率都為25 MHz。其轉移原理與垂直行轉移原理一樣,三相C時鐘信號亦要嚴格滿足三相交迭原理。如圖4所示,輸出寄存器就是在三相C時鐘信號的驅動下將這一行逐個像素向輸出放大器轉移的。
RG(Reset Gate)是通過復位管對輸出放大器的浮置擴散電容(Floating Diffusion Capacitante,F(xiàn)D)進行復位的信號,其中FD可以將接收到的電荷包轉換為電壓信號。復位后FD可以接收下一個電荷包。SG(Summing Gate)是在輸出柵OG之前的最后一個柵,SG信號和RG信號的相位與C3信號的相位相同。一行電荷包經(jīng)過輸出放大器的轉換和放大后,以電壓信號的形式從CCD輸出。接下來再進行下一行的垂直行轉移和水平像素轉移輸出,直到將光敏面上的所有5 356行電荷包輸出完畢為止。由此可見,整個一幀圖像是在A時鐘信號和C時鐘信號的交替驅動下從CCD芯片的輸出放大器輸出而完成幀轉移的。
2 驅動系統(tǒng)設計
隨著大規(guī)??删幊唐骷难杆侔l(fā)展和廣泛使用,傳統(tǒng)的通過TTL標準電路構成的積木式電路系統(tǒng)已經(jīng)慢慢被淘汰。目前較為流行的CCD驅動電路設計方案一般有兩種:一是用FPGA或者是CPLD產(chǎn)生CCD的時序驅動信號,以及用模擬電路(功率放大晶體管和電位器)實現(xiàn)對CCD的直流電平驅動信號;另一種則是用專用的CCD驅動芯片,實現(xiàn)對CCD的驅動。前者要求開發(fā)者對硬件描述語言熟悉,而且實現(xiàn)靈活,集成度高,方便功能的升級和擴展;后者則只需對寄存器進行設置,編程較為簡單,但是可擴展性稍差。在此,采用Altera公司EPM7160SIC 84-10型可編程邏輯器件(CPLD),使用Altera公司的QuartusⅡ集成開發(fā)環(huán)境,并通過與微機相連的下載線實現(xiàn)CPLD的燒寫和在線編程。頂層的設計采用原理圖輸入,設計出各個功能模塊,然后再使用硬件描述語言(VHDL)對各個功能模塊編程的自上而下的開發(fā)方法,實現(xiàn)了高層次復雜邏輯的設計,從而實現(xiàn)了硬件設計的軟件化。
通過對該CCD芯片的了解,將頂層設計分為3個功能模塊,分別為倍頻模塊(模塊1)、光積分時間控制及快門控制模塊(模塊2)、幀轉移模塊(模塊3),各功能模塊的關系如圖5所示。模塊1為倍頻模塊,通過調用該模塊,可產(chǎn)生幀轉移所需的頻率脈沖信號。由于CPLD芯片一般不帶有PLL模塊,故可采用延時加異或的方式來實現(xiàn)倍頻。不過目前較新的CPLD,如Lattice的MachXo系列器件則可直接調用PLL,此處不再贅述。模塊2為光積分時間及快門控制,通過拍照指令產(chǎn)生CR脈沖信號,對CCD進行初始化,并生成一個在光積分期問保持高電平的使能信號ENA。將ENA分別發(fā)送至模塊1和模塊3。CR信號和ENA可通過對按鍵信號Trig—in的延遲處理來實現(xiàn),也較為簡單。該設計中最關鍵的是幀轉移模塊。其原理主要是利用3個計數(shù)器進行相互嵌套,從而產(chǎn)生所需的驅動信號,其簡易流程如圖6所示。
首先由CLK時鐘產(chǎn)生模6計數(shù)器sell、模4764計數(shù)器sel2和模6計數(shù)器sel3。由于sell和sel2相互作用,當滿足ENA=1且sel2≥683(由圖3可得出)時,則相應可產(chǎn)生C1,C2,c3信號值,否則全部賦為0。而A1,A2,A3,A4則是在SEL2和SEL3的共同作用下,將主時鐘信號進行分頻后作為時鐘,在滿足圖6中所羅列的條件后,根據(jù)SEL2值的變化即可給出A1~A4的值。
采用這種模塊化的設計,其光積分時間、行轉移頻率和像轉移頻率、行轉移數(shù)和每行像素轉移數(shù)均可調整,程序的移植性較好,可適用于不同的需要,而且也方便調試。
3 實驗結果分析
對程序進行系統(tǒng)仿真后的時序圖如圖7所示??煽闯鲈摃r序符合CCD芯片的datasheet要求。將編譯好的程序下載到CPLD中,通過示波器可以得到所需的驅動信號,如圖8所示。
在實驗中發(fā)現(xiàn),雖然軟件仿真中各個驅動信號能夠嚴格符合CcD4052M要求的時序關系,但是實際輸出到CCD信號的驅動信號卻仍然有不同程度的延時。這主要是由兩方面的原因引起的。首先,由于在設計初期采用的是集成開發(fā)環(huán)境下行為級的仿真功能,仿真過程不包括延時信息,只為驗證代碼行為的正確性,可以做到與器件無關,所以CPLD的輸出會與仿真結果有所差異;其次,CCD驅動信號由CPLD產(chǎn)生后,需要經(jīng)過后續(xù)的模擬驅動電路,由于電子器件本身的特性和差異,造成了抵達CCD管腳的驅動信號具有不同的延時。其中,第一種誤差可以通過進行集成開發(fā)環(huán)境下的時序級仿真解決。這種仿真為設計的每一個底層器件加入了延時信息,可以模擬到比較接近實際電路的行為。第二種誤差因電子器件本身造成的,存在個體性差異,無法進行精確的計算。解決方法是在電路設計中加入延時芯片,通過實際測量,設定不同延時芯片的延時,校正各個驅動信號間的誤差。
4 結 語
該CCD驅動系統(tǒng)采用CPLD芯片進行設計,具有性能好,功耗低,體積小的特點。該驅動電路的研制結果表明,采用CPLD專用集成芯片進行系統(tǒng)設計有它自身的優(yōu)點,可以簡化設計,并且調試簡單,可擴展性也比較強。