《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 一種便攜式水下圖像實時采集系統軟件設計
一種便攜式水下圖像實時采集系統軟件設計
2015年微型機與應用第19期
劉亞雷1,于艷美2,孟春寧1
(1.公安海警學院 機電管理系,浙江 寧波 315801; 2.寧波大學 科學與技術學院,浙江 寧波 315801)
摘要: 為了快速、實時地采集水下圖像,提出了一種基于RVMDK開發平臺的便攜式水下圖像實時采集系統軟件設計。首先給出了水下圖像采集系統的總體組成,闡述了RVMDK開發軟件環境;其次,分別對OV7670程序、LCD程序、SCCB接口程序進行了設計;最后,對提出的圖像采集軟件系統進行了試驗。試驗結果表明,該程序設計能夠有效地實現水下圖像實時采集功能。
Abstract:
Key words :

  摘  要: 為了快速、實時地采集水下圖像,提出了一種基于RVMDK開發平臺的便攜式水下圖像實時采集系統軟件設計。首先給出了水下圖像采集系統的總體組成,闡述了RVMDK開發軟件環境;其次,分別對OV7670程序LCD程序SCCB接口程序進行了設計;最后,對提出的圖像采集軟件系統進行了試驗。試驗結果表明,該程序設計能夠有效地實現水下圖像實時采集功能。

  關鍵詞: 水下圖像采集;OV7670程序;SCCB接口程序;LCD程序

0 引言

  21世紀是海洋的世紀,水下探測技術是水下觀測、海洋防衛、水下搜救打撈、艦艇檢修等方面的關鍵技術之一。海警艦艇機艙集中了船上絕大多數設備裝置的儀表,是艦艇航行的關鍵部分。基于PC機的圖像采集系統具有功能豐富、接口靈活多變、數據處理能力強等優點[1-2]。該類型圖像采集系統通過硬件傳輸路線連接到多媒體監控終端,然后基于通信網絡,將圖像信息傳到一個或者多個監控中心[3-4]。系統不僅能夠實現多媒體信息處理如壓縮、存儲等基本功能,還能夠實現智能存儲和圖像自動識別等高級功能,實現模擬監控無法實現的“監控”功能[5-6]。但是該類圖像采集系統在有限空間的機艙內部所占體積大,且成本較高,不利于便攜采集。因此,本文設計了一種快速、實時的水下圖像采集系統軟件,通過試驗驗證,該軟件能夠有效地實現水下圖像便捷、實時采集的功能。

1 水下圖像采集系統的總體設計

001.jpg

  本系統的總體目標是采用帶FIFO的OV7670攝像頭模塊,由STM32F103ZET6單片機通過SCCB總線讀取數據,并在LCD液晶顯示屏上實時顯示圖像數據。如圖1所示為水下圖像采集系統的總體設計框圖。由圖可知,本系統結構主要由ARM主處理器及其外圍電路、CMOS圖像傳感器、LCD液晶顯示屏等幾部分組成,系統硬件實現簡單。

2 軟件環境

  軟件以RVMDK為開發平臺,實現水下圖像采集系統的主要算法、控制流程等。RVMDK源自德國的KEIL公司,是RealView MDK的簡稱。該軟件集成了最領先的技術,支持Cortex-M3主處理器內核,本文將選擇RVMDK3.80A版本的編譯器進行程序編譯。由于單片機主處理器為STM32F103ZET6,FLASH容量為512 KB,容量偏大,因此選擇startup_stm32f10x_hd.s作為STM32芯片啟動文件。如圖2所示為STM32芯片啟動文件加載圖。

002.jpg

3 水下圖像采集軟件設計

  3.1 軟件方案設計

