劉亞雷,于艷美,孟春寧
(1.公安海警學(xué)院機(jī)電管理系,浙江寧波315801;2.寧波大學(xué)科學(xué)與技術(shù)學(xué)院,浙江寧波315801)
一種便攜式水下圖像實(shí)時(shí)采集系統(tǒng)軟件設(shè)計(jì)*
劉亞雷1,于艷美2,孟春寧1
(1.公安海警學(xué)院機(jī)電管理系,浙江寧波315801;2.寧波大學(xué)科學(xué)與技術(shù)學(xué)院,浙江寧波315801)
為了快速、實(shí)時(shí)地采集水下圖像,提出了一種基于RVMDK開發(fā)平臺的便攜式水下圖像實(shí)時(shí)采集系統(tǒng)軟件設(shè)計(jì)。首先給出了水下圖像采集系統(tǒng)的總體組成,闡述了RVMDK開發(fā)軟件環(huán)境;其次,分別對OV7670程序、LCD程序、SCCB接口程序進(jìn)行了設(shè)計(jì);最后,對提出的圖像采集軟件系統(tǒng)進(jìn)行了試驗(yàn)。試驗(yàn)結(jié)果表明,該程序設(shè)計(jì)能夠有效地實(shí)現(xiàn)水下圖像實(shí)時(shí)采集功能。
水下圖像采集;OV7670程序;SCCB接口程序;LCD程序
21世紀(jì)是海洋的世紀(jì),水下探測技術(shù)是水下觀測、海洋防衛(wèi)、水下搜救打撈、艦艇檢修等方面的關(guān)鍵技術(shù)之一。海警艦艇機(jī)艙集中了船上絕大多數(shù)設(shè)備裝置的儀表,是艦艇航行的關(guān)鍵部分。基于PC機(jī)的圖像采集系統(tǒng)具有功能豐富、接口靈活多變、數(shù)據(jù)處理能力強(qiáng)等優(yōu)點(diǎn)[1-2]。該類型圖像采集系統(tǒng)通過硬件傳輸路線連接到多媒體監(jiān)控終端,然后基于通信網(wǎng)絡(luò),將圖像信息傳到一個(gè)或者多個(gè)監(jiān)控中心[3-4]。系統(tǒng)不僅能夠?qū)崿F(xiàn)多媒體信息處理如壓縮、存儲等基本功能,還能夠?qū)崿F(xiàn)智能存儲和圖像自動識別等高級功能,實(shí)現(xiàn)模擬監(jiān)控?zé)o法實(shí)現(xiàn)的“監(jiān)控”功能[5-6]。但是該類圖像采集系統(tǒng)在有限空間的機(jī)艙內(nèi)部所占體積大,且成本較高,不利于便攜采集。因此,本文設(shè)計(jì)了一種快速、實(shí)時(shí)的水下圖像采集系統(tǒng)軟件,通過試驗(yàn)驗(yàn)證,該軟件能夠有效地實(shí)現(xiàn)水下圖像便捷、實(shí)時(shí)采集的功能。
本系統(tǒng)的總體目標(biāo)是采用帶FIFO的OV7670攝像頭模塊,由STM32F103ZET6單片機(jī)通過SCCB總線讀取數(shù)據(jù),并在LCD液晶顯示屏上實(shí)時(shí)顯示圖像數(shù)據(jù)。如圖1所示為水下圖像采集系統(tǒng)的總體設(shè)計(jì)框圖。由圖可知,本系統(tǒng)結(jié)構(gòu)主要由ARM主處理器及其外圍電路、CMOS圖像傳感器、LCD液晶顯示屏等幾部分組成,系統(tǒng)硬件實(shí)現(xiàn)簡單。
圖1 圖像采集系統(tǒng)整體框圖
軟件以RVMDK為開發(fā)平臺,實(shí)現(xiàn)水下圖像采集系統(tǒng)的主要算法、控制流程等。RVMDK源自德國的KEIL公司,是RealView MDK的簡稱。該軟件集成了最領(lǐng)先的技術(shù),支持Cortex-M3主處理器內(nèi)核,本文將選擇RVMDK3.80A版本的編譯器進(jìn)行程序編譯。由于單片機(jī)主處理器為STM32F103ZET6,F(xiàn)LASH容量為512 KB,容量偏大,因此選擇startup_stm32f10x_hd.s作為STM32芯片啟動文件。如圖2所示為STM32芯片啟動文件加載圖。
圖2 STM32芯片啟動文件加載圖
3.1 軟件方案設(shè)計(jì)
如圖3所示為水下圖像采集程序流程圖。首先是系統(tǒng)初始化程序,主要包括TFT液晶顯示模塊的初始化、SCCB接口、OV7670攝像頭、FIFO緩存器AL422B模塊的初始化。系統(tǒng)產(chǎn)生中斷指令,使得FIFO_WEN置高電位,再次產(chǎn)生中斷指令,使得FIFO_WEN置低電位,從而完成一個(gè)FIFO_WEN周期。讀取FIFO_WEN數(shù)據(jù),檢測是否完成一幀,如果完成,則檢測是否收到采集完畢指令,如此往復(fù)循環(huán),直到采集完畢。
3.2 OV7670程序設(shè)計(jì)
通過OV7670.c代碼先編程設(shè)計(jì)OV7670相關(guān)的I/O口和SCCB接口,完成OV7670的寄存器序列的初始化工作。OV7670的寄存器特多,配置很麻煩,本文用到的配置序列,存放在ov7670_init_reg_tbl數(shù)組里面,通過這個(gè)二維數(shù)組來存儲初始化序列寄存器和寫入寄存器的數(shù)值,整個(gè)數(shù)組存放在ov7670cfg.h文件中。ov7670cfg.h文件的代碼如下:
圖3 圖像采集程序流程圖
以上代碼中,每個(gè)條目的第一個(gè)字節(jié)為寄存器地址,第二個(gè)字節(jié)為設(shè)置的值,比如{0X3a,0x04},就表示在0X3a地址,寫入0X04這個(gè)值。
通過對寄存器的配置,完成了OV7670攝像頭模塊的程序設(shè)計(jì),使OV7670工作在QVGA模式,以RGB565格式輸出。在完成初始化之后,準(zhǔn)備讀取OV7670采集的圖像數(shù)據(jù)。
3.3 LCD初始化程序設(shè)計(jì)
TFT-LCD液晶顯示模塊程序設(shè)計(jì)的關(guān)鍵在于FSMC控制器的配置和寄存器地址的計(jì)算。單片機(jī)的FSMC使用的是AHB3提供的時(shí)鐘信號,STM32微處理器的FSMC控制器對外設(shè)地址映射從0X60000000開始到0X9FFFFFFF結(jié)束,一共由4個(gè)Bank組成,在TFT-LCD程序設(shè)計(jì)過程中選擇了Bank1。寄存器地址則由TFTLCD的RS和CS端與FSMC接口的連接方式來計(jì)算。本文STM32與TFT模塊連接時(shí),僅將2.8英寸的TFT屏看成一個(gè)SRAM來處理。本程序函數(shù)用來驅(qū)動ILI9320LCD芯片。程序函數(shù)如下:
3.4 SCCB接口初始化程序設(shè)計(jì)
由于對攝像頭的工作參數(shù)的配置是通過SCCB來實(shí)現(xiàn)的,因此在軟件設(shè)計(jì)時(shí),首先設(shè)計(jì)出SCCB程序從而控制攝像頭的相關(guān)參數(shù)。SCCB設(shè)計(jì)程序如下:
以上是模擬SCCB初始化函數(shù)、使能PB端口時(shí)鐘和相關(guān)引腳的配置。SCCB起始信號函數(shù)如下:
通過SCCB停止信號函數(shù)可以看出,當(dāng)時(shí)鐘為高電平的時(shí)候,數(shù)據(jù)線的由低到高為SCCB停止信號,在空閑狀況下SDA和SCL均為高電平。
為了方便操作,整個(gè)系統(tǒng)設(shè)計(jì)為外接電源供電,同時(shí)打開控制面板來控制供電??刂泼姘鍘Э傞_關(guān)、燈光旋轉(zhuǎn)開關(guān)、攝像頭控制接口、燈光控制接口和電源輸入接口,通過220 V交流電轉(zhuǎn)12 V直流電轉(zhuǎn)換器實(shí)現(xiàn)STM32、攝像頭、LED燈光的供電一體化。整個(gè)系統(tǒng)的供電由4根電源線控制,包含18根攝像頭信號線和兩根LED燈光控制線。
由于攝像頭前設(shè)計(jì)了33顆專業(yè)級LED燈,總光源面積為504π mm2。實(shí)驗(yàn)前將LED燈光全部打開且調(diào)節(jié)到最亮狀態(tài),用不同環(huán)徑(中間空出攝像頭的位置)的不透光的圓環(huán)形黑紙條成比例地遮住LED燈,分別在明亮、一般、較暗三種環(huán)境下進(jìn)行圖像采集實(shí)驗(yàn)。明亮、一般、較暗環(huán)境的判斷標(biāo)準(zhǔn)如表1所示。三種情況下圓柱體的圖像采集情況如圖4、5、6所示。
表1 燈光強(qiáng)度判斷標(biāo)準(zhǔn)
圖4 明亮環(huán)境
圖5 一般環(huán)境
圖6 較暗環(huán)境
從以上在不同燈光環(huán)境下采集的同一物體圖像可以看出,三種環(huán)境下石塊紋理清晰可見,從而證實(shí)了本文設(shè)計(jì)的水下圖像采集軟件能夠有效地實(shí)現(xiàn)圖像采集功能,并且在不同的燈光強(qiáng)度下,圖像采集效果不同,燈光強(qiáng)度越強(qiáng),采集效果越好。
結(jié)合論文的研究目標(biāo),給出了包含OV7670攝像頭模塊、STM32F103ZET6單片機(jī)處理器模塊、SCCB總線讀取數(shù)據(jù)模塊以及LCD液晶顯示屏模塊的水下圖像采集系統(tǒng)。分別對系統(tǒng)的OV7670程序、LCD程序、SCCB接口程序進(jìn)行了設(shè)計(jì)。通過在不同燈光強(qiáng)度下的試驗(yàn),證實(shí)了本文設(shè)計(jì)的水下圖像采集軟件能夠有效地實(shí)現(xiàn)水下圖像采集功能。
[1]張磊.基于ARM的CMOS數(shù)字圖像傳感器圖像采集系統(tǒng)的研究與設(shè)計(jì)[D].哈爾濱:哈爾濱工程大學(xué),2008.
[2]劉甲玉.基于ARM的圖像采集與無線傳輸技術(shù)的研究[D].蕪湖:安徽工程大學(xué),2010.
[3]詹青龍.網(wǎng)絡(luò)視頻技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.
[4]OSTHEIMER D,LEMAY S,GHAZAL M.A modular distributed video surveillance system over IP[C].Canadian Conference on Electrical and Computer Engineering,2006:518-521.
[5]梁修如,嚴(yán)國萍.嵌入式視頻監(jiān)控服務(wù)器系統(tǒng)典型方案及其性能分析[J].電視技術(shù),2005,24(10):93-96.
[6]耿艷明,王宏遠(yuǎn).一種基于IP的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2004,23(3):75-77.
The software design of portable underwater image acquisition system
Liu Yalei1,Yu Yanmei2,Meng Chunning1
(1.Department of Mechanical and Electrical,China Maritime Police Academy,Ningbo 315801,China;2.Institute of Science and Technology,Ningbo University,Ningbo 315801,China)
In order to acquitte underwater images fastly and real-timely,the software design of portable underwater image acquisition system is proposed based on RVMDK platform.Firstly,the main assembly of underwater image acquisition system is provided,and the RVMDK platform is also elaborated.Secondly,the procedure of OV7670,LCD and SCCB are designed.Finally,the software experiment of underwater image acquisition system is researched,and the practical test shows that this method has well effect for underwater image acquisition.
underwater image acquisition;OV7670 procedure;SCCB procedure;LCD procedure
TP391.4
A
1674-7720(2015)19-0020-04
2015-06-10)
劉亞雷(1984-),男,博士,講師,主要研究方向:聲目標(biāo)識別、定位及跟蹤技術(shù)。
劉亞雷,于艷美,孟春寧.一種便攜式水下圖像實(shí)時(shí)采集系統(tǒng)軟件設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(19):20-23.
國家自然科學(xué)青年基金項(xiàng)目(61401105);浙江省自然科學(xué)基金(LY15E09004)
于艷美(1985-),女,碩士,助教,主要研究方向:聲信號處理。
孟春寧(1985-),男,博士,講師,主要研究方向:目標(biāo)識別技術(shù)、圖像處理。