?

基于單片機和CPLD的圖像采集處理系統設計

2018-03-09 22:29蘭寧發鄧環宇王麓淞王意羅鄭之鵬
科技創新與應用 2018年7期
關鍵詞:單片機

蘭寧發+鄧環宇+王麓淞+王意羅+鄭之鵬

摘 要:圖像采集是獲取圖像信息的主要來源,以往圖像采集處理需要高速、高性能處理器完成,低端單片機很難實時采集處理圖像。文章以Cortex M3架構的ARM(STM32F103VCT6)和CPLD(EPM240T100)作為核心,加上OV5640自動對焦攝像頭設計了一款數字圖像采集處理系統。采用CPLD高速采集圖形,以及圖像預處理,這樣降低了后面處理器標準,使得低端單片機也能夠處理數字圖像。單片機與CPLD采用SPI總線傳輸數據,圖像采集和處理同時進行,提高了系統的工作效率。圖像經過數字化處理,在液晶屏上顯示,也可以存儲在SD卡或無線傳輸到計算機以及手機上。系統設計了GPS系統,自動將拍攝的地點、經緯度(GPS信息)和時間整合,作為照片和圖像數字資料。通過數字圖像處理,照片能夠呈現特殊效果。

關鍵詞:圖像采集;單片機;CPLD

中圖分類號:TM91 文獻標志碼:A 文章編號:2095-2945(2018)07-0035-02

Abstract: Image acquisition is the main source of obtaining image information. In the past, image acquisition and processing needed high-speed and high-performance processors. It is very difficult for the low end microcontroller unit (MCU) to collect and process images in real time. In this paper, taking Cortex M3 architecture of the ARM (STM32F103VCT6) and CPLD (EPM240T100) as the core, plus OV5640 automatic focus camera, a digital image acquisition and processing system is designed. The use of CPLD high-speed graphics acquisition, and image preprocessing has reduced the standards of the processor behind, so that the low-end single-chip computer can also process digital images. Single chip microcomputer and CPLD adopt SPI bus to transmit data, so image acquisition and processing are carried out simultaneously, which improves the efficiency of the system. The images are digitally processed and displayed on the LCD screen. They can also be stored on SD cards or transmitted wirelessly to computers and mobile phones. The system designs a GPS system, which automatically integrates the location, latitude and longitude of shooting information with time so as to be used as the digital data of photos and images. Through digital image processing, photos can present special effects.

Keywords: image acquisition; microcontroller unit (MCU); CPLD

圖像處理是計算機人工智能重要組成部分,圖像采集處理對計算機的要求也比較高。數碼相機、智能機器人低端單片機完成圖像實時采集處理很難實現,低成本當今社會人們的生活越來越好,追求生活多樣化,數碼相機的出現大大節省了普通攝影愛好者成本,人人都能當攝影家。隨著計算機嵌入式技術的發展,使得數碼照相技術從傳感器采樣到圖像數字化處理的能力大大提高。圖像信息是人們獲得外界信息的主要來源,視覺檢測在工業檢測領域也處于比較重要的地位。嵌入式系統的體積較小,功耗較低,應用場合靈活,因此在圖像采集和處理領域的應用逐漸增多。本文所設計的圖像采集處理系統使用低成本設備,為初學者學習和開發構成硬件環境,同時實現高清拍攝,同時該設備可以實現圖像拍攝及處理的一次完成,不需要像數碼相機一樣借助電腦等其他平臺再次處理圖像,并且該設備可以通過無線網絡將圖像數據傳輸到電腦及各種移動設備上。

1 系統總體設計方案

系統硬件結構采用如圖1所示,主要有以下模塊組成:攝像頭模塊,搭配OV5640自動對焦圖像傳感器,擁有強大的拍攝性能,集成高精度自動對焦馬達,無論近景遠景都對焦自如(15cm~無限遠),高達5Mega(2592x1944)物理像素的分辨率,成像清晰細膩,集成各種控制器:自動曝光、自動增益、自動白平衡等,從容適應環境變化。圖像采集控制模塊,高性能CPLD芯片EPM240T100和8M Byte 大容量高速SDRAM,把采集的圖像數據在SDRAM中緩存。核心模塊是Cortex M3架構的單片機ARM(STM32F103VCT6),整合液晶觸摸屏、無線網路通訊模塊、外存儲器SD卡以及調試接口,把SDRAM中圖像數據采用FIFO方案分段讀出,經過數字處理后顯示和傳輸。ARM 通過GPS模塊,讀取圖像采集時的地址坐標和時鐘日歷信息,集成WIFI模塊,可以將圖像直接傳送手機和計算機。endprint

2 系統硬件設計及工作原理

