基于ARM9的CMOS圖像采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
邏輯結(jié)構(gòu)圖的工作原理如下:
(1)CLKOUT0為S3C2410A的輸出時(shí)鐘引腳,根據(jù)S3C2410A內(nèi)部寄存器MisCCR中4~6位的不同設(shè)置可以輸出不同的時(shí)鐘,如系統(tǒng)時(shí)鐘FCLK、AHB(內(nèi)部)總線時(shí)鐘HCLK和APB(外部)總線時(shí)鐘PCLK等。系統(tǒng)將其作為CMOS圖像傳感器的主時(shí)鐘輸入MCLK。
(2)啟動(dòng)信號(hào)START為S3C2410A的一個(gè)I/O,高電平有效,由于KAC9638的啟動(dòng)信號(hào)OE是低電平有效,所以它們之間要連接一個(gè)非門。
(3)VSYNC為傳感器的幀同步信號(hào),輸出一幀有效圖像時(shí)該信號(hào)一直為高電平,用該信號(hào)連接S3C2410A的外部中斷XINT,使CPU能控制一幀圖像的開(kāi)始和結(jié)束。
(4)D[9:0]為圖像傳感器輸出的數(shù)據(jù)流,D[15:10]位用0填充,組成16位數(shù)據(jù)輸入到緩沖。緩沖的寫(xiě)入允許信號(hào)是啟動(dòng)信號(hào)START和幀有效信號(hào)VSYNC的邏輯與。在緩沖內(nèi)兩個(gè)周期移位成32位數(shù)據(jù)。
(5)緩沖寫(xiě)入時(shí)鐘WRCLK由傳感器的像元輸出時(shí)鐘PCLK提高,一個(gè)周期寫(xiě)入一個(gè)10位A/D值,所以一次輸出32位數(shù)據(jù)時(shí),輸出時(shí)鐘周期是PCLK的二分頻。并將PCLK的二分頻作為S3C2410A外部DMA的請(qǐng)求信號(hào)XDREQ。
(6)片選信號(hào)線nGCS4:作為32位緩沖的控制線,低電平有效。在進(jìn)行數(shù)據(jù)采集時(shí)將DMA方式的源地址設(shè)置在BANK4范圍內(nèi),讀操作時(shí)即選中該緩沖。
圖7是用Verilog語(yǔ)言編寫(xiě)的程序仿真的圖像采集時(shí)序圖。
3.3 DMA方式采集圖像數(shù)據(jù)程序設(shè)計(jì)
系統(tǒng)采集一幀圖像數(shù)據(jù)的流程圖如圖8所示。
(1)啟動(dòng)圖像采集:主控CPU從串口或其他通信口接收到采集命令后,通過(guò)START信號(hào)線通知CPLD采集信號(hào),CPLD再通過(guò)硬件引腳OE啟動(dòng)KAC9638采集圖像數(shù)據(jù)。
(2)DMA初始化:包括DMA的源地址、目標(biāo)地址、DMA次數(shù)等初始化。
(3)開(kāi)外中斷:當(dāng)一幀數(shù)據(jù)采集完成后,通過(guò)外部中斷通知CPU。
(4)DMA數(shù)據(jù)傳輸無(wú)需CPU干預(yù),一幀圖像完成后產(chǎn)生中斷。
(5)DMA中斷產(chǎn)生并且外部中斷產(chǎn)生才算是一幀圖像采集完成,然后交由主控CPU進(jìn)行處理。若只有其中一個(gè)中斷產(chǎn)生,并且等待另一個(gè)中斷超時(shí),則是在采集過(guò)程中丟失了數(shù)據(jù),采集圖像失敗。
4 硬件調(diào)試
4.1 硬件調(diào)試環(huán)境
在系統(tǒng)硬件調(diào)試中,使用集成開(kāi)發(fā)環(huán)境配合JATG仿真器進(jìn)行調(diào)試是目前采用最多的一種調(diào)試方式[7]。集成開(kāi)發(fā)環(huán)境選用ARM公司的ADS1.2。JTAG仿真器也稱為JTAG調(diào)試器,是通過(guò)ARM芯片的JATG邊界掃描口進(jìn)行調(diào)試的設(shè)備。屬于完全非插入式(即不使用片上資源)調(diào)試。
4.2 硬件調(diào)試步驟及結(jié)果
(1)BootLoad系統(tǒng)引導(dǎo)測(cè)試
先使用英蓓特公司開(kāi)發(fā)的Flash燒寫(xiě)工具將BootLoad程序燒寫(xiě)到Flash,若在PC超級(jí)終端上能正確接收目標(biāo)板的串口返回的啟動(dòng)信息,表明系統(tǒng)正常運(yùn)行,可以用ADS下載程序到SDRAM進(jìn)行調(diào)試。
(2)圖像傳感器測(cè)試
①I2C配置測(cè)試
將ADS編譯好的bin文件下載到目標(biāo)板的SDRAM,超級(jí)終端接收到返回的圖像傳感器ID正確,則表明I2C通信正常。通過(guò)I2C配置圖像大小為3(H)×5(V),用示波器測(cè)量傳感器幀同步(vsync)、行同步(hsync)及像元時(shí)鐘(pclk)的關(guān)系。如圖9所示,11個(gè)像元時(shí)鐘(設(shè)定的每行3個(gè)像元加上每行開(kāi)始的8個(gè)全黑像元)對(duì)應(yīng)1個(gè)行同步時(shí)鐘,圖10顯示了幀同步信號(hào)及行同步信號(hào)的關(guān)系:5個(gè)行同步時(shí)鐘對(duì)應(yīng)1個(gè)幀同步時(shí)鐘。測(cè)試結(jié)果表明S3C2410A可以正確配置圖像傳感器的工作方式。
?、趫D像采集測(cè)試
為方便檢驗(yàn)采集到的圖像,將ARM采集到的圖像數(shù)據(jù)通過(guò)UART口發(fā)送到PC終端,再將數(shù)據(jù)組合成圖像顯示。接收到的數(shù)據(jù)如圖11所示。
采用CMOS圖像傳感器、CPLD和ARM9的DMA結(jié)合完成圖像的采集是本系統(tǒng)的特點(diǎn)。該方法提高了圖像的采集速度,減少了CPU的開(kāi)銷。CMOS圖像傳感器價(jià)格適中,外圍簡(jiǎn)單,且集成I2C接口便于編程控制;CPLD將CMOS傳感器輸出數(shù)據(jù)移位成32位數(shù)據(jù),可以使傳感器以更高的速度輸出;ARM9的DMA負(fù)責(zé)圖像采集,使得CPU可以解放出來(lái)處理其他任務(wù)。實(shí)驗(yàn)測(cè)試結(jié)果證明,該圖像采集系統(tǒng)硬件平臺(tái)方案設(shè)計(jì)合理、可行。該系統(tǒng)在實(shí)際中可以應(yīng)用于視頻圖像監(jiān)控、圖像自動(dòng)檢測(cè)、醫(yī)療及軍事檢測(cè)等場(chǎng)所,具有良好的應(yīng)用前景。
參考文獻(xiàn)
[1] 李繼軍,杜云剛,張麗華等.CMOS圖像傳感器的研究進(jìn)展[J].激光與光電子學(xué)進(jìn)展,2009(04):45-52.
[2] 付斌,王科俊,陸揚(yáng).基于USB2.0的CMOS圖像采集系統(tǒng)的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(10):96-98.
[3] 李洪宇.機(jī)器視覺(jué)圖像采集設(shè)計(jì)與研究[D].大慶:大慶石油學(xué)院,2007.
[4] 龍?jiān)俅ǎw凱生,洪明堅(jiān),等.ARM系統(tǒng)中DMA方式在數(shù)據(jù)采集中的應(yīng)用[J].國(guó)外電子元器件,2007(2):66-69.
[5] 林志琦,張修謙,富麗,等.基于TMS320F2812和CPLD的200萬(wàn)像素?cái)?shù)字圖像采集系統(tǒng)接口的設(shè)計(jì)[J].長(zhǎng)春理工大學(xué)學(xué)報(bào),2007,30(2):39-41.
[6] 葉權(quán)來(lái),鄭黎明.ARM9平臺(tái)下的CMOS圖像傳感器數(shù)據(jù)采集系統(tǒng)[J].電子工程師,2007,33(6):70-72.
[7] 符意德,陸陽(yáng).嵌入式系統(tǒng)原理及接口技術(shù).北京:清華大學(xué)出版社,2007.
電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理
評(píng)論