Professional Documents
Culture Documents
1.
2.
Le BUS I2C.doc / FJ
2.1.
2.2.
Le BUS I2C.doc / FJ
lorsque le niveau sur la ligne de donnes SDA passe de l'tat bas l'tat
haut tandis que la ligne d'horloge SCL reste l'tat haut.
Le bus est nouveau dit libre.
2.3.
Aussi surprenant que cela puisse paratre une trs grande partie de la
force de ce type de bus rside dans le choix de cette configuration. Elle
est trs simple et pourtant...
Les deux lignes SDA, SCL sont chacune bidirectionnelles (entrante et
sortante) et sont connectes la ligne positive d'alimentation au travers
de rsistances ayant pour mission d'assurer une double fonction de
charge et de rappel (dites de pull-up).
Au repos, lorsque les transistors ne sont pas conducteurs le bus est dit
libre et ces deux lignes sont relches l'tat haut via les rsistances de
rappel.
Le choix de cette configuration de sortie (collecteur ou drain ouvert selon
les technologies) permet (et tous autres composants relis au bus doivent
le permettre) de raliser la fonction ET cbl pour les broches de mme
nom.
Le fait que l'on ralise simultanment sur une broche unique l'entre et la
sortie d'une information (SDA ou SCL) permet au circuit lui-mme de
s'auto-espionner, c'est--dire de pouvoir vrifier si sur sa propre sortie il y
a bien l'information lectrique que lui-mme voulait y voir afficher.
C'est grce ce type de subterfuge qu'il est possible de russir la
synchronisation et l'arbitrage entre diffrents matres.
Le BUS I2C.doc / FJ
2.4.
Consquences de la configuration.
En ce qui concerne la chargeabilit ou encore le nombre de circuits que
l'on peut relier simultanment au bus de nombreuses questions peuvent
se poser.
Chargeabilit statique.
Ne sachant combien, comment, quand seront lectriquement
oprationnels les diffrents circuits relis au bus, il faut tenir compte de
l'ventualit du cas le plus dfavorable du systme.
Celui-ci correspond en fait la chargeabilit maximale de courant que
peut supporter le transistor de sortie toute technologie confondue
bipolaire, CMOS... (valeur maximale de la spcification : 3 mA). Ceci
permet de dfinir, dans le cas d'une tension d'alimentation de 5 V, la
valeur minimale des rsistances de rappel (se trouvant toutes en parallle)
environ 1,5 k (la valeur maximale ntant pas critique).
Chargeabilit dynamique.
Diffrents paramtres sont en effet prendre en considration pour dfinir
la chargeabilit dynamique :
la valeur maximale du temps de monte (1 s) que peuvent prendre
les signaux sur SDA et SCL (cette valeur est principalement lie la
valeur maximale du dbit - 100 kbits/s, mais elle est totalement
indpendante du dbit utilis) ;
le fait qu'il pourrait y avoir, connect sur le bus, un (des) matre(s)
fonctionnant au dbit le plus lev;
la valeur maximale de la capacit de sortie d'un circuit lmentaire
(20 pF).
Si l'on prend uniquement en compte la valeur maximale du temps de
monte, il est ais de dfinir quelle serait la valeur maximale de la
capacit de charge quivalente du bus.
Le rsultat de ces calculs est donn par la courbe de la figure suivante.
Le BUS I2C.doc / FJ
2.6.
Le BUS I2C.doc / FJ
Le BUS I2C.doc / FJ
Le BUS I2C.doc / FJ
Le BUS I2C.doc / FJ
TYPE
CCR921
NE5751
PCA1070
PCA8516
PCA8581/C
PCB2421
PCD3311C
PCD3312C
PCD444O
PCD5OO2
PCD5096
PCE84C467/8
PCE84C882
PCE84C886
PCF2116
PCF8522/4
PCF8566
PCF8568
PCF8569
PCF8570
PCF8573
PCF8574
PCF8574A
PCF8576C
PCF8577C
PCF8578/9
PCF8582/A
PCF8583
PCF8584
PCF8591
PCF8593
PCX8594
PCX8598
PDIUSB11
SAA1O64
SAA1300
SAA1770
SAA2502
SAA2510
SAA2530
SAA4700/T
SAA5233
SAA5243
SAA5244
SAA5245
SAA5246A
SAA5249
SAA5252
SAA5301
SAA6750
SAA7110A
SAA7140B
SAA7151B
SAA7165
SAA7186
SAA7l 91B
SAA7192
SAA7199B
SAA7370
Le BUS I2C.doc / FJ
DESCRIPTION
General call address
Reserved addresses
Reserved addresses
RDS/RBDS decoder
Audio processor for RF communication
Programmable speech transmission IC
Stand-alone 0SD IC
128 x 8-bit EEPROM
1K dual mode serial EEPROM
DTMF/modem/musical tone generator
DTMF/modern/musicai tone generator
Voice scrambler/descrambler for mobile telephones
Pager decoder
Universal codec
8-bit CMOS auto-sync monitor controller
8-bit microcontroller for monitor applications
8-bit microconfroller for monitor applications
LCD controller/driver
512 x 8-bit CMOS EEPROM
96-segment LCD driver 1:1 - 1:4 Mux rates
LCD rom driver for dot matrix displays
LCD column driver for dot matrix displays
256 x 8-bit static RAM
Clock/calendar
2
8-bit remote I/O port (I C-bus to parallel converter)
2
8-bit remote I/O port (I C-bus to parallel converter)
16-segment LCD driver 1:1 - 1:4 Mux rates
32/64-segment LCD display driver
Row/column LCD dot matrix driver/display
256 x 8-bit EEPROM
256 x 8-bit RAM/cIock/calendar
2
I C-bus controller
4-channel, 8-bit Mux ADC and one DAC
Low-power clock calender
512x8-bit CMOS EEPROM
1024 x 8-bit CMOS EEPROM
Universal serial bus
4-digit LED driver
Tuner switch circuit
D2MAC decoder for satellite and cable TV
MPEG audio source decoder
Video-CD MPEG-audio/video decoder
ADR/DMX digital receiver
VPS dataline processor
Dual standard PDC decoder
Computer controlled teletext circuit
lntegrated VIP and teletext
525-fine teletext decoder/controller
lntegrated VIP and teletext
VIP and teletext controller
Line 21 decoder
MOJI processor for Japan/China
MPEG2 encoder for Desk Top Video (=SAA7137>
Digital multistandard decoder
High performance video scaler
8-bit digital multistandard TV decoder
Video enhancement D/A processor
Digital video scaler
Digital multistandard TV decoder
Digital colour space-converter
Digital multistandard encoder
CD-decoder plus digital servo processor
A6
0
0
1
0
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
x
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
I C ADRESSE ESCLAVE
A5 A4 A3 A2 A1
0
0
0
0
0
0
0
0
X
X
1
1
1
X
X
0
1
0
0
A
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
A
A
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
0
A
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
0
1
0
A
A
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
0
A
A
1
0
1
0
A
1
0
0
A
A
1
1
1
A
A
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
0
1
0
A
A
0
1
0
0
0
x
x
x
x
x
0
0
1
A
A
0
1
0
0
0
0
1
0
A
A
0
1
0
A
P
0
1
1
0
1
1
1
1
0
A
1
0
0
0
A
0
1
1
1
1
0
1
1
1
0
0
1
1
0
1
0
0
1
1
A
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
A
0
1
1
1
1
0
1
1
1
A
0
0
0
1
A
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
A0
0
X
X
A
A
A
1
A
0
A
A
A
1
A
1
1
1
A
A
A
A
A
A
A
A
A
A
0
A
A
A
x
A
1
P
P
1
A
A
A
1
A
A
A
A
1
1
1
1
1
0
0
0
A
A
1
1
0
1
A
A
A
SAA9056
SAA9065
SAB9075H
SAF1135
TDA1551Q
TDA4670/1/2
TDA4680/5/7/8
TDA4780
TDA4845
TDA4885
TDA8043
TDA8045
TDA4853/4
TDA8366
TDA8373
TDA8374
TDA8375/A
TDA8376/A
TDA8415
TDA8416
TDA8417
TDA8421
TDA8424/5/6
TDA8433
TDA8440
TDA8442
TDA8443A
TDA8444
TDA848OT
TDA8540
TDA8722
TDA8735
TDA8745
TDA8752
TDA9141/3/4
TDA9150B
TDA9151B
TDA9160
TDA9161A
TDA9162
TDA917O
TDA9177
TDA9178
TDA9610
TDA9614H
TDA9840
TDA9850
TDA9852
TDA9855
TDA9860
TEA6100
TEA6300
TEA6320/1/2/3
TEA6330
TEA6360
TEA6821/2
TEA6824T
TSA5511/2/4
TSA5522/3M
TSA6O57
TSA6O60
UMA1000T
UMA1014
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
1
A
1
A
A
0
A
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
A
1
1
A
0
0
0
0
A
0
0
A
1
0
0
0
0
0
1
1
1
0
0
1
A
0
A
A
1
A
0
1
1
A
A
1
1
A
0
A
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
A
A
1
1
A
1
10
1
1
A
A
0
0
0
0
A
0
A
A
0
1
1
1
1
1
0
0
0
A
1
A
A
0
A
A
A
A
0
A
A
A
1
0
0
1
1
1
A
0
0
0
0
0
A
1
A
A
1
0
0
0
A
0
0
A
A
A
A
A
A
11
2.8.
Acquittement.
Comme vous pouvez le remarquer sur la figure suivante, entre chaque
mot transmis il y a une procdure d'acquittement.
Pour bien comprendre cette fonction et la puissance qu'elle possde, il est
ncessaire de bien analyser son principe.
Conditions de fonctionnement :
Le transfert de donnes avec acquittement est obligatoire.
Un acquittement doit avoir lieu aprs chaque mot transmis.
L'impulsion d'horloge (la neuvime) pendant laquelle le composant
rcepteur devra renvoyer l'metteur son acquittement est gnre
par le matre qui a lui-mme le contrle du bus.
Pendant le neuvime coup d'horloge le composant metteur devra
laisser libre sa ligne de donnes SDA pralablement relche
l'tat haut.
Condition d'acquittement :
Ceci tant, pour qu'il y ait acquittement, il faut que le composant rcepteur
mette l'tat bas la ligne de donnes SDA pendant que la ligne d'horloge
SCL est l'tat haut et dite stable.
Non-acquittement :
Dans tous les autres cas de figures de non-acquittement il faut dfinir des
procdures d'actions bien rpertories.
Voici deux exemples prcis de non-acquittement :
Le rcepteur tant en train de terminer une tche ralise en temps
rel (criture d'une EEPROM par exemple) ne peut ou ne veut
accepter la donne qui se prsente et, pour le signifier l'metteur,
fait exprs de laisser la ligne de donnes SDA telle que l'on vient de
la lui prsenter, c'est--dire l'tat haut. Le matre, comprenant ce
refus (non-acquittement), a tout loisir de gnrer une condition de
stop pour abandonner ce rcepteur rcalcitrant et en profiter pour
s'occuper d'un autre laccueil plus sympathique. videmment ces
petites fcheries n'tant que de courtes dures, il pourra essayer
nouveau de temps en temps de savoir dans quelles dispositions se
trouve ce rcepteur pour continuer ou reprendre le transfert.
Le BUS I2C.doc / FJ
12
2.9.
0111 010.
+
0
0111 0100
Le BUS I2C.doc / FJ
13
Le BUS I2C.doc / FJ
14