Réalisation de la synchronisation du conducteur 0V7725 SCCB de caméra
September 3, 2021
Réalisation de la synchronisation du conducteur 0V7725 SCCB de caméra
Synchronisation d'interface de SCCB
Le début et arrêter des signaux du double autobus sont montrés dans la figure ci-dessous. Parmi eux, SCCB_E est pour permettre l'ensemble de signal pour les dispositifs slaves multiples. Ici, seulement un capteur est utilisé pour la configuration de données. Ainsi ce signal ne peut pas être employé.
Ce qui précède est au sujet du début et arrête le diagramme de synchronisation de signal.
La figure ci-dessus montre les arrangements appropriés pour écrire au registre. Placez l'adresse d'identification d'abord, puis écrivez l'adresse de registre, et écrivez finalement la valeur du registre.
La première phase : Pour l'OV, l'adresse de dispositif est 0X42, l'écriture est 0X42, et la lecture est 0X43 ;
La seconde étape : écrivez l'adresse de registre, cette adresse est la valeur d'adresses de l'OV que vous devez placer ;
La troisième étape : la valeur écrite dans le registre, qui correspond à la valeur d'adresses de l'ensemble de registre dans la seconde étape ;
Pour lire le registre, le manuel a une telle description de paragraphe.
Par conséquent, pour la phase lue dans la figure ci-dessus, nous avons l'intention d'employer quatre phases pour réaliser, on est d'employer les mêmes deux premières phases en tant qu'écrivent le registre, y compris l'adresse d'identification et l'adresse de registre à placer, et puis ajoutent deux phases, une il est de lire dans l'adresse d'identification encore, et puis a donné lecture la valeur de données. Comme montré ci-dessous :
Pour le registre d'OV, quelques valeurs de registre conviennent à la lecture, et quelques valeurs de registre conviennent à l'inscription. Par conséquent, attention particulière de salaire à la configuration de format de diverses données en plaçant le registre d'OV. Ce qui suit est l'exécution de l'interface d'I2C et de la configuration de registre de l'OV7725.
La figure ci-dessus est le schéma fonctionnel global de l'interface de SCCB, qui ne dessine pas l'horloge globale et le signal "Reset" global, et le contrôle remis à zéro d'horloge et global global sont exigés en remodelant.
Le code d'exécution est comme suit :
Module de la configuration I2C_OV7725
La figure ci-dessus est une brève liste des arrangements de paramètre. La note que les lignes du registre 12 et 37 sont pour remettre à zéro, et la ligne 64 est pour placer la forme de sortie.
On le stipule du manuel qu'après tout des registres sont remis à zéro, un retard pas de plus que 1ms est exigé pour assurer la stabilité dans la plus large mesure possible.
La figure ci-dessus est la déclaration gauche et le 1ms puissance-sur le retard à accomplir.
Ce qui précède est d'accomplir la génération du câble coaxial et placer permettez le signal au milieu de l'horloge. Le diagramme de simulation est montré dans la figure ci-dessous :
Les divers états de la machine d'état.
La figure ci-dessus est la première pièce de la machine d'état. Comme mentionné du manuel, si un registre n'est pas changé, un retard maximum de 300ms est exigé. Les valeurs minimum et typiques ne sont pas spécifiées, tant que il est inférieur ou égal à 300ms. Employez i2c_transfer_end et i2c_ack pour réaliser ce retard. Parmi eux, i2c_ack est toute la réponse de chaque étape. On lui mentionnera ci-dessous.
La figure ci-dessus est la première pièce de la machine d'état. Comme mentionné du manuel, si un registre n'est pas changé, un retard maximum de 300ms est exigé. Les valeurs minimum et typiques ne sont pas spécifiées, tant que il est inférieur ou égal à 300ms. Employez i2c_transfer_end et i2c_ack pour réaliser ce retard. Parmi eux, i2c_ack est toute la réponse de chaque étape. On lui mentionnera ci-dessous.
Il devrait noter dans la ligne 188 que les deux premiers registres sont utilisés pour produire de l'identification de vendeur et sont inaltérables, ainsi le jugement est exigé.
Dans la figure ci-dessus, i2c_stream_cnt est employé pour compter des bits d'informations, de sorte que quand envoyant, il soit envoyé de haut en bas.
Dans la figure ci-dessus, i2c_sdat_out est employé comme registre de données de production pour recevoir les données envoyées par le module de registre de configuration.
L'image ci-dessus est la réponse au signal d'I2C ACK, la réponse des lignes 420 422 est état à grande impédance, et ce qui suit est le diagramme de simulation de modelsim de l'interface mise en application par le SCCB entier.