Cours:InfoS2 tdI2cRegistres : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 2 : Ligne 2 :
  
 
https://www.tinkercad.com/things/awVHilHmAIi
 
https://www.tinkercad.com/things/awVHilHmAIi
 +
 +
 +
=vérification des @i2c=
 +
 +
{{Todo|Pensez à utiliser un programme pour lister les adresses des targets i2c, cf td précédent !}}
 +
 +
=Registres=
 +
 +
Les targets i2c {{Rouge|ne sont pas}} des composants programmables. Par contre, il convient de pouvoir les {{Rouge|configurer}}.
 +
 +
Le principe retenu pour la plupart des targets est d'utiliser la notion de {{Rouge|registres}}.
 +
*1 registre est une {{Rouge|mémoire}} sur la cible
 +
*1 registre est associé à {{Rouge|une adresse}}
 +
*chaque registre {{Rouge|modifie/observe}} le fonctionnement de la target
 +
*pour {{Rouge|utiliser}} le composant, il faut indiquer {{Rouge|l'adresse}} du registre, que l'on souhaite {{Rouge|lire ou écrire}}
 +
 +
 +
[[fichier:I2c_modele.png|600px]]
 +
 +
 +
Une {{Rouge|transmission}} i2c devient alors une {{Rouge|trame}} selon le principe simplifié suivant :
 +
*bit de start
 +
*@ de la target
 +
*bit de lecture/écriture
 +
*{{Rouge|attente de l'acknowledge}} (accusé de bonne réception) de la cible
 +
*choix d'un registre
 +
*acknowledge
 +
*envoi/réception de la valeur
 +
*bit de stop

Version du 23 mars 2022 à 12:50

lien enseignants

https://www.tinkercad.com/things/awVHilHmAIi


vérification des @i2c

Todo.jpg Pensez à utiliser un programme pour lister les adresses des targets i2c, cf td précédent !

Registres

Les targets i2c ne sont pas des composants programmables. Par contre, il convient de pouvoir les configurer.

Le principe retenu pour la plupart des targets est d'utiliser la notion de registres.

  • 1 registre est une mémoire sur la cible
  • 1 registre est associé à une adresse
  • chaque registre modifie/observe le fonctionnement de la target
  • pour utiliser le composant, il faut indiquer l'adresse du registre, que l'on souhaite lire ou écrire


I2c modele.png


Une transmission i2c devient alors une trame selon le principe simplifié suivant :

  • bit de start
  • @ de la target
  • bit de lecture/écriture
  • attente de l'acknowledge (accusé de bonne réception) de la cible
  • choix d'un registre
  • acknowledge
  • envoi/réception de la valeur
  • bit de stop