999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32F103的嵌入式圖像采集系統

2018-09-04 13:13:06張興武趙慶志張林華夏汝巖王政皓孫小飛
關鍵詞:系統

張興武,趙慶志,張林華,夏汝巖,王政皓,孫小飛

(1.山東理工大學 機械工程學院,山東 淄博 255049;2.山東新華醫療器械股份有限公司,山東 淄博 255086)

傳統的基于PCI圖像采集卡的圖像采集系統存在硬件成本高、體積大、開發周期長、不利于后續改造和拓展等問題[1].而傳統的基于FPGA圖像采集系統需要根據特定應用環境設計特定算法和硬件實現,開發難度大,不利于拓展和移植[2].嵌入式微處理器和TFT LCD的結合及應用[3-6]為解決上述問題提供了可能.為此,本文設計一種嵌入式圖像采集系統,該系統以STM32F103VET6(簡稱STM32F103)為主控制器,以OV7725為圖像采集傳感器,以ILI9341為液晶控制器,通過I2C總線和FSMC總線分別控制OV7725和ILI9341,實現圖像傳感器及液晶控制器與單片機的通信,最終實現圖像的采集、顯示與保存,并應用于可視門鈴及其他應用領域.

1 硬件結構與接口設計

1.1 硬件結構

以ST公司基于ARM Cortex-M3內核架構的STM32F103VET6[7]芯片為控制平臺,供電電壓2.0~3.6 V,CPU最高主頻72 MHz,支持8080模式LCD并行接口.采用ILI9341液晶控制器芯片顯示圖像信息,該液晶芯片自帶172.8 KB顯存,可保存兩幀RGB圖像數據.采用Omni Vision公司基于COMOS VGA的圖像傳感器OV7725采集圖像信息,最大輸出30萬像素圖像(分辨率640×480),自帶有源晶振和穩壓芯片,并帶有FIFO幀緩存芯片AL422B,該芯片內含384 K的FLASH,可緩存兩幀QVGA圖像數據.該圖像傳感器將采集的圖像數據保存成RGB565格式存入FIFO緩存.STM32讀取緩存中的圖像數據經RGB接口輸出至液晶面板.系統硬件結構如圖1所示.

圖1 系統硬件結構Fig.1 Hardware structure of the system

1.2 硬件接口設計

1)液晶面板與ILI9341通信接口.液晶面板與ILI9341采用RGB接口,液晶面板含28根信號線,其中:RGB信號線各8根,CLK同步時鐘信號線1根,H/YSYNC水平/垂直同步信號線各1根, DE數據使能信號線1根.

2)ILI9341與STM32F103通信接口.ILI9341配置為8080接口通信(由STM32F103的FSMC實現8080接口時序),使用16根數據線按RGB565數據格式傳輸圖像數據.此外還有:CSX片選信號線、RESX復位信號線、R/WDX讀寫信號線各1根,以及SCL/SDA總線時鐘/信號線.

3)OV7725與STM32F103通信接口.由STM32F103的I2C接口完成與OV7725的通信.OV7725共引出20跟引腳,主要引腳有:D0~D9像素數據端口,XCLK/PCLK系統輸入時鐘/像素同步時鐘,HREF/VSYNC行/場同步信號.

2 系統軟件設計

為提高系統的可移植性和方便調試,系統采用模塊化設計.主要模塊為:圖像數據采集模塊、圖像顯示模塊和圖像保存模塊.程序運行流程如圖2所示.

圖2 程序運行流程Fig.2 Program running process

本設計以可視門鈴為應用背景,通過兩個按鍵中斷實現系統級功能:Key1中斷啟動程序,對板載各個設備初始化,系統就緒,開啟液晶屏顯示門外彩色圖像;Key2中斷實現截屏保存功能,系統將截屏圖像保存至SD卡內.硬件操作圖如圖3所示.SD卡內移植了FatFs R0.11a版文件系統,STM32可對SD卡內保存的文件圖像進行后期處理.

圖3 硬件操作圖Fig.3 Hardware operation picture

2.1 圖像數據采集模塊

