0 引言
在如今的科研和工程上,CCD的應用越來越廣泛,但是其驅動脈沖和信號的采集的要求較高,一般需要CPLD或者DSP等比較復雜的微控制器來承擔主要控制任務。這些方案較單片機而言,操作難度大,起點高,而且成本相對較高,然而單片機因為種種限制,很少有合適的驅動和采集方案,一些己發(fā)表的論文中,雖然提出了概念,但是經測試,很難實施,所以本文提出了一種新型的利用單片機驅動CCD的方案,此方案基于C8051F020單片機,能夠對CCD進行良好、高速的驅動,同時進行采集,并通過RS232接口與電腦通訊,在電腦上重組數(shù)據(jù),完成對光信號的分析等功能。經實驗,本方案效果良好,同時,本方案采用Labview進行人機交互界面的設計,靈活性高,能夠根據(jù)需要,將CCD改變成位置傳感器等其他用途。
1 CCD簡介
1.1 CCD基本原理
CCD(電荷耦合元件)是一種半導體器件,由許多排列整齊的電容組成,能感應光線,并將影像轉變成數(shù)字信號。經由外部電路的控制,每個小電容能將其所帶的電荷轉給它相鄰的電容,最終通過脈沖的控制,逐個測量每個電容的電荷量,得到光強值。
1.2 TCD1206型線陣CCD引腳及主要參數(shù)
本設計采用的是TCD1200D型線陣CCD傳感器。TCD1200D是一種高靈敏度、低暗電流、2160像元的線陣CCD圖像傳感器。該傳感器可用于傳真、圖像掃描和OCR。該器件的內部信號預處理電路包含采樣保持和輸出預放大電路。它包含一列2160像元的光敏二極管,當掃描一張B4的圖紙時,可達到8線/毫米(200DPI)的精度。其引腳及原理如圖1所示。
TCD1200D線陣CCD傳感器特性:
·像敏單元數(shù)目:2160像元
·像敏單元大。14×14×14 μ m(相鄰像元中心距為14 μ m)
·光敏區(qū)域:采用高靈敏度PN結作為光敏單元
·時鐘:二相(5V)
·內部電路:包含采樣保持電路,輸出預放大電路
·封裝形式:22腳DIP封裝。
1.3 TCD1200型線陣CCD驅動采集脈沖要求
該型號的CCD驅動需要發(fā)送SH、φ1、φ2、RS等脈沖,而采集需要差分OS和DOS兩路信號,具體脈沖要求如圖2所示。
其中SH為積分脈沖,高電平的時候,CCD像元開始累積電荷,低電平的時候停止積累;φ1、φ2為兩路反相的驅動脈沖,其主要作用是控制電荷的轉移;RS為信號觸發(fā)脈沖,每個下跳沿會觸發(fā)一個像元釋放電荷,從而將電信號輸出;OS則是輸出信號,在經過13個啞元輸出和光屏蔽輸出后,輸出有用信號;DOS則是參考電平信號,與OS差分之后,得到最終的信號輸出。這些脈沖的要求頻率高(例如RS典型頻率參考值是1 MHz),相互之間匹配要求高,因而一般單片機的操作難以完成。
2 硬件電路設計
如圖2所示,CCD的驅動需要發(fā)送包括SH、φ1、φ2、RS等4個驅動脈沖,其中RS的頻率范圍是0.02MHz到2MHz,典型值是1MHz。這種高頻率的脈沖,對單片機來說,難以獨立完成,所以本系統(tǒng)選用了一定的數(shù)字電路進行輔助設計。同時由于C8051F020單片機的A/D轉換最高值為500kHz,而CCD發(fā)送模擬信號的頻率(即OS的頻率)與RS相同,所以RS的頻率亦選為500kHz。
具體方案是用單片機自帶的PCA模塊發(fā)送穩(wěn)定的1MHz的方波脈沖,然后通過D觸發(fā)器(74HC74芯片)進行2次分頻,獲得5V、0.5MHz和0.25M Hz的方波脈沖(兩種頻率都各有兩路電平總是相反的脈沖),其中0.5MHz脈沖作為RS驅動脈沖,0.25MHz的兩路脈沖分別作為φ1和φ2的脈沖。同時用定時器2檢測RS,進行計數(shù),確定SH的積分時間,發(fā)送符合要求的SH脈沖,同時SH的脈沖需要一個反相器,進行電平轉換(3V~5V),和發(fā)送D觸發(fā)器的控制脈沖。對于DOS的采集,本系統(tǒng)選用的是用OP27搭建的減法器和跟隨器進行采集。
CCD的脈沖控制和信號A/D轉換工作主要由C8051F020單片機完成。如前所述,TX0和RX0配置在P0.O和P0.1,進行RS232通訊;由P0.2口(PCA)發(fā)送1 MHz的穩(wěn)定方波脈沖;P0.3(T2)進行RS (0.5 M Hz)的計數(shù);A/D轉換觸發(fā)控制位(CNVSTR)連入引腳P0.4;P0.5通過定時器2控制,發(fā)送SH脈沖;P1.1為模擬輸入口,接收模擬信號。
3 人機交互界面軟件設計
本系統(tǒng)的軟件設計包括C8051微控制器的應用程序和人機交互界面的Labview應用程序。
C8051微控制器的程序流程圖如圖3所示,配合硬件設置好PCA、ADC等功能的初始化后,直至接收計算機發(fā)送的信息,便開始讀取CCD的數(shù)據(jù),并存儲到XDATA空間當中。結束一周期的數(shù)據(jù)的采集則關閉A/D轉換,并判斷計算機發(fā)送的信息里要求發(fā)送整個波形還是進行位置判斷(本設計還包括一個判斷極值的功能,為位置傳感留下了接口),若是前者,則將所有的數(shù)據(jù)發(fā)送到串口的緩存中;若是后者,則判斷山轉換數(shù)據(jù)的最大值,再將最大值的位置信啟、發(fā)送至串口,進行完一系列的過程后,則重新開始采集,依此循環(huán)。
Labview采用圖形化的G語言進行編程,完成人機交互界面軟件的功能。該軟件可以實現(xiàn)整個波形圖和位置信息的實時采集,歷史數(shù)據(jù)的保存和讀取,以及整個系統(tǒng)的開始、停止和復位等控制。圖4是Labview的程序框圖。
4 實驗結果
4.1 電路板實物圖
本方案已經完全實現(xiàn),經測試,效果良好,可滿足基本的科研檢測或演示教學任務,以下是已經制板成功的電路板。
4.2 單縫衍射測試
當光經過細小的單縫,縫寬和光源的波長相當?shù)臅r候,會產生明顯的衍射現(xiàn)象,即光會改變直線傳播,并按照一定的規(guī)律進行傳播。理想狀況下的單縫衍射,光屏會出現(xiàn)特定的光譜,中間條紋最亮,向兩邊逐漸減弱,同時會出現(xiàn)完全沒有光的暗紋。圖6即測試圖樣,上半部分是采集的電壓值經定標后對應的光強波形圖,與理論完全一致;下半部分是利用Labview的二維光強控件對真實情況的模擬,與肉眼觀察的圖樣一致。
5 結束語
本文提供了一套完整的用單片機驅動采集CCD信號的方案,對軟硬件都做了詳細的介紹。其新穎之處是通過不占用內存的PCA配合D觸發(fā)器和定時計數(shù)器完成驅動脈沖的產生。綜上所述,C8051f020單片機能完成這項任務在于其支持一個16位的PCA模塊,2個12位以上的定時計數(shù)器,2k以上的內部數(shù)據(jù)RAM,一個8位的多種觸發(fā)方式的高速ADC以及UART串口。任何一個具有同樣模擬外設的微控制器都能完成此方案,并且其中PCA模塊可以用有源晶振代替,自帶的RAM不足,完全可以用外部存儲器補充,而8位ADC芯片在市場也很多,大多數(shù)單片機也都具備12位以上的定時計數(shù)器,所以這個方法完全可以推廣應用,是一種普遍適用的應用方案。
作者:屈少華 陳 陽 程永進 來源:現(xiàn)代電子技術