梁 冰, 易茂祥, 顏天信
(合肥工業(yè)大學電子科學與應用物理學院,安徽合肥 230009)
線陣電荷耦合器件已經(jīng)廣泛地應用于航天、軍事及民用工業(yè)領(lǐng)域。民用方面主要應用于印刷特征標志、印刷套色、物體外觀缺陷、零件外形尺寸等非接觸檢測和圖像掃描輸入場合[1-3]。
研制高性能的CCD開發(fā)平臺是線陣CCD發(fā)展的新方向。本文系統(tǒng)利用CCD信號處理器進行圖像采集,采用ALTERA的低成本PFGA為核心,使用硬件描述語言在ALTERA的QuartusⅡ開發(fā)環(huán)境中對CCD進行驅(qū)動時序控制,對模數(shù)轉(zhuǎn)換器進行采樣控制。利用軟核處理器與SDRAM協(xié)調(diào)完成圖像數(shù)據(jù)存儲以及與外圍設(shè)備通訊控制等。此平臺并行處理程度高,可實現(xiàn)高速處理,集成度高,硬件電路簡單,避免了傳統(tǒng)設(shè)計中使用大量分立元件的繁瑣方式。
本設(shè)計將系統(tǒng)分為6大模塊:CCD光電轉(zhuǎn)換模塊、CCD圖像數(shù)據(jù)采集模塊、驅(qū)動電路模塊、FPGA圖像處理與數(shù)據(jù)緩存模塊、I/O通訊模塊及電源模塊。本文主要介紹硬件結(jié)構(gòu)及原理。
FPGA作為整個系統(tǒng)的核心部分,需要提供CCD工作時鐘和CCD信號處理器的時鐘[4,5]以完成視頻信號的預處理,采樣量化后的數(shù)字信號通過FPGA的控制完成SDRAM與接口的通訊。為了使用靈活,配以多種外圍接口,包括Camera Link、USB、以太網(wǎng)口以及串口。系統(tǒng)框圖如圖1所示。首先利用FPGA產(chǎn)生CCD工作時鐘,通過調(diào)幅后的時鐘送入CCD中,CCD輸出的模擬信號通過CCD信號處理器經(jīng)過信號處理后,轉(zhuǎn)化為12位的數(shù)字信號輸入到FPGA中。整個平臺還配有SDRAM作為數(shù)據(jù)存儲,各種豐富的接口用來傳輸數(shù)據(jù)。
圖1 系統(tǒng)硬件平臺功能框圖
FPGA實現(xiàn)功能的核心框圖如圖2所示。
圖2 FPGA功能結(jié)構(gòu)框圖
將FPGA資源分為4大部分來實現(xiàn)相關(guān)功能。Nios處理器是用來實現(xiàn)USB、以太網(wǎng)的通訊及協(xié)同SDRAM完成圖像數(shù)據(jù)的緩存。而另外3部分則直接通過硬件描述語言對FPGA編程完成。本設(shè)計的FPGA選用ALTERA公司的第3代低成本FPGA EP3C16Q240C8,它是65 nm工藝的FQFP封裝240引腳的產(chǎn)品,且內(nèi)帶NiosⅡ軟核處理器。它包括 15408個邏輯單元,504 KBit存儲量、56個乘法器、4個PLL和20個時鐘網(wǎng)絡,它還有160個I/O接口。經(jīng)過估算,此FPGA完全可以實現(xiàn)該系統(tǒng)的要求。以上結(jié)構(gòu)顯示此系統(tǒng)方案充分體現(xiàn)了軟硬結(jié)合的特性,展現(xiàn)了利用FPGA進行系統(tǒng)開發(fā)的優(yōu)勢。
根據(jù)以上方案思路,本文選擇了具體芯片來完成系統(tǒng)的搭建。
本設(shè)計線陣CCD采用PerkinElmer的RL2048P是兩相陣列2048象元攝像器。選用該型號的原因是,它的感光面積大,信噪比高,靈敏度高,成像效果好,在單端輸出無拖曳動態(tài)成像。像素數(shù)據(jù)率達到40 MHz。輸出的圖像信號經(jīng)過信號處理器進行高速A/D轉(zhuǎn)換,將模擬信號實時地轉(zhuǎn)換成數(shù)字信號。RL2048P共需要6路驅(qū)動時鐘,即復位信號(QRG)、電荷轉(zhuǎn)移信號(QTG)、兩相時鐘信號(QH1,QH2)、電子曝光控制信號(QAB)、電荷轉(zhuǎn)移控制信號(QPG)。各驅(qū)動時鐘的時序關(guān)系如圖3所示。
圖3 CCD工作時序
FPGA輸出的CCD驅(qū)動時鐘通過設(shè)計合適的時序驅(qū)動電路實現(xiàn)信號調(diào)幅。CCD需要的時鐘電平很多,達到7種之多。這是本設(shè)計的一個難點,本文采用CDC329A實現(xiàn)由QH1到QH2的反相,且擺幅也調(diào)整到高電平的+5 V,低電平的0 V。利用 TC4427EDA調(diào)整 QAB、QPG、QTG的幅值。而QRG的電平通過 TT L電路實現(xiàn)。
CCD輸出的模擬信號經(jīng)過三極管放大后的模擬前端電路,需要進行相關(guān)雙采樣電路去除復位噪聲及低頻噪聲等,然后還需進行增益調(diào)整放大,主要是為了在不同光照下使CCD信號較好地處在模數(shù)轉(zhuǎn)換的量程范圍內(nèi),從而使圖像不至于太暗或飽和[6-8]。本設(shè)計選用AD公司生產(chǎn)的專用的高性能CCD信號處理器AD9945,它除了具備上述功能外,還包括黑電平箝位電路和預匿影功能、對信號偏移進行調(diào)整、對啞象元屏蔽等功能。最后通過精度12 Bit的ADC輸出數(shù)字信號。
AD9945所需的控制時鐘均由FPGA硬件實現(xiàn),輸出的數(shù)字信號將送入FPGA中。在模擬前端的相關(guān)雙采樣階段,利用SHP、SHD作為相關(guān)雙采樣時鐘,DATACLK作為數(shù)據(jù)輸出鎖存時鐘。CLPOB為黑像素箝位時鐘,PBLK則為預匿影時鐘。通過相關(guān)雙采樣電路及黑像素箝位后,CCD輸出的模擬信號有效抑制復位噪聲和低頻噪聲,下一級將進行模數(shù)轉(zhuǎn)換。在本設(shè)計中將CCD輸出的模擬信號轉(zhuǎn)化為12位的數(shù)字信號。時鐘相位關(guān)系具體如圖4所示。
圖4 AD9945工作時序
(1)Camera Link接口。Camera Link是一種基于LVDS(低電壓差分信號)協(xié)議標準的用于數(shù)字相機的標準接口。實現(xiàn)Camera Link接口協(xié)議至少需要11對LVDS構(gòu)成。根據(jù)上述思想,FPGA需要完成CMOS電平到LVDS電平的轉(zhuǎn)換及8位并行數(shù)據(jù)到LVDS對的轉(zhuǎn)換。
ALTERA的低成本FPGA cyclone 3系列,提供了豐富的高速差分信號接口。其中內(nèi)置了LVDS轉(zhuǎn)換模塊,可將COMS信號轉(zhuǎn)換為低電壓差分信號,用來實現(xiàn)數(shù)據(jù)的高速傳輸。其中FPGA的左右模塊發(fā)送速度能達到840 Mb/s,接收速度達到875 Mb/s。
使用FPGA塊5、6的低電壓差分信號I/O實現(xiàn)LVDS接口通訊。ALT ERA EP3C16Q240C8可實現(xiàn) T TL/CMOS電平到LVDS電平的轉(zhuǎn)換,因此,本設(shè)計只需用FPGA硬件實現(xiàn)一個串化器,將串行化后的數(shù)據(jù)送到專用的低壓差分信號接口輸出即可。用FPGA硬件實現(xiàn)Camera Link協(xié)議的原理如圖5所示。
圖5 Camera Link協(xié)議實現(xiàn)原理
(2)串口。本設(shè)計利用FPGA的NiosⅡ處理器完成對輸入串口數(shù)據(jù)的控制。利用MAX3221完成CMOS電平到串口電平的轉(zhuǎn)換。在此設(shè)計中采用DMA方式即直接存儲器方式完成串口數(shù)據(jù)的傳輸。使用DMA傳輸方式的優(yōu)點在于存儲器不經(jīng)過微處理器直接將數(shù)據(jù)傳送至外部設(shè)備,一次DMA傳輸只需執(zhí)行1個DMA周期,因而能顯著提高數(shù)據(jù)傳輸速度。在ALT ERA的QUART USⅡ的SOPC Builder內(nèi)部集成了一個DMA控制器部件,可以用它來協(xié)調(diào)外設(shè)接口和存儲器的數(shù)據(jù)傳輸。運用NiosⅡHAL中DMA的API函數(shù)可方便地使用C語言編程,實現(xiàn)SDRAM存儲器與外設(shè)串口的數(shù)據(jù)傳輸。
(3)網(wǎng)口和 USB口。本設(shè)計采用的網(wǎng)口芯片是CRYSTAL公司生產(chǎn)的CS8900A以太網(wǎng)控制器,它是一款 Nios2可編程配置的芯片。CS8900A是用于嵌入式設(shè)備的低成本以太局域網(wǎng)控制器。它的高度集成設(shè)計使其不再需要其它以太網(wǎng)控制器所必需的昂貴外部器件。CS8900A包括片上RAM、10Base-T傳輸和接收濾波器,以及帶24 mA驅(qū)動的直接ISA-總線接口。除此之外,CS8900A還提供其它性能和配置選擇。它獨特的Packet Page結(jié)構(gòu)可自動適應網(wǎng)絡通信量模式的改變和現(xiàn)有系統(tǒng)資源,從而提高系統(tǒng)效率。
USB控制芯片選用的是Philips公司的單片串行總線ON-THE-GO控制器ISP1362,支持全速(12 Mb/s)和低速(1.5 Mb/s)的數(shù)據(jù)傳輸。
系統(tǒng)輸入電源采用+15 V輸入,根據(jù)計算電路系統(tǒng)的功耗和電流驅(qū)動能力選擇TPS54331作為開關(guān)電源,最大可提供3 A電流。由于該系統(tǒng)共需9種電壓源,所以為了保證系統(tǒng)的統(tǒng)一性,盡可能采用簡單的方式來實現(xiàn),均采用 TLV1117實現(xiàn)電平的轉(zhuǎn)換。通過改變外接電阻的值來得到所需的電壓。
(1)從功能上看,本系統(tǒng)最大的特點是CCD工作在40 MHz時鐘下,數(shù)據(jù)傳輸速率大、接口豐富。此系統(tǒng)既能滿足用戶對圖像采集后數(shù)據(jù)的分析研究,也可以通過FPGA算法實現(xiàn)圖像采集后的預處理,通過高速差分信號接口傳輸給下一級進一步分析處理,從而實現(xiàn)開發(fā)平臺的多用途和多功能化。
(2)從硬件系統(tǒng)設(shè)計看,采用PCB四層板。模擬部分和數(shù)字部分分開布局。高速電路與低速電路盡量遠離,且高速避免信號之間的干擾。
(3)經(jīng)過系統(tǒng)調(diào)試,電源模塊工作穩(wěn)定,各芯片工作正常,各接口均可實現(xiàn)數(shù)據(jù)傳輸,通過JTAG口和AS口能正常下載硬件程序和Nios程序。
[1]ShefferD.Random addressable 2048×2048 active pixel im
age sensor[J].IEEE T rans Electron Devices,1997,44(10):1716-1720.
[2]李明偉,黃 鴿,劉靜茹.一種高速線陣CCD圖像數(shù)據(jù)采集系統(tǒng)[J].儀器儀表學報,2005,26(8):716-718.
[3]王慶有.CCD應用技術(shù)[M].北京:電子工業(yè)出版社,2003:15-98.
[4]佟首峰,阮 錦,劉金國,等,智能型高速CCD相機的時序電路的研制[J].光學技術(shù),2000,26(6):552-555.
[5]李翰山,王澤民,雷志勇,等.基于 CPLD的高速線TDI CCD驅(qū)動電路設(shè)計[J].計算機測量與控制,2007,15(1):122-124.
[6]薛寒光,朱衡君.一種基于FPGA的線陣CCD驅(qū)動器的設(shè)計[J].中國儀器儀表,2005,12:97-99.
[7]曾 鋒,易茂祥.圖像采集系統(tǒng)的線性CCD驅(qū)動電路設(shè)計[J].合肥工業(yè)大學學報:自然科學版,2009,32(1):120-124.
[8]蔡榮太,王延杰.視頻監(jiān)控用線陣CCD攝像機的設(shè)計[J].測試技術(shù)學報,2007,21(5):435-438.