關(guān)鍵詞: 圖像采集; 電荷耦合器件; A/D; FIFO; CY7C64613
CCD(Charge Couple Device)中文名為“電荷耦合器件”,是一種以電荷包的形式存儲(chǔ)和傳遞信息的半導(dǎo)體表面器件。由于CCD相機(jī)的靈敏度高、噪聲低、動(dòng)態(tài)范圍大等突出優(yōu)點(diǎn),使它在天文物理學(xué)、航空航天、生物和醫(yī)學(xué)研究、X射線成像、水下攝影、分子動(dòng)力學(xué)、光譜學(xué)等科學(xué)研究領(lǐng)域得到廣泛的應(yīng)用。目前,國(guó)內(nèi)成套的中高端CCD相機(jī)大都采用圖像采集卡作為數(shù)據(jù)的傳輸方式,對(duì)電腦要求高,維護(hù)不便,嚴(yán)重阻礙了CCD相機(jī)的發(fā)展。為此本文設(shè)計(jì)了基于USB的熱插拔、高數(shù)據(jù)傳輸率的CCD相機(jī)的數(shù)據(jù)采集系統(tǒng)。
1 CCD相機(jī)數(shù)據(jù)采集總體方案
完整的CCD相機(jī)系統(tǒng)比較復(fù)雜,一個(gè)完整的CCD相機(jī)系統(tǒng)包括制冷電路、CCD芯片、信號(hào)調(diào)理電路、時(shí)序驅(qū)動(dòng)和控制電路、USB數(shù)據(jù)采集傳輸模塊等[1]。CCD相機(jī)數(shù)據(jù)采集總體方案如圖1所示。本相機(jī)用獨(dú)立制冷電路(具有測(cè)溫和反饋控制功能)給CCD芯片制冷,這部分電路與采集電路不發(fā)生關(guān)系,為了不產(chǎn)生影響,兩部分電路獨(dú)立,不共地。
1.1 信號(hào)調(diào)理電路
為了使CCD輸出信號(hào)能達(dá)到A/D轉(zhuǎn)換器的輸入信號(hào)的要求,本文設(shè)計(jì)了圖2 所示的CCD輸出信號(hào)調(diào)理電路。工作原理為:輸出信號(hào)U經(jīng)過(guò)低噪聲放大器A1放大,再經(jīng)過(guò)電位器W和低噪聲放大器A2,在A3放大器和上次復(fù)位后的輸出信號(hào)相減(SH1是采樣保持器,此時(shí)保持的是上次復(fù)位后在A2放大器中的輸出信號(hào)),然后由采樣保持器SH2保持并經(jīng)A4放大輸出給A/D轉(zhuǎn)換器。A3為差分放大器,實(shí)現(xiàn)本次信號(hào)減去上次復(fù)位后的信號(hào),從而消除復(fù)位噪聲。
1.2 A/D轉(zhuǎn)換及控制時(shí)序
CCD輸出信號(hào)的模數(shù)轉(zhuǎn)換電路設(shè)計(jì)需要全盤(pán)考慮。特別是轉(zhuǎn)換器的分辨率(轉(zhuǎn)換輸出位數(shù))和采樣與轉(zhuǎn)換速度,這是影響整個(gè)系統(tǒng)的主要指標(biāo)。同時(shí)受到CCD讀出信號(hào)、信號(hào)噪聲大小、計(jì)算機(jī)圖像處理的復(fù)雜程度等的影響和制約,而性能太高的轉(zhuǎn)換器由于受到其他因素的制約而發(fā)揮不了應(yīng)有的作用,所以選擇合適的A/D轉(zhuǎn)換器是設(shè)計(jì)轉(zhuǎn)換電路的關(guān)鍵。在CCD采用制冷措施后,熱噪聲變的很小,通過(guò)信號(hào)調(diào)理電路可以減小復(fù)位噪聲,為了發(fā)揮制冷CCD高信噪比的優(yōu)勢(shì),應(yīng)使用高分辨率的A/D轉(zhuǎn)換器。綜合考慮射線圖像的信噪比、電路噪聲以及成本等因素,并參照其他CCD相機(jī)的情況,本文選擇了LTC1608CG模數(shù)轉(zhuǎn)換器,其片內(nèi)自帶采樣/保持器、16位的分辨率、轉(zhuǎn)換率為500 kS/s,其速度、精度和無(wú)管線延遲結(jié)構(gòu)使得LTC1608特別適合于高速多路復(fù)用數(shù)據(jù)采集系統(tǒng)中[2]。
CCD讀出的信號(hào)經(jīng)過(guò)預(yù)處理電路后,由LTC1608進(jìn)行模數(shù)轉(zhuǎn)換,A/D轉(zhuǎn)換的啟動(dòng)信號(hào)CON0由計(jì)算機(jī)通過(guò)控制電路產(chǎn)生,選通2個(gè)8 bit鎖存器74LS374,在控制電路的作用下,把上次鎖存的16 bit數(shù)據(jù)傳輸給存儲(chǔ)器IDT7204。A/D轉(zhuǎn)換結(jié)束后自動(dòng)進(jìn)行下次采樣并輸出BUSY信號(hào),利用BUSY信號(hào)把本次的轉(zhuǎn)換結(jié)果存儲(chǔ)在2片鎖存器中,再由下次的控制信號(hào)CON1讀入IDT7204中。A/D轉(zhuǎn)換電路圖如圖3所示。CCD信號(hào)轉(zhuǎn)移、A/D控制及數(shù)據(jù)傳輸控制時(shí)序圖如圖4所示。
1.3 FIFO
FIFO是一種先進(jìn)先出的數(shù)據(jù)緩存器,它與普通存儲(chǔ)器的區(qū)別是沒(méi)有外部讀寫(xiě)地址線,只能順序?qū)懭霐?shù)據(jù),順序地讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫(xiě)指針自動(dòng)加1完成,這樣使用起來(lái)非常簡(jiǎn)單。FIFO一般用于不同時(shí)鐘域之間的數(shù)據(jù)傳輸,例如本文中FIFO的一端為L(zhǎng)TC1608數(shù)據(jù)采集,另一端為計(jì)算機(jī)的USB數(shù)據(jù)傳輸接口,其中A/D采集的速率為16 bit 500 kS/s,那么每秒的數(shù)據(jù)量為500 K×16 bit=8 Mb/s,而本文使用的USB接口芯片CY7C64613的傳輸速率為12 Mb/s,在兩個(gè)不同的時(shí)鐘域間就可以采用FIFO來(lái)作為數(shù)據(jù)緩沖。為了保證數(shù)據(jù)正確地寫(xiě)入或讀出,而不發(fā)生溢出或讀空的狀態(tài)出現(xiàn),必須保證FIFO在滿的情況下,不能進(jìn)行寫(xiě)操作。在空的狀態(tài)下不能進(jìn)行讀操作。設(shè)計(jì)中FIFO芯片IDT7204工作時(shí)序圖如圖5所示。
1.4 USB數(shù)據(jù)傳輸
由于USB接口支持即插即用,接口體積小巧、節(jié)省系統(tǒng)資源、傳輸可靠、提供電源、良好的兼容性、共享式通信和低成本等優(yōu)點(diǎn),使得采用USB接口的CCD相機(jī)比采用PCI、光纖及串口等通信方式與上位機(jī)進(jìn)行數(shù)據(jù)傳輸更方便,傳輸速率更高,符合現(xiàn)代通信的要求。實(shí)時(shí)、快速、準(zhǔn)確地將數(shù)據(jù)通過(guò)USB傳遞給上位機(jī)是CCD相機(jī)的重點(diǎn)和關(guān)鍵。本CCD相機(jī)的USB接口使用的是Cypress半導(dǎo)體公司的CY7C64613芯片,它是一款全集成化外設(shè)控制器,支持USB2.0協(xié)議,內(nèi)含增強(qiáng)型8051核、豐富的端口和中斷向量、串行接口引擎SIE、通用可編程接口GPIF等資源[3]。
CY7C64613上電的處理類(lèi)型有4種,這里采用首字節(jié)為0xC0的EEPROM啟動(dòng)。當(dāng)芯片上電后,檢測(cè)到首字節(jié)為0xC0的EEPROM連接到IIC總線上,此時(shí)CY7C64613自動(dòng)將VID、PID和DID等復(fù)制到片內(nèi)存儲(chǔ)器,然后CY7C64613將這些數(shù)據(jù)發(fā)送給主機(jī),主機(jī)根據(jù)ID數(shù)據(jù)選擇合適的固件程序下載到USB芯片內(nèi)。最初的列舉完成后,USB主機(jī)驅(qū)動(dòng)芯片復(fù)位,然后CY7C64613按照用戶設(shè)備重列舉,執(zhí)行內(nèi)部固件程序,實(shí)現(xiàn)設(shè)備的初始化和與主機(jī)間的通信。EEPROM芯片24LC32A具有功耗低、允許工作電壓范圍寬、容量大、支持IIC總線協(xié)議、占用I/O端口少、擴(kuò)展方便、讀寫(xiě)簡(jiǎn)單等優(yōu)點(diǎn)。其中WP為保護(hù)引腳,為高電平時(shí),只能對(duì)該器件進(jìn)行讀操作,用于硬件數(shù)據(jù)保護(hù);為低電平時(shí),可進(jìn)行讀寫(xiě)操作。電路圖如圖3所示, 其中由于SCL和SDA引腳都是漏極開(kāi)路和遲滯輸入的,因此必須外接2.2 kΩ的上拉電阻。
本設(shè)計(jì)采用EZ-USB芯片提供的一種高速數(shù)據(jù)傳輸模式,即GPIF模式,它是一種內(nèi)部主機(jī)控制模式,使用內(nèi)部集成的高效控制邏輯來(lái)取代外部的微控制器進(jìn)行EZ-USB端點(diǎn)FIFO的控制。在GPIF模式下,為了獲得IDT7204中的數(shù)據(jù),將CTL0與R引腳相連,在每個(gè)R的低電平時(shí)期將數(shù)據(jù)從外部FIFO IDT7204中讀出。RDY1與EF相連,如果外部IDT7204為空,則EF為低電平,GPIF用這個(gè)引腳控制讀數(shù)據(jù)。IDT7204指針在數(shù)據(jù)傳輸過(guò)程中自動(dòng)增加,當(dāng)IDT7204指針為滿時(shí),數(shù)據(jù)傳送完成,進(jìn)入空閑狀態(tài),否則數(shù)據(jù)沒(méi)有完全傳輸完畢,這時(shí)就要繼續(xù)等待數(shù)據(jù)從IDT7204中傳輸過(guò)來(lái),這就保證了IDT7204中的數(shù)據(jù)實(shí)時(shí)、安全地傳送到PC中。GPIF模式下的IDT7204讀波形圖如圖6所示[4-5]。
2 軟件開(kāi)發(fā)
USB外設(shè)所必須的驅(qū)動(dòng)程序、應(yīng)用程序以及固件程序的開(kāi)發(fā)可以利用Cypress公司提供的CY7C64613的開(kāi)發(fā)包。驅(qū)動(dòng)程序在Cypress提供的通用驅(qū)動(dòng)程序CYUSB.SYS的基礎(chǔ)上,通過(guò)調(diào)用主機(jī)控制函數(shù)庫(kù)CyAPI.lib中的函數(shù)開(kāi)發(fā)USB 設(shè)備。固件設(shè)計(jì)可以用提供的固件封裝包來(lái)實(shí)現(xiàn),封裝包里含fw.c、periph.c、lp.h、lpregs.h等文件,實(shí)現(xiàn)EZ-USB 芯片的初始化、USB標(biāo)準(zhǔn)設(shè)備請(qǐng)求的處理和USB掛起電源管理等服務(wù)。固件和驅(qū)動(dòng)程序設(shè)計(jì)好后,可以用Cypress公司提供的EZ-USB Control Panel軟件進(jìn)行調(diào)試,固件工作流程如圖7所示。
上位機(jī)應(yīng)用軟件的工作流程如圖8所示。該應(yīng)用軟件可以控制相機(jī)的曝光時(shí)間、對(duì)采集的圖像進(jìn)行刷新、重采樣、對(duì)圖像的灰度、對(duì)比度拉伸和圖像降噪(濾波)等操作,并可以對(duì)圖像進(jìn)行多種格式的打開(kāi)和存盤(pán)。
CCD相機(jī)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)完成了從總體方案設(shè)計(jì)到軟、硬件調(diào)試等一系列過(guò)程,采用EZ-USB控制器實(shí)現(xiàn)了系統(tǒng)的即插即用,應(yīng)用GPIF工作模式滿足了CCD高速數(shù)據(jù)采集時(shí)數(shù)據(jù)傳輸帶寬的要求。經(jīng)初步測(cè)試,其性能和指標(biāo)達(dá)到了預(yù)期的要求,為以后CCD相機(jī)的研制奠定了堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1] 程耀瑜. 工業(yè)射線實(shí)時(shí)成像檢測(cè)技術(shù)研究及高性能數(shù)字成像系統(tǒng)研制[D].南京:南京理工大學(xué),2003.
[2] Texas Instruments Incorporated. High Speed, 16-Bit, 500 ksps Sampling A/D Converter [EB/OL]. 2006.
[3] 薛園園. USB應(yīng)用開(kāi)發(fā)技術(shù)大全[M]. 北京:人民郵電出版社,2007:482-544.
[4] 劉偉,姚大志,黃典禮,等.高速CCD相機(jī)系統(tǒng)設(shè)計(jì)[J]. 紅外技術(shù), 2008,30(5):289-293.
[5] Cypress Semiconductor Corporation. EZ-USB Technical Reference Manual [EB/OL]. 2002.