a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 基于STM32F407和OV7670的低端視頻監控系統

基于STM32F407和OV7670的低端視頻監控系統

作者: 時間:2016-10-29 來源:網絡 收藏

摘要:本系統采用了意法半導體公司的微處理器作為核心,以作為監控系統的視頻采集傳感器,并將傳感器采集的數據通過DMA控制器成功地發送至液晶模塊()顯示。該系統運行流暢,為低端系統提供了一種新的解決方案。

本文引用地址:http://www.j9360.com/article/201610/307120.htm

引言

本系統著眼于經濟型系統,可應用于工業自動化設備、汽車安全駕駛、醫療設施或大樓供水、供電等系統的監控,應用前景廣闊、成本低廉、系統簡潔。

1 芯片簡介

1.1 簡介

本系統采用的處理器是意法半導體公司的,該處理器以32位Cortex—M4為內核,具有浮點運算功能的低端高速ARM,其內部集成了大量可供立即使用的資源,如TFT液晶顯示器接口(Flexible Stactie Memory Control,FSMC)、攝像頭接口(Camera Inter face)、DMA控制器等,方便且實用。

1.2 簡介

是OmniVision公司基于CMOS VGA的圖像傳感器,可通過SCCB總線控制輸出整幀、子采集、取窗口等操作,其VGA圖像最高可達到30 fps。其對外重要接口有:XCLK(時鐘輸入)、HREF(輸出行同步信號)、VSYNC(輸出場同步信號)、PCLK(輸出像素時鐘)、RESET(復位輸入信號)、PWDN、SIO_C(SCCB總線時鐘信號)、SIO_D(SCCB總線數據信號)、D0~D7(攝像頭輸出數據信號)。

本系統采用的OV7670不帶FIFO,由STM32F407直接通過SCCB總線讀取數據,并顯示在LCD上。

2 硬件和軟件實現

2.1 硬件實現

本系統硬件電路實現簡單,微處理器與系統主要外設連接如圖1所示,主要涉及STM32F407與TFT液晶模塊連接以及與OV7670圖像傳感器的連接,接口電路如圖2、圖3所示。

基于STM32F407和OV7670的低端視頻監控系統

STM32F407與TFT液晶模塊連接時,僅需將該模塊考慮成一個SRAM即可,具體連接方式見圖2。唯一需要注意的是,液晶模塊RS和CS端與STM32F407的FSMC控制器的連接,本系統中RS連接FSMC_A0(PF0),CS連接FSMC_NE4(PG12),這些連接直接關系到軟件初始化時相關寄存器地址設置。

基于STM32F407和OV7670的低端視頻監控系統

如圖3所示,STM32F407與OV7670連接時,OV7670的XLCK PC9可以選擇STM32F407的MC01或MC02引腳,同時PCI SOIC和SOID PC2引腳可以連接至I2C總線,也可以根據軟件設計定義其他I/O引腳(本系統采用了這種方案),OV7670的其他端口連接至DCMI相應接口即可。

基于STM32F407和OV7670的低端視頻監控系統

2.2 軟件實現

本系統的軟件設計關鍵點在于系統時鐘的配置、TFT液晶模塊初始化、OV7670圖像傳感器初始化、SCCB總線時序模擬。軟件程序流程圖如圖4所示。

基于STM32F407和OV7670的低端視頻監控系統

系統時鐘配置由RCC_Config()函數完成,函數內部結構如下:

基于STM32F407和OV7670的低端視頻監控系統

TFT液晶模塊初始化關鍵點在于FSMC控制器的配置和寄存器地址的計算。STM32F407的FSMC使用了AHB3提供的時鐘信號,因而需要使能AHB3時鐘以及FSMC控制器復用的其他I/O端口所在時鐘信號。寄存器地址則需要根據液晶模塊的RS和CS端與FSMC接口的具體連接方式計算。由于STM32F4系列微處理器的FSMC控制器對外設備地址映射從0x60000000開始到0x9FFFFFFF結束,共有4個BANK組成,每個BANK大小為256 MB,每個BANK又分為4個小塊,每塊大小為64 MB。

在TFT液晶初始化程序中選擇了BANK1,且CS連接FSMC NE4(PG12),故TFT液晶模塊的寄存器起始地址為0x6C000000;RS連接FSMC_A0(PF0),故TFT液晶模塊的RAM為0x6C000000+20×2=0x6C000002。如果在TFT液晶初始化程序中選擇了BANK1,且CS連接FSMC NE1(PD7),TFT液晶模塊的寄存器起始地址為0x60000000;RS連接FSMC A18(PD13),TFT液晶模塊的RAM為0x60000000+218×2=0x60080000。

依次類推可以計算其他連接方法時,液晶模塊的寄存器起始地址和RAM地址。代碼如下:

#define LCD_RAM *(vu16*)((u32)0x6c000002) //定義RAM基地址

#define LCD_REG *(vu16*)((u32)0x6c000000) //定義REG基地址

OV7670圖像傳感器初始化關鍵點有兩個,首先是微處理器的DCMI接口及DMA部分的配置,這些配置主要體現在DCMI接口、DMA控制器以及圖像傳感器用到的其他I/O端口所在時鐘總線使能方面;其次是OV7670本身寄存器配置方面。由于篇幅所限,現將一些重要的函數列出,并給出重要注釋,僅供參考。

基于STM32F407和OV7670的低端視頻監控系統
基于STM32F407和OV7670的低端視頻監控系統

SCCB總線時序模擬可以根據SCCB標準中定義的時序進行程序編寫,這一部分為大家所熟知,不再贅述。

結語

通過以上程序編寫、軟件和硬件的調試,最終得到比較滿意的結果,如圖5所示。

基于STM32F407和OV7670的低端視頻監控系統

雖然視頻圖像顯示有點模糊,且畫面略有頓挫感,但是可以通過軟件、硬件的再優化提升畫面效果,同時也為STM32F407和OV7670在系統中的應用提供思路。

  • STM32單片機中文官網
  • STM32單片機官方開發工具
  • STM32單片機參考設計


評論


相關推薦

技術專區

關閉