當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要利用ARM7(LPC2210)與CMOS感光芯片(OV7620)實(shí)現(xiàn)了一個(gè)緊湊型圈像采集、處理系統(tǒng);通過(guò)夸理利用LPC2210數(shù)據(jù)總線(xiàn)的工作方式,有效地消除了OV7620對(duì)系統(tǒng)數(shù)據(jù)總線(xiàn)的干擾。SCC

摘要利用ARM7(LPC2210)與CMOS感光芯片(OV7620)實(shí)現(xiàn)了一個(gè)緊湊型圈像采集、處理系統(tǒng);通過(guò)夸理利用LPC2210數(shù)據(jù)總線(xiàn)的工作方式,有效地消除了OV7620對(duì)系統(tǒng)數(shù)據(jù)總線(xiàn)的干擾。SCCB控制,圖像數(shù)據(jù)的采集、處理以及傳輸都由一片LPC22lO完成,特別適合于對(duì)功耗、體積要求較嚴(yán)格的嵌入式應(yīng)用。

0V7620是一種CMOS圖像傳感器,它被廣泛應(yīng)用在網(wǎng)絡(luò)攝像頭、攝像手機(jī)等產(chǎn)品中。由它組成的圖像采集系統(tǒng),比較常見(jiàn)的設(shè)計(jì)方法為 OV7620搭配OV5ll+或CPLD/FPGA。OV511+或CPLD/FPGA采集的圖像數(shù)據(jù)通過(guò)USB總線(xiàn)或雙端口RAM輸出到PC或 MCU(ARM、DSP等),由PC或MCU對(duì)圖像數(shù)據(jù)進(jìn)行進(jìn)一步的處理。本文所設(shè)計(jì)的圖像采集系統(tǒng)僅用一個(gè)ARM芯片就實(shí)現(xiàn)了OV7620的功能控制、時(shí)序同步、數(shù)據(jù)采集與處理等功能,系統(tǒng)結(jié)構(gòu)緊湊、實(shí)用。

1 硬件結(jié)構(gòu)

OV7620是CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664492,幀速率為30fp8;數(shù)據(jù)格式包括YUV、YCrCb、RGB三種,能夠滿(mǎn)足一般圖像采集系統(tǒng)的要求。

OV7620內(nèi)部可編程功能寄存器的設(shè)置有上電模式和SCCB編程模式。本系統(tǒng)采用SCCB編程模式,連續(xù)掃描,16位RGB數(shù)據(jù)輸出。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。

 

ARM芯片選用具有ARM7TDMI內(nèi)核的LPC2210,通過(guò)LPC2210的GPIO模擬SCCB總線(xiàn)協(xié)議,控制OV7620的功能寄存器。使用LPC2210的3個(gè)中斷引腳引入OV7620的圖像輸出同步信號(hào)VSYNC、HSYNC、PCLK,以中斷方式同步圖像數(shù)據(jù)輸出。OV7620 的YUV通道輸出的16位并行數(shù)據(jù)通過(guò)LPC2210的高16位數(shù)據(jù)線(xiàn)接入。SST39VF160和IS61LV25616AL為擴(kuò)展的Flash和 SRAM,分別用作程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。

2 具體實(shí)現(xiàn)

2.1 OV7620的功能控制

OV7620的控制采用SCCB(SeriaI Camera ControlBus)協(xié)議。SCCB是簡(jiǎn)化的I2C協(xié)議,SIO-l是串行時(shí)鐘輸入線(xiàn),SIO-O是串行雙向數(shù)據(jù)線(xiàn),分別相當(dāng)于I2C協(xié)議的SCL和 SDA。SCCB的總線(xiàn)時(shí)序與I2C基本相同,它的響應(yīng)信號(hào)ACK被稱(chēng)為一個(gè)傳輸單元的第9位,分為Don’t care和NA。Don’t care位由從機(jī)產(chǎn)生;NA位由主機(jī)產(chǎn)生,由于SCCB不支持多字節(jié)的讀寫(xiě),NA位必須為高電平。另外,SCCB沒(méi)有重復(fù)起始的概念,因此在SCCB的讀周期中,當(dāng)主機(jī)發(fā)送完片內(nèi)寄存器地址后,必須發(fā)送總線(xiàn)停止條件。不然在發(fā)送讀命令時(shí),從機(jī)將不能產(chǎn)生Don’t care響應(yīng)信號(hào)。

