面向高分辨率面陣CCD的新型信號采集系統(tǒng)設計
CCD水平驅(qū)動脈沖的周期和脈寬是固定不變的,而六相垂直驅(qū)動脈沖卻是變化多樣,每相垂直驅(qū)動脈沖的上升沿和下降沿時刻均會有所不同,在這里通過四個步驟設置AD9995中相應的寄存器組來產(chǎn)生CCD所需要的驅(qū)動脈沖。第一步通過VPAT0~VPAT9這10個寄存器組產(chǎn)生多至10組不同垂直驅(qū)動脈沖組合(如圖4所示),每一種組合中的垂直驅(qū)動脈沖V1~V6的上升沿和下降沿時刻均可分別定義。等二步在第一步定義的脈沖組合的基礎(chǔ)上組成不同垂直脈沖序列V-SEQUENCE(如圖5所示)。對應一個垂直脈沖序列選擇一組垂直脈沖組合,并定義垂直脈沖組合在垂直脈沖序列中的起始時刻以及重復次數(shù)。第三步為一場(FIELD)圖像中的不同區(qū)域指定相應的垂直脈沖序列(如圖6所示)。每一個場圖像可以包含多達7個不同的區(qū)域(RIGEON);至多可以定義6個不同的圖像場。最后通過模式寄存器的設置把不同的場組成圖像輸出(如圖7所示)。在ICX432DQF的幀輸出模式中,根據(jù)驅(qū)動脈沖要求,分別定義5組垂直脈沖組合、5組垂直脈沖序列、3個圖像場,最后通過模式寄存器把這些驅(qū)動信號整合。
在驅(qū)動脈沖的作用下,從CCD輸出的像素模擬電壓信號由CCDIN引腳輸送到AD9995的DIN引腳,經(jīng)AFE采樣、放大和A/D轉(zhuǎn)換后,由DOUT引腳以12位數(shù)字量輸出。
2.3 DSP及高速圖像數(shù)據(jù)的存儲
由于圖像的數(shù)據(jù)量非常巨大,而且要以24MHz的高速率將每一像素的數(shù)據(jù)輸出,所以高速圖像數(shù)據(jù)的實時存儲是圖像采集系統(tǒng)的關(guān)鍵環(huán)節(jié)。本系統(tǒng)采用ADI公司新近推出的ADSP-BF533高性能數(shù)字信號處理芯片及外接SDRAM存儲器來實現(xiàn)圖像數(shù)據(jù)的傳輸與實時存儲。通常為使CCD輸出的高速數(shù)據(jù)流與外部總線接口較低的傳輸速度相匹配,必須使用FIFO作為數(shù)據(jù)緩沖器,之后再由DSP讀取。然而,利用ADSP_BF533系列DSP芯片中的PPI(Parallel Peripheral Interface)卻可以很容易地實現(xiàn)DSP與高速ADC和DAC的無縫連接。通過PPI和DMA的組合使用,可以有效地獲取、存儲和傳輸圖像數(shù)據(jù),大大減少了實時圖像處理應用中內(nèi)核處理器的開銷,可編程和可設置性也減少了外部元器件。在系統(tǒng)中,由AD9995并行輸出的高速數(shù)據(jù)送到DSP的PPI,并在直接存儲控制器(DMA)的控制下寫入SDRAM存儲器。
本文引用地址:http://m.butianyuan.cn/article/169531.htm
2.3.1 PPI接口功能與原理
ADSP_BF533芯片提供的PPI是一種多功能并行接口,數(shù)據(jù)線寬度可以在8位~16位之間設置。PPI支持雙向數(shù)據(jù)流,能夠與高速A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器或其它通用外圍設備直接并行連接,適合大量數(shù)據(jù)的高速連續(xù)輸入與輸出。它包括三條同步信號線和一個與外部時鐘相連的時鐘引腳。在本系統(tǒng)中,PPI時鐘由AFE9995的像素輸出時鐘DCLK驅(qū)動,PPI可以在驅(qū)動時鐘頻率高達65MHz的情況下接收數(shù)據(jù),所以完全能夠滿足本系統(tǒng)中CCD 24MHz速率的像素數(shù)據(jù)傳輸。根據(jù)經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)寬度設置PPI的數(shù)據(jù)線寬度為12位,由AD9995輸出的水平同步信號HD和垂直同步信號VD分別輸入PPI的PPI_FS1和PPI_FS2同步信號引腳(如圖8所示)。
從CCD輸出的像素信號并不都是有用的,每一行中在有效像元前后都存在一些黑(OPTICAL BLACK)像素,和一些啞(DUMMY)像素,同樣在一場有效輸出前后也存在著一些啞行,所以由AFE輸出的有效圖像數(shù)據(jù)中間有一定的行間隔和場間隔。當HD同步信號輸入到PPI的FS1后,需要等待若干時鐘周期才開始有效像元數(shù)據(jù)的傳輸,這時可通過延遲計數(shù)寄存器(PPI_DELAY)來設置需要等待的時鐘周期數(shù)。另外,還要在PPI_COUNT和PPI_FRAME寄存器中分別設定每一行的像素數(shù)和每一場圖像的行數(shù),這樣便確定了每一次PPI調(diào)用中所要傳輸?shù)臄?shù)據(jù)量。
2.3.2 DMA的調(diào)用
在CCD數(shù)據(jù)采集這種數(shù)據(jù)量非常大的情況下,PPI 接口只有在DMA引擎的配合下,系統(tǒng)才能發(fā)揮它的高效能。雖然對圖像數(shù)據(jù)進行的傳輸也可由軟件實現(xiàn),但將消耗掉大量的CPU時鐘周期,使DSP的高速數(shù)據(jù)處理能力難以發(fā)揮。因為有了DMA獨立負責數(shù)據(jù)傳輸,在系統(tǒng)內(nèi)核對DMA初始設置并啟動后,便不再需要內(nèi)核參與,DMA控制器直接把圖像數(shù)據(jù)從PPI接口傳輸至SDRAM存儲器進行存儲。于是,在有效地解決了大批量圖像數(shù)據(jù)傳輸這一速度瓶頸的同時,又能讓DSP處理器專心從事算法處理工作,極大地提高了系統(tǒng)的并行性能。
ADSP-BF533的DMA可以控制六種類型的數(shù)據(jù)傳輸:內(nèi)部存儲器之間、內(nèi)部存儲器-外部存儲器、存儲器-SPI接口、存儲器-SPORT接口、存儲器-UART接口、存儲器-PPI接口。本系統(tǒng)使用PPI接口與外部存儲器SDRAM之間的DMA傳輸。DMA的建立需要如下步驟:(1)設置寄存器DMA1_0_START_ADDR_REG,寫入目標地址值;(2)設置寄存器DMA1_0_X_COUNT_REG,寫入傳輸次數(shù);(3)設置寄存器DMA1_0_X_MODIFY_REG,寫入每次數(shù)據(jù)傳輸?shù)哪繕说刂沸拚担?4)設置DMA控制寄存器DMA1_0_CONFIG_REG,啟動DMA數(shù)據(jù)傳輸。
3 系統(tǒng)軟件實現(xiàn)
在ADI 公司的DSP集成開發(fā)環(huán)境Visual DSP++3.0中,采用C語言與匯編語言混合編程的方式進行CCD圖像采集的軟件開發(fā)。系統(tǒng)軟件流程圖如圖9所示。系統(tǒng)初始化之后,調(diào)用AD9995設置子程序?qū)D9995中的眾多寄存器組進行設置,使其能夠產(chǎn)生所要求的CCD驅(qū)動脈沖;之后檢查DMA通道是否空閑,若通道忙則等待,若空閑則對PPI和DMA通道的相關(guān)寄存器進行設置,并且使能PPI和DMA通道,這樣當PPI接口收到HD脈沖后便啟動了數(shù)據(jù)傳輸。
該CCD圖像采集系統(tǒng)采用集成了模擬前端電路與時序發(fā)生器的集成元件,從而保證系統(tǒng)具有更高的可靠性和較強的抗干擾能力;通過軟件可以方便地改變時序發(fā)生器的驅(qū)動脈沖,因此適用于多種不同型號的CCD器件,具有較好的通用性。利用PPI和DMA完成數(shù)據(jù)的傳輸與存儲,改變了通常在高速ADC和DSP之間通過FIFO存儲器連接的方式,實現(xiàn)了高速ADC和DSP的無縫連接,簡化了系統(tǒng)結(jié)構(gòu)?;谝陨咸攸c,本CCD圖像采集系統(tǒng)很適合應用于數(shù)碼相機以及對分辨率要求較高的圖像采集與處理場合。
評論