SlideShare a Scribd company logo
1 of 21
Download to read offline
ATELIER N° 2:
BUS PROTOCOL I2C SOUS XILINX
Smati Wassim
Faculté Des Sciences De Tunis
Plan
   Présentation
       Historique
       Caractéristiques
       Principe
       D'autres bus tri filaires
   Le protocole I2C
       La prise contrôle du bus
       La transmission d'un octet
       La transmission d'une adresse
       Ecriture d'une donnée
       Lecture d'une donnée
   La gestion des conflits
       Mise en situation
       Principe
       Exemple
Plan
   Les nouvelles caractéristiques
   Les adresses réservées
       Adresse d'appel général
       Octet de Start
       Début d'adressage Cbus
       Autre
   Implémentation Sous Xilinx
      Machine à Etat
     Présentation d’outil StateCad
     Implémentation
   Teste et Validation
   Conclusion
Présentation
   Historique

Le bus I2C ( Inter Integrated Circuit ) a été développé au début des
années 80 par Philips semi-conducteurs pour permettre de relier
facilement à un microprocesseur les différents circuits d'un
Téléviseur moderne.
Présentation
   Caractéristiques
     permet de faire communiquer entre eux des composants électroniques
      très divers grâce à seulement trois fils
           Un signal de donnée ( SDA )
           Un signal d'horloge (SCL )
           Un signal de référence électrique ( Masse )
       permet de réaliser des équipements ayants des fonctionnalités très
        puissantes
        conservant un circuit imprimé très simple, par rapport un schéma
        classique ( 8bits de données, 16 bits d'adresse + les bits de contrôle )
       Les données sont transmises en série à 100Kbits/s en mode standard et
        jusqu'à 400Kbits/s en mode rapide
       Le nombre de composants qu'il est ainsi possible de relier est
        essentiellement limité par la charge capacitive des lignes SDA et SCL :
        400 pF .
Présentation
   Principe
     Collecteur   Ouvert




   D'autres bus tri filaires
     CBus de Phillips est l'ancètre du bus I2C
     SPI de Motorola
     μWire de National SemiConductor
Le protocole I2C


« Le protocole I2C définit la succession des états
logiques possibles sur SDA et SCL, et la façon dont
doivent réagir les circuits en cas de conflits »
Le protocole I2C
   La prise contrôle du bus
     La condition de départ. ( SDA passe à '0' alors que SCL
      reste à '1' )
     La condition d'arrèt. ( SDA passe à '1' alors que SCL
      reste à '1' )
     Après avoir vérifié que le bus est libre, prend le
      contrôle de celui-ci, il en devient le Maître. C'est lui qui
      génère le signal d'horloge
Le protocole I2C
   La transmission d'un octet
     le maître applique sur SDA le bit de poids fort D7
     Ensuite la donnée en appliquant pendant un instant un
      niveau '1‘ sur la ligne SCL
     le maître envoie alors un bit ACK à '1' tout en scrutant l'état
      réel de SDA
     L'escave doit alors imposer un niveau '0' pour signaler au
      maître que la transmission s'est effectuée correctement
Le protocole I2C
   La transmission d'une adresse
       Le nombre de composants qu'il est possible de connecter sur un bus I2C étant
        largement supérieur à deux
       L'adresse d'un circuit est codée sur sept bits




   Notes:
       L'espace adressable d'un circuit de mémoire étant sensiblement plus grand que
        la plupart des autres types de circuits, l'adresse d'une information y est codée
        sur deux octets ou plus. Le premier représente toujours l'adresse du circuit, et les
        suivants l'adresse interne de la mémoire .
       Les adresses 00000XXX et 111111XX sont réservés à des modes de
        fonctionnement particuliers
Le protocole I2C
   Ecriture d'une donnée




   Note : Cas particulier d'utilisation d'ACK :
       L'écriture d'un octet dans certains composants ( Mémoires,
        microcontrôleur, ...) peut prendre un certain temps. Il est
        donc possible que le maître soit obligé d'attendre
        l'acquitement ACK avant de passer à la suite.
Le protocole I2C
   Lecture d'une donnée
     La  lecture d'une donnée par le maître se caractérise
      par l'utilisation spéciale qui faite du bit ACK
     Après la lecture d'un octet, le maître positionne ACK à
      '0' s'il veut lire la donnée suivante ( cas d'une mémoire
      par exemple ) ou à '1' la cas échéant
     Il envoie alors la condition d'arret
