1 引言 近年來(lái)。多通道面陣CCD相機(jī)在氣象觀測(cè)、環(huán)境檢測(cè)、海洋遙感和資源調(diào)查等領(lǐng)域獲得了廣泛的應(yīng)用。而在CCD的應(yīng)用技術(shù)中,尤其是高速、多通道CCD的應(yīng)用中,CCD驅(qū)動(dòng)時(shí)序的產(chǎn)生和信號(hào)的實(shí)時(shí)輸出是兩個(gè)非常關(guān)鍵的問(wèn)題。高速、多通道CCD器件的驅(qū)動(dòng)時(shí)序通常是一組周期性且關(guān)系比較復(fù)雜的脈沖信號(hào),它是影響CCD器件性能的一個(gè)重要因素;而產(chǎn)生的多組像元信號(hào)如何正確的轉(zhuǎn)換成一幀完整圖像,也必須根據(jù)實(shí)際的硬件要求而采取不同的設(shè)計(jì)方案。 本文在分析了Sarnoff公司的VCCD512H型幀轉(zhuǎn)移面陣CCD芯片的特性和工作過(guò)程后,結(jié)合整個(gè)CCD相機(jī)電子系統(tǒng)的要求,完成了基于FPGA技術(shù)的驅(qū)動(dòng)時(shí)序發(fā)生器與數(shù)據(jù)緩存器的一體化設(shè)計(jì)。即在一塊FPGA芯片上實(shí)現(xiàn)對(duì)時(shí)序與數(shù)據(jù)緩存系統(tǒng)的控制。最后針對(duì)Xiling公司的FPGA器件XQ2V3000對(duì)設(shè)計(jì)進(jìn)行了配置及仿真,從而驗(yàn)證了該設(shè)計(jì)方案的可行性。 2 驅(qū)動(dòng)時(shí)序發(fā)生器與數(shù)據(jù)緩存器一體化設(shè)計(jì)原理 2.1 CCD器件結(jié)構(gòu)及工作原理 美國(guó)Sarnoff公司的VCCD512H是背照型幀轉(zhuǎn)移面陣CCD,它由兩個(gè)感光區(qū)、兩個(gè)存儲(chǔ)區(qū)和讀出寄存器構(gòu)成。每個(gè)感光區(qū)(或存儲(chǔ)區(qū))包含8個(gè)子陣列。每個(gè)子陣列含有256(行)x64(列)個(gè)有效像元,整個(gè)像面則由16個(gè)子陣列,共512x512個(gè)有效像元構(gòu)成,我們?cè)趹?yīng)用中,對(duì)像元做了水平方向‘二合一’處理,使得整個(gè)像面共由512x256個(gè)有效像元構(gòu)成.最終16路信號(hào)并行輸出。 ![]() 圖1 VCCD512H芯片結(jié) 電荷移動(dòng)方向如圖1中箭頭所示,先由感光區(qū)轉(zhuǎn)移到存儲(chǔ)區(qū)(AI,A2,A3為幀轉(zhuǎn)移控制信號(hào)),再由存儲(chǔ)區(qū)轉(zhuǎn)移到讀出寄存器(Bl,B2,B3為行轉(zhuǎn)移控制信號(hào)).而后在讀出控制信號(hào)(C1,C2,C3為像元轉(zhuǎn)移控制信號(hào))的作用下順序讀出。16個(gè)子陣列有各自獨(dú)立的讀出寄存器和CDS放大器。信號(hào)的輸出方式是16個(gè)端口并行輸出,送到后續(xù)的模擬、數(shù)字信號(hào)處理電路。 2.2 驅(qū)動(dòng)時(shí)序分析 由芯片結(jié)構(gòu)可知,CCD的一個(gè)丁作周期分兩個(gè)階段:感光階段和轉(zhuǎn)移階段。在感光階段,感光陣列接受外界光源照射產(chǎn)生電荷,幀轉(zhuǎn)移控制信號(hào)A不變.感光陣列和幀存儲(chǔ)區(qū)之間為阻斷態(tài),不會(huì)發(fā)生電荷轉(zhuǎn)移現(xiàn)象;同時(shí)由行轉(zhuǎn)移控制信號(hào)B控制,存儲(chǔ)區(qū)中的電荷逐行轉(zhuǎn)移到轉(zhuǎn)移寄存器;行轉(zhuǎn)移時(shí).像元轉(zhuǎn)移控制信號(hào)c不變,無(wú)像元信號(hào)輸出;每行信號(hào)中,各像元電荷逐次經(jīng)過(guò)輸出放大器輸出,每讀出一行信號(hào),進(jìn)行一次行轉(zhuǎn)移。三相CCD中,電荷的轉(zhuǎn)移是通過(guò):三相控制電壓按一定順序依次變化來(lái)實(shí)現(xiàn)的。此處,進(jìn)行電荷轉(zhuǎn)移時(shí),三相控制時(shí)序依次變化;三相信號(hào)不變時(shí),為阻斷態(tài)。為保證信號(hào)電荷的完整轉(zhuǎn)移, 各相時(shí)序問(wèn)必須保證一定的電平交疊。 在幀轉(zhuǎn)移階段.幀轉(zhuǎn)移控制信號(hào)A與行轉(zhuǎn)移控制信號(hào)B相同,且一直有效。同時(shí)像元控制信號(hào)C也一直有效,但輸出數(shù)據(jù)無(wú)效。進(jìn)入感光階段,首先進(jìn)行一次行轉(zhuǎn)移,開(kāi)始信號(hào)的輸出.同時(shí)感光區(qū)像元進(jìn)入電荷積累。為保證信號(hào)讀出的完整性,整幀轉(zhuǎn)移的行數(shù)、輸出的行數(shù)、像元數(shù)都進(jìn)行了一定的冗余設(shè)置。 2.3數(shù)據(jù)緩存器工作原理 如圖2所示,CCD傳感器為16路并行輸出,每路為256x32x12bit.即8192x12 bit,現(xiàn)采用VHDL硬件描述語(yǔ)言,設(shè)計(jì)實(shí)現(xiàn)了一種基于片上集成的雙口RAM緩存器。 ![]() 圖2 時(shí)序發(fā)生器和數(shù)據(jù)緩存器原理框 本設(shè)計(jì)中選用的控制器件FPGA為Xilinx公司XQ2V3000,其片內(nèi)的共有96個(gè)雙口RAM,每個(gè)RAM的深度為16K.而在該系統(tǒng)中為了實(shí)現(xiàn)幀緩存的功能。在設(shè)計(jì)中采用了兩個(gè)雙口RAM并行連接的方式,從而組合成了16Kx16bit的雙口RAM緩存單元,共占用RAM資源34個(gè)。雙口RAM的寫(xiě)入地址為14位,由寫(xiě)入地址發(fā)生器統(tǒng)一提供,與CCD的驅(qū)動(dòng)波形相配合。具體實(shí)現(xiàn)時(shí)是將雙口RAM分成上下兩區(qū)(每個(gè)緩沖區(qū)共有64x266個(gè)像元),前一帕周期左邊寫(xiě)上半?yún)^(qū),右邊讀下半?yún)^(qū);后一幀周期,左邊寫(xiě)下半?yún)^(qū)時(shí),右邊讀上半?yún)^(qū)。其寫(xiě)入過(guò)程為:首先由A、B 三相驅(qū)動(dòng)脈沖(共266個(gè)波形)配合,完成A->B的電荷轉(zhuǎn)移;然后用B波形完成兩次B->C轉(zhuǎn)移(兩行合并),再用C波形完成72次串出,其中僅有64個(gè)有效(第3娟像元),其余為過(guò)掃描,用于行箝位。這一過(guò)程重復(fù)133次。(前5次丟棄)。 因?yàn)閳D像數(shù)據(jù)的讀出要按預(yù)定順序,即512行從上到下,每行256個(gè)像元從左到右。為此,將17個(gè)雙口RAM的輸出作為一個(gè)整體來(lái)考慮,其存儲(chǔ)量為(512x256+128)x12 bit,即131,200x12 bit,需要18位地址,該讀出地址的形成可以用一個(gè)18位計(jì)數(shù)器和一個(gè)譯碼器完成。 如圖3所示,在幘正程期間,從數(shù)據(jù)緩存讀出512x256x12bit 的圖像數(shù)據(jù),在幀逆程期間,緩存器中的輔助數(shù)據(jù)緊隨其后被讀出。 ![]() 圖3緩存器輸出數(shù)據(jù)時(shí)序圖 3 一體化設(shè)計(jì)的FPGA實(shí)現(xiàn)及仿真結(jié)果 3.1 現(xiàn)場(chǎng)可編程門陣列(FPGA) 系統(tǒng)中采用容量比較大的FPGA,利用VHDL硬件描述語(yǔ)言完成CCD驅(qū)動(dòng)時(shí)序的設(shè)計(jì)和數(shù)據(jù)的高速讀寫(xiě)。這種實(shí)現(xiàn)方法可以使采集系統(tǒng)靈活、簡(jiǎn)單、方便.具有很強(qiáng)的可擴(kuò)展性,可根據(jù)需要設(shè)計(jì)為不同數(shù)據(jù)寬度、不同容量的數(shù)字系統(tǒng),接口電路簡(jiǎn)潔且不占用系統(tǒng)地址資源,系統(tǒng)移植或升級(jí)換代方便,而 且控制簡(jiǎn)單,易于實(shí)現(xiàn)。 3.2 時(shí)序仿真結(jié)果 在編程軟件Quartus II集成設(shè)計(jì)環(huán)境下,用VHDL語(yǔ)言以自上而下的方式,對(duì)CCD驅(qū)動(dòng)時(shí)序和數(shù)據(jù)緩存系統(tǒng)進(jìn)行了描述,仿真后得到部分結(jié)果如下圖所示。 ![]() 圖4幀轉(zhuǎn)移階段的仿真圖 圖4為在幀轉(zhuǎn)移過(guò)程中,通過(guò)對(duì)時(shí)鐘CLK的計(jì)數(shù)而產(chǎn)生了頻率相同、相位不同的A、B驅(qū)動(dòng)脈沖信號(hào),并且通過(guò)后續(xù)的示波器檢測(cè)得知電平交疊達(dá)到了75%以上,滿足技術(shù)手冊(cè)的要求。 ![]() 圖5 RAM選擇地址仿真圖 圖5為RAM選擇地址仿真圖。系統(tǒng)總共有17個(gè)RAM緩存器。并且把每個(gè)RAM分為了上、下兩個(gè)半?yún)^(qū)。設(shè)CEr為16位用來(lái)選擇RAM的位置,其中高8位為上半?yún)^(qū),低8位為下半?yún)^(qū),并且交替選擇(上半?yún)^(qū)讀出時(shí),下半?yún)^(qū)為寫(xiě)入,反之亦然)。從最終的仿真圖中可以看出,時(shí)序復(fù)合設(shè)計(jì)要求。 4 結(jié)束語(yǔ) 本文的創(chuàng)新點(diǎn)在于采用了FPGA技術(shù)設(shè)計(jì)CCD驅(qū)動(dòng)時(shí)序和緩存器電路,使原來(lái)復(fù)雜的電路設(shè)計(jì)變成只需1片F(xiàn)PGA就能完成。同時(shí)它能夠很好地滿足CCD應(yīng)用向高速、小型化、智能化、低功耗發(fā)展的需求.從而提高了系統(tǒng)的集成度。從時(shí)序仿真結(jié)果來(lái)看,該一體化的設(shè)計(jì)能夠較好的產(chǎn)生器件所需的時(shí)序脈沖及緩存器所需的讀/寫(xiě)地址,并且由于使用了延遲量小的FPGA使得系統(tǒng)可以工作在百兆赫茲的工作頻段,從而增強(qiáng)了電路的抗干擾能力,提高了系統(tǒng)的可靠性與穩(wěn)定性。 項(xiàng)目經(jīng)濟(jì)效益:50萬(wàn)元 作者:孟楠 來(lái)源:《微計(jì)算機(jī)信息》(嵌入式與SOC)2009年第25卷第6-2期 |