程瑤,周娜,王榮秀
(1.重慶理工大學機械工程學院,重慶400050;2.重慶工商大學,重慶400067)
基于FPGA的線陣型CCD驅動電路設計*
程瑤1*,周娜1,王榮秀2
(1.重慶理工大學機械工程學院,重慶400050;2.重慶工商大學,重慶400067)
CCD驅動電路的設計是實現(xiàn)CCD各種設計功能的關鍵性因素,只有對其驅動信號設計的嚴格把關,才會進一步保證CCD器件后續(xù)工作的開展。分析線陣CCD器件TCD1703C的驅動時序要求,采用QuartusⅡ軟件,選用Verilog HDL語言設計了各路驅動時序信號。將程序設計下載到FPGA器件中,通過邏輯分析儀對輸出信號進行了波形監(jiān)測,驗證了線陣CCD的驅動時序設計的可行性。將產生的驅動時序信號接入CCD器件,不同光照入射的條件下,CCD在驅動信號的驅動下,正常工作并輸出了相應的視頻信號。
CCD;驅動電路;FPGA;QuartusⅡ;Verilog HDL
CCD圖像傳感器是利用光電轉換原理將圖像信號轉變?yōu)殡娦盘?,在各領域都得到了廣泛的應用,備受人們的廣泛關注[1]。CCD器件正常工作的前提是CCD驅動電路中各驅動脈沖的嚴格性設計。CCD的工作狀態(tài)與其驅動時序密切相關。只有在嚴格滿足驅動時序要求的基礎上,CCD的轉換效率、信噪比、光電轉換特性等指標才能達到最佳狀態(tài)[2]。這些驅動信號提供CCD正常工作的驅動時序,也可以在后續(xù)的信號處理電路中提供一些控制性信號,更可以在圖像采集處理過程中提供同步信號。
因此驅動時序電路的設計是CCD器件應用的關鍵性因素[3]。驅動時序電路的設計重點又落腳到各個驅動信號的高低電平時間周期性的控制設計。只有對其驅動信號設計的嚴格把關,才會進一步保證CCD器件后續(xù)工作。CCD中各個像元對不同強度的光產生不同的模擬電荷信號,在FPGA產生的驅動時序作用下,CCD才能將模擬電荷信號串行移位輸出[4]。
CCD驅動時序設計方法并不單一,不管是線陣還是面陣的CCD,它們的驅動時序都是具有周期性的特定電壓電平信號。CCD的驅動時序產生方法主要有以下4種:直接數(shù)字電路(IC)驅動法、單片機驅動法、EPROM驅動法、可編程邏輯器件法等[5]。
近些年來,隨著可編程器件的高速發(fā)展,F(xiàn)PGA因其高速并行處理方式,極強的編程靈活性,十分適合用來產生CCD的驅動時序[6]。FPGA是一種可以根據用戶的自我需要自行改造相應邏輯功能的數(shù)字集成電路。利用FPGA器件設計驅動電路,可以大大縮減電路板的制作成本(需要體積小),無需外部芯片,提供軟件仿真功能,適合完成各種算法和組合邏輯,可靠性以及靈活性都比較高,重新修改原理圖或硬件描述語言即可完善設計。同時還可以為圖像信號的采集提供時鐘以及其他電路的時序匹配[7]。因此本文采用FPGA驅動法進行線陣CCD驅動時序信號的設計中,選用Verilog HDL語言對時序發(fā)生器進行了硬件描述以及QuartusⅡ軟件對時序進行了功能仿真。
2.1 TCD1703C線陣CCD驅動時序要求
TCD1703C是一款敏感度較高、暗電流較小的7500元線陣CCD圖像傳感器。它是典型的奇偶雙溝道轉移并行輸出的二相CCD。主要用于圖像掃描、字符識別以及復制,特別適用于檢測高速運動物體圖像。TCD1703C結構原理圖如圖1所示。CCD的驅動脈沖波形圖如圖2所示。TCD1703C的驅動信號由5路脈沖構成,CCD驅動電路產生的轉移信號、傳輸信號、采樣保持信號和復位信號等[8]保證CCD器件正常工作。
圖1 TCD1703C結構原理圖
圖2 TCD1703C驅動脈沖波形圖
TCD1703C的光積分時間為兩個SH的脈沖間隔。電荷轉移需要的時間是SH脈寬的長度,實現(xiàn)存儲電荷轉移到模擬移位寄存器的功能。Ф1E、Ф2E使得模擬移位寄存器的電荷信號移動并且輸出,在轉移脈沖處在高電平及上升沿、下降沿這些期間時這兩個脈沖必須是反向的。RS為復位信號,復位一次即向外輸出一個信號,時序設計中CP的相位較RS稍落后。并且SH為高電平時RS要保持在低電位。該線陣CCD先輸出127個啞元,接著才輸出7 500個有效像元,緊接著再輸出23個啞元,最后輸出空驅動信號(空驅動的個數(shù)是可以任意的)。
2.2 TCD1703C驅動電路程序設計
依據TCD1703C的驅動時序要求,設計時選用時鐘clk頻率為10 MHz,Ф1E,Ф2E,RS,CP頻率均為1 MHz(周期為1μs),所以需要對時鐘clk進行10分頻計數(shù)。由此也可計算得到初始階段SH為16個clk周期,Ф1E/Ф2E為26個clk周期,RS以及CP為20個clk周期。
程序設計說明:①SH初始階段的高電平時間段選用count值為(11~26)之間,CCD驅動剩下的周期內都為低電平;②Ф1E/Ф2E初始階段的高/低電平時間段選用count值為(5~30)之間,并且在該驅動脈沖中占空比值為1∶1(例:計數(shù)值段為(31~35)邊界內設置為低電平,計數(shù)值段為(36~40)邊界內設置為高電平);③RS初始階段的低電平時間段選用count值為(6~25)之間,CP初始階段的低電平時間要比RS落后一點,所以選用count值為(7~26)之間,兩者的占空比設置為3∶7。
程序設計采用Verilog HDL語言進行描述,各路驅動信號時序圖的產生主要通過5個always進程來實現(xiàn)[9-11]。在程序設計中有一個計數(shù)器count,TCD1703C雖然有7 500個像元輸出但是是通過奇、偶移位寄存器來實現(xiàn)輸出的,勢必脈沖數(shù)的個數(shù)相應就可以減少一半,加上是對時鐘clk的10分頻計數(shù),最終選定count=38 300作為CCD的完整的一次圖像轉換輸出5路驅動信號進程的流程圖如圖3所示。
圖3 TCD1703C驅動信號的程序設計流程圖
2.3 驅動電路設計結果
采用QuartusⅡ軟件對驅動時序發(fā)生器進行了功能仿真。仿真結果如圖4~圖6所示。
從仿真結果來看,設計產生的5路驅動信號符合TCD1703C的驅動信號要求,從理論驗證了該設計方案的可實施性。將輸入輸出信號進行引腳綁定之后,并通過JTAG下載光纜將程序“燒寫”入實際的FPGA硬件芯片中,采用邏輯分析儀進行觀察,波形輸出如圖7、圖8所示,與仿真結果一致。
圖4 驅動電路總體波形圖
圖5 驅動電路起始部分信號波形圖
圖6 驅動電路感光結束部分信號波形圖
圖7 感光階段各驅動脈沖信號輸出波形
圖8 仿真的總體波形
邏輯分析儀觀察結果,SH的高電平時間是較于Ф1E、Ф2E驅動信號高/低電平的中間,CP的相位較RS稍落后,并且SH保持在高電平時RS保持在低電平。從波形中可觀察Ф1E、Ф2E、RS以及CP的周期是一致的,并且當RS處于下降沿時CP恰好處于上升沿。在一個SH周期內Ф1E、Ф2E、RS以及CP的脈沖個數(shù)是大于3 825的。由此可見各信號驅動時序是符合要求的。
利用FPGA設計產生的驅動信號,引入到TCD1703圖像傳感器的驅動輸入端。將CCD的輸出信號引腳連接到示波器觀察。采用不同強度的光來觀察示波器中采集到的TCD1703的輸出波形的變化。
利用黑布將傳感器表面接受光強的地方完全遮蔽住,然后將黑布沿一定的方向慢慢地從傳感器上移開每次曝光其五分之一,直至該傳感器全曝光,5個過程示波器觀察的結果如圖9(a)~圖9(e)。通過實驗可以觀察到,一旦到達工作電壓值,CCD在驅動信號的驅動下輸出正常視頻信號。隨著光強的增加,CCD輸出信號的幅度增加,直到飽和。同時驗證了驅動電路設計的正確性,CCD在驅動時序電路的作用下,正確地輸出了信號。
圖9 不同光照強度下CCD的輸出波形
[1]米本和也.CCD/CMOS圖像傳感器基礎與應用[M].北京:科學出版社,2006:●-●.
[2]王磊,童子權.基于CPLD的面陣CCD驅動電路的設計[J].儀表技術與傳感器,2010(10):66-82.
[3]譚露雯,李景鎮(zhèn),陸小微,等.基于CPLD工作模式可調的線陣CCD驅動電路設計[J].光子學報,2010,39(3):436-440.
[4]冉峰,黃舒平,楊輝.圖像采集系統(tǒng)的面陣CCD驅動電路設計[J].電子技術應用,2009(11):43-45.
[5]周根榮,姜平.一種基于高速超微型單片機的CCD驅動電路設計[J].電子技術應用,2006,32(3):105-107.
[6]張林,李永新,高云山.基于IL-P3的高速CCD驅動電路的設計與實現(xiàn)[J].電子器件,2007,30(3):819-822.
[7]姬先舉,溫志渝.基于CPLD的光積分時間可調線陣CCD驅動電路設計[J].傳感技術學報,2006,19(5):1781-1784.
[8]張亮,劉潤民.可配置的通用線陣CCD驅動電路的研究與設計[J].電子技術應用,2013,39(12):55-60.
[9]彭曉鈞,何平安,袁炳夏,等.基于CPLD的線陣CCD驅動電路設計和實現(xiàn)[J].光電子·激光,2007,18(7):803-807.
[10]孔淵,王世勇,崔洪洲,等.基于CPLD的面陣CCD驅動電路設計[J].半導體光電,2003,24(5):363-59.
[11]顧一,葉煒等.基于CPLD的CCD驅動時序發(fā)生器設計[J].光學儀器,2008,30(6):54-59.
程瑤(1981-),女,漢族,重慶江津,重慶理工大學,副教授,主要從事紅外圖像、嵌入式系統(tǒng)等的研究,chy_cqit @cqut.edu.cn。
Driving Circuit Designing of Linear Array CCD Based on FPGA*
CHENG Yao1*,ZHOU Na1,WANG Rongxiu2
(1.College of Mechanical Engineering,Chongqing University of Technology,Chongqing 400050,China; 2.Chong qing T&B University,Chongqing 400067,China)
The design of driving circuits is a crucial factor to realize the various design features.Only with the strict driving signals desiging,the CCD devices can perform the further work.The TCD1703C driver timing requirements for linear array CCD device were analyzed.And the driving signalswere designed by using QuartusⅡsoftware and Verilog HDL.The program was downloaded to the FPGA device,and the output signals’waveformsweremonitored by the logic analyzer.So the feasibility of the time sequence design of linear array CCD was verified.Finally,connecting the driving signals to the CCD device,the CCD was driven by the driving signals,and the corresponding video signal was output under the different illumination conditions.
CCD;Driving circuit;FPGA;QuartusⅡ;Verilog HDL
C:7230
10.3969/j.issn.1005-9490.2017.01.016
TN386.5
:A
:1005-9490(2017)01-0082-05
項目來源:國家自然科學基金項目(51505052,51505053);重慶市科委基礎與前沿研究一般項目(cstc2016jcyjA0497);重慶市教委科學技術研究項目(KJ1500935,KJ1500931,KJ1500617)
2016-01-21修改日期:2016-02-29