範文齋

位置:首頁 > 行業範文 > 工程

基於STM32和OV7670的圖像採集與顯示系統設計論文

工程2.04W

摘 要:爲了進一步加深學生對嵌入式系統的理解, 更好地將專業課所學的知識和基本實驗操作完整地結合起來, 提高學生的動手實踐能力和團隊協作能力, 本學院開設了以嵌入式系統爲研究對象的工程實訓課程。本次工程實訓以STM32單片機爲主控單元, 採用串行攝像機控制總線 (SCCB) 驅動OV7670圖像傳感器輸出RGB565 QVGA的圖像數據, 並實時顯示在TFT-LCD上的圖像採集與顯示系統。結果表明, 通過工程實訓課程, 使理論和實踐緊密結合, 培養了學生靈活應用嵌入式系統知識解決工程問題的能力, 取得了良好的教學效果。

基於STM32和OV7670的圖像採集與顯示系統設計論文

關鍵詞: 工程實訓; STM 32; OV7670; 圖像採集與顯示;

Abstract: In order to further improve students' understanding of embedded systems, improve students' operational ability and teamwork ability, the college has set up an engineering training course for the study of embedded engineering training course group designed STM 32 MCU as the main control unit, using serial camera control bus (SCCB) control OV7670 image sensor output RGB565 QVGA image data, while real-time display on the TFT-LCD image Acquisition and display results show that, through the process of engineering training, the theory and practice are closely integrated, and the students' ability to solve engineering problems by using embedded system knowledge is cultivated.

Keyword: engineering training; STM 32; OV7670; image acquisition and display;

一、引言

嵌入式系統工程實訓是本學院儀器儀表類專業大學生本科期間必修的一門專業實訓課程, 其目標是爲了讓同學們更加熟練地掌握嵌入式系統的實踐操作, 從而更好地將專業課知識和基本實踐操作結合。國內現在普遍將嵌入式系統定義爲以實際應用爲核心, 計算機技術爲基礎, 軟件和硬件具備可移植性, 符合系統對費用、尺寸、可靠性、性能高標準的計算機系統。通常來說, 嵌入式系統是一個將控制程序存儲在ROM中的嵌入式處理器控制板。近些年, 微型電子技術和集成電路技術發展迅速, 這使得基於嵌入式系統的圖像獲取與處理方案越來越多。STM32F103, 一款基於ARM Cortex-M3內核的微控制器, 它的時鐘頻率最爲72MHz, 具備耗能低、功能多、體積小、可靠性高等優點。OV7670, 美國OV公司出的一款 (CMOS) 圖像傳感器, 其像素爲30萬, 通過串行攝像頭控制總線 (SCCB) 進行控制, 輸出爲並行的8位圖像數據。本次嵌入式系統工程實訓將STM32F103ZET6微控制器作爲主控處理芯片, 將OV7670作爲圖像採集模塊, 將TFT-LCD作爲圖像顯示模塊, 設計圖像採集顯示系統, 並增加按鍵功能, 使採集到的圖片可調節光照模式、飽和度、亮度以及對比度。

二、系統總體方案

本系統主要分爲STM32F103ZET6微控制器模塊、OV7670圖像採集模塊、TFT-LCD圖像顯示模塊。主要工作原理爲:STM32F103ZET6通過對OV7670寄存器的讀寫來控制每一幀圖像的採集, 通過對TFT-LCD寄存器的.讀寫控制每一幀圖像的顯示。OV7670的時鐘頻率爲24MHz, 使用開發板自帶的IO接口傳輸數據難度大且對CPU的佔用率非常高。爲解決這一問題, 本系統中採用AL422B作爲緩存器, 採集到的數據先進行緩存, 一幀圖像緩存完時, 通過STM32F103ZET6將這幀圖像實時顯示在TFT-LCD上。

三、硬件設計

1. OV7670.

本圖像採集與顯示系統用開發板上的IO接口來控制OV7670.將SIO_C口設置成推輓輸出, SIO_D口讀取數據時上拉輸入、寫入數據時設成推輓輸出, 再由SCCB的工作時序編寫程序。OV7670的圖像數據通過D[7∶0]輸出, 該功能就是在PCLK (像素時鐘) 、VSYNC (幀同步信號) 以及HREF/HSYNC (行同步信號) 的控制下進行的。HREF爲高電平時, 圖像數據輸出;HREF正階躍時, 每個PCLK輸出一字節數據, 且數據格式爲RGB565時, 每兩個字節構成一個像素的顏色。