003.jpg

  如圖3所示為水下圖像采集程序流程圖。首先是系統初始化程序,主要包括TFT液晶顯示模塊的初始化、SCCB接口、OV7670攝像頭、FIFO緩存器AL422B模塊的初始化。系統產生中斷指令,使得FIFO_WEN置高電位,再次產生中斷指令,使得FIFO_WEN置低電位,從而完成一個FIFO_WEN周期。讀取FIFO_WEN數據,檢測是否完成一幀,如果完成,則檢測是否收到采集完畢指令,如此往復循環,直到采集完畢。

  3.2 OV7670程序設計

  通過OV7670.c代碼先編程設計OV7670相關的I/O口和SCCB接口,完成OV7670的寄存器序列的初始化工作。OV7670的寄存器特多,配置很麻煩,本文用到的配置序列,存放在ov7670_init_reg_tbl數組里面,通過這個二維數組來存儲初始化序列寄存器和寫入寄存器的數值,整個數組存放在ov7670cfg.h文件中。ov7670cfg.h文件的代碼如下:

  const u8 ov7670_init_reg_tbl[][2]=

  {

  /*以下為OV7670 QVGA RGB565參數*/

  {0x3a,0x04},

  {0x40,0x10},

  {0x12,0x14},//QVGA,RGB 輸出

  {0x6e,0x11},  //100

  {0x6f,0x9f},  //0x9e for advance AWB

  {0x55,0x00},  // 亮度

  {0x56,0x40},  // 對比度

  {0x57,0x80},

  //0x40,change according to Jim′s request

  };

  #end if

  以上代碼中,每個條目的第一個字節為寄存器地址,第二個字節為設置的值,比如{0X3a,0x04},就表示在0X3a地址,寫入0X04這個值。

  通過對寄存器的配置,完成了OV7670攝像頭模塊的程序設計,使OV7670工作在QVGA模式,以RGB565格式輸出。在完成初始化之后,準備讀取OV7670采集的圖像數據。

  3.3 LCD初始化程序設計

  TFT-LCD液晶顯示模塊程序設計的關鍵在于FSMC控制器的配置和寄存器地址的計算。單片機的FSMC使用的是AHB3提供的時鐘信號,STM32微處理器的FSMC控制器對外設地址映射從0X60000000開始到0X9FFFFFFF結束,一共由4個Bank組成,在TFT-LCD程序設計過程中選擇了Bank1。寄存器地址則由TFT-LCD的RS和CS端與FSMC接口的連接方式來計算。本文STM32與TFT模塊連接時,僅將2.8英寸的TFT屏看成一個SRAM來處理。本程序函數用來驅動ILI9320LCD芯片。程序函數如下:

  void LCD_Init(void)

  {GPIO_InitTypeDef GPIO_InitStructure;

  FSMC_NORSRAMInitTypeDef

  FSMC_NORSRAMInitStructure;

  FSMC_NORSRAMTimingInitTypeDefreadWriteTiming;

  FSMC_NORSRAMTimingInitTypeDefwriteTiming;

  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE);  //使能FSMC時鐘

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOG|RCC_APB2Periph_AFIO,ENABLE);

  //使能PORTB,D,E,G以及AFIO復用功能時鐘

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;

  //PB0推挽輸出背光

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;  //推挽輸出

  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

  GPIO_Init(GPIOB,&GPIO_InitStructure);

  ..........

  readWriteTiming.FSMC_AddressSetupTime=0x01;

  //地址建立時間(ADDSET)為2個HCLK1/36 MHz=27 ns

  readWriteTiming.FSMC_AddressHoldTime=0x00;

  readWriteTiming.FSMC_DataSetupTime=0x0f;

  readWriteTiming.FSMC_BusTurnAroundDuration=0x00;

  readWriteTiming.FSMC_CLKDivision=0x00;

  readWriteTiming.FSMC_DataLatency=0x00;

  readWriteTiming.FSMC_AccessMode=FSMC_AccessMode_A;  //模式A

  writeTiming.FSMC_AddressSetupTime=0x00;

  //地址建立時間(ADDSET)為1個HCLK

  writeTiming.FSMC_AddressHoldTime=0x00;

  //地址保持時間(A)

  writeTiming.FSMC_DataSetupTime=0x03;

  //數據保存時間為4個HCLK

  writeTiming.FSMC_BusTurnAroundDuration=0x00;

  writeTiming.FSMC_CLKDivision=0x00;

  writeTiming.FSMC_DataLatency=0x00;

  writeTiming.FSMC_AccessMode=FSMC_AccessMode_A;  //模式A

  3.4 SCCB接口初始化程序設計

  由于對攝像頭的工作參數的配置是通過SCCB來實現的,因此在軟件設計時,首先設計出SCCB程序從而控制攝像頭的相關參數。SCCB設計程序如下:

  void SCCB_Init(void)

  {

  GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOG, ENABLE);  //使能PB端口時鐘

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;

  //端口配置

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//輸入

  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

  GPIO_Init(GPIOG, &GPIO_InitStructure);

  GPIO_SetBits(GPIOG,GPIO_Pin_13);  //輸出高電平

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3; //端口配置

  GPIO_Init(GPIOD, &GPIO_InitStructure);

  GPIO_SetBits(GPIOD,GPIO_Pin_3);  //輸出高電平

  SCCB_SDA_OUT();

  }

  以上是模擬SCCB初始化函數、使能PB端口時鐘和相關引腳的配置。SCCB起始信號函數如下:

  void SCCB_Start(void)

  {

  SCCB_SDA=1;  //數據線高電平

  SCCB_SCL=1;  //在時鐘線高的時候數據線由高至低

  delay_us(50);

  SCCB_SDA=0;

  delay_us(50);

  SCCB_SCL=0;

  //數據線上電位恢復低電平(對于單操作函數必要)

  }

  通過SCCB起始信號函數可以看出,當時鐘為高電平時,數據線由高到低為SCCB起始信號,在激活狀態下,SDA和SCL均為低電平。SCCB的停止信號如下:

  void SCCB_Stop(void)

  {

  SCCB_SDA=0;

  delay_us(50);

  SCCB_SCL=1;

  delay_us(50);

  SCCB_SDA=1;

  delay_us(50);

  }

  通過SCCB停止信號函數可以看出,當時鐘為高電平的時候,數據線的由低到高為SCCB停止信號,在空閑狀況下SDA和SCL均為高電平。

