紅外方式數(shù)字圖像采集報(bào)警系統(tǒng)的設(shè)計(jì)
3.1 系統(tǒng)軟件的總體流程
紅外方式數(shù)字圖像采集報(bào)警系統(tǒng)由紅外傳感器探測(cè)出信號(hào)跳變通知CPU,從而控制圖像傳感處理器。由于AT91SAM7S64有32個(gè)I/O服用端口故選取其中一個(gè)端口PA18作為紅外信號(hào)接收端口,在CPU中首先設(shè)置其為輸入端口由于上電后其端口為高電平當(dāng)紅外接收信號(hào)觸發(fā)時(shí)經(jīng)處理后是由低電平向高電平的跳變,所以在I/O端口處應(yīng)是高電平向低電平的跳變,在芯片初始化后可通過PIO控制器引腳數(shù)據(jù)狀態(tài)寄存器判斷PA18是否為0。若為0則控制OV6620,否則應(yīng)繼續(xù)判斷,直到端口為低電平為止,然后進(jìn)行通信并設(shè)置OV6620,當(dāng)其響應(yīng)后進(jìn)行圖像獲取,并把數(shù)據(jù)傳送給外存儲(chǔ)器。其系統(tǒng)主程序框圖如圖3所示。本文引用地址:http://cafeforensic.com/article/152034.htm
3.2 圖像傳感處理
3.2.1 OV6620的寄存器設(shè)置
TWI的數(shù)據(jù)發(fā)送為單字節(jié)發(fā)送OV6620功能寄存器的地址是0x00~0x50,其中不少是保留寄存器通過設(shè)置相應(yīng)的寄存器,可以使OV6620工作于不同模式,在TWI數(shù)據(jù)發(fā)送時(shí)由于從機(jī)地址與從機(jī)子地址的存在所以應(yīng)在TWI_MMR中寫入從機(jī)地址并設(shè)置內(nèi)部地址長(zhǎng)度,在TWI_IADR中寫入從機(jī)子地址,由于TWI_THR保存發(fā)送的數(shù)據(jù)為8位,故設(shè)置OV6620為低分辨率、曝光時(shí)間、自動(dòng)白平衡和設(shè)置幀時(shí)鐘周期,其控制程序如下:
AT91_F_TWI_Write_Byte
(const TWI_Mapped,OV6620_addr,0x14,0x20)
AT91_F_TWI_Write_Byte
(const TWI_Mapped,OV6620_addr,0x10,0x9A)
AT91_F_TWI_Write_Byte
(const TWI_Mapped,OV6620_addr,0x24,0x33)
AT91_F_TWI_Write_Byte
(const TWI_Mapped,OV6620_addr,0x25,0x97)
AT91_F_TWI_Write_Byte
(const TWI_Mapped,OV6620_addr,0x1,0x02)
AT91_F_TWI_Write_Byte( )為控制設(shè)置寄存器函數(shù),它的第1個(gè)參數(shù)是TWI的映射地址。在AT91SAM7S64中的宏定義地址為0Xfffb8000,OV6620_addr為宏定義的從機(jī)芯片地址0XC016,第3個(gè)參數(shù)為OV6620的內(nèi)部寄存器地址,第4個(gè)參數(shù)為相應(yīng)的寄存器設(shè)定的值。
3.2.2 OV6620的采集過程
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口。圖像采集的過程為:當(dāng)用TWI初始化0V6620后,使能VSYNC對(duì)應(yīng)的中斷,等待CPU讀取一幀的圖像在VSYNCIRQ( )中斷服務(wù)程序中判斷是否已取得一幀圖像數(shù)據(jù)。若不是,繼續(xù)等待知道完全傳送一幀圖像數(shù)據(jù)為止。完成后把每接收到一幀的數(shù)據(jù)再存儲(chǔ)到外存儲(chǔ)器中。
3.2.3 圖像提取過程
圖像提取的過程為:當(dāng)采集數(shù)據(jù)已經(jīng)存放在外存儲(chǔ)器中,利用CPU取出數(shù)據(jù),再傳輸給上位機(jī)。先對(duì)外存儲(chǔ)器進(jìn)行讀復(fù)位,使外存儲(chǔ)器的指針指向首地址,再根據(jù)OV6620所輸出RGB數(shù)據(jù)的格式進(jìn)行讀取。其中,提取過程最重要的是OV6620所輸出RGB數(shù)據(jù)格式,它影響到提取圖像的準(zhǔn)確性。本系統(tǒng)應(yīng)用的是8位輸出,其數(shù)據(jù)格式如表1所示。
從表1中可以看出,第一行Y通道是無(wú)效數(shù)據(jù)應(yīng)該去除。從第二行開始讀取,在一行之內(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ù)可通過分別對(duì)其兩側(cè)的2個(gè)點(diǎn)的R和B數(shù)據(jù)求平均值得到。這樣,一幅圖像就提取完了,可以直接存成二進(jìn)制文件。
4 軟件設(shè)計(jì)的難點(diǎn)與不足點(diǎn)
由于AT91SAM7S64 芯片的價(jià)格低廉,且在圖像采集過程中消耗MCU 的資源大,所以不免存在某些資源有限的問題。在軟件設(shè)計(jì)過程中程序空間不足是設(shè)計(jì)的瓶頸,此外在紅外信號(hào)處理部分并不是無(wú)間斷的連續(xù)紅外感應(yīng)而是需要間隔一段時(shí)間,但是間隔的時(shí)間約為10s左右,考慮到該系統(tǒng)為報(bào)警防盜系統(tǒng)的實(shí)際情況其時(shí)間間隔應(yīng)在合理的范圍內(nèi)。在圖像傳感及處理部分,圖像的去噪堯黑線提取等只在設(shè)置寄存器中不斷試驗(yàn)從而達(dá)到最好的效果,并沒有在程序中自動(dòng)完成。所以在以上這些方面還需要不斷完善。本設(shè)計(jì)采用AT91SAM7S64 單片機(jī),它具有豐富的外設(shè),同時(shí)集成了USB 接口模塊,減少了外圍電路、降低了成本遙利用硬件平臺(tái)。AT91SAM7S64 和OV6620 攝像頭進(jìn)行圖像采集,以及將采集到的圖像數(shù)據(jù)存儲(chǔ)到外存儲(chǔ)器、與普通的視頻采集卡相比,該嵌入式圖像采集系統(tǒng)極大地簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),降低了系統(tǒng)設(shè)計(jì)成本,縮短了開發(fā)周期曰圖像數(shù)據(jù)的采集與處理均由ARM 芯片完成,因而降低了數(shù)據(jù)中轉(zhuǎn)過程中傳輸錯(cuò)誤的幾率,提高了系統(tǒng)的可靠性。
評(píng)論