OV7725帶有標準SCCB總線接口,而SCCB總線與I2C總線十分類似,因此STM32可直接使用片上外設I2C與OV7725通信,實現對OV7725寄存器的參數配置,進而實現圖像數據采集.相關配置參數可從OV7725數據手冊[8]中查詢.配置OV7725寄存器的主要代碼如下:

/*向OV7725寄存器COM7寫入數據0x80,

進行復位操作*/

if(0==SCCB_WriteByte(0x12,0x80))

{return ERROR;}

/*從VER寄存器讀取OV7725芯片ID,

以確定OV7725是否處于正常工作狀態*/

if(0==SCCB_ReadByte(&Sensor_IDCode,1,0x0b)

{return ERROR;}

if(Sensor_IDCode==OV7725_ID)

{/*利用for循環向OV7725各寄存器寫入

配置參數*/

for(i=0;i

{/*Sensor_Config[i].Address是各寄存器地址,Sensor_Config[i].Value是相應寄存器參數*/

if(0==SCCB_WriteByte(Sensor_Config[i].

Address,Sensor_Config[i].Value))

{return ERROR;}

}

}

2.2 圖像顯示模塊

OV7725自帶的FIFO幀緩存芯片AL422B解決了OV7725與STM32F103之間傳輸速率不一致的問題.OV7725將采集的圖像數據緩存至AL422B后,STM32F103讀取數據至ILI9341顯存緩存起來,再傳輸給液晶屏顯示.當檢測到攝像頭VSYNC引腳的幀結束信號時,說明OV7725已經輸出一幀圖像至幀緩存,STM32即可調用Imag_Display()函數將圖像數據輸出至液晶屏.該函數主要代碼如下:

/*在液晶屏上輸出以sx,sy為起點,

以width,height為寬高的矩形圖像*/

void Imag_Display(uint16_t sx,uint16_t sy,

uint16_t width,uint16_t height)

{uint16_t i,j;

uint16_t Camera_Data;//RGB565像素值

/*液晶屏顯示窗口設置*/

ILI9341_OpenWindow(sx,sy,width,height);

/*向液晶屏發送填充像素命令*/

ILI9341_Write_Cmd(CMD_SetPixel);

for(i=0;i

{for(j=0;j

{/*循環讀取幀緩存數據,循環次數即每

幀像素個數*/

READ_FIFO_PIXEL(Camera_Data);

/*將讀取的數據顯示在LCD上*/

ILI9341_Write_Data(Camera_Data);

}

}

}

2.3 圖像保存模塊

當按下Key2鍵后,當前畫面定格1s,并將截屏圖像以BMP格式文件存儲至SD卡.SD卡內移植了FatFs R0.11a版文件系統,STM32F103就可以調用FatFs提供的API對截屏文件進行讀寫操作.SD卡支持SPI和SDIO兩種模式,SDIO模式存取速度快,適合大吞吐量的數據存儲,本系統選擇SDIO通信模式,其與SD卡的數據傳輸由DMA完成.關于SD卡的SDIO通信建立與FatFs文件系統的移植此處不再詳述,請參閱文獻[9-10].BMP圖片保存代碼由Screen_Capture()函數實現,主要代碼如下:

int Screen_Capture(uint16_t x,uint16_t y,

uint16_t Width, uint16_t Height, char * filename)

{ /*初始化BMP文件頭*/

unsigned char header[54]=

{0x42,0x4d,0,0,0,0,……};

……

/*設定BMP文件大小*/

file_size=(long)Width*(long)Height*3+

Height*(Width%4)+54;

/*新建一個BMP文件*/

bmpres=f_open(&bmpfsrc,(char*)filename,

FA_CREATE_ALWAYS|FA_WRITE);

f_close(&bmpfsrc);//先關閉再寫入

bmpres=f_open(&bmpfsrc,(char*)filename,

FA_OPEN_EXISTING|FA_WRITE);

if(bmpres==FR_OK)

{/*將BMP頭部信息寫入文件*/

bmpres=f_write(&bmpfsrc,header,sizeof(unsigned char)*54,&mybw);

for(i=0;i

{for(j=0;j

{read_data=ILI9341_GetPointPixel(

x+j,y+Height-1-i);

r=GETR_FROM_RGB16(read_data);

g=GETG_FROM_RGB16(read_data);

b=GETB_FROM_RGB16(read_data);

bmpres=f_write(&bmpfsrc,&b,sizeof(unsigned char),&mybw);

bmpres=f_write(&bmpfsrc,&g,sizeof(unsigned char),&mybw);

bmpres=f_write(&bmpfsrc,&r,sizeof(unsigned char),&mybw);}

if(ucAlign )

bmpres=f_write(&bmpfsrc,kk,sizeof(unsigned char)*(ucAlign),&mybw);

}/*自此截屏完畢*/

f_close(&bmpfsrc);

return 0;

}

}

3 實驗結果與分析

字符顯示測試結果如圖4所示,應用于可視門鈴的圖像顯示測試結果如圖5所示,SD卡保存的BMP圖片如圖6所示.測試過程中圖像輸出(分辨率320×240)達20幀/s,輸出圖像較為流暢.由于本實驗攝像頭模塊較為低端,因此更換攝像頭將會得到更加清晰的圖像.

圖4 字符顯示Fig.4 Character display

圖5 可視門鈴顯示圖像測試Fig.5 Visual doorbell display image test

圖6 保存的BMP圖片Fig.6 Saved BMP image

4 結束語

經實驗驗證,本文所設計的嵌入式圖像采集系統可實現對靜態字符和動態圖像的流暢顯示,系統穩定、可靠,且成本低、功耗低、體積小、可拓展性強,可應用于家庭可視門鈴、公共安防監控、無人或高危工業現場的實時監控.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 国产女同自拍视频| 特级做a爰片毛片免费69| 欧美不卡视频在线观看| 毛片网站在线看| 亚洲乱伦视频| 99热这里只有精品5| 另类综合视频| 久久精品无码中文字幕| 天天视频在线91频| 亚洲欧美综合精品久久成人网| 精品国产电影久久九九| 亚洲中文字幕av无码区| 国产成人精品一区二区免费看京| 超碰免费91| 92午夜福利影院一区二区三区| 欧美精品在线看| 久久精品国产精品一区二区| 国产精品女熟高潮视频| 国产97色在线| 国产伦精品一区二区三区视频优播| 国产女人水多毛片18| 亚洲天堂.com| 国产精品粉嫩| 制服丝袜亚洲| 白丝美女办公室高潮喷水视频| 国产91无码福利在线 | 国产免费怡红院视频| 免费AV在线播放观看18禁强制| av无码一区二区三区在线| 日韩精品资源| 美女被躁出白浆视频播放| 在线播放国产99re| 国内精品自在欧美一区| 久久一日本道色综合久久| 国产永久免费视频m3u8| 国产精品极品美女自在线看免费一区二区| 欧美日韩国产精品va| 91丝袜在线观看| 91 九色视频丝袜| 日本三区视频| 成人精品在线观看| 露脸一二三区国语对白| 精品成人一区二区| 曰韩人妻一区二区三区| 国产女人在线观看| 最新亚洲人成无码网站欣赏网| 亚洲一区二区三区中文字幕5566| 久久99精品久久久久纯品| 国产91成人| 国产91精品最新在线播放| 漂亮人妻被中出中文字幕久久| 日韩国产亚洲一区二区在线观看| 一级成人a毛片免费播放| 一级做a爰片久久毛片毛片| 亚洲AⅤ无码日韩AV无码网站| 五月激情综合网| 99精品视频在线观看免费播放| 久久毛片免费基地| 国产91av在线| 亚洲综合天堂网| 亚洲第一精品福利| 久久人人97超碰人人澡爱香蕉| 一区二区自拍| 国产美女人喷水在线观看| 日韩福利视频导航| 丝袜无码一区二区三区| 欧美精品亚洲精品日韩专区| 精品久久久久成人码免费动漫| 国产美女精品一区二区| 免费A∨中文乱码专区| 日韩一区精品视频一区二区| 国产亚洲视频在线观看| 日本一本在线视频| 无码高潮喷水在线观看| 黄色福利在线| 91精品国产自产在线观看| 欧美亚洲国产精品久久蜜芽| 欧美日韩午夜| 亚洲国产成人超福利久久精品| 99re经典视频在线| 999精品色在线观看| 欧美精品黑人粗大|