4 實驗分析

  為了方便操作,整個系統設計為外接電源供電,同時打開控制面板來控制供電。控制面板帶總開關、燈光旋轉開關、攝像頭控制接口、燈光控制接口和電源輸入接口,通過220 V交流電轉12 V直流電轉換器實現STM32、攝像頭、LED燈光的供電一體化。整個系統的供電由4根電源線控制,包含18根攝像頭信號線和兩根LED燈光控制線。

  由于攝像頭前設計了33顆專業級LED燈,總光源面積為504π mm2。實驗前將LED燈光全部打開且調節到最亮狀態,用不同環徑(中間空出攝像頭的位置)的不透光的圓環形黑紙條成比例地遮住LED燈,分別在明亮、一般、較暗三種環境下進行圖像采集實驗。明亮、一般、較暗環境的判斷標準如表1所示。三種情況下圓柱體的圖像采集情況如圖4、5、6所示。

004.jpg

  從以上在不同燈光環境下采集的同一物體圖像可以看出,三種環境下石塊紋理清晰可見,從而證實了本文設計的水下圖像采集軟件能夠有效地實現圖像采集功能,并且在不同的燈光強度下,圖像采集效果不同,燈光強度越強,采集效果越好。

5 結論

  結合論文的研究目標,給出了包含OV7670攝像頭模塊、STM32F103ZET6單片機處理器模塊、SCCB總線讀取數據模塊以及LCD液晶顯示屏模塊的水下圖像采集系統。分別對系統的OV7670程序、LCD程序、SCCB接口程序進行了設計。通過在不同燈光強度下的試驗,證實了本文設計的水下圖像采集軟件能夠有效地實現水下圖像采集功能。

  參考文獻

  [1] 張磊.基于ARM的CMOS數字圖像傳感器圖像采集系統的研究與設計[D].哈爾濱:哈爾濱工程大學,2008.

  [2] 劉甲玉.基于ARM的圖像采集與無線傳輸技術的研究[D].蕪湖:安徽工程大學,2010.

  [3] 詹青龍.網絡視頻技術及應用[M].西安:西安電子科技大學出版社,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] 梁修如,嚴國萍.嵌入式視頻監控服務器系統典型方案及其性能分析[J].電視技術,2005,24(10):93-96.

  [6] 耿艷明,王宏遠.一種基于IP的視頻監控系統設計[J].電視技術,2004,23(3):75-77.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产精品久久精品怡红院| 亚洲在线成人精品| 国产精品自拍网站| 欧美视频一区二区三区四区| 嫩草影视亚洲| 久久综合五月天婷婷伊人| 久久电影一区| 国产女主播视频一区二区| 欧美区在线播放| 欧美韩日一区二区| 免费亚洲婷婷| 欧美成人小视频| 美女被久久久| 猫咪成人在线观看| 嫩模写真一区二区三区三州| 美国成人直播| 欧美成人免费全部| 欧美精品久久久久久久久久| 欧美精品久久天天躁| 欧美精品二区三区四区免费看视频| 欧美电影在线免费观看网站| 欧美国产日韩在线观看| 欧美区在线播放| 欧美日韩免费看| 欧美系列亚洲系列| 欧美中文字幕第一页| 亚洲欧美日韩中文播放| 午夜精彩视频在线观看不卡| 午夜一区不卡| 欧美怡红院视频| 久久精品国产成人| 久久一区二区视频| 欧美成在线观看| 欧美激情一二区| 欧美日韩一区二区免费视频| 国产精品毛片va一区二区三区| 久久九九全国免费精品观看| 久久精品国产亚洲a| 久久久亚洲高清| 美女主播一区| 欧美精品一区二区三区在线播放| 欧美网站在线观看| 国产日韩欧美不卡| 在线观看三级视频欧美| 亚洲麻豆av| 亚洲一区中文| 久久激情五月丁香伊人| 亚洲精品久久7777| 亚洲欧美成人一区二区三区| 性欧美暴力猛交69hd| 久久久水蜜桃| 欧美日韩国产系列| 国产精品欧美一区喷水| 国内一区二区三区| 亚洲精品免费电影| 亚洲欧美另类中文字幕| 91久久嫩草影院一区二区| 亚洲视频在线观看视频| 欧美一区二视频在线免费观看| 久久久免费精品| 欧美日韩大片| 国产午夜精品全部视频在线播放 | 亚洲电影在线| 一区二区三区视频在线观看| 欧美一区二区视频观看视频| 亚洲免费精品| 欧美在线视频一区二区| 欧美不卡视频一区| 国产精品亚洲产品| 亚洲高清视频在线| 亚洲男人第一av网站| 亚洲靠逼com| 欧美制服丝袜| 欧美日精品一区视频| 狠狠色狠狠色综合人人| 一区二区三区高清在线观看| 亚洲大片免费看| 亚洲一区二区不卡免费| 久久精品国产亚洲精品| 欧美日韩直播| 在线观看日韩av先锋影音电影院| 亚洲在线免费| 一本色道久久综合狠狠躁篇怎么玩 | 国产欧美亚洲视频| 亚洲精品欧美极品| 久久精品免费看| 亚洲综合视频网| 欧美成人精品一区二区| 国产三级精品三级| 一区二区三区四区五区视频 | 欧美精品午夜视频| 国产在线精品自拍| 亚洲午夜精品久久久久久浪潮 | 亚洲日本欧美日韩高观看| 欧美一区二视频| 欧美色网在线| 亚洲国产精品嫩草影院| 欧美在线你懂的| 翔田千里一区二区| 欧美日韩亚洲在线| 91久久久久久国产精品| 亚洲第一毛片| 久久精品国产在热久久 | 亚洲午夜国产成人av电影男同| 亚洲国内精品| 久久综合九色99| 国产午夜久久久久| 亚洲影音先锋| 亚洲自拍偷拍视频| 欧美视频免费看| 99pao成人国产永久免费视频| 亚洲激情视频网| 久久亚洲视频| 国产主播喷水一区二区| 亚洲欧美中文在线视频| 亚洲综合另类| 国产精品成人va在线观看| 亚洲美女尤物影院| 99精品视频一区二区三区| 欧美成人高清| **性色生活片久久毛片| 亚洲承认在线| 麻豆久久婷婷| 1000部国产精品成人观看| 亚洲第一精品夜夜躁人人爽 | 亚洲精品综合| 在线亚洲免费视频| 欧美视频在线一区二区三区| 日韩写真在线| 亚洲私人影院| 国产精品美女999| 亚洲综合三区| 欧美主播一区二区三区| 国产日韩欧美二区| 欧美一区二区久久久| 久久成人一区| 韩国av一区二区三区| 亚洲第一久久影院| 免费人成精品欧美精品| 亚洲福利av| 日韩一二三在线视频播| 欧美女主播在线| 亚洲四色影视在线观看| 午夜日韩视频| 国产一区二区三区精品欧美日韩一区二区三区| 西西人体一区二区| 久久免费国产精品| 1024成人| 正在播放欧美视频| 国产精品一区二区三区四区| 性久久久久久| 蜜臀91精品一区二区三区| 亚洲韩国日本中文字幕| 亚洲午夜精品国产| 国产精品亚发布| 久久精品首页| 欧美精品电影在线| 亚洲天堂成人在线视频| 久久国产精品久久久久久电车| 国产一区二区三区日韩欧美| 最新国产拍偷乱拍精品| 欧美大色视频| 亚洲视频免费在线| 久久免费偷拍视频| 亚洲日本欧美在线| 午夜精品福利电影| 黄色av日韩| 亚洲调教视频在线观看| 国产色产综合产在线视频| 最新日韩在线| 欧美视频在线观看一区二区| 欧美一区二区三区视频在线| 欧美福利在线| 亚洲一级一区| 欧美肥婆bbw| 亚洲砖区区免费| 欧美国产乱视频| 亚洲欧美国产毛片在线| 欧美成人按摩| 亚洲欧美视频一区| 欧美精品成人一区二区在线观看| 亚洲欧美另类中文字幕| 欧美精品一区二区视频| 香蕉成人伊视频在线观看| 欧美激情精品久久久久久| 亚洲欧美一区二区三区在线| 女仆av观看一区| 亚洲一区在线看| 欧美成人午夜激情视频| 亚洲欧美日韩精品| 欧美日韩p片| 久久精品国产免费看久久精品| 欧美日韩在线亚洲一区蜜芽| 久久精品理论片| 国产精品视频第一区| 日韩视频国产视频| 国产一区二区三区在线观看免费 | 99re这里只有精品6| 久久影视三级福利片| 亚洲午夜精品|