一種數(shù)字圖像采集報(bào)警系統(tǒng)的設(shè)計(jì)
AT91_F_TWI_Write_Byte
(const TWI_Mapped,OV6620_addr,0x24,0x33)
AT91_F_TWI_Write_Byte
?。╟onst TWI_Mapped,OV6620_addr,0x25,0x97)
AT91_F_TWI_Write_Byte
?。╟onst TWI_Mapped,OV6620_addr,0x1,0x02)
AT91_F_TWI_Write_Byte( )為控制設(shè)置寄存器函數(shù),它的第1個(gè)參數(shù)是TWI的映射地址。在AT91SAM7S64中的宏定義地址為0Xfffb8000,OV6620_addr為宏定義的從機(jī)芯片地址0XC0《16,第3個(gè)參數(shù)為OV6620的內(nèi)部寄存器地址,第4個(gè)參數(shù)為相應(yīng)的寄存器設(shè)定的值。
3.2.2 OV6620的采集過(guò)程
OV6620有4個(gè)同步信號(hào):VSYNC(垂直同步信號(hào))、FODD(奇數(shù)場(chǎng)同步信號(hào))、HREF(水平同步信號(hào))、PCLK(像素同步信號(hào))。當(dāng)采用連續(xù)掃描方式時(shí),只使用VSYNC和HREF、PCLK 3個(gè)同步信號(hào)[5-6]。AT91SAM7S64的1個(gè)外部中斷引腳VSYNC信號(hào)的輸入,相應(yīng)的中斷服務(wù)程序分別為VSYNC_IRQ( ),HREF接AT91SAM7S64的普通I/O口。圖像采集的過(guò)程為:當(dāng)用TWI初始化0V6620后,使能VSYNC對(duì)應(yīng)的中斷,等待CPU讀取一幀的圖像在VSYNCIRQ( )中斷服務(wù)程序中判斷是否已取得一幀圖像數(shù)據(jù)。若不是,繼續(xù)等待知道完全傳送一幀圖像數(shù)據(jù)為止。
3.2.3 圖像提取過(guò)程
圖像提取的過(guò)程為:當(dāng)采集數(shù)據(jù)已經(jīng)存放在外存儲(chǔ)器中,利用CPU取出數(shù)據(jù),再傳輸給上位機(jī)。先對(duì)外存儲(chǔ)器進(jìn)行讀復(fù)位,使外存儲(chǔ)器的指針指向首地址,再根據(jù)OV6620所輸出RGB數(shù)據(jù)的格式進(jìn)行讀取。其中,提取過(guò)程最重要的是OV6620所輸出RGB數(shù)據(jù)格式,它影響到提取圖像的準(zhǔn)確性。其數(shù)據(jù)格式如表1所示。
從表1中可以看出,第一行Y通道是無(wú)效數(shù)據(jù)應(yīng)該去除。從第二行開(kāi)始讀取,在一行之內(nèi),B、R數(shù)據(jù)只在奇次項(xiàng)出現(xiàn),G數(shù)據(jù)只在偶次項(xiàng)出現(xiàn)。而在每一行內(nèi),偶數(shù)點(diǎn)的R數(shù)據(jù)、B數(shù)據(jù)可通過(guò)分別對(duì)其兩側(cè)的2個(gè)點(diǎn)的R和B數(shù)據(jù)求平均值得到。
4 軟件設(shè)計(jì)的難點(diǎn)與不足點(diǎn)
由于AT91SAM7S64 芯片的價(jià)格低廉,且在圖像采集過(guò)程中消耗MCU 的資源大,在軟件設(shè)計(jì)過(guò)程中程序空間不足是設(shè)計(jì)的瓶頸,此外在紅外信號(hào)處理部分并不是無(wú)間斷的連續(xù)紅外感應(yīng)而是需要間隔一段時(shí)間,但是間隔的時(shí)間約為10s左右,在圖像傳感及處理部分,圖像的去噪堯黑線提取等只在設(shè)置寄存器中不斷試驗(yàn)從而達(dá)到最好的效果,并沒(méi)有在程序中自動(dòng)完成。AT91SAM7S64 和OV6620 攝像頭進(jìn)行圖像采集,以及將采集到的圖像數(shù)據(jù)存儲(chǔ)到外存儲(chǔ)器、與普通的視頻采集卡相比,該嵌入式圖像采集系統(tǒng)極大地簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),降低了系統(tǒng)設(shè)計(jì)成本,縮短了開(kāi)發(fā)周期曰圖像數(shù)據(jù)的采集與處理均由ARM 芯片完成,因而降低了數(shù)據(jù)中轉(zhuǎn)過(guò)程中傳輸錯(cuò)誤的幾率,提高了系統(tǒng)的可靠性。
評(píng)論