TI PGA308模擬傳感器信號調理方案
0引 言
本文引用地址:http://dyxdggzs.com/article/90075.htm與視頻采集卡等傳統圖像采集系統相比,嵌入式圖像采集系統具有體積小、成本低、可靠性高等優(yōu)點(diǎn),在智能交通、遠距離監控、汁算機視覺(jué)等領(lǐng)域應用廣泛。本文所設計的嵌入式圖像采集系統是采用以ARM7為內核的LPC2106作為主控芯片和,先控制CMOS傳感器OV6620進(jìn)行圖像采集,然后由LPC2106控制先將圖像數據存放人FIFO存儲器AL4V8M1440中,最后將圖像采集結果通過(guò)多種通信接口進(jìn)行傳輸,或者通過(guò)SD卡來(lái)提取該圖像采集系統中的圖像數據。該圖像采集系統僅用一個(gè)ARM芯片就實(shí)現了對OV6620的功能控制、時(shí)序同步、數據采集與處理等功能,系統結構緊湊,功能強大。
1系統總體方案
如圖1所示,在檢測時(shí),光線(xiàn)會(huì )照射在被攝物體表面,ARM控制面陣CMOS攝像頭采集圖像,再把獲得的圖像數據送入FIFO存儲器中緩沖一下,然后通過(guò)串口傳輸給電腦,也可通過(guò)SD卡接口將圖像存放入SD卡中。
2系統硬件設計
2.1 ARM與CMOS的接口
OV6620是CMOS彩色/黑白圖像傳感器。它支持連續和隔行2種掃描方式,CIF與QCIF兩種圖像格式;最高像素為352×288,幀速率為26 fps;數據格式包括YUV、YCrCb、RGB三種,能夠滿(mǎn)足一般圖像采集系統的要求。OV6620內部可編程功能寄存器的設置有上電模式和SCCB編程模式。本系統采用SCCB編程模式,連續掃描,8位RGB數據輸出。系統硬件結構框圖如圖2所示。
ARM芯片選用具有ARM7TDMI內核的LPC2106,通過(guò)LPC2106的GPIO模擬SCCB總線(xiàn)協(xié)議設置OV6620的功能寄存器。使用LPC2106中斷口引入OV6620的圖像輸出垂直同步信號VSYNC,以中斷方式同步圖像數據輸出。OV6620的Y0~Y7通道輸出的8位并行數據先通過(guò)AL4V8M440緩存,再進(jìn)入LPC2106中。
AL4V8M440為FIFO存儲器,作用是對CMOS傳感器所采集的圖像數據進(jìn)行緩存,調節ARM同CMOS之間速度的差異,從而采集到完整圖像。
2.2 ARM與SD卡接口
SD卡(secure digiatl memory card)是一種基于半導體快閃記憶器的新一代記憶設備。SD卡由日本松下、東芝及美國SanDisk公司于1999年8月共同開(kāi)發(fā)研制。SD卡有著(zhù)廣泛的應用領(lǐng)域,音樂(lè )、電影、新聞等多媒體文件都可以方便地保存到SD卡中。本文加入該接口,可以方便提取圖像采集系統的數據。
SD卡支持SPI和BUS兩種接口模式,本系統采用SPI接口模式。SD卡的DAT0接到MOSI,CLK(時(shí)鐘線(xiàn))接到SCK,CMD(命令線(xiàn))接到MOSI,CS接到P0.14。SD卡支持單線(xiàn)和4線(xiàn)讀/寫(xiě),前者通過(guò)DAT0進(jìn)行數據串行傳輸,CS作為中斷口,最高傳輸速率25 Mbps;后者通過(guò)DAT0~DAT3分別進(jìn)行串行數據傳輸,最高傳輸速率100 Mbps。本系統選用的是前者,可以節省硬件資源,實(shí)現方便,ARM與SD卡接口的硬件結構框圖如圖3所示。
3系統軟件設計
3.1 ARM與CMOS的軟件接口設計
3.1.1 OV6620的寄存器設置
由于SCCB不支持多字節的讀寫(xiě),NA位必須為高電平。另外,SCCB沒(méi)有重復起始的概念,因此在SCCB的讀周期中,當主機發(fā)送完片內寄存器地址后,必須發(fā)送總線(xiàn)停止條件。不然在發(fā)送讀命令時(shí),從機將不能產(chǎn)生Don't care響應信號。
由于I2C和SCCB的一些細微差別,所以采用普通IO口P0.22,P0.23模擬SCCB總線(xiàn)的方式。SCCB的寫(xiě)周期直接使用I2C總線(xiàn)協(xié)議的寫(xiě)周期時(shí)序;而SC-CB的讀周期,則增加一個(gè)總線(xiàn)停止條件。OV6620功能寄存器的地址為0x00~0x50(其中,不少是保留寄存器)。通過(guò)設置相應的寄存器,可以使OV6620工作于不同的模式。
例如,設置OV6620為低分辨率、自動(dòng)曝光、自動(dòng)白平衡和設置幀時(shí)鐘周期,需要進(jìn)行如下設置:
camera_set_register()為設置寄存器函數,它的第1個(gè)參數OV6620_addr為宏定義的芯片地址0xC0,第2個(gè)參數為片內寄存器地址,第3個(gè)參數為相應的寄存器設定值。
3.1.2 OV6620采集過(guò)程
OV6620有4個(gè)同步信號:VSYNC(垂直同步信號)、FODD(奇數場(chǎng)同步信號)、HREF(水平同步信號)、PCLK(像素同步信號)。當采用連續掃描方式時(shí),只使用VSYNC和HREF、PCLK三個(gè)同步信號,如圖2所示。
LPC2106的1個(gè)外部中斷引腳分別作為VSYNC信號的輸入,相應的中斷服務(wù)程序分別為Vsync_IRQ(),HREF接LPC2106的普通IO口,PCLK接FIFO存儲器的讀時(shí)鐘。
圖像采集的基本流程為:當用SCCB初始化好OV6620后,使能VSYNC對應的中斷,在Vsync_IRQ()中斷服務(wù)程序中判斷是否已取得一幀圖像數據。若不是,則打開(kāi)FIFO的寫(xiě)使能,將一幀圖像數據寫(xiě)入FIFO存儲器中;若是,則關(guān)閉FIFO的寫(xiě)使能,CMOS不向FIFO存儲器,而等待ARM讀取FIFO存儲器的一幀圖像數據。
3.1.3圖像提取過(guò)程
圖像提取的基本流程為:當采集數據已經(jīng)存放在FIFO中,利用ARM取出數據,再傳輸給上位機。先對FIFO進(jìn)行讀復位,使FIFO指針指向首地址,再根據OV6620所輸出RGB數據的格式進(jìn)行讀取。
其中,提取過(guò)程最重要的是OV6620所輸出RGB數據格式,它影響到提取圖像的準確性。本系統應用的是8位輸出,其數據格式見(jiàn)表1所示。
從表1中可以看出,第一行Y通道是無(wú)效數據應該去除,從第二行開(kāi)始讀取,在一行之內,B、R數據只在奇次項出現,G數據只在偶次項出現。而在每一行內,偶數點(diǎn)的R數據、B數據可通過(guò)分別對其兩側的2個(gè)點(diǎn)的R和B數據求平均值得到。
這樣,一幅圖像就提取完了,可以直接存成二進(jìn)制文件(本系統采用串口輸出到PC進(jìn)行顯示處理)或者存儲到SD卡上。
3.2 ARM與SD卡的軟件接口設計
ARM同SD卡接口有SPI和BUS兩種接口模式,本系統采用SPI接口模式,這樣可以直接利用LPC2106自帶的SPI接口進(jìn)行數據傳輸,實(shí)現方便。SD卡的SPI通道由以下4個(gè)信號組成:CS(片選),CLK(時(shí)鐘),DataIn(主機到卡的數據信號)和DataOut(卡到主機的數據信號)。CS是SD卡的片選信號線(xiàn),在整個(gè)SPI操作過(guò)程中,必須保持低電平有效,CLK用于同步,DataIn不但傳輸數據,還發(fā)送命令,同樣DataOut除了發(fā)送數據外還傳送應答信號。
在SPI模式中,SD卡可以支持單塊以及多塊數據的讀寫(xiě)。這里以單塊數據的寫(xiě)入和讀取為例。其中單塊數據寫(xiě)入SD卡的步驟是先向SD卡發(fā)送單塊寫(xiě)命令CMD24以及寫(xiě)地址,卡將發(fā)送給主機一個(gè)應答信號,并且等待主機發(fā)送一個(gè)數據塊來(lái),當應答信號reasult為0時(shí),說(shuō)明可以發(fā)送數據,一塊的大小為512個(gè)字節??▽γ總€(gè)發(fā)送給自己數據塊通過(guò)一個(gè)應答信號確認,它有1字節長(cháng),當其低4位十六進(jìn)制為0x05時(shí),數據塊才被正確寫(xiě)入SD卡。所以在發(fā)送完單塊數據后,將判斷應答信號是否為0x05。單塊數據寫(xiě)入SD卡流程圖如圖4所示。而從SD卡讀取單塊數據的步驟是先向SD卡發(fā)送單塊寫(xiě)命令CMD17以及讀地址,卡將發(fā)送給主機一個(gè)應答信號,并且向主機發(fā)送單塊數據,當應答信號reasult為0時(shí),說(shuō)明可以接收數據,接著(zhù)判斷接收的第一個(gè)字節是否為起始字節0xFE,是的話(huà)就接收5112 B,否則就讀取數據失敗。寫(xiě)入和讀取SD卡單塊數據流程圖如圖4、5所示。
4實(shí)驗結果
根據以上的設計思路搭建了一個(gè)圖像采集系統,進(jìn)行圖像采集實(shí)驗,并將所采集到的圖像數據添加上BMP位圖文件頭信息用bmp格式文件存入SD卡,便于在電腦上讀取SD卡上的圖像數據。
現以拍攝運動(dòng)中的商標帶為例,在運動(dòng)中的某一時(shí)刻拍攝圖片如圖6所示。從圖6上表明該圖像采集系統可以實(shí)現實(shí)時(shí)采集,且所采集圖像的圖案清晰,準確率較高,基本滿(mǎn)足設計的要求。
5結語(yǔ)
本文主要介紹了利用LPC2106硬件平臺和OV6620攝像頭進(jìn)行圖像采集,以及將采集到的圖像數據通過(guò)SD卡進(jìn)行圖像存儲的方法。與普通的視頻采集卡相比,此嵌入式圖像采集系統極大地簡(jiǎn)化了系統結構,降低了系統設計成本,縮短了開(kāi)發(fā)周期;圖像數據的采集與處理均由ARM芯片完成,因而降低了數據中轉過(guò)程中傳輸錯誤的幾率,提高了系統的可靠性。
評論