由于I2C和SCCB的一些細(xì)微差別,所以采用GPIO模擬SCCB總線(xiàn)的方式。SCL所連接的引腳始終設(shè)為輸出方式,而SDA所連接的引腳在數(shù)據(jù)傳輸過(guò)程中,通過(guò)設(shè)置IODIR的值,動(dòng)態(tài)改變引腳的輸入/輸出方式。SCCB的寫(xiě)周期直接使用I2C總線(xiàn)協(xié)議的寫(xiě)周期時(shí)序;而SC-CB的讀周期,則增加一個(gè)總線(xiàn)停止條件。

OV7620功能寄存器的地址為0x00~0x7C(其中,不少是保留寄存器)。通過(guò)設(shè)置相應(yīng)的寄存器,可以使OV7620工作于不同的模式。例如,設(shè)置OV7620為連續(xù)掃描、RGB原始數(shù)據(jù)16位輸出方式,需要進(jìn)行如下設(shè)置:

I2CSendByte()為寫(xiě)寄存器函數(shù),它的第1個(gè)參數(shù)OV7620為宏定義的芯片地址0x42,第2個(gè)參數(shù)為片內(nèi)寄存器地址,第3個(gè)參數(shù)為相應(yīng)的寄存器設(shè)定值。

2.2 OV7620時(shí)鐘同步

OV7620有4個(gè)同步信號(hào):VSYNC(垂直同步信號(hào))、FODD(奇數(shù)場(chǎng)同步信號(hào))、HSYNC(水平同步信號(hào))和PCLK(像素同步信號(hào))。當(dāng)采用連續(xù)掃描方式時(shí),只使用VSYNC和HSYNC、PCLK三個(gè)同步信號(hào),如圖l所示。時(shí)為檢測(cè)OV7620掃描窗口的有效大小,還引入了 HREF水平參考信號(hào)。

LPC2210的3個(gè)外部中斷引腳分別作為3個(gè)同步信號(hào)的輸入,相應(yīng)的中斷服務(wù)程序分別為Vsync_IRQ()、Hsync_IRQ()和 Pclk_IRQ()。在內(nèi)存中定義一個(gè)二維數(shù)組存儲(chǔ)圖像數(shù)據(jù),一維用變量y表示,用于水平同步信號(hào)計(jì)數(shù);二維用變量x表示,用于像素同步信號(hào)計(jì)數(shù)。圖像采集的基本流程為:當(dāng)用SCCB初始化好OV7620后,使能VSYNC對(duì)應(yīng)的中斷,在Vsync_IRQ()中斷服務(wù)程序中判斷是否已取得一幀數(shù)據(jù)。若是,則在主程序的循環(huán)體中進(jìn)行數(shù)據(jù)處理;若不是,則使能HSYNC對(duì)應(yīng)的中斷,并將y置為O。在Hsync_IRQ()中斷服務(wù)程序中,判斷HREF的有效電平,若有效,則y加1,x置為O,并使能PCLK對(duì)應(yīng)的中斷。在Pclk_IRQ()中斷服務(wù)程序中,判斷HREF的有效電平,若有效,則z增加,同時(shí)采集一個(gè)像素點(diǎn)的圖像數(shù)據(jù)。

2.3 圖像數(shù)據(jù)的輸出速度匹配

在OV7620的3個(gè)同步信號(hào)中,PCLK的周期最短。當(dāng)OV7620使用27 MHz的系統(tǒng)時(shí)鐘時(shí),默認(rèn)的PCLK的周期為74 ns。而LPC2210的中斷響應(yīng)時(shí)間遠(yuǎn)遠(yuǎn)大于這個(gè)值。LPC2210的最大中斷延遲時(shí)問(wèn)為27個(gè)處理器指令周期,最小延遲時(shí)問(wèn)為4個(gè)指令周期,再加上中斷服務(wù)時(shí)間、現(xiàn)場(chǎng)恢復(fù)時(shí)間等,完成一次中斷響應(yīng)的時(shí)問(wèn)要大于7~30個(gè)指令周期。當(dāng)LPC2210使用最高系統(tǒng)頻率60 MHz時(shí),它的中斷響應(yīng)時(shí)間遠(yuǎn)大于O.2~0,6 μs,所以只能將OV7620的PCLK降頻。通過(guò)設(shè)置時(shí)鐘頻率控制寄存器,可將PCLK的周期設(shè)為4μs左右。

