เซนเซอร์ OV9665 Color CMOS SXGA#

การเชื่อมต่อกล้อง#

โมดูลกล้องมี 24 พินบนขั้วต่อแบบแบน (FPC) ด้านล่างนี้แสดงพินเอาต์สำหรับโมดูลกล้อง พิน 1 คือพินที่อยู่ขวาสุดบน FPC โดยหันโมดูลกล้องให้ด้านที่ถูกต้องหงายขึ้น

ขา

สัญญาณ

ขา

สัญญาณ

1

NC

13

XCLK

2

AGND

14

Y8

3

SIO_D

15

DGND

4

AVDD

16

Y7

5

SIO_C

17

PCLK

6

RESET

18

Y6

7

VSYNC

19

Y2

8

PWDN

20

Y5

9

HREF

21

Y3

10

NC

22

Y4

11

DVDD

23

Y1

12

Y9

24

Y0

การควบคุมพลังงาน#

คุณต้องจ่าย 2.8V ถึง 3.0V ให้กับพิน AVDD และ 1.8V ถึง 3.0V ให้กับพิน DVDD คุณควรจ่ายไฟให้พิน AVDD และ DVDD โดยใช้แหล่งจ่ายไฟที่มีสัญญาณรบกวนต่ำแยกกัน นอกจากนี้ พิน AGND และ DGND ควรแยกกันให้นานที่สุดเท่าที่จะเป็นไปได้ในการตั้งค่าของคุณเพื่อคุณภาพภาพที่ดี

ดึงขา RESET ลงต่ำเพื่อรีเซ็ตโมดูลกล้อง

ดึงขา PWDN ขึ้นสูงเพื่อปิดเครื่องโมดูลกล้องในขณะที่อยู่ในโหมดปิดเครื่อง

บัสควบคุม#

พิน SIO_D และ SIO_C ใช้ในการควบคุมโมดูลกล้อง พิน SIO_D คือพินข้อมูลของบัสควบคุม และพิน SIO_C คือพินสัญญาณนาฬิกาของบัสควบคุม ดูส่วน initialization สำหรับรายละเอียดเพิ่มเติม

บัสข้อมูล#

พิน Y0 ถึง Y9 บนโมดูลกล้องประกอบเป็นบัสข้อมูล 10 บิต สำหรับโหมด RGB565 และ YUV422 นั้น Y0 และ Y1 ไม่ได้ใช้ Y2 ถึง Y9 ใช้ในการส่งไบต์ 8 บิต โดยที่ Y2 คือ LSB และ Y9 คือ MSB

ในขณะที่พิน HREF อยู่สูง Y2 ถึง Y9 มีค่าที่ใช้ได้ ที่ขอบขาขึ้นของพิน PCLK นั้น Y2 ถึง Y9 ควรถูกสุ่มตัวอย่าง แต่ละพิกเซลถูกถ่ายโอนใน 2 พัลส์ PCLK ในโหมด SXGA พิน PCLK จะขึ้นสูง 2,560 ครั้งในขณะที่พิน HREF อยู่สูง และพิน HREF จะขึ้นสูง 1024 ครั้ง ในโหมด VGA พิน PCLK จะขึ้นสูง 1,280 ครั้งในขณะที่พิน HREF อยู่สูง และพิน HREF จะขึ้นสูง 480 ครั้ง ความละเอียด SXGA คือ 1280x1024 พิกเซล และความละเอียด VGA คือ 640x480 พิกเซล

พิน VSYNC จะขึ้นสูงแล้วลงต่ำเพื่อทำเครื่องหมายจุดเริ่มต้นของแต่ละเฟรม

ในโหมด RGB565 โมดูลกล้องจะส่ง [MSB {R4, R3, R2, R1, R0, G5, G4, G3} LSB] ทุกสัญญาณนาฬิกาคี่ และ [MSB {G2, G1, G0, B4, B3, B2, B1, B0} LSB] ทุกสัญญาณนาฬิกาคู่สำหรับแต่ละพิกเซล

