170 likes | 316 Views
Interface série de type I2C. Yannick ZOCCARATO (CNRS IN2P3 MICHRAU). sommaire. Caractéristiques et protocole de l’interface série Réalisations Simulations Conclusion. Caractéristiques du Bus série. Uniquement 2 lignes (Data et Clock) + masse (0V, 3.3V).
E N D
Interface série de type I2C Yannick ZOCCARATO (CNRS IN2P3 MICHRAU)
sommaire • Caractéristiques et protocole de l’interface série • Réalisations • Simulations • Conclusion
Caractéristiques du Bus série • Uniquement 2 lignes (Data et Clock) + masse (0V, 3.3V). • La ligne «Clock» est unidirectionnelle (maitre vers esclave) • La ligne «Data» est de type collecteur ouvert avec une résistance de pull-up pour permettre une communication bidirectionnelle (sans court circuit). • 1 adresse unique pour chaque «esclave» • du bus. • Bus série, 8 bits, bidirectionnel. Master Slave 1 Slave 2 Slave 3 Slave x Clock Data 1010A2A1A0R/W Slave y A2 A1 1010100R/W A0
Caractéristiques du Bus série • Au repos, les lignes «Data» et «Clock» sont au niveau logique ‘1’. • condition de début et de fin de trame : • Dans une trame, le signal de Data ne peut être changé que sur le niveau bas de la ligne «Clock» : • Les données sont envoyées poids fort en tête. START STOP Data Data Clock Clock Data Clock Ligne data valide changement possible sur la ligne data
Slave address S W A Reg address A data A P La trame d’écriture • Trame d’écriture : • La trame débute par un signal de START envoyée par le maitre. • puis le maitre envoie l’adresse du slave avec qui la communication s’engage (sur 8 bits). • le maitre envoie ensuite un bit W* (‘0’ logique qui indique l’écriture). • le slave répond par un bit d’acquittement (‘0’ pour ok). • Puis Le maitre envoie l’adresse du registre dans lequel il veut écrire (codée sur 8 bits). • Le slave interrogé répond de nouveau par un signal d’acquittement. • Ensuite le maitre envoie la data à écrire (codée sur 8 bits). • Le slave interrogé réponds une dernière fois par un acquittement. • La trame se termine lorsque le maitre envoie le signal de STOP.
Slave address S R A Reg address A data A P La trame de lecture • Trame de lecture : • La trame débute par un signal de START envoyée par le maitre. • puis le maitre envoie l’adresse du slave avec qui la communication s’engage (sur 8 bits). • le maitre envoie ensuite un bit R (‘1’ logique qui indique la lecture). • le slave répond par un bit d’acquittement (‘0’ pour ok). • Puis Le maitre envoie l’adresse du registre qu’il veut lire (codée sur 8 bits). • Le slave interrogé répond de nouveau par un signal d’acquittement. • le slave poursuit en envoyant la data à lire (codée sur 8 bits). • Le maître réponds par un acquittement (‘1’ pour stopper la lecture). • La trame se termine lorsque le maitre envoie le signal de STOP.
S R A Reg address A data data data data A A A A P Slave address Les trames particulières • L’écriture simultanée sur tous les slaves : • possible à partir d’une trame d’écriture « standard » mais avec une adresse slave spéciale de «00000000». • La lecture en continue : Le maitre répond par un acquittement à ‘0’ pour continuer la lecture, par un acquittement à ‘1’ pour la stopper.
Adresse registre ici «00001101» Data lue Ici «10111001» Adresse du slave Ici «01010101» Bit de R/W* ici ‘1’ Acq du slave Acq du slave Condition de fin Condition de start Stop de lecture Simulation d’une trame de lecture
réalisation • 2 réalisation différentes : • L’interface série seule. • le numérique de l’ASIC DIRAC (collaboration avec le LAPP), • En AMS 0.35 µm • Design en VHDL. • Synthèse avec RTL compiler. • Floorplanning et placement routage avec first Encounter (outils CADENCE). • Assemblage niveau TOP fait avec VIRTUOSO
DIRAC synoptic ASIC 64 voies pour le DHCAL d’ILC. DATA_IN CLK comp 8 events memory IN PA shift Synchro and reduction comp + - ref comp Onechannel TRIG_IN DAC PROG Serial to // Event Counter BCID memory BCID counter CARRY OUT FULL DATA_OUT TRIG_OUT • Readout et configuration réalisés par simple registre à décalage. • Layout entièrement réalisé à la main.
DIRAC synoptic Nouvelle version du numérique proposée : CLK comp 8 events memory IN PA shift Synchro and reduction comp + - ref comp Onechannel TRIG_IN Numerical part register DAC BCID memory Event Counter BCID counter CARRY OUT SCL Serial interface (I2C like) FULL SDA TRIG_OUT Readout et configuration réalisés à partir d’un seul lien série.
Simulation DIRAC (niveau top) R pull-up = 1Kohms, CPAD=4.6pF R pull-up = 500 ohms, CPAD=4.6pF • Fréquence max sans les pads : 60 MHz • Au final la fréquence max est déterminée par le couple : • nombre d’abonnés, résistance de pull up.
réalisation • 2 réalisation différentes dans un même chip : • le numérique de l’ASIC DIRAC (1.43mm2) • l’interface série seule (230µm x 230µm)
Conclusion • Le retour de fabrication est prévu pour Octobre, • Le test d’ici la fin de l’année. • Une version de l’interface série en 0.13 µm est prévue pour mars 2010. • 1ere intégration prévue pour le chip DIRAC, (collaboration avec le LAPP). • Autres groupes déjà intéressés par le lien série type I2C : • Nouvelle génération des circuits de la famille ROC pour ILC (collaboration avec le LAL). • T2K avec l’ASIC de Front End pour le Liquid Ar TPC. • SCMS pour l’ASIC de front end du tracker (en version 0.13 µm). • Et bien d’autres projets possibles…