系統的核心是單片機ARM Cortex M3,控制CPLD負責與攝像頭同步,CPLD高速同步讀取圖像信息,按一幀圖片存儲在SDRAM里,單片機通過SPI總線讀取SDRAM數據,在液晶屏幕呈現實時圖像。CPLD模塊部分基于Verilog編程,包括攝像頭同步控制、SDRAM控制和單片機通訊。攝像頭的初始化和拍攝命令是由單片機通過I2C總線控制的。在系統開機后,首先系統進入第一次初始化設置,配置系統外設時鐘,功能模式以及I/O配置等。等待系統初始化后,用戶通過液晶屏幕與系統進行交互,根據系統提供的選擇界面進行功能選擇。系統進入拍攝功能時,攝像模塊會根據外界環境光線進行調節,需要保存圖像時,可以把圖片信息按標準格式存儲在SD卡中,也可以通過WIFI模塊無線傳輸到手機或計算機中。這種設計使得中低端單片機系統可以繞開高清拍攝所需要的速度和存儲空間,而只需跟驅動低速設備一樣控制成像模塊,并花費很少內存(1~2kB),能夠輕松地實現JPEG高清拍攝。圖像采集原理圖如圖2所示。

在這個模塊上,單片機發出拍攝指令,然后控制OV5640傳感器及CPLD進行拍攝和圖像采集的相關工作,最后向主機分段發回圖像數據包。以往繁瑣復雜的圖像拍攝過程,通過協議格式,向模塊發幾條簡單指令然后接收數據包,實現了低端單片機也能拍500萬高清圖像。

3 系統軟件設計

軟件系統分兩大部分,第一部分是CPLD編程,基于Verilog語言設計,包含攝像頭同步采集模塊、SDRAM存儲控制模塊和SPI通訊模塊;第二部分是單片機編程,基于C語言設計,包括液晶觸摸屏控制、SD卡控制、WiFi通訊控制、GPS定位計算、SPI接口(讀取圖像數據)和I2C接口(攝像頭控制命令)。上電后,首先單片機對OV5640傳感器初始化,根據觸摸屏命令設置圖片格式、色彩校正等。對存儲器SDRAM控制是CPLD模塊的主要任務之一,SDRAM是同步動態隨機存儲器,價格相對靜態存儲器便宜,同步和刷新控制它的特點,通過模塊狀態機轉換,實現自主協調控制。本系統采用Verilog編寫的SDRAM控制器模塊實現讀、寫命令、狀態機控制、定時刷新控制、地址轉換控制及仲裁邏輯。SDRAM控制器狀態機,包括了SDRAM的初始化、模式設置、激活、觸發讀、觸發寫、所有體預充電、自動預充電、自刷新、自動刷新等操作,SDRAM 狀態轉換圖如圖3所示。圖像的采集是將OV5640傳感器高速同步讀取的圖像信息寫到SDRAM里,存儲一幀圖片后,向單片機發出圖像就緒信號,單片機響應后通過SPI總線,分批讀取SDRAM圖像信息。存儲器讀、寫分別是OV5640傳感器和單片機控制,本文設計了仲裁邏輯,通過狀態號控制,對SDRAM 兩側的三套總線(地址,數據和控制)進行切換。時序上實現了存儲器讀、寫不沖突。在CPLD設計過程中,采用混合設計方式,采用 Verilog 方式分別設計三套總線切換模塊和地址發生模塊,最后在通過在頂層模塊例化所設計的相關模塊構建該控制器。

單片機編程采用C語言編寫,通過串口、I2C總線和SPI總線完成圖像的采集、顯示和輸出。I2C是串行2線窄帶工業標準協議,用于低速外設之間的通信,是一個多主機總線,連接到總線上的模塊都有唯一的地址,可以通過沖突檢測和仲裁防止數據破壞;OV5640傳感器初始化和照相控制命令以及觸摸屏信號讀取是通過I2C總線實現。SPI是4線快速全雙工串行通信接口,單片機通過SPI總線讀取存儲器圖像,單片機作為主控設備,提供時鐘脈沖SCK,CPLD作為從設備,SD卡用作存儲圖像,控制有兩種模式,一種是SPI模式,另一種是SDIO模式,速度更快。STM32有相應接口,本設計采用SDIO模式。圖像通過串口連接WIFI模塊,實現無線遠程輸出。下面是C代碼主模塊里的頭文件:

#include "main.h"

#include

#include

#include

#include < stm32f10x_sdio.h>

本文設計了一種基于ARM與CPLD的實時圖像處理系統。通過使用低成本設備實現高清拍攝,以及設計的“先緩存整幀,后分段SPI輸出”的FIFO方案,使得中低端單片機可以繞開高清拍攝所需的高帶寬及大RAM,實現圖像拍攝及處理的一次完成,不需要像數碼相機一樣借助電腦等其他平臺再次處理圖像,對以后的高度集成、高速圖像處理系統的開發有一定參考價值。

參考文獻:

[1]段佳雷,高智博.基于ARM嵌入式圖像采集處理平臺的標簽跟蹤系統設計[J].微型電腦應用,2017,07(33):33-36.

[2]董勇,瑚琦,高鵬飛.基于CPLD的線陣CCD信號采集系統設計[J].電子科技,2016,03(29):154-156.

猜你喜歡
單片機
基于單片機MCU的IPMI健康管理系統設計與實現
淺析51單片機的特點與應用
單片機在智能控制中的應用
C8051F020與80C51單片機的異同點
MCS—51單片機多串口通訊技術應用分析
一種單片機虛擬實驗室的建立方法
點陣式液晶顯示器lMl2864與51單片機的接口設計
單片機I/O口模擬串行通訊的C51實現方法
單片機調試方法的探討
用PIC單片機制作的時間繼電器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合