OV7670不愧是最便宜的攝像頭了
最大顯示像素:640*480(在VGA顯示器上顯示效果還不賴,用usb模塊采集顯示依然顯著)
第一步:
VGA顯示 視頻圖像(實時)
FPGA+SDRAM+OV7670= VGA顯示視頻圖像,幀率可達30fps
FPGA作為邏輯控制,配置攝像頭寄存器,sdram作為fifo,實現圖像的基本處理(RGB轉換,或RAW處理)
攝像頭格式:RAW、RGB565、YUV可選。
通過使用FPGA驅動攝像頭,發現攝像頭驅動,顯示,還算簡單。
擴展:拍照不保存
解決辦法:IO控制FPGA邏輯,key按下時,邏輯實現,攝像頭數據停止往fifo寫入,圖像靜止,松開后繼續傳輸,視頻繼續!
第二步:
PC 計算機系統實時采集圖像信息或視頻
68013+OV7670
要實現視頻數據傳輸到計算機,fpga實現就相對復雜了,至少得實現一個usb接口,還得實現協議,對於這個簡單的應用,不得不換個簡單的方案。
cy68013 usb芯片,輕松實現攝像頭的配置和視頻傳輸。
68013實現攝像頭寄存器配置,io模擬iic總線輕松容易,寄存器初始化完,直接向fifo寫入數據,輕松容易,上位機根據68013的驅動接口,直接讀數據,bmp格式顯示即可。
目前以實現0v7670和ov7725攝像頭自動識別,自動配置,raw格式流。幀率可達30fps。
當然也可以配置為RGB565格式,只是帶寬比RAW多一倍而已。
第三步:TFT小顯示器 通過STM32F103 驅動攝像頭,視頻顯示,拍照等功能
若想拍照,存儲tf卡,方便導出,自然選擇fat文件系統,便攜式,小巧,低成本(一般的51便宜,但是ram和rom較小)
stm32f10x 不帶攝像頭接口,驅動tf卡,實現fat文件系統,驅動tft液晶,stm32f1雖然不帶攝像頭專用接口,但是配上一顆便宜的fifo也較為容易實現。
嘗試,直接使用io驅動攝像頭,xclk直接通過PA8 MCO輸出。發現時鍾低了,圖像就根本不能用了,加上io翻轉速度,確實較慢,基本沒有啥實際用途,所以不得不加fifo,通過io驅動的液晶,幀率可達11fps,較為滿意。
通過以上玩法
基本利用了FPGA的優勢,快速,高效,並行。
usb的高速傳輸
stm32f10x的低成本,以及便攜式的有點,
問題來了:
網上有看到,直接使用c8051f330驅動7670的,幀率可達到30fps,還真沒想明白,什么原理,怎么實現的,各位請高見!!