La gestion des conflits
   Mise en situation
     I2C a été conçu pour pouvoir y accueillir plusieurs maîtres
     le problème commun à tout les réseaux utilisant un canal de
      communication unique : la prise de parole
     chaque maître pouvant prendre possession du bus dès que
      celui-ci est libre
     il existe la possibilité de que deux maîtres prennent la
      parole en même temps
     Si cela ne pose pas de problème sur le plan électrique
      grâce l'utilisation de collecteurs ouverts, il faut pouvoir
      détecter cet état de fait pour éviter la corruption des
      données transmises
La gestion des conflits
   Principe
       un maître potentiel doit d'abord vérifier que celui-ci soit libre
       une condition d'arrèt ait bien été envoyée depuis au moins 4,7μs
       la possibilité que plusieurs maîtres prennent le contrôle du bus
        simultanément
       Chaque circuit vérifie en permanence l'état des lignes SDA et
        SCL, y compris lorsqu'ils sont eux même en train d'envoyer des
        données
           Les différents maîtres envoient les mêmes données au même moment
           Un maître impose un '0' sur le bus
           Un maitre cherche à appliquer un '1' sur le bus
Les nouvelles caractéristiques
   Quelques nouvelles améliorations ont été apportées à
    partir de 1993 :
     Le mode rapide : Le bus à désormais la capacité de
      transmettre des données jusqu'à une vitesse de 400 Kbit/s.
     Des entrées à triggers de Shmitt : Afin de limiter la
      sensibilité au bruit.
     La mise en haute impédance d'un circuit non alimenté : Ceci
      évite de bloquer le bus si un périphérique n'est pas
      alimenté.
     Extension à 10 bits de l'adressage des circuits :L'adressage
      d'un circuits se fait maintenant sur 10 bits répartis dans
      deux octets
Les adresses réservées
   Les adresses 0000 0xxx ne sont pas utilisées pour
    l'adressage de composants. Ils ont été réservés par Phillips
    pour effectuer certaines fonctions spéciales.
   Adresse d'appel general
       Adresse : 0000 0000 les circuits ayant la capacité de traiter ce
        genre d'appel émettent un acquittement.
       0000 0110 : RESET. Remet tout les registres de circuits connectés
        dans leur état initial
       0000 0010 : Les circuits qui le permettent rechargent leur
        adresse d'esclave.
       0000 0100 : Les circuits définissant leur adresse de façon
        matériel réinitialisent leur adresse d'esclave.
       xxxx xxx1 : Cette commande joue le rôle d'interruption. xxxx
        xxx peut être l'adresse du circuit qui a généré l'interruption.
Les adresses réservées
   Octet de Start :
       Adresse : 0000 0001
       Cet octet est utilisé pour synchroniser les périphériques lents avec
        les périphériques rapides.
   Début d'adressage CBus :
       Adresse : 0000 001x
       rendre sourd tout les circuits I2C présent sur le bus
       on peut transmettre ce que l'on désire sur le bus, en utilisant par
        exemple un autre protocole
   Autre :
       Adresses : 0000 0110 à 0000 1111
       Ces octets ne sont pas définit et sont ignoré par les circuits I2C. Il
        peuvent être utilisé pour débugger un réseau multi master
Implémentation Sous Xilinx
   Machine à Etat
Implémentation Sous Xilinx

   Présentation d’outil StateCad



   Implémentation



   Teste et Validation
Conclusion
   I2C est Simple :
    à  manipuler
     À développer

   Pourquoi pas de ne pas l’utiliser dans notre Robot?
    Est-ce que SPI est plus performant que l2C ?
   Est-ce que notre comité ne peut pas crée un Protocol
    comme I2C ?
Questions et discussion




Merci Pour Votre Attention

More Related Content

What's hot

Concepts et configuration de base de la commutation
Concepts et configuration de base de la commutationConcepts et configuration de base de la commutation
Concepts et configuration de base de la commutationEL AMRI El Hassan
 
Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Tarik Zakaria Benmerar
 
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.Tarik Zakaria Benmerar
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexionInes Kechiche
 
Travaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetTravaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetInes Kechiche
 
Introduction aux réseaux locaux
 Introduction aux réseaux locaux Introduction aux réseaux locaux
Introduction aux réseaux locauxInes Kechiche
 
Redondance de routeur (hsrp, vrrp, glbp)
Redondance de routeur (hsrp, vrrp, glbp)Redondance de routeur (hsrp, vrrp, glbp)
Redondance de routeur (hsrp, vrrp, glbp)EL AMRI El Hassan
 
WeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLANWeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLANFabian Vandendyck
 

What's hot (20)

Concepts et configuration de base de la commutation
Concepts et configuration de base de la commutationConcepts et configuration de base de la commutation
Concepts et configuration de base de la commutation
 