ในโหมด YUV422 โมดูลกล้องจะส่งข้อมูล YUV แบบ 8 บิต โดยที่ U และ V ถูกส่งที่ครึ่งหนึ่งของแบนด์วิดท์ โมดูลกล้องส่ง Y0 ในสัญญาณนาฬิกาแรก ตามด้วย U ในสัญญาณนาฬิกาที่สอง ตามด้วย Y1 ในสัญญาณนาฬิกาที่สาม ตามด้วย V ในสัญญาณนาฬิกาที่สี่ แล้วทำซ้ำรูปแบบ Y0, U และ V สร้างเป็น pixel0 และ Y1, U และ V สร้างเป็น pixel1 สองพิกเซลถูกส่งทุกสี่สัญญาณนาฬิกา

การเริ่มต้นกล้อง#

ในการควบคุมโมดูลกล้อง OV9665 คุณต้องสื่อสารกับมันโดยใช้โปรโตคอล SCCB -- ซึ่งเหมือนกับโปรโตคอล I2C ทุกประการ ที่อยู่สเลฟของอุปกรณ์คือ 0x60 สำหรับเขียนและ 0x61 สำหรับอ่าน ในการเริ่มต้นกล้องคุณต้องเขียน 0x80 ไปยังรีจิสเตอร์ 0x12 เพื่อรีเซ็ตกล้องแล้วหน่วงเวลาหนึ่งวินาที หลังจากนั้นคุณต้องส่งการตั้งค่ารีจิสเตอร์เริ่มต้น โปรดทราบว่าโมดูลกล้องต้องการอินพุตสัญญาณนาฬิกา 10 MHz ถึง 24 MHz (โดยทั่วไป 24 MHz) เข้าที่พิน XCLK เพื่อทำงาน

การเริ่มต้น SXGA#

ในการเริ่มต้นกล้องสำหรับโหมด SXGA ให้ส่ง การตั้งค่ารีจิสเตอร์ ต่อไปนี้ ในการตั้งค่าอัตราเฟรมในโหมด SXGA ให้เขียนค่าต่อไปนี้ไปยังที่อยู่รีจิสเตอร์ 0x11: 0x80 สำหรับ 15 FPS, 0x81 สำหรับ 7.5 FPS, 0x82 สำหรับ 5 FPS, 0x83 สำหรับ 3.75 FPS, 0x84 สำหรับ 3 FPS และอื่น ๆ เมื่อ XCLK ถูกขับที่ 24 MHz หมายเหตุ: ค่า FPS ไม่สามารถต่ำเกินไปได้ มิฉะนั้นกล้องจะทำงานไม่ถูกต้อง

\[\text{FPS} = \frac{15 \cdot (\text{XCLK}_\text{MHz} / 24)}{(\text{value} - \text{0x80}) + 1}\]
\[\text{PCLK Frequency} = \frac{\text{XCLK}_\text{MHz}}{(\text{value} - \text{0x80}) + 1}\]

การเริ่มต้น VGA#

ในการเริ่มต้นกล้องสำหรับโหมด VGA ให้ส่ง การตั้งค่ารีจิสเตอร์ ต่อไปนี้ ในการตั้งค่าอัตราเฟรมในโหมด VGA ให้เขียนค่าต่อไปนี้ไปยังที่อยู่รีจิสเตอร์ 0x11: 0x80 สำหรับ 30 FPS, 0x81 สำหรับ 15 FPS, 0x82 สำหรับ 10 FPS, 0x83 สำหรับ 7.5 FPS, 0x84 สำหรับ 6 FPS และอื่น ๆ เมื่อ XCLK ถูกขับที่ 24 MHz หมายเหตุ: ค่า FPS ไม่สามารถต่ำเกินไปได้ มิฉะนั้นกล้องจะทำงานไม่ถูกต้อง

\[\text{FPS} = \frac{30 \cdot (\text{XCLK}_\text{MHz} / 24)}{(\text{value} - \text{0x80}) + 1}\]
\[\text{PCLK Frequency} = \frac{\text{XCLK}_\text{MHz}}{(\text{value} - \text{0x80}) + 1}\]

โหมดสี#

เมื่อกล้องถูกเริ่มต้นเป็นโหมด SXGA หรือ VGA ที่อัตราเฟรมเฉพาะแล้ว คุณต้องตั้งค่ารูปแบบเอาต์พุตสีของกล้อง คุณสามารถใช้ RGB565 หรือ YUV422 ได้ ส่ง การตั้งค่ารีจิสเตอร์เหล่านี้ เพื่อเข้าสู่โหมด RGB565 และ การตั้งค่ารีจิสเตอร์เหล่านี้ เพื่อเข้าสู่โหมด YUV422