高幀頻CCD數(shù)據(jù)采集處理系統(tǒng)的設(shè)計(jì)
電荷耦合器件CCD(Charge Coupled Devices)可以將光信號的強(qiáng)弱轉(zhuǎn)化為勢阱中電荷量的多少,從而實(shí)現(xiàn)光電轉(zhuǎn)換。它在圖像獲取領(lǐng)域中的應(yīng)用必然要對CCD輸出數(shù)據(jù)進(jìn)行采集處理。針對該高幀頻相機(jī)設(shè)計(jì)要求,CCD器件選用Sarnoff公司的VCCD512H。結(jié)合CCD多路輸出的特點(diǎn),選用高速雙通道A/D芯片AD9942對輸出模擬信號進(jìn)行分時轉(zhuǎn)換,并利用FPGA系統(tǒng)資源豐富的特點(diǎn),將CCD的系統(tǒng)控制和數(shù)據(jù)緩存集成在一片F(xiàn)PGA內(nèi),簡化了系統(tǒng)邏輯設(shè)計(jì)。
1 系統(tǒng)組成
完整的成像系統(tǒng)由光學(xué)系統(tǒng)、焦平面電路和數(shù)據(jù)采集處理電路三部分組成。這里就數(shù)據(jù)采集處理分為:A/D轉(zhuǎn)換電路和緩存及控制時序設(shè)計(jì)電路。輸入圖像經(jīng)光源照射后,通過物鏡成像在CCD光敏元件陣列上,CCD通過驅(qū)動電路完成電信號的讀出。在控制電路的作用下,CCD輸出信號進(jìn)行緩沖放大,并經(jīng)A/D轉(zhuǎn)換電路進(jìn)行數(shù)字化處理。通常同步采樣的數(shù)據(jù)由控制信號控制雙口RAM實(shí)現(xiàn)數(shù)據(jù)存取,為了簡化電路,以Xilinx公司的FPGA(XQ2V3000)作為數(shù)據(jù)采集控制的核心,由其產(chǎn)生CCD驅(qū)動信號、A/D控制信號并實(shí)現(xiàn)數(shù)據(jù)存取。系統(tǒng)組成方框圖如圖1所示。
2 焦平面電路設(shè)計(jì)
2.1 VCCD512H結(jié)構(gòu)
VCCD512H是美國Sarnoff公司生產(chǎn)的一款背照式幀轉(zhuǎn)移面陣CCD,像元數(shù)為512×512,光譜范圍為400~950 nm。VCCD512H圖像傳感器由感光區(qū)、存儲區(qū)、水平移位寄存器和輸出電路等部分組成。感光區(qū)和存儲區(qū)都包含有16個子陣列,每個子陣列含有256×64個有效像元,每個子陣列對應(yīng)一組讀出寄存器,整個像面則由16個子陣列,共512×512個有效像元構(gòu)成,實(shí)際應(yīng)用中根據(jù)工程需要采用兩行合為一行的工作方式,即有效像元為512×256,每一路的有效像元數(shù)為128×64個,像元讀出速率為2 MHz。
2.2 緩沖放大電路
光信號經(jīng)VCCD512H傳感器后輸出的電信號有如下特點(diǎn):負(fù)極性信號;包含有周期性的復(fù)位脈沖串?dāng)_;有效信號幅度值較??;像元讀出速率快。
CCD輸出信號的上述特點(diǎn)決定了它不能直接送入A/D轉(zhuǎn)換器,必須從硬件上進(jìn)行一系列的預(yù)處理,包括信號前置反向、阻抗匹配、放大、濾波即消除信號中的復(fù)位脈沖、噪聲等所造成的干擾。
在電路設(shè)計(jì)中,由CCD讀出的未經(jīng)相關(guān)雙采樣的電信號,首先經(jīng)過一級射極跟隨器,并在輸出端接一級RC濾波器濾除噪聲,然后交流耦合至差動輸出放大器,由110 Ω屏蔽雙絞電纜連接至差動接收、緩沖,到采樣保持電路。
2.3 驅(qū)動電路
VCCD512H正常工作時需要11路驅(qū)動信號,這包括加在感光區(qū)的三相時鐘脈沖A1,A2,A3;加在存儲區(qū)的三相時鐘B1,B2,B3;加在讀出寄存器的三相時鐘C1,C2,C3;清除殘留電荷的復(fù)位脈沖RET;箝位脈沖CLAMP。以上驅(qū)動信號均由FPGA產(chǎn)生時序,但其時序不能直接輸送給CCD芯片,一方面因?yàn)镃CD驅(qū)動電平比較特殊;另一方面,CCD各移位寄存器等效于容性負(fù)載,而且各級容性負(fù)載不盡相同,所要求的驅(qū)動電流也不相同。所以在驅(qū)動電路的選擇上,應(yīng)選擇具有較高電容負(fù)載驅(qū)動能力和較高工作頻率,該設(shè)計(jì)選用EL7212。
3 數(shù)據(jù)采集處理
3.1 A/D變換電路
3.1.1 A/D芯片介紹
A/D芯片是數(shù)據(jù)采集系統(tǒng)的核心器件,數(shù)據(jù)采集系統(tǒng)性能在很大程度上取決于A/D芯片的性能。根據(jù)項(xiàng)目要求A/D器件的分辨率應(yīng)為12位,轉(zhuǎn)換速率為16 MHz,共16路,故選用高速A/D芯片AD9942。因它可實(shí)現(xiàn)兩路模擬信號的40 MHz速率相關(guān)雙采樣(CDS),0~18 dB 9 b可變增益放大(VGA),40 MSPS模/數(shù)轉(zhuǎn)換器(ADC),多極暗電平箝位控制。AD9942功能框圖如圖2所示。
[!--empirenews.page--]
3.1.2 A/D功能實(shí)現(xiàn)
多路模擬信號的同步采樣一般有兩種實(shí)現(xiàn)方法:一種為多個A/D轉(zhuǎn)換器同時進(jìn)行轉(zhuǎn)換;另一種為僅有一個A/D轉(zhuǎn)換器,各通道同時采樣,然后分時轉(zhuǎn)換。針對該系統(tǒng),AD9942的像素時鐘可以達(dá)到40 MHz,且為雙通道同時轉(zhuǎn)換,故采用分時轉(zhuǎn)換即可實(shí)現(xiàn)系統(tǒng)要求,且可以節(jié)省成本。實(shí)際應(yīng)用中將CCD的16通道分成上下兩個半幀,上半幀8個通道分時復(fù)用AD9942的A通道進(jìn)行A/D轉(zhuǎn)換,下半幀8個通道分時復(fù)用B通道進(jìn)行A/D轉(zhuǎn)換。
硬件電路實(shí)現(xiàn)時,需要將CCD輸出的每一路模擬信號通過采樣保持電路,對模擬輸入信號準(zhǔn)確采樣,并將采樣結(jié)果保持一定時間,通過兩個8選1模擬開關(guān),分別送到A/D變換器的A通道和B通道。分時復(fù)用實(shí)現(xiàn)原理圖如圖3所示。
根據(jù)采樣保持電路的時鐘可以將該電路工作分為采樣和保持兩個階段。在采樣階段,采樣得到的電壓以電荷的形式存儲在采樣電容上,輸出端處于短路狀態(tài),采樣階段即將結(jié)束的時候,輸入端處于開路狀態(tài),存儲電荷不再改變;在保持階段,輸入采樣信號通過保持電容轉(zhuǎn)移到輸出端,由FPGA控制模擬開關(guān)分時選通每一路CCD信號,從而通過兩個階段的交替完成A/D變換全過程。
VCCD512H每一路的有效像元數(shù)為128×64。由于每行有8個過掃描像元(用于行箝位),故設(shè)計(jì)中要保證使每行最少輸出72個像元,則上下半幀的像元數(shù)都為128×576個。由此可以確定AD9942的主時鐘CLI_X(CLI_A,CLI_B)即像素時鐘為40 MHz,行同步信號HD_X,幀同步信號VD_X,并由FPGA分頻產(chǎn)生其波形。它的時序圖如圖4所示。
3.1.3 高速A/D與FPGA接口實(shí)現(xiàn)
AD9942采樣率達(dá)到40 MHz,由FPGA提供像素時鐘、行同步、幀同步信號,但是這么高的時鐘在線路板中是一個潛在的威脅,它既容易干擾其他器件,又容易被其他器件干擾。AD9942的數(shù)字輸出屬于并行,2個40 MSPS、12位數(shù)據(jù)流,如此高速數(shù)據(jù)傳輸與存儲容易使數(shù)字系統(tǒng)中出現(xiàn)競爭冒險(xiǎn)和亞穩(wěn)態(tài),因此首先在A/D的數(shù)據(jù)輸出引腳和FPGA的輸入引腳之間串聯(lián)100 Ω的電阻,用來削弱高速數(shù)據(jù)線在0,1之間變換產(chǎn)生的毛刺和數(shù)據(jù)線之間的干擾。其次,在FPGA內(nèi)部對A/D的數(shù)據(jù)線和鎖存時鐘的使用應(yīng)嚴(yán)格按照器件手冊上的建立時間和保持時間來設(shè)計(jì),否則容易產(chǎn)生亞穩(wěn)態(tài)。
3.2 FPGA實(shí)現(xiàn)A/D控制、數(shù)據(jù)緩存
3.2.1 FPGA器件選擇
現(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)集采樣控制、處理、緩存、傳輸控制、通信于一個芯片內(nèi),編程配置靈活,開發(fā)周期短,系統(tǒng)簡單,具有高集成度、體積小、功耗低、高速、I/O端口多、在線系統(tǒng)編程等優(yōu)點(diǎn),在只需要簡單數(shù)據(jù)處理的情況下,F(xiàn)P-GA能夠提供比專用高速DSP更好的解決方案,并且特別適用于對時序有嚴(yán)格要求的高速多通道數(shù)據(jù)采集系統(tǒng)。特本設(shè)計(jì)在實(shí)際應(yīng)用中以FPGA作為數(shù)據(jù)采集的控制核心,實(shí)現(xiàn)CCD多通道模擬信號的采集和處理。為實(shí)現(xiàn)系統(tǒng)控制與數(shù)據(jù)緩存一體化的設(shè)計(jì),該系統(tǒng)采用的XQ2V3000是Xilinx公司推出的Virtex-Ⅱ系列的FPGA,它內(nèi)部有豐富的資源,包括三百萬個門,448 Kb的分布RAM,96個乘法器,96×18 Kb的Block RAM,12個數(shù)字時鐘管理器(DCM),720個可配置I/O引腳,最高內(nèi)部工作頻率達(dá)300 MHz。[!--empirenews.page--]
3.2.2 ADC控制信號
AD9942內(nèi)部寄存器由6條外部配置線進(jìn)行寫入,分別為兩條32位數(shù)據(jù)線SDATA_X(SDATA_A,SDATA_B)包括8位地址、24位數(shù)據(jù)(用于AD工作狀態(tài)控制);兩條位同步信號SCK_X(SCK_A、SCK_B);兩條控制有效信號SL_X(SL_A、SL_B)。數(shù)據(jù)信號在A/D變換前,即幀同步和行同步信號開始前,SL—X為低電平時由FPGA寫入A/D寄存器,并控制其工作狀態(tài)。仿真時序圖如圖5所示。
3.2.3 FPGA實(shí)現(xiàn)數(shù)據(jù)緩存
經(jīng)過A/D器件轉(zhuǎn)換之后的數(shù)據(jù),首先通過FPGA內(nèi)部高速緩沖,然后再轉(zhuǎn)存到片外存儲器中。該系統(tǒng)中FPGA內(nèi)部Block RAM陣列的控制采用乒乓傳輸結(jié)構(gòu),它可以保證采樣和傳輸各自不間斷的進(jìn)行。具體做法是將96個:Block RAM分成兩組(RAM1,RAM2),時鐘和控制信號均獨(dú)立。系統(tǒng)工作時,輸入數(shù)據(jù)分為兩路,流向由VHDL語言編程控制寫地址來實(shí)現(xiàn)RAM1和RAM2的選擇,當(dāng)?shù)刂分赶虻谝唤M的48塊Block RAM時,RAM1進(jìn)行數(shù)據(jù)寫入,與此同時,第二組的48塊BlockRAM則進(jìn)行數(shù)據(jù)讀出;RAM1存儲結(jié)束后,切換到RAM2寫入而RAM1讀出的模式,如此循環(huán)。
XQ2V3000每一個Block RAM的容量為18 Kb,總?cè)萘繛? 728 Kb(18 Kb×96),CCD輸出的一幀圖像數(shù)據(jù)量為1 572.864 Kb(256行×512列×12 b),可見完全可以實(shí)現(xiàn)幀存儲。具體實(shí)現(xiàn)時由RAM1和RAM2各存取半幀圖像,用VHDL語言在對讀/寫地址進(jìn)行編程時,計(jì)數(shù)器計(jì)數(shù)滿128行數(shù)據(jù)后,讀/寫地址分別指向另一個RAM,部分寫地址仿真圖如圖6所示。
最終經(jīng)過對AD9942的各項(xiàng)控制信號和FPGA數(shù)據(jù)緩存地址的仿真,仿真結(jié)果正確并符合技術(shù)手冊的各項(xiàng)要求。
4 結(jié) 語
這里介紹了一種基于FPGA控制的CCD高速數(shù)據(jù)采集處理系統(tǒng)的原理和實(shí)現(xiàn)。由于創(chuàng)新性的將系統(tǒng)控制和數(shù)據(jù)緩存集成在一片F(xiàn)PGA內(nèi),并將多路CCD模擬信號通過分時復(fù)用一片AD9942實(shí)現(xiàn)了模/數(shù)轉(zhuǎn)換。從而提高了系統(tǒng)的集成度,而且采用FPGA完成整個系統(tǒng)的主體設(shè)計(jì)具有速度快、設(shè)計(jì)靈活、保密性好和維護(hù)方便等優(yōu)點(diǎn),有效地解決了全系統(tǒng)控制同步問題。通過仿真結(jié)果測試,該系統(tǒng)可以穩(wěn)定的工作,A/D轉(zhuǎn)換速率可以達(dá)到40 Mb/s,幀頻實(shí)現(xiàn)300幀/s,可以為CCD應(yīng)用向高速、小型化、智能化、低功耗方向發(fā)展提供借鑒意義。