Capteur SXGA CMOS couleur OV9665#
Interfaçage de la caméra#
Le module caméra possède 24 broches sur son connecteur plat (FPC). Le brochage du module caméra est indiqué ci-dessous. La broche 1 est la broche la plus à droite du FPC, le module caméra étant orienté à l’endroit.
Broche | Signal | Broche | Signal |
|---|---|---|---|
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 |
Contrôle de l’alimentation#
Vous devez fournir 2,8 V à 3,0 V à la broche AVDD et 1,8 V à 3,0 V à la broche DVDD. Vous devez alimenter les broches AVDD et DVDD à l’aide d’alimentations séparées à faible bruit. De plus, les broches AGND et DGND doivent être séparées aussi longtemps que possible dans votre montage pour une bonne qualité d’image.
Mettez la broche RESET à l’état bas pour réinitialiser le module caméra.
Mettez la broche PWDN à l’état haut pour éteindre le module caméra en mode d’extinction.
Bus de contrôle#
Les broches SIO_D et SIO_C sont utilisées pour contrôler le module caméra. La broche SIO_D est la broche de données du bus de contrôle et la broche SIO_C est la broche d’horloge du bus de contrôle. Consultez la section initialization pour plus de détails.
Bus de données#
Les broches Y0 à Y9 du module caméra forment un bus de données de 10 bits. Pour les modes RGB565 et YUV422, Y0 et Y1 ne sont pas utilisées. Y2 à Y9 sont utilisées pour envoyer un octet de 8 bits où Y2 est le LSB et Y9 est le MSB.
Tant que la broche HREF est au niveau haut, Y2 à Y9 sont valides. Sur le front montant de la broche PCLK, Y2 à Y9 doivent être échantillonnés. Chaque pixel est transféré en 2 impulsions PCLK. En mode SXGA, la broche PCLK passera au niveau haut 2 560 fois pendant que la broche HREF est au niveau haut, et la broche HREF passera au niveau haut 1024 fois. En mode VGA, la broche PCLK passera au niveau haut 1 280 fois pendant que la broche HREF est au niveau haut, et la broche HREF passera au niveau haut 480 fois. La résolution SXGA est de 1280x1024 pixels et la résolution VGA est de 640x480 pixels.
La broche VSYNC passera à l’état haut puis à l’état bas pour marquer le début de chaque image.
En mode RGB565, le module caméra enverra [MSB {R4, R3, R2, R1, R0, G5, G4, G3} LSB] à chaque coup d’horloge impair et [MSB {G2, G1, G0, B4, B3, B2, B1, B0} LSB] à chaque coup d’horloge pair pour chaque pixel.
En mode YUV422, le module caméra enverra des données YUV 8 bits où U et V sont envoyés à la moitié de la bande passante. Le module caméra envoie Y0 au premier coup d’horloge, suivi de U au deuxième coup d’horloge, suivi de Y1 au troisième coup d’horloge, suivi de V au quatrième coup d’horloge, puis répète le motif. Y0, U et V forment pixel0 et Y1, U et V forment pixel1. Deux pixels sont envoyés tous les quatre coups d’horloge.
Initialisation de la caméra#
Pour contrôler le module de caméra OV9665, vous devez communiquer avec lui à l’aide du protocole SCCB – qui est exactement identique au protocole I2C. Les adresses esclaves du périphérique sont 0x60 pour l’écriture et 0x61 pour la lecture. Pour initialiser la caméra, vous devez écrire 0x80 dans le registre 0x12 afin de réinitialiser la caméra, puis attendre une seconde. Après quoi vous devez envoyer les réglages des registres d’initialisation. Veuillez noter que le module de caméra nécessite une entrée d’horloge de 10 MHz à 24 MHz (généralement 24 MHz) sur sa broche XCLK pour fonctionner.
Initialisation SXGA#
Pour initialiser la caméra en mode SXGA, envoyez les réglages de registres suivants. Pour régler la fréquence d’images en mode SXGA, écrivez les valeurs suivantes à l’adresse de registre 0x11 : 0x80 pour 15 FPS, 0x81 pour 7,5 FPS, 0x82 pour 5 FPS, 0x83 pour 3,75 FPS, 0x84 pour 3 FPS, etc. lorsque XCLK est piloté à 24 MHz. REMARQUE : la valeur de FPS ne peut pas être trop faible, sinon la caméra ne fonctionnera pas correctement.
Initialisation VGA#
Pour initialiser la caméra en mode VGA, envoyez les réglages de registres suivants. Pour régler la fréquence d’images en mode VGA, écrivez les valeurs suivantes à l’adresse de registre 0x11 : 0x80 pour 30 FPS, 0x81 pour 15 FPS, 0x82 pour 10 FPS, 0x83 pour 7,5 FPS, 0x84 pour 6 FPS, etc. lorsque XCLK est piloté à 24 MHz. REMARQUE : la valeur de FPS ne peut pas être trop faible, sinon la caméra ne fonctionnera pas correctement.
Mode couleur#
Une fois la caméra initialisée en mode SXGA ou VGA, à une cadence d’images particulière, vous devez ensuite configurer le format de sortie couleur de la caméra. Vous pouvez utiliser soit RGB565, soit YUV422. Envoyez ces réglages de registre pour entrer en mode RGB565 et ces réglages de registre pour entrer en mode YUV422.