2. TFT-LCD.

本圖像採集和顯示系統將TFT-LCD作爲顯示模塊, 其大小爲2.8寸, 分辨率爲320×240.本圖像採集和顯示系統中一幀圖像的數據量爲150KB.爲加快顯示, 以STM32F103ZET6的FSMC來驅動TFT-LCD, 即靈活的靜態存儲控制器 (flexible static memory controller) , 將TFT-LCD視爲外部SRAM來處理。將TFT-LCD的RS信號引腳視爲地址線, 與STM32F103ZET6的FSMC_A10引腳相連。其目的是用於判斷傳輸的是命令還是數據。TFT-LCD以及外部1MB SRAM均連接於FSMC總線, 用各自的信號加以片選, TFT-LCD和FSMC_NE4引腳相連接, SRAM和FSMC_NE3引腳相連接。特別地, TFT-LCD傳輸數據爲16位時, STM32F103ZET6的地址總線HADDR[0]是沒被接入的, 也就是說HADDR[25∶1]才真正處於工作狀態, 則對應關係變爲:HADDR[25∶1]→FSMC[24∶0].此時TFT-LCD寫命令的地址爲0x6C000000+0x07FE (0x0800) -LCD中ILI9320的寫入比讀取效率高, 因此將FSMC設爲異步方式A.

四、軟件設計

1. 主程序。

主程序由初始化、按鍵掃描、按鍵處理及圖像採集與顯示等模塊組成。初始化模塊包括延時函數、中斷、串口、按鍵、LCD、OV7670的初始化;按鍵掃描與處理程序用於進行不同模式下按鍵的檢測及調用相應的處理程序;圖像的採集與顯示模塊用於進行OV7670 CMOS攝像頭圖像數據的採集, 並將採集的圖像直接顯示在LCD顯示屏上。

2. 按鍵掃描與處理。

我們可以通過KEY0設置光照模式 (5種模式) , 通過KEY1設置色飽和度, 通過KEY2設置亮度, 通過WK_UP設置對比度。

3. 圖像採集與顯示。

OV7670攝像頭模塊保存採集到的數據的工作原理: (1) 等待OV7670同步信號; (2) FI-FO的寫指針復位; (3) FIFO的寫使能; (4) 再次等待OV7670同步信號; (5) FIFO的寫禁止。通過上面5步, 我們就可以完成1幀圖像數據的存儲了。在存儲完了一幀圖像之後, 我們就可以開始讀取圖像數據了, 讀取圖像數據的過程: (1) FIFO的讀指針復位; (2) 給FIFO讀時鐘讀取像素高字節; (3) 給FIFO讀時鐘讀取像素低字節; (4) 給FIFO讀時鐘讀取下個像素高字節; (5) 循環讀取剩餘像素 (QVGA、RGB565格式, 1幀圖像數據共320*240=76800個像素) .一共需循環讀取320*240*2次, 這樣才能讀取1幀的圖像數據, 再把這些數據寫入TFT-LCD, 這樣就可以看到攝像頭捕捉到的畫面了。

五、結論

本次嵌入式系統工程實訓課程學生設計了基於STM32和OV7670的圖像採集與顯示系統, 並增加了按鍵模塊以調節圖像顯示相關參數的功能, 工程實訓小組成員以組內分工的形式通過對系統的不斷調試和測試, 按要求實現了圖像採集和顯示的功能, 通過知識與實踐相結合的實踐教學方式, 在使學生進一步瞭解嵌入式系統, 提高綜合素質和創新能力的同時, 也圓滿完成了教學任務。

參考文獻

[1]嵌入式系統[Z].[2017-01-17].

[2]李寧。基於MDK的STM32處理器開發應用[M].北京:北京航空航天大學出版社, 2008:7-13.

[3]羅超, 景林, 易金聰。基於STM32的便攜式海量溫溼度記錄儀設計[J].電子技術應用, 2012, (12) :83-86.

[4]Omni Vision Technology[Z]7670 Datasheet[2017-01-17]://.