Kolorowy czujnik CMOS SXGA OV9665#
Podłączanie kamery#
Moduł kamery ma 24 piny na płaskim złączu (FPC). Poniżej pokazano układ wyprowadzeń modułu kamery. Pin 1 to skrajnie prawy pin na FPC, gdy moduł kamery jest skierowany prawą stroną do góry.
Pin | Sygnał | Pin | Sygnał |
|---|---|---|---|
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 |
Sterowanie zasilaniem#
Musisz dostarczyć od 2,8V do 3,0V na pin AVDD i od 1,8V do 3,0V na pin DVDD. Powinieneś zasilać piny AVDD i DVDD za pomocą osobnych zasilaczy o niskim poziomie szumów. Dodatkowo, dla dobrej jakości obrazu, piny AGND i DGND powinny być rozdzielone jak najdłużej w Twoim układzie.
Ściągnij pin RESET do stanu niskiego, aby zresetować moduł kamery.
Podciągnij pin PWDN do stanu wysokiego, aby wyłączyć moduł kamery w trybie wyłączenia zasilania.
Magistrala sterująca#
Piny SIO_D i SIO_C służą do sterowania modułem kamery. Pin SIO_D to pin danych magistrali sterującej, a pin SIO_C to pin zegara magistrali sterującej. Więcej szczegółów znajdziesz w sekcji initialization.
Magistrala danych#
Piny od Y0 do Y9 na module kamery tworzą 10-bitową magistralę danych. W trybach RGB565 i YUV422 Y0 i Y1 są nieużywane. Y2 do Y9 służą do wysyłania 8-bitowego bajtu, gdzie Y2 to LSB, a Y9 to MSB.
Gdy pin HREF jest w stanie wysokim, Y2 do Y9 są ważne. Na zboczu narastającym pinu PCLK należy próbkować Y2 do Y9. Każdy piksel jest przesyłany w 2 impulsach PCLK. W trybie SXGA pin PCLK przejdzie w stan wysoki 2 560 razy, gdy pin HREF jest w stanie wysokim, a pin HREF przejdzie w stan wysoki 1024 razy. W trybie VGA pin PCLK przejdzie w stan wysoki 1 280 razy, gdy pin HREF jest w stanie wysokim, a pin HREF przejdzie w stan wysoki 480 razy. Rozdzielczość SXGA to 1280x1024 pikseli, a rozdzielczość VGA to 640x480 pikseli.
Pin VSYNC przejdzie w stan wysoki, a następnie niski, aby zaznaczyć początek każdej klatki.
W trybie RGB565 moduł kamery wysyła [MSB {R4, R3, R2, R1, R0, G5, G4, G3} LSB] przy każdym nieparzystym takcie zegara i [MSB {G2, G1, G0, B4, B3, B2, B1, B0} LSB] przy każdym parzystym takcie zegara dla każdego piksela.
W trybie YUV422 moduł kamery wysyła 8-bitowe dane YUV, gdzie U i V są wysyłane z połową przepustowości. Moduł kamery wysyła Y0 przy pierwszym takcie zegara, następnie U przy drugim takcie, następnie Y1 przy trzecim takcie, następnie V przy czwartym takcie, a potem powtarza wzorzec. Y0, U i V tworzą pixel0, a Y1, U i V tworzą pixel1. Dwa piksele są wysyłane co cztery takty zegara.
Inicjalizacja kamery#
Aby sterować modułem kamery OV9665, musisz komunikować się z nim za pomocą protokołu SCCB – który jest dokładnie taki sam jak protokół I2C. Adresy podrzędne urządzenia to 0x60 dla zapisu i 0x61 dla odczytu. Aby zainicjalizować kamerę, musisz zapisać 0x80 do rejestru 0x12, aby zresetować kamerę, a następnie odczekać sekundę. Następnie musisz wysłać ustawienia rejestrów inicjalizacyjnych. Zwróć uwagę, że moduł kamery wymaga sygnału zegarowego od 10 MHz do 24 MHz (zwykle 24 MHz) na pinie XCLK, aby działać.
Inicjalizacja SXGA#
Aby zainicjalizować kamerę do trybu SXGA, wyślij następujące ustawienia rejestrów. Aby ustawić częstotliwość klatek w trybie SXGA, zapisz następujące wartości do adresu rejestru 0x11: 0x80 dla 15 FPS, 0x81 dla 7.5 FPS, 0x82 dla 5 FPS, 0x83 dla 3.75 FPS, 0x84 dla 3 FPS itd., gdy XCLK jest taktowany z częstotliwością 24 MHz. UWAGA: Wartość FPS nie może być zbyt niska, bo kamera nie będzie działać poprawnie.
Inicjalizacja VGA#
Aby zainicjalizować kamerę do trybu VGA, wyślij następujące ustawienia rejestrów. Aby ustawić częstotliwość klatek w trybie VGA, zapisz następujące wartości do adresu rejestru 0x11: 0x80 dla 30 FPS, 0x81 dla 15 FPS, 0x82 dla 10 FPS, 0x83 dla 7.5 FPS, 0x84 dla 6 FPS itd., gdy XCLK jest taktowany z częstotliwością 24 MHz. UWAGA: Wartość FPS nie może być zbyt niska, bo kamera nie będzie działać poprawnie.
Tryb koloru#
Gdy kamera zostanie zainicjalizowana do trybu SXGA lub VGA, przy określonej częstotliwości klatek, musisz następnie skonfigurować format wyjścia koloru kamery. Możesz użyć RGB565 lub YUV422. Wyślij te ustawienia rejestrów, aby wejść w tryb RGB565, oraz te ustawienia rejestrów, aby wejść w tryb YUV422.