2.4 圖像數(shù)據(jù)的接入

當(dāng)OV7620工作于主設(shè)備方式時(shí),它的YUV通道將連續(xù)不斷地向總線(xiàn)上輸出數(shù)據(jù)。如果將OV7620的 YUV通道直接接在LPC2210的DO~D15數(shù)據(jù)總線(xiàn)上,則會(huì)干擾數(shù)據(jù)總線(xiàn),使LPC2210不能正常運(yùn)行;如果使用74HC244等隔離,分時(shí)使用數(shù)據(jù)總線(xiàn)的方法,則會(huì)大大降低系統(tǒng)的運(yùn)行速度,使得LPC2210不能及時(shí)取走總線(xiàn)上的數(shù)據(jù),造成圖像數(shù)據(jù)不完整。由于LPC2210的數(shù)據(jù)總線(xiàn)寬度為 32位,而Flash和SRAM僅占用了低16位數(shù)據(jù)線(xiàn)D0~D15,困此可以采用圖l中的方法,將空閑的高16位數(shù)據(jù)線(xiàn)D16~D31設(shè)為GPIO,用于采集OV7620輸出的16位圖像數(shù)據(jù)。

2.5 圖像數(shù)據(jù)的恢復(fù)

OV7620采用16位輸出方式時(shí),Y通道和UV通道的數(shù)據(jù)輸出格式如表l所列。從表l中可以看出,每一行Y通道和UV通道交替輸出上一行的重復(fù)數(shù)據(jù)和本行的新數(shù)據(jù)。而在一行之內(nèi),B數(shù)據(jù)只在奇數(shù)列出現(xiàn),R數(shù)據(jù)只在偶數(shù)列出現(xiàn)。

 

下面以一個(gè)55的像素點(diǎn)陣為例,詳細(xì)介紹圖像數(shù)據(jù)的恢復(fù)。

首先定義一個(gè)515的字節(jié)型數(shù)組,在Pclk_IRQ()中斷服務(wù)程序中讀取55個(gè)像素點(diǎn)的圖像數(shù)據(jù);然后對(duì)圖像數(shù)據(jù)進(jìn)行插值,奇數(shù)點(diǎn)則在數(shù)組的連續(xù)3個(gè)字節(jié)中存入B、G、0,偶數(shù)點(diǎn)則存入O、G、R;最后對(duì)當(dāng)前行的每一個(gè)字節(jié)與下一行對(duì)應(yīng)列的每一個(gè)字節(jié)求平均值,即可算出當(dāng)前行的RGB值。而在每一行內(nèi),奇數(shù)點(diǎn)的R數(shù)據(jù)和偶數(shù)點(diǎn)的B數(shù)據(jù)可通過(guò)分別對(duì)其兩側(cè)的2個(gè)點(diǎn)的R和B數(shù)據(jù)求平均值得到。

這樣,一幅圖像就恢復(fù)好了??梢灾苯哟娉啥M(jìn)制文件(本系統(tǒng)采用串口輸出到PC進(jìn)行顯示),或者增加BMP位圖文件頭信息,存成biBitCouNt=24的DIB位圖文件;也可用LPC2210對(duì)此圖像數(shù)據(jù)進(jìn)行進(jìn)一步的處理,如指紋識(shí)別等。

3 結(jié)論

本系統(tǒng)的圖像采集速度主要受限于LPC2210的中斷響應(yīng)時(shí)間,如果采用帶有DMA控制器,并且具有更高處理速度的ARM芯片,可大大提高整個(gè)圖像采集系統(tǒng)的速度。例如,采用具有ARM9內(nèi)核的S3C2410,其最高系統(tǒng)頻率達(dá)203 MHz,完成一次DMA傳送的時(shí)間約為30 ns。小于默認(rèn)的PCLK的周期74 ns,可以實(shí)現(xiàn)30 fps的圖像采集速度。

與搭配OV511+或CPLD/FPGA的圖像采集系統(tǒng)相比,此圖像采集系統(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)的可靠性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