détecteurs thermiques Le Bus I²C L’I²C fut développé par Philips au cours des années 80 pour : Faciliter le dialogue entre circuits Inter Réduire les coûts de production Integrated Circuits Aujourd’hui, Philips, National Semiconductor, Xicor, Siemens Maxim et d’autres… Bus offrent plus de 150 circuits compatibles I2C : EEPROMs tuners RF détecteurs thermiques processeurs audio décodeurs vidéo horloge temps réel processeurs expanseur
économie & fiabilité Le bus I²C réalise les communications sur 2 fils par liaison série : SDA et SCL. Les mots binaires sont transmis bit à bit. 110 010 101 Moins rapide qu’une liaison parallèle, le bus I²C présente pourtant 2 avantages : Liaison série I²C Two wires, serial data (SDA) and serial clock (SCL) Moins de broches donc circuits moins chers Moins de soudures donc moins de pannes Liaison parallèle
architecture I²C récepteur récepteur ou émetteur émetteur ou récepteur cas d’un téléphone sans fil 2 fils suffisent au dialogue entre circuits. En contre partie, le dialogue obéit à un protocole strict : les données transitent tour à tour… récepteur récepteur ou émetteur émetteur ou récepteur émetteur
architecture I²C réponse question ? ordre ! cas d’un téléphone sans fil Ce protocole prévoit un maître et des esclaves. Il n’y a que le maître qui ordonne ou questionne. L’esclave ne peut qu’exécuter ou répondre. réponse Ainsi les messages peuvent transiter sans confusion d’un circuit à un autre… en passant par le maître. question ? ordre ! Il existe des architectures avec plusieurs maîtres
? ? Quiz récepteur maître esclave émetteur Pour cet échange, où sont émetteur et récepteur ? Pour cet échange, où sont maître et esclave ?
transfert de messages SDA SCL 1 bus libre 2 prise bus 3 envoi messages 4 libération bus Le maître s’assure si le bus I²C est libre : états 1 pendant 5µs Le maître initie le transfert : émission condition de départ le maitre envoi le premier message contenant l’adresse du circuit avec lequel l’échange va avoir lieu Les émetteurs envoient des messages Le maître libère le bus I²C : émission condition d’arrêt Le premier message détient l’adresse du circuit de destination
transfert d’un bit Transfert d’un état haut Transfert d’un état bas SDA SCL Transfert d’un état haut Transfert d’un état bas L’émetteur place un état haut en SDA L’émetteur place un état bas en SDA Le maître envoie un top en SCL Le maître envoie un top en SCL La vitesse de transmission atteint 3,4 Mbits/s (I²C mode HS)
transfert d’un octet SDA SCL 1 2 1 3 1 5 1 6 4 7 8 L’émetteur va transmettre la valeur binaire 1010 1100 Il place les 8 bits, l’un après l’autre en SDA Le récepteur les enregistre un à un et recompose l’octet : 1 = 1010 1100
Quiz 1 A quelle condition le bus est considéré libre ? États hauts 5µs SDA 1 SCL A quelle condition le bus est considéré libre ? États hauts 5µs Où se trouve la condition de départ ? Que est l’état du premier bit transmis ? Usually, a receiver which has been addressed is obliged to generate an acknowledge after each byte has been received, État bas Que vaut l’octet transmis ? 0101 0011 Qui génère le signal en SCL ? Le maître
acquittement 10101100 1 2 8 7 transmission octet 9 acq SDA SCL 1 2 8 7 transmission octet 9 acq Après chaque octet, le récepteur acquitte l’émetteur de sa transmission Usually, a receiver which has been addressed is obliged to generate an acknowledge after each byte has been received, Un nouvel octet pourra alors être transmis 10101100 récepteur Sans acquittement, le maître émettra la condition d’arrêt émetteur
trame d’un ordre Le maître envoie la condition de départ SDA d adresse 7 bits r/w 1 bit a octet a s Le maître envoie la condition de départ Le maître envoie l’adresse de l’esclave Le maître envoie un bit bas : écriture dans l’esclave L’esclave adressé acquitte le maître Le maître envoie un octet Usually, a receiver which has been addressed is obliged to generate an acknowledge after each byte has been received, L’esclave adressé acquitte le maître Le maître envoie la condition d’arrêt Plusieurs octets peuvent être écrits à la suite
trame d’une question / réponse SDA d adresse 7 bits r/w 1 bit a octet a s Le maître envoie la condition de départ Le maître envoie l’adresse de l’esclave Le maître envoie un bit haut : lecture de l’esclave L’esclave adressé acquitte le maître L’esclave envoie un octet Usually, a receiver which has been addressed is obliged to generate an acknowledge after each byte has been received, Le maître acquitte l’esclave Le maître envoie la condition d’arrêt Plusieurs octets peuvent être lus à la suite
Quiz Qui envoie la condition de départ ? Le maître SDA d adresse r/w a octet 1 a octet 2 a s Qui envoie la condition de départ ? Le maître Combien de bits forment l’adresse ? 7 bits r/w est à l’état haut. Que fait le maître ? Il annonce une lecture Combien d’octets sont lus ? 2 octets Usually, a receiver which has been addressed is obliged to generate an acknowledge after each byte has been received, Qui dépose les octets ? L’esclave Qui donne l’acquittement ? Le maître A quoi sert l’adresse ? Sélection d’un esclave
Quelques bus série 1 0,1 10 100 1000 Vitesse transmission (Mbits/s) 10 USB - IEEE1394 RS485 I²C RS232 10 100 1000 Longueur bus (m)
Référence : The I2C-bus specification