Chapitre 4 - couche liaison
Chapitre 4 - couche liaisonChapitre 4 - couche liaison
Chapitre 4 - couche liaison
 
Cours Vlan
Cours VlanCours Vlan
Cours Vlan
 
Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021Chapitre 3 - Protocole Bus CAN (2020/2021
Chapitre 3 - Protocole Bus CAN (2020/2021
 
Commutation
CommutationCommutation
Commutation
 
Cours frame relay
Cours frame relayCours frame relay
Cours frame relay
 
Cours VTP
Cours VTPCours VTP
Cours VTP
 
Routage rip
Routage ripRoutage rip
Routage rip
 
Le protocole stp
Le protocole stpLe protocole stp
Le protocole stp
 
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.Cours Bus de communication et réseaux industriels. Chapitre 1 :  introduction.
Cours Bus de communication et réseaux industriels. Chapitre 1 : introduction.
 
Normes IEEE
Normes IEEENormes IEEE
Normes IEEE
 
Equipements d'interconnexion
Equipements d'interconnexionEquipements d'interconnexion
Equipements d'interconnexion
 
CISCO HSRP VRRP GLBP
CISCO HSRP VRRP GLBPCISCO HSRP VRRP GLBP
CISCO HSRP VRRP GLBP
 
Travaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetTravaux dirigés Réseau Ethernet
Travaux dirigés Réseau Ethernet
 
Introduction aux réseaux locaux
 Introduction aux réseaux locaux Introduction aux réseaux locaux
Introduction aux réseaux locaux
 
Switching
SwitchingSwitching
Switching
 
Redondance de routeur (hsrp, vrrp, glbp)
Redondance de routeur (hsrp, vrrp, glbp)Redondance de routeur (hsrp, vrrp, glbp)
Redondance de routeur (hsrp, vrrp, glbp)
 
Cours routage inter-vlan
Cours routage inter-vlanCours routage inter-vlan
Cours routage inter-vlan
 
WeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLANWeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLAN
 
Chapitre 5 - couche réseaux
Chapitre 5 - couche réseauxChapitre 5 - couche réseaux
Chapitre 5 - couche réseaux
 

Similar to Atelier i2 c

11861939.ppt
11861939.ppt11861939.ppt
11861939.pptmoh2020
 
204081791-Protocole-Frame-Relay.pptx
204081791-Protocole-Frame-Relay.pptx204081791-Protocole-Frame-Relay.pptx
204081791-Protocole-Frame-Relay.pptxFatimazogr
 
formation_captronic_lyon.pdf
formation_captronic_lyon.pdfformation_captronic_lyon.pdf
formation_captronic_lyon.pdfOukrimMohamed
 
Adressage ip stl-cours
Adressage ip stl-coursAdressage ip stl-cours
Adressage ip stl-courssaqrjareh
 
SEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDSSEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDSKhalil Chortani
 
Extreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDNExtreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDNFrance IX Services
 
Système de gestion d'un VLAN 4 AVEC AJOUT .PDF
Système de gestion d'un VLAN 4 AVEC AJOUT .PDFSystème de gestion d'un VLAN 4 AVEC AJOUT .PDF
Système de gestion d'un VLAN 4 AVEC AJOUT .PDFfranckewane53
 
Présentation ip over atm
Présentation ip over atmPrésentation ip over atm
Présentation ip over atmSyfeddine OIHI
 
we config - procédure configuration rapide réseau Ethernet
we config - procédure configuration rapide réseau Ethernetwe config - procédure configuration rapide réseau Ethernet
we config - procédure configuration rapide réseau EthernetOlivier Bughin
 

Similar to Atelier i2 c (20)

Chapitre 2.pdf
Chapitre 2.pdfChapitre 2.pdf
Chapitre 2.pdf
 
11861939.ppt
11861939.ppt11861939.ppt
11861939.ppt
 
Yapsc Manuel
Yapsc ManuelYapsc Manuel
Yapsc Manuel
 
Mini projet 3t2i se
Mini projet 3t2i seMini projet 3t2i se
Mini projet 3t2i se
 
Routing in 6lowpan (in French)
Routing in 6lowpan (in French) Routing in 6lowpan (in French)
Routing in 6lowpan (in French)
 
ccna1-3.pdf
ccna1-3.pdfccna1-3.pdf
ccna1-3.pdf
 
Ccna1
Ccna1Ccna1
Ccna1
 
204081791-Protocole-Frame-Relay.pptx
204081791-Protocole-Frame-Relay.pptx204081791-Protocole-Frame-Relay.pptx
204081791-Protocole-Frame-Relay.pptx
 
formation_captronic_lyon.pdf
formation_captronic_lyon.pdfformation_captronic_lyon.pdf
formation_captronic_lyon.pdf
 
Adressage ip stl-cours
Adressage ip stl-coursAdressage ip stl-cours
Adressage ip stl-cours
 
Cours reseaux lan
Cours reseaux lanCours reseaux lan
Cours reseaux lan
 
Ccna2
Ccna2Ccna2
Ccna2
 
Ethernet
EthernetEthernet
Ethernet
 
SEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDSSEND SMS WITHOUT USING AT COMMANDS
SEND SMS WITHOUT USING AT COMMANDS
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
 
SDE 10 - Reseau
SDE 10 - ReseauSDE 10 - Reseau
SDE 10 - Reseau
 
Extreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDNExtreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDN
 
Système de gestion d'un VLAN 4 AVEC AJOUT .PDF
Système de gestion d'un VLAN 4 AVEC AJOUT .PDFSystème de gestion d'un VLAN 4 AVEC AJOUT .PDF
Système de gestion d'un VLAN 4 AVEC AJOUT .PDF
 
Présentation ip over atm
Présentation ip over atmPrésentation ip over atm
Présentation ip over atm
 
we config - procédure configuration rapide réseau Ethernet
we config - procédure configuration rapide réseau Ethernetwe config - procédure configuration rapide réseau Ethernet
we config - procédure configuration rapide réseau Ethernet
 

Atelier i2 c

  • 1. ATELIER N° 2: BUS PROTOCOL I2C SOUS XILINX Smati Wassim Faculté Des Sciences De Tunis
  • 2. Plan  Présentation  Historique  Caractéristiques  Principe  D'autres bus tri filaires  Le protocole I2C  La prise contrôle du bus  La transmission d'un octet  La transmission d'une adresse  Ecriture d'une donnée  Lecture d'une donnée  La gestion des conflits  Mise en situation  Principe  Exemple
  • 3. Plan  Les nouvelles caractéristiques  Les adresses réservées  Adresse d'appel général  Octet de Start  Début d'adressage Cbus  Autre  Implémentation Sous Xilinx  Machine à Etat  Présentation d’outil StateCad  Implémentation  Teste et Validation  Conclusion
  • 4. Présentation  Historique Le bus I2C ( Inter Integrated Circuit ) a été développé au début des années 80 par Philips semi-conducteurs pour permettre de relier facilement à un microprocesseur les différents circuits d'un Téléviseur moderne.
  • 5. Présentation  Caractéristiques  permet de faire communiquer entre eux des composants électroniques très divers grâce à seulement trois fils  Un signal de donnée ( SDA )  Un signal d'horloge (SCL )  Un signal de référence électrique ( Masse )  permet de réaliser des équipements ayants des fonctionnalités très puissantes  conservant un circuit imprimé très simple, par rapport un schéma classique ( 8bits de données, 16 bits d'adresse + les bits de contrôle )  Les données sont transmises en série à 100Kbits/s en mode standard et jusqu'à 400Kbits/s en mode rapide  Le nombre de composants qu'il est ainsi possible de relier est essentiellement limité par la charge capacitive des lignes SDA et SCL : 400 pF .
  • 6. Présentation  Principe  Collecteur Ouvert  D'autres bus tri filaires  CBus de Phillips est l'ancètre du bus I2C  SPI de Motorola  μWire de National SemiConductor
  • 7. Le protocole I2C « Le protocole I2C définit la succession des états logiques possibles sur SDA et SCL, et la façon dont doivent réagir les circuits en cas de conflits »
  • 8. Le protocole I2C  La prise contrôle du bus  La condition de départ. ( SDA passe à '0' alors que SCL reste à '1' )  La condition d'arrèt. ( SDA passe à '1' alors que SCL reste à '1' )  Après avoir vérifié que le bus est libre, prend le contrôle de celui-ci, il en devient le Maître. C'est lui qui génère le signal d'horloge
  • 9. Le protocole I2C  La transmission d'un octet  le maître applique sur SDA le bit de poids fort D7  Ensuite la donnée en appliquant pendant un instant un niveau '1‘ sur la ligne SCL  le maître envoie alors un bit ACK à '1' tout en scrutant l'état réel de SDA  L'escave doit alors imposer un niveau '0' pour signaler au maître que la transmission s'est effectuée correctement
  • 10. Le protocole I2C  La transmission d'une adresse  Le nombre de composants qu'il est possible de connecter sur un bus I2C étant largement supérieur à deux  L'adresse d'un circuit est codée sur sept bits  Notes:  L'espace adressable d'un circuit de mémoire étant sensiblement plus grand que la plupart des autres types de circuits, l'adresse d'une information y est codée sur deux octets ou plus. Le premier représente toujours l'adresse du circuit, et les suivants l'adresse interne de la mémoire .  Les adresses 00000XXX et 111111XX sont réservés à des modes de fonctionnement particuliers
  • 11. Le protocole I2C  Ecriture d'une donnée  Note : Cas particulier d'utilisation d'ACK :  L'écriture d'un octet dans certains composants ( Mémoires, microcontrôleur, ...) peut prendre un certain temps. Il est donc possible que le maître soit obligé d'attendre l'acquitement ACK avant de passer à la suite.
  • 12. Le protocole I2C  Lecture d'une donnée  La lecture d'une donnée par le maître se caractérise par l'utilisation spéciale qui faite du bit ACK  Après la lecture d'un octet, le maître positionne ACK à '0' s'il veut lire la donnée suivante ( cas d'une mémoire par exemple ) ou à '1' la cas échéant  Il envoie alors la condition d'arret
  • 13. La gestion des conflits  Mise en situation  I2C a été conçu pour pouvoir y accueillir plusieurs maîtres  le problème commun à tout les réseaux utilisant un canal de communication unique : la prise de parole  chaque maître pouvant prendre possession du bus dès que celui-ci est libre  il existe la possibilité de que deux maîtres prennent la parole en même temps  Si cela ne pose pas de problème sur le plan électrique grâce l'utilisation de collecteurs ouverts, il faut pouvoir détecter cet état de fait pour éviter la corruption des données transmises
  • 14. La gestion des conflits  Principe  un maître potentiel doit d'abord vérifier que celui-ci soit libre  une condition d'arrèt ait bien été envoyée depuis au moins 4,7μs  la possibilité que plusieurs maîtres prennent le contrôle du bus simultanément  Chaque circuit vérifie en permanence l'état des lignes SDA et SCL, y compris lorsqu'ils sont eux même en train d'envoyer des données  Les différents maîtres envoient les mêmes données au même moment  Un maître impose un '0' sur le bus  Un maitre cherche à appliquer un '1' sur le bus
  • 15. Les nouvelles caractéristiques  Quelques nouvelles améliorations ont été apportées à partir de 1993 :  Le mode rapide : Le bus à désormais la capacité de transmettre des données jusqu'à une vitesse de 400 Kbit/s.  Des entrées à triggers de Shmitt : Afin de limiter la sensibilité au bruit.  La mise en haute impédance d'un circuit non alimenté : Ceci évite de bloquer le bus si un périphérique n'est pas alimenté.  Extension à 10 bits de l'adressage des circuits :L'adressage d'un circuits se fait maintenant sur 10 bits répartis dans deux octets
  • 16. Les adresses réservées  Les adresses 0000 0xxx ne sont pas utilisées pour l'adressage de composants. Ils ont été réservés par Phillips pour effectuer certaines fonctions spéciales.  Adresse d'appel general  Adresse : 0000 0000 les circuits ayant la capacité de traiter ce genre d'appel émettent un acquittement.  0000 0110 : RESET. Remet tout les registres de circuits connectés dans leur état initial  0000 0010 : Les circuits qui le permettent rechargent leur adresse d'esclave.  0000 0100 : Les circuits définissant leur adresse de façon matériel réinitialisent leur adresse d'esclave.  xxxx xxx1 : Cette commande joue le rôle d'interruption. xxxx xxx peut être l'adresse du circuit qui a généré l'interruption.
  • 17. Les adresses réservées  Octet de Start :  Adresse : 0000 0001  Cet octet est utilisé pour synchroniser les périphériques lents avec les périphériques rapides.  Début d'adressage CBus :  Adresse : 0000 001x  rendre sourd tout les circuits I2C présent sur le bus  on peut transmettre ce que l'on désire sur le bus, en utilisant par exemple un autre protocole  Autre :  Adresses : 0000 0110 à 0000 1111  Ces octets ne sont pas définit et sont ignoré par les circuits I2C. Il peuvent être utilisé pour débugger un réseau multi master
  • 19. Implémentation Sous Xilinx  Présentation d’outil StateCad  Implémentation  Teste et Validation
  • 20. Conclusion  I2C est Simple : à manipuler  À développer  Pourquoi pas de ne pas l’utiliser dans notre Robot?  Est-ce que SPI est plus performant que l2C ?  Est-ce que notre comité ne peut pas crée un Protocol comme I2C ?
  • 21. Questions et discussion Merci Pour Votre Attention