筆者使用 ESP32 的原因,是想製作攝像頭項目,所以在網上購買了一個豪威科技(OmniVision)的 OV7670 + AL422B FIFO 攝像頭模組,模組使用了OV7670 CMOS 影像感測器(CMOS image sensor)是 30萬像素的 CMOS 影像感測器(CMOS image sensor)晶片,可以提供 640 × 480 VGA 像素,還帶 AL422B FIFO 的晶片,只需知道如何從 FIFO 中讀取數據即可,所以製作會比較簡單。
ESP32 + OV7670 + AL422B 攝像頭模組 |
OV7670 + AL422B 攝像頭模組輸出腳的定義 |
I/O
|
Signal
|
Pin
|
Pin
|
Signal
|
I/O
|
|||
輸入電源電壓
|
P
|
3.3V
|
1
|
2
|
GND
|
G
|
接地點
|
|
SCCB 接口的控制時鐘
|
I
|
SIOC
|
3
|
4
|
SIOD
|
I/O
|
SCCB 接口的串行數據輸入(出)端
|
|
幀同步信號
|
O
|
VSYNC
|
5
|
6
|
HREF
|
O
|
行同步信號
|
|
D7 數據端口
|
O
|
D7
|
7
|
8
|
D6
|
O
|
D6 數據端口
|
|
D5 數據端口
|
O
|
D5
|
9
|
10
|
D4
|
O
|
D4 數據端口
|
|
D3 數據端口
|
O
|
D3
|
11
|
12
|
D2
|
O
|
D2 數據端口
|
|
D1 數據端口
|
O
|
D1
|
13
|
14
|
D0
|
O
|
D0 數據端口
|
|
復位端口
|
I
|
RST
|
15
|
16
|
PWDN
|
I
|
功耗選擇模式
|
|
拍照閃光控制端口
|
O
|
STR
|
17
|
18
|
RCK
|
I
|
FIFO 內存讀取時鐘控制端
|
|
FIFO 寫控制端(1為允許CMOS寫入到FIFO,0為禁止)
|
I
|
WR
|
19
|
20
|
OE
|
I
|
FIFO 關斷控制
|
|
FIFO 寫指針復位端
|
I
|
WRST
|
21
|
22
|
RRST
|
I
|
FIFO 讀指針復位端
|
ESP32 Goouuu-ESP32開發板連接 OV7670 + AL422B攝像頭模組電路圖 |
ESP32
|
OV7670
|
OV7670
|
ESP32
|
|||||
I/O
|
Board
|
Signal
|
Pin
|
Pin
|
Signal
|
Board
|
I/O
|
|
3.3V
|
1
|
3.3V
|
1
|
2
|
GND
|
38
|
GND
|
|
GPIO22
|
36
|
SIOC
|
3
|
4
|
SIOD
|
33
|
GPIO21
|
|
GPIO39
|
4
|
VSYNC
|
5
|
6
|
HREF
|
NC
|
NC
|
|
GPIO27
|
11
|
D7
|
7
|
8
|
D6
|
10
|
GPIO26
|
|
GPIO2
|
24
|
D5
|
9
|
10
|
D4
|
3
|
GPIO36
|
|
GPIO35
|
6
|
D3
|
11
|
12
|
D2
|
5
|
GPIO34
|
|
GPIO33
|
8
|
D1
|
13
|
14
|
D0
|
7
|
GPIO32
|
|
3.3V
|
1
|
RST
|
15
|
16
|
PWDN
|
38
|
GND
|
|
NC
|
NC
|
STR
|
17
|
18
|
RCK
|
26
|
GPIO4
|
|
GPIO19
|
31
|
WR
|
19
|
20
|
OE
|
38
|
GND
|
|
VSYNC
|
4
|
WRST
|
21
|
22
|
RRST
|
29
|
GPIO5
|
ESP32 + OV7670 + AL422B 攝像頭模組的正面 |
ESP32 + OV7670 + AL422B 攝像頭模組的背面 |
ESP32 + OV7670 + AL422B 攝像頭模組的側面 |
ESP32 + OV7670 + AL422B 攝像頭模組 |
※ DIY - ESP32:OV7670 CMOS VGA 圖像傳感器介紹(十八)
※ DIY - ESP32:OV7670 CMOS VGA 圖像傳感器原理(十九)
※ DIY - ESP32:OV7670 CMOS VGA 圖像傳感器控制(二十)
※ DIY - ESP32:AverLogic AL422B FIFO 晶片介紹(二十一)
※ DIY - ESP32:AverLogic AL422B FIFO 晶片原理(二十二)
※ DIY - ESP32:OV7670 + AL422B FIFO 圖像傳感器模組介紹(二十三)
※ DIY - ESP32:ESP32 + OV7670 + AL422B 攝像頭模組程式(二十五)
※ DIY - ESP32:ESP32 XPT2046 電阻式觸摸屏模組電路(二十六)
※ DIY - ESP32:ESP32 XPT2046 電阻式觸摸屏模組 I/O 程式(二十七)
※ DIY - ESP32:ESP32 XPT2046 電阻式觸摸屏模組 INT 程式(二十八)
※ DIY - ESP32:ESP32 OV7670 數位靜態相機 DSC 程式(二十九)
2018年 11月 7日 天氣報告
氣溫:25.0度 @ 19:10
相對濕度:百分之 79%
天氣:天色大致良好
作者已經移除這則留言。
回覆刪除能請教一下,您如何讀出FIFO D0~D7的數據嗎?
回覆刪除我也同樣在做相關的電路,不過使用的MCU是AT89S51,沒有用顯示器,想藉由Txd和Rxd兩支,經過藍牙將數據發送給手機
目前只有單獨一個OV7670,模組上的OE和PWDN腳位設為0(低電位),WRST、RRST、WR、RST腳位設為1(高電位)
其餘VSYNC、HREF、SIO_C、SIO_D和RCK皆有接任何MCU上的I/O Port,手機上也沒收到藍牙的數據,我也參考過網路上的時序圖和講解,但看了也不太了解
請問讀出OV7670的影像數據,有何方法可以從FIFO拿出來呢?