|
1、秉火 OV2640 200W攝像頭模塊 可直接插到 秉火 F429 中使用,有專用的接口
2、如果你單買了模塊,使用的不是我們的F429,程序在移植的時(shí)候如果出現(xiàn)問題
比如花屏,顯示不成功,請檢查接線是否正確,程序移植是否有遺漏,模塊在
發(fā)貨之前都會(huì)測試完好才發(fā)貨,一般硬件是不會(huì)有問題的。
3、OV2640必須是有DCMI接口的F4才可以驅(qū)動(dòng),我們只提供F429的程序,如果你使用
的是F407,請自行參考我們的程序移植。F1沒有DCMI接口,驅(qū)動(dòng)不了OV2640,請知悉。
0.png (199.92 KB, 下載次數(shù): 101)
下載附件
2017-3-19 01:22 上傳
0.png (87.8 KB, 下載次數(shù): 102)
下載附件
2017-3-19 01:25 上傳
/*********************************************************************************************/
本文檔使用 TAB = 4 對齊,使用keil5默認(rèn)配置打開閱讀比較方便。
【*】程序簡介
-工程名稱:OV2640攝像頭
-實(shí)驗(yàn)平臺(tái): 秉火STM32 F429 開發(fā)板
-MDK版本:5.16
-ST固件庫版本:1.5.1
【 !】功能簡介:
使用DCMI驅(qū)動(dòng)OV2640攝像頭,拍攝的圖像直接顯示在液晶屏上。
學(xué)習(xí)目的:學(xué)習(xí)如何使用DCMI。
【 !】實(shí)驗(yàn)操作:
連接好配套的5.0寸液晶屏,OV2640攝像頭,下載程序后復(fù)位開發(fā)板即可,屏幕會(huì)顯示拍攝得到的圖像。
若漢字不正常顯示,需要重新往外部FLASH燒錄字模!!
【*】注意事項(xiàng):
OV2640與RGB LED燈引腳共用,兩個(gè)設(shè)備不能同時(shí)使用。
本程序液晶顯示的漢字字模是存儲(chǔ)在外部FLASH的。
字模:GB2312漢字庫,24*24,宋體,支持中文標(biāo)點(diǎn)。字模位置見FLASH空間表。
【*】性能
OV2640 最高支持200W像素,支持jpeg格式直接輸出。
本例子使用800*480像素。
數(shù)據(jù)采集+液晶顯示:14.2幀/秒
【*】液晶屏分層格式
底層RGB565格式,頂層RGB1555格式。
攝像頭顯示在底層,文字顯示在頂層。
攝像頭顯示部分的液晶層(本例為底層)只支持RGB565格式。
/*******************************************************************************************************************/
【*】 引腳分配
攝像頭:
攝像頭數(shù)據(jù)接口與STM32的DCMI接口相連,控制接口與STM32的IIC相連。
HREF <--->PA4
VSYNC <--->PI5
XCLK <--->PA6
PCK <--->PA8
RST <--->PG2
PWDN <--->PG3
SCL<--->PB6
SDA<--->PB7
數(shù)據(jù)線DO0-DO7省略。
液晶屏:
液晶屏接口與STM32的LTDC接口相連,支持RGB888、565格式,
STM32直接驅(qū)動(dòng),無需外部液晶屏驅(qū)動(dòng)芯片.
/*液晶控制信號線*/
CLK <--->PG7
HSYNC <--->PI10
VSYNC <--->PI9
DE <--->PF10
DISP <--->PD4
BL <--->PD7
/*電容觸摸屏信號線*/
RSTN <--->PD13
INT <--->PD12
SDA <--->PH5
SCL <--->PH4
RGB信號線省略,本實(shí)驗(yàn)沒有驅(qū)動(dòng)觸摸屏,詳看觸摸畫板實(shí)驗(yàn)。
SDRAM (IS42S16400J8M 字節(jié)):
SDRAM芯片的接口與STM32的FMC相連。
/*控制信號線*/
CS <--->PH6
BA0 <--->PG4
BA1 <--->PG5
WE <--->PC0
CS <--->PH6
RAS <--->PF11
CAS <--->PG15
CLK <--->PG8
CKE <--->PH7
UDQM<--->PE1
LDQM<--->PE0
地址和數(shù)據(jù)信號線省略,本連接的SDRAM基地址為 (0xD0000000),結(jié)束地址為(0xD0800000),大小為8M字節(jié)
FLASH(W25Q128):
FLASH芯片的SPI接口與STM32的SPI3相連。
SCK <--->PB3
MISO<--->PB4
MOSI<--->PB5
CS <--->PI8
串口(TTL-USB TO USART):
CH340的收發(fā)引腳與STM32的發(fā)收引腳相連。
RX<--->PA9
TX<--->PA10
/*****************************************************************************************************/
【*】 時(shí)鐘
A.晶振:
-外部高速晶振:25MHz
-RTC晶振:32.768KHz
B.各總線運(yùn)行時(shí)鐘:
-系統(tǒng)時(shí)鐘 = SYCCLK = AHB1 = 180MHz
-APB2 = 90MHz
-APB1 = 45MHz
C.浮點(diǎn)運(yùn)算單元:
使用
/*********************************************************************************************/
【*】 版本
-程序版本:1.0
-版本更新說明:首次發(fā)布
/*********************************************************************************************/
stm32f429驅(qū)動(dòng)ov2640的主程序:
- /**
- ******************************************************************************
- * @file main.c
- * @author fire
- * @version V1.0
- * @date 2017-xx-xx
- * @brief OV2640攝像頭顯示例程
- ******************************************************************************
- * @attention
- *
- * 實(shí)驗(yàn)平臺(tái):秉火 STM32 F429開發(fā)板
- *
- ******************************************************************************
- */
-
- #include "stm32f4xx.h"
- #include "./usart/bsp_debug_usart.h"
- #include "./sdram/bsp_sdram.h"
- #include "./lcd/bsp_lcd.h"
- #include "./camera/bsp_ov2640.h"
- #include "./systick/bsp_SysTick.h"
- /*簡單任務(wù)管理*/
- uint32_t Task_Delay[NumOfTask];
- uint8_t dispBuf[100];
- OV2640_IDTypeDef OV2640_Camera_ID;
- uint8_t fps=0;
- //顯示幀率數(shù)據(jù),默認(rèn)不顯示,需要顯示時(shí)把這個(gè)宏設(shè)置為1即可,(會(huì)有輕微花屏現(xiàn)象。
- //經(jīng)測試液晶顯示攝像頭數(shù)據(jù)800*480像素,幀率為14.2幀/秒。
- #define FRAME_RATE_DISPLAY 1
- /**
- * @brief 主函數(shù)
- * @param 無
- * @retval 無
- */
- int main(void)
- {
-
- /*攝像頭與RGB LED燈共用引腳,不要同時(shí)使用LED和攝像頭*/
-
- Debug_USART_Config();
-
- /* 配置SysTick 為10us中斷一次,時(shí)間到后觸發(fā)定時(shí)中斷,
- *進(jìn)入stm32fxx_it.c文件的SysTick_Handler處理,通過數(shù)中斷次數(shù)計(jì)時(shí)
- */
- SysTick_Init();
-
- /*初始化液晶屏*/
- LCD_Init();
- LCD_LayerInit();
- LTDC_Cmd(ENABLE);
-
- /*把背景層刷黑色*/
- LCD_SetLayer(LCD_BACKGROUND_LAYER);
- LCD_SetTransparency(0xFF);
- LCD_Clear(LCD_COLOR_BLACK);
-
- /*初始化后默認(rèn)使用前景層*/
- LCD_SetLayer(LCD_FOREGROUND_LAYER);
- /*默認(rèn)設(shè)置不透明 ,該函數(shù)參數(shù)為不透明度,范圍 0-0xff ,0為全透明,0xff為不透明*/
- LCD_SetTransparency(0xFF);
- LCD_Clear(TRANSPARENCY);
-
- LCD_SetColors(LCD_COLOR_RED,TRANSPARENCY);
- LCD_ClearLine(LINE(18));
- LCD_DisplayStringLine_EN_CH(LINE(18),(uint8_t* )" 模式:UXGA 800x480");
- CAMERA_DEBUG("STM32F429 DCMI 驅(qū)動(dòng)OV2640例程");
- /* 初始化攝像頭GPIO及IIC */
- OV2640_HW_Init();
- /* 讀取攝像頭芯片ID,確定攝像頭正常連接 */
- OV2640_ReadID(&OV2640_Camera_ID);
- if(OV2640_Camera_ID.PIDH == 0x26)
- {
- // sprintf((char*)dispBuf, " OV2640 攝像頭,ID:0x%x", OV2640_Camera_ID.PIDH);
- // LCD_DisplayStringLine_EN_CH(LINE(0),(uint8_t*)dispBuf);
- CAMERA_DEBUG("%x %x",OV2640_Camera_ID.Manufacturer_ID1 ,OV2640_Camera_ID.Manufacturer_ID2);
- }
- else
- {
- LCD_SetTextColor(LCD_COLOR_RED);
- LCD_DisplayStringLine_EN_CH(LINE(0),(uint8_t*) " 沒有檢測到OV2640,請重新檢查連接。");
- CAMERA_DEBUG("沒有檢測到OV2640攝像頭,請重新檢查連接。");
- while(1);
- }
-
- OV2640_Init();
- OV2640_UXGAConfig();
-
- //使能DCMI采集數(shù)據(jù)
- DCMI_Cmd(ENABLE);
- DCMI_CaptureCmd(ENABLE);
- /*DMA直接傳輸攝像頭數(shù)據(jù)到LCD屏幕顯示*/
- while(1)
- {
- //顯示幀率,默認(rèn)不顯示
- #if FRAME_RATE_DISPLAY
- if(Task_Delay[0]==0)
- {
-
- LCD_SetColors(LCD_COLOR_RED,TRANSPARENCY);
- LCD_ClearLine(LINE(17));
- sprintf((char*)dispBuf, " 幀率:%.1f/s", (float)fps/5.0);
-
- /*輸出幀率*/
- LCD_DisplayStringLine_EN_CH(LINE(17),dispBuf);
- //重置
- fps =0;
-
-
- Task_Delay[0]=5000; //此值每1ms會(huì)減1,減到0才可以重新進(jìn)來這里
- }
-
- #endif
-
- }
- }
- /*********************************************END OF FILE**********************/
復(fù)制代碼
0.png (43.1 KB, 下載次數(shù): 86)
下載附件
2017-3-19 01:23 上傳
0.png (50.8 KB, 下載次數(shù): 107)
下載附件
2017-3-19 01:24 上傳
下載:
OV2640攝像頭模塊.zip
(15.47 MB, 下載次數(shù): 166)
2017-3-18 23:25 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|