Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния:

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

IΒ²C Π½Π° Arduino

Arduino UNO R3/Piranha UNO

На Arduino UNO R3/Piranha UNO шина I2C находится Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π°Ρ… A4, A5. Π’Π°ΠΊΠΆΠ΅ Π² эти Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠ΅ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ рядом с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Reset.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. 7b6781f00baf68ac75d1849a356db9d3. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-7b6781f00baf68ac75d1849a356db9d3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 7b6781f00baf68ac75d1849a356db9d3. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

Piranha ULTRA

На Piranha ULTRA шина IΒ²C Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ A4, A5 ΠΈ находится Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠ΅ рядом с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Reset, Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ SDA ΠΈ SCL

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. f6b66178e50c3605bba0b9607b58c6bd. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-f6b66178e50c3605bba0b9607b58c6bd. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° f6b66178e50c3605bba0b9607b58c6bd. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

Arduino MEGA R3

На Arduino MEGA R3 шина IΒ²C находится Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠ΅ Π½Π° ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… Π²Ρ‹Π²ΠΎΠ΄Π°Ρ…, Π±Π»ΠΈΠ·ΠΊΠΈΡ… ΠΊ Ρ€Π°Π·ΡŠΡ‘ΠΌΡƒ USB ΠΈ Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π°Ρ… 20, 21. Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. 3aaa4fa7ec41a7558b372bd19ae5b889. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-3aaa4fa7ec41a7558b372bd19ae5b889. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 3aaa4fa7ec41a7558b372bd19ae5b889. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для Arduino

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ выводится ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ стрСлки. Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎ всСм нашим модулям написаны Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с высокоуровнСвым интСрфСйсом ΠΈ вовсС Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎ этой ссылкС.

IΒ²C Π½Π° Raspberry Pi

На Raspberry Pi IΒ²C Π²Ρ‹Π²ΠΎΠ΄Ρ‹ это 3-ΠΉ ΠΈ 5-ΠΉ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠΈ, GPIO2 ΠΈ GPIO3 ΠΏΠΎ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π΅ BCM ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ 8, 9 ΠΏΠΎ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π΅ WiringPi.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. b20194d68cf816e08075dc36a60a4ad9. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-b20194d68cf816e08075dc36a60a4ad9. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b20194d68cf816e08075dc36a60a4ad9. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для Raspberry

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ шинС IΒ²C:

РСзисторы, Ρ‘ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΈ Π΄Π»ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΉ ΡˆΠΈΠ½Ρ‹

Π’ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ описании ΠΎΡ‚ NXP Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сказано ΠΎ максимальной Π΄Π»ΠΈΠ½Π΅ ΡˆΠΈΠ½Ρ‹, Π½ΠΎ Π½Π΅ стоит этим Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ. Π¨ΠΈΠ½Π° Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π° для ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ схСмами Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ устройства. Π’ расчёт Π±Ρ€Π°Π»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ паразитная Ρ‘ΠΌΠΊΠΎΡΡ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ, которая сказываСтся Π½Π° скорости нарастания Ρ„Ρ€ΠΎΠ½Ρ‚Π° Π²ΠΎΠ»Π½Ρ‹. ΠžΡ‚ этой ёмкости зависит Π½ΠΎΠΌΠΈΠ½Π°Π» ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов. МоТно ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ рСзисторы Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Ρ€ΠΎΠ½Ρ‚ Π²ΠΎΠ»Π½Ρ‹ нарастал согласно спСцификации ΠΈ ΠΏΡ€ΠΈ 100-ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ², Π½ΠΎ это Π½Π΅ избавляСт ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»Π΅Ρ‡Ρ‘Ρ‚ Π·Π° собой нСсиммСтричная элСктричСская рСализация. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΏΡ€ΠΈ слишком малСньком сопротивлСнии качСство сигнала ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ΡΡ, Π½ΠΎ ΠΏΡ€ΠΈ этом растёт Ρ‚ΠΎΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ устройствам Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π²ΠΎΠ΄Ρ‹ для притяТки Π»ΠΈΠ½ΠΈΠΉ.

ΠŸΡ€ΠΈ использовании ΡˆΠΈΠ½Ρ‹ Π½Π° модулях Π½Π΅ сущСствуСт принятого стандарта установки ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов Π½Π° Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌ ΠΈΠ»ΠΈ Π²Π΅Π΄ΠΎΠΌΠΎΠΌ. Π£ Arduino ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с шиной Π½ΡƒΠΆΠ΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с Π½ΠΈΠΌΠΈ. Π£ Raspberry Pi Π½Π° ΠΏΠ»Π°Ρ‚Π΅ установлСны ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠΌ 1,7 килоОм ΠΈ для Π½Π΅Ρ‘ Π½Π΅Ρ‚ нСобходимости Π² подтяТкС Π½Π° модулях.

Π‘ΠΈΠ³Π½Π°Π»Ρ‹ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ ΡˆΠΈΠ½Ρ‹

УстанавливаСмыС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ

УстанавливаСмыС Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹ΠΌ

ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

ΠŸΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ занимаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ, Π° Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ линию тактирования Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π½Π΅ успСваСт Π·Π° Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ растягиваниС тактирования (clock-stretching). НС всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅. Установка Π±ΠΈΡ‚Π° Π½Π° Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ происходит Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° линия тактирования ΠΏΡ€ΠΈΠΆΠ°Ρ‚Π°, Π° считывания, ΠΊΠΎΠ³Π΄Π° линия ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π° (подтянута ΠΊ Vcc), Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это происходит ΠΏΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ Π²ΠΎΠ»Π½Ρ‹ Π½Π° Π»ΠΈΠ½ΠΈΠΈ тактирования.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простого ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ:

Π—Π°ΠΏΠΈΡΡŒ Π² рСгистры Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ. Π”Π°Π½Π½Ρ‹Π΅ взяты ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅.

ПослС сигнала Start ΠΈ указания адрСса Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ записываСт адрСс рСгистра с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ дальнСйшая запись. Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ счётчик ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π°ΠΉΡ‚ послС подтвСрТдСния Π±ΡƒΠ΄Π΅Ρ‚ записан Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ рСгистр. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±Π°ΠΉΡ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0x00 Π±ΡƒΠ΄Π΅Ρ‚ записан Π² рСгистр 0x11, Π±Π°ΠΉΡ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0x18 Π±ΡƒΠ΄Π΅Ρ‚ записан Π² рСгистр 0x12, Π±Π°ΠΉΡ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0x3C Π±ΡƒΠ΄Π΅Ρ‚ записан Π² рСгистр 0x13 ΠΈ Ρ‚. Π΄. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΠΈΡ‚Ρ‹ ACK устанавливаСт Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ сигналы этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° выглядят Π½Π° осциллографС:

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· рСгистров Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚ ΠΈΠ· рСгистра 0x13.

ПослС сигнала Start ΠΈ указания адрСса Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ записываСт адрСс рСгистра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π”Π°Π»Π΅Π΅ слСдуСт сигнал Restart (ΠΈΠ»ΠΈ Stop, Π·Π°Ρ‚Π΅ΠΌ Start). Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ снова Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ адрСс Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ, Π½ΠΎ ΡƒΠΆΠ΅ с Π±ΠΈΡ‚ΠΎΠΌ Read (чтСния). Π’Π΅Π΄ΠΎΠΌΡ‹ΠΉ устанавливаСт Π±ΠΈΡ‚ ACK ΠΈ Π²ΠΎ врСмя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… 8-Ρ‚ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² тактирования Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° линию SDA. На дСвятом ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ΅ ΡƒΠΆΠ΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ устанавливаСт Π±ΠΈΡ‚ ACK (ΠΈΠ»ΠΈ NACK, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ) ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΎΠ±ΠΌΠ΅Π½ сигналом Stop.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ стандарт IΒ²C Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° скорости 100 ΠΊΠ“Ρ†. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ появились ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡˆΠΈΠ½Ρ‹, Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ устройств Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° этой скорости. Π’Π°ΠΊ ΠΆΠ΅ извСстны случаи ΠΊΠΎΠ³Π΄Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡˆΠΈΠ½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сниТСна, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ расстояниС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ ΠΏΠΎΠΌΠ΅Ρ…Π°ΠΌ. НС всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° сниТСнной скорости.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ I2C-связь Π½Π° Arduino

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ обсудим, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» связи I2C, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Arduino. Для дСмонстрации ΠΌΡ‹ построим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ I2C-соСдинСниС для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ Arduino.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ I2C?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. arduino i2c 1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-arduino i2c 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° arduino i2c 1. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, прСимущСство использования I2C состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для связи с нСсколькими устройствами трСбуСтся всСго Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°.

Вся связь ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ ΠΊ Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹ΠΌ устройствам ΠΈ ΠΎΡ‚ Π½ΠΈΡ…. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Arduino, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Arduino ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ…/Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ².

МногиС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Arduino ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ I2C для связи.

Π‘Π΅Ρ‚ΡŒ I2C

Π’Π΅Π΄ΠΎΠΌΠΎΠ΅ устройство (наслСдник)

ВсС Π²Π΅Π΄ΠΎΠΌΡ‹Π΅ устройства ΠΈΠΌΠ΅ΡŽΡ‚ I2C-адрСс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ устройства Π² сСти. I2C-адрСс позволяСт Π²Π΅Π΄ΡƒΡ‰Π΅ΠΌΡƒ устройству ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Π²Π΅Π΄ΠΎΠΌΠΎΠΌΡƒ устройству Π½Π° шинС.

Π’Π΅Π΄ΡƒΡ‰Π΅Π΅ устройство (мастСр)

Π’Π΅Π΄ΡƒΡ‰ΠΈΠ΅ устройства ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π’Π΅Π΄ΠΎΠΌΡ‹Π΅ устройства Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° всС, Ρ‡Ρ‚ΠΎ посылаСт Π²Π΅Π΄ΡƒΡ‰Π΅Π΅ устройство. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡˆΠΈΠ½Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ устройство ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Π­Ρ‚ΠΈ Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ SDA ΠΈ SCL. ΠŸΡ€ΠΎΠ²ΠΎΠ΄ SDA ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹ΠΌ устройствами.

Линия SCL нСсСт Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ сигнал, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ синхронизации связи. Для поддСрТания ΠΎΠ±ΠΎΠΈΡ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π² состоянии HIGH Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ (pull-up) рСзисторы.

ЛогичСскиС ΡƒΡ€ΠΎΠ²Π½ΠΈ

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ I2C устройств ΠΊ Arduino.

Arduino Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ I2C-сигналы Π½Π° 5Π’ логичСском ΡƒΡ€ΠΎΠ²Π½Π΅, Π½ΠΎ I2C-устройства Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ напряТСниями логичСского уровня.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, I2C устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° 3,3 Π’ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Arduino. Π’ паспортС устройства Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ напряТСниС логичСского уровня.

Если ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ +5Π’, всС устройства Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ совмСстимы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с логичСским ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ +5Π’.

ИспользованиС I2C

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ I2C Π² Arduino, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ посылаСт Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΡƒΠ΄Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π°Ρ€Π΄ΡƒΠΈΠ½Π°ΠΌΠΈ.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ I2C связи для измСнСния скорости мигания свСтодиода ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° 13 Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Arduino, Π² зависимости ΠΎΡ‚ полоТСния ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Arduino.

Один Arduino Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² качСствС мастСра, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Arduino Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² качСствС Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ.

ΠŸΠΈΠ½Ρ‹ I2C Arduino

Arduino ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ для I2C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы Π² соотвСтствии с трСбованиями ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° I2C.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. arduino i2c pin. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-arduino i2c pin. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° arduino i2c pin. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ оборудования

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²Π°ΠΌ понадобятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

Π‘Ρ…Π΅ΠΌΠ° соСдинСния

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ собСрСтС всС Π΄Π΅Ρ‚Π°Π»ΠΈ, ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ элСктричСской схСмС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. arduino i2c shema. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-arduino i2c shema. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° arduino i2c shema. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π΅Ρ‚ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов Π½Π° линиях SDA ΠΈ SCL. ΠŸΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы ΡƒΠΆΠ΅ встроСны Π² I2C ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Arduino, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹.

Π‘ΠΊΠ΅Ρ‚Ρ‡ для мастСра

Π£ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ардуино Π² нашСй сСти I2C, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π° скСтчСй. Один для мастСра Ардуино, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ для наслСдника Ардуино. ΠœΠ΅ΠΆΠ΄Ρƒ двумя эскизами Π½Π΅Ρ‚ большой Ρ€Π°Π·Π½ΠΈΡ†Ρ‹, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ·ΠΆΠ΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Arduino IDE ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅ Π½Π° мастСр Arduino:

ОбъяснСниС скСтча для мастСра

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Wire

Для использования встроСнного интСрфСйса I2C Arduino ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Wire.

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° поставляСтся Π² стандартной ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΠΈ с Arduino IDE. Как ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… Arduino, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Wire ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ I2C Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‰Π΅ для нас.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Wire, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сначала Π² наш эскиз. Π’ эскизС Π²Ρ‹ΡˆΠ΅, Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части:

ПослС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

Wire.beginTransmission()

ΠœΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ, сначала информируя устройства Π½Π° шинС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.

Wire.write()

Wire.endTransmission()

Wire.requestFrom()

ΠŸΠΎΠ»Π½Ρ‹ΠΌ синтаксисом запроса Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ устройства являСтся Wire.requestFrom(адрСс, количСство).

Π’Π½ΡƒΡ‚Ρ€ΠΈ loop() ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Wire.requestFrom(0x08, 1); для запроса ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ устройства 0x08.

Write.available()

Wire.read();

Π‘ΠΊΠ΅Ρ‚Ρ‡ для наслСдника (Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ этот ΠΊΠΎΠ΄ Π²Π΅Π΄ΠΎΠΌΠΎΠΌΡƒ Ардуино:

ОбъяснСниС скСтча для Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ

Для Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… устройств адрСс являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Для нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° адрСс для Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ устройства Π±ΡƒΠ΄Π΅Ρ‚ 0x08. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой адрСс, Π½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π² сСти I2C.

НСкоторыС I2C Π²Π΅Π΄ΠΎΠΌΡ‹Π΅ устройства Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ I2C-адрСса, поэтому сначала ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий

Wire.onReceive()

Π’ части скСтча setup() ΠΌΡ‹ добавляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Wire.onReceive(handler) для рСгистрации Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°), которая Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Wire.onRequest()

ЕдинствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ события запроса Π΄Π°Π½Π½Ρ‹Ρ…. Запросы Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΎΡ‚ основных устройств.

ВСстированиС Arduino I2C

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Arduino IDE, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ эскиз мастСра Arduino Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ардуино. Π—Π°Ρ‚Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ скСтч наслСдника Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Arduino.

Наш ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π° мастСра ΠΈ посылаСт Π΅Π³ΠΎ Π²Π΅Π΄ΠΎΠΌΠΎΠΌΡƒ устройству Ρ‡Π΅Ρ€Π΅Π· I2C. Π—Π°Ρ‚Π΅ΠΌ Π²Π΅Π΄ΠΎΠΌΠΎΠ΅ устройство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для настройки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ мигания свСтодиода. Π’ΠΎ ΠΆΠ΅ самоС происходит ΠΈ с ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π° Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π¨ΠΈΠ½Π° I2C. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ основныС характСристики ΠΈ прСимущСства ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ связи I2C (Inter-Integrated Circuit).

Бвязь Ρ‡Π΅Ρ€Π΅Π· Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΡƒΡŽ ΠΊΠ°ΡˆΡƒ

ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ элСктронных систСм являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΈΠ»ΠΈ трСмя ΠΈΠ»ΠΈ Π΄Π΅ΡΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ряд стандартных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ микросхСмам ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ сокращСний Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Бвязь» Π² спискС характСристик ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ»ΠΈ сигнального процСссора: UART, USART, SPI, I2C, CAN. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, ΠΈ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ обоснованныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ интСрфСйсов.

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ посвящСна шинС I2C, которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ микросхСмами, располоТСнными Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅. Π”Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… распространСнных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ входят Π² эту ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ – это UART (ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ асинхронный ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ/ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ) ΠΈ SPI (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ интСрфСйс). Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ основныС характСристики I2C, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ смоТСтС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ½ΡΡ‚ΡŒ сравнСниС этих Ρ‚Ρ€Π΅Ρ… интСрфСйсов, поэтому обсудим эту Ρ‚Π΅ΠΌΡƒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Много названий, а шина одна

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° вносится, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ SMB ΠΈΠ»ΠΈ SMBus явно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ способа обращСния ΠΊ шинС I2C. ЀактичСски эти сокращСния относятся ΠΊ шинС управлСния систСмой SMB (System Management Bus), которая отличаСтся, хотя ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π°, ΠΎΡ‚ ΡˆΠΈΠ½Ρ‹ I2C. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» I2C Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Phillips Semiconductor, Π° спустя Π³ΠΎΠ΄Ρ‹ Intel ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ» ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SMBus ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ I2C. Π­Ρ‚ΠΈ Π΄Π²Π΅ ΡˆΠΈΠ½Ρ‹ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни взаимозамСняСмы; Ссли вас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ‚ΠΎ смотритС страницу 57 спСцификации ΡˆΠΈΠ½Ρ‹ управлСния систСмой SMB.

Выглядит, ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅, ΠΏΠΎΠ»Π½ΠΎΠΉ людСй.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ²ΠΊΠΈΠ΅ тСхничСскиС ΠΏΡ€ΠΈΠ΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ I2C Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ эффСктивной, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ трудностях достиТСния Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ, Π½ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ связи ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими нСзависимыми ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. Битуация достаточно проста, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° микросхСма, которая всСгда являСтся Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ (master), ΠΈ ΠΎΠ΄Π½Π° микросхСма, которая всСгда являСтся Π²Π΅Π΄ΠΎΠΌΠΎΠΉ (slave). Но Ρ‡Ρ‚ΠΎ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…? Π§Ρ‚ΠΎ Ссли Π²Π΅Π΄ΠΎΠΌΡ‹Π΅ Π½Π΅ Π·Π½Π°ΡŽΡ‚, ΠΊΡ‚ΠΎ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ? Π§Ρ‚ΠΎ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…? Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ запросит Π΄Π°Π½Π½Ρ‹Π΅ Ρƒ Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ устройства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ пСрСстало Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ? Или Ρ‡Ρ‚ΠΎ, Ссли Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ пСрСстал Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² сСрСдинС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ? Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ шина осущСствляСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ½ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· строя, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΡˆΠΈΠ½Ρƒ?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. 0c9d6ff3e160a35c72bd72f6bd91f60fde3285a6. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-0c9d6ff3e160a35c72bd72f6bd91f60fde3285a6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 0c9d6ff3e160a35c72bd72f6bd91f60fde3285a6. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° шинС

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² систСмС связи Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ Ρ‚Π°ΠΊ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± этом, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ I2C, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС этот ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСвыносимо слоТным ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ эта Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ позволяСт I2C ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΡƒΡŽ, Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡƒΡŽ, Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ связь.

ΠžΠ±Π·ΠΎΡ€

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² Π΄Π΅Ρ‚Π°Π»ΠΈ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ характСристики I2C:

I2C ΠΏΡ€ΠΎΡ‚ΠΈΠ² UART ΠΈ SPI

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° I2C ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π·ΡŽΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

А Π²ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСдостатки:

Π‘ этих Ρ‚ΠΎΡ‡Π΅ΠΊ зрСния Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ I2C особСнно ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, ΠΊΠΎΠ³Π΄Π° Ρƒ вас слоТная, разнообразная ΠΈΠ»ΠΈ ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ ΡΠ΅Ρ‚ΡŒ связанных устройств. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ UART ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для соСдинСний Β«Ρ‚ΠΎΡ‡ΠΊΠ°-Ρ‚ΠΎΡ‡ΠΊΠ°Β», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ стандартного способа адрСсации Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств ΠΈ совмСстного использования Π»ΠΈΠ½ΠΈΠΉ связи. SPI ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π²Π΅Π΄ΡƒΡ‰Π΅Π΅ ΠΈ нСсколько Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… устройств, Π½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ устройства трСбуСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ сигнал Π²Ρ‹Π±ΠΎΡ€Π° Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству Π»ΠΈΠ½ΠΈΠΉ связи ΠΈ ΠΊ трудностям Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½Π° шинС находится ΠΌΠ½ΠΎΠ³ΠΎ устройств. И SPI Π½Π΅ΡƒΠ΄ΠΎΠ±Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… устройств.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ придСтся ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ I2C, Ссли пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ являСтся ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ; SPI ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокиС частоты Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π³ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния для SPI (ΠΈΠ»ΠΈ UART) Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, поэтому, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с FPGA ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ свой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс с нуля, I2C, вСроятно, стоит Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ послСдним.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΡ‹ рассмотрСли основныС характСристики I2C, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°Π΅ΠΌ ΠΎ прСимущСствах ΠΈ нСдостатках этого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ обоснованноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΠ½Ρƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ для ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния. Π’ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС интСрфСйса I2C

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ I2C (ΠΈΠ»ΠΈ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ IIC) β€” это достаточно ΡˆΠΈΡ€ΠΎΠΊΠΎ распространённый сСтСвой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ Ρ„ΠΈΡ€ΠΌΠΎΠΉ Philips ΠΈ завоСвавший ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ высокой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎ 100 ΠΊΠ±ΠΈΡ‚/с, Π² соврСмСнных микросхСмах Π΄ΠΎ 400 ΠΊΠ±ΠΈΡ‚/с), дСшСвизной ΠΈ простотой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. i2c 1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-i2c 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° i2c 1. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

ЀизичСски ΡΠ΅Ρ‚ΡŒ прСдставляСт собой Π΄Π²ΡƒΡ…ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΡƒΡŽ ΡˆΠΈΠ½Ρƒ, Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ DATA ΠΈ CLOCK (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΅Ρ‰Ρ‘ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ β€” зСмля, Π½ΠΎ интСрфСйс принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π²ΡƒΡ…ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΠΎ количСству ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ²). БоотвСтствСнно, ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ DATA ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅, линия CLOCK слуТит для тактирования. К шинС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π΄ΠΎ 128 Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ со своим ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ. Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ информация пСрСдаётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½Ρƒ сторону.

Устройства I2C ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ с «ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ». Когда Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ транзистор Π·Π°ΠΊΡ€Ρ‹Ρ‚ β€” Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π»ΠΈΠ½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· внСшний ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор устанавливаСтся высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ транзистор ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ β€” ΠΎΠ½ притягиваСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ линию ΠΊ Π·Π΅ΠΌΠ»Π΅ ΠΈ Π½Π° Π½Π΅ΠΉ устанавливаСтся Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ (смотритС рисунок). РСзисторы ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΎΠΌΠΈΠ½Π°Π» ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… килоОм Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков килоОм (Ρ‡Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ β€” Ρ‚Π΅ΠΌ мСньшС Π½ΠΎΠΌΠΈΠ½Π°Π» рСзисторов, Π½ΠΎ большС энСргопотрСблСниС). На рисункС Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄Ρ‹ высокоомныС ΠΈ, соотвСтствСнно, влияния Π½Π° ΡƒΡ€ΠΎΠ²Π½ΠΈ сигналов Π½Π° линиях ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚» эти ΡƒΡ€ΠΎΠ²Π½ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡƒΡ€ΠΎΠ²Π½ΠΈ 5Π’ ΠΈΠ»ΠΈ 3,3Π’.

Π›ΡŽΠ±ΠΎΠ΅ устройство Π½Π° шинС I2C ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²: Master (Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ) ΠΈΠ»ΠΈ Slave (Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ). ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ происходит сСансами. «ΠœΠ°ΡΡ‚Π΅Ρ€»-устройство ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ управляСт сСансом: ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ сСанс ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, управляСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ, подавая Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ Π½Π° линию Clock, ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ сСанс.

ΠšΡ€ΠΎΠΌΠ΅ этого, Π² зависимости ΠΎΡ‚ направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ «ΠœΠ°ΡΡ‚Π΅Ρ€» ΠΈ «Π‘лэйв»-устройства ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ «ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ» ΠΈΠ»ΠΈ «ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ». Когда «ΠœΠ°ΡΡ‚Π΅Ρ€» ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ «Π‘лэйва» β€” ΠΎΠ½ являСтся «ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠΎΠΌ», Π° «Π‘лэйв» β€” «ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ». Когда ΠΆΠ΅ «Π‘лэйв» ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ «ΠœΠ°ΡΡ‚Π΅Ρ€Π°», Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΆΠ΅ являСтся «ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠΎΠΌ», Π° «ΠœΠ°ΡΡ‚Π΅Ρ€» Π² этом случаС являСтся «ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ».

НС Π½Π°Π΄ΠΎ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ устройства «ΠœΠ°ΡΡ‚Π΅Ρ€» со статусом «ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°». НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ «ΠœΠ°ΡΡ‚Π΅Ρ€ΠΎΠΌ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· «Π‘лэйва», послСдний выставляСт Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΡˆΠΈΠ½Ρƒ Data, Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ½ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° «ΠœΠ°ΡΡ‚Π΅Ρ€» Π΅ΠΌΡƒ это Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚, установкой ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, хотя «Π‘лэйв» Π² этом случаС ΠΈ управляСт шиной Data, β€” самим ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ всё Ρ€Π°Π²Π½ΠΎ управляСт «ΠœΠ°ΡΡ‚Π΅Ρ€».

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания (ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠ΄Ρ‘Ρ‚ сСанс ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ) ΠΎΠ±Π΅ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ (Data ΠΈ Clock) находятся Π² состоянии высокого уровня (притянуты ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ).

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСанс ΠΎΠ±ΠΌΠ΅Π½Π° начинаСтся с ΠΏΠΎΠ΄Π°Ρ‡ΠΈ «ΠœΠ°ΡΡ‚Π΅Ρ€ΠΎΠΌ» Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Start-условия. «Π‘Ρ‚Π°Ρ€Ρ‚-условиС» β€” это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ уровня Π½Π° Π»ΠΈΠ½ΠΈΠΈ Data с высокого Π½Π° Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ высокого уровня Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock.

ПослС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ «Π‘Ρ‚Π°Ρ€Ρ‚-условия» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ «ΠœΠ°ΡΡ‚Π΅Ρ€» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ с ΠΊΠ΅ΠΌ ΠΎΠ½ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ Ρ…ΠΎΡ‡Π΅Ρ‚ β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² устройство ΠΈΠ»ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… ΠΈΠ· Π½Π΅Π³ΠΎ. Для этого ΠΎΠ½ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π½Π° ΡˆΠΈΠ½Ρƒ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½Ρ‹ΠΉ адрСс «Π‘лэйв» устройства (ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ говорят: «Π°Π΄Ρ€Π΅ΡΡƒΠ΅Ρ‚ «Π‘лэйв» устройство»), с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ, ΠΈ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (0 β€” Ссли ΠΎΡ‚ «ΠœΠ°ΡΡ‚Π΅Ρ€Π°» ΠΊ «Π‘лэйву» ΠΈ 1 β€” Ссли ΠΎΡ‚ «Π‘лэйва» ΠΊ «ΠœΠ°ΡΡ‚Π΅Ρ€Ρƒ»). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ послС ΠΏΠΎΠ΄Π°Ρ‡ΠΈ «Π‘Ρ‚Π°Ρ€Ρ‚»-условия всСгда всСми «Π‘лэйвами» воспринимаСтся ΠΊΠ°ΠΊ адрСсация.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… указываСтся ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ сСанса вмСстС с адрСсациСй устройства, Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ сСанс (снова ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ «Π‘Ρ‚Π°Ρ€Ρ‚»-условиС, Π°Π΄Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ это ΠΆΠ΅ устройство ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ).

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ «ΠœΠ°ΡΡ‚Π΅Ρ€» скаТСт, ΠΊ ΠΊΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ обращаСтся ΠΈ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, β€” начинаСтся собствСнно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π°: «ΠœΠ°ΡΡ‚Π΅Ρ€» Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π½Π° ΡˆΠΈΠ½Ρƒ Π΄Π°Π½Π½Ρ‹Π΅ для «Π‘лэйва» ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΡ… ΠΎΡ‚ Π½Π΅Π³ΠΎ. Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π° (ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС «ΠœΠ°ΡΡ‚Π΅Ρ€» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° ΡˆΠΈΠ½Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ устройство Π΅Π³ΠΎ поняло ΠΈ сдСлало Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ) ΡƒΠΆΠ΅ опрСдСляСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ устройством.

ЗаканчиваСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСанс ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΠ΄Π°Ρ‡Π΅ΠΉ «ΠœΠ°ΡΡ‚Π΅Ρ€ΠΎΠΌ» Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Stop-условия, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ уровня Π½Π° Π»ΠΈΠ½ΠΈΠΈ Data с Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ Π½Π° высокий, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ высокого уровня Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock. Если Π½Π° шинС сформировано Stop-условиС, Ρ‚ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ сСансы ΠΎΠ±ΠΌΠ΅Π½Π°.

Π’Π½ΡƒΡ‚Ρ€ΠΈ сСанса Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π½Π° Π»ΠΈΠ½ΠΈΠΈ Data ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ высокого уровня Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² это врСмя происходит считываниС Π΄Π°Π½Π½Ρ‹Ρ… «ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠΎΠΌ». Если Ρ‚Π°ΠΊΠΈΠ΅ измСнСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄ΡƒΡ‚, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π² любом случаС Π±ΡƒΠ΄ΡƒΡ‚ восприняты Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ «Π‘Ρ‚Π°Ρ€Ρ‚»-условиС (Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ), Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ «Π‘Ρ‚ΠΎΠΏ»-условиС (Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса ΠΎΠ±ΠΌΠ΅Π½Π°). БоотвСтствСнно, Π²ΠΎ врСмя сСанса ΠΎΠ±ΠΌΠ΅Π½Π° установка Π΄Π°Π½Π½Ρ‹Ρ… «ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ» (выставлСниС Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ уровня Π½Π° Π»ΠΈΠ½ΠΈΠΈ Data) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ
Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock.

НСсколько слов ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ‡Ρ‘ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ «ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ» ΠΈ «ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ΠΌ сСанса ΠΎΠ±ΠΌΠ΅Π½Π°». Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ «ΠœΠ°ΡΡ‚Π΅Ρ€Ρƒ» Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ, Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ сСанс ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько сСансов ΠΎΠ±ΠΌΠ΅Π½Π° с этим ΠΆΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, для измСнСния направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ «Π‘лэйвами», ΠΏΠΎΠ΄Π°Π² Π½ΠΎΠ²ΠΎΠ΅ «Π‘Ρ‚Π°Ρ€Ρ‚»-условиС Π±Π΅Π· ΠΏΠΎΠ΄Π°Ρ‡ΠΈ «Π‘Ρ‚ΠΎΠΏ»-условия для закрытия ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ сСанса. Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Data, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ «ΠœΠ°ΡΡ‚Π΅Ρ€Ρƒ», Π² этом случаС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ‚ΠΎΠΌΡƒ устройству, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ «ΠœΠ°ΡΡ‚Π΅Ρ€» обратился послСдним, ΠΎΠ΄Π½Π°ΠΊΠΎ старый сСанс ΠΏΡ€ΠΈ этом нСльзя ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌ. И Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ. МногиС устройства (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅ ΠΆΠ΅ eeprom-ΠΊΠΈ 24Π‘Ρ…Ρ…) для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ «ΠœΠ°ΡΡ‚Π΅Ρ€Π°» Π² Π±ΡƒΡ„Π΅Ρ€, Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с этими ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС получСния сигнала ΠΎΠ± ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ сСанса ΠΎΠ±ΠΌΠ΅Π½Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ «Π‘Ρ‚ΠΎΠΏ-условия»).

Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π½Π° шинС висит 2 микросхСмы eeprom 24Cxx ΠΈ Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ сСанс записи Π² ΠΎΠ΄Π½Ρƒ микросхСму ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Π΅ для записи, Π° ΠΏΠΎΡ‚ΠΎΠΌ, Π½Π΅ закрывая этот ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ сСанс, ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ сСанс для записи Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ микросхСму, Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ запись ΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ микросхСму ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС формирования Π½Π° шинС «Π‘Ρ‚ΠΎΠΏ-условия», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΎΠ±Π° сСанса. ПослС получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ «ΠœΠ°ΡΡ‚Π΅Ρ€Π°» eeprom-ΠΊΠ° складываСт ΠΈΡ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π±ΡƒΡ„Π΅Ρ€ ΠΈ ΠΆΠ΄Ρ‘Ρ‚ окончания сСанса, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ собствСнно процСсс записи ΠΈΠ· своСго Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° нСпосрСдствСнно Π² eeprom. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли Π²Ρ‹ послС послС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для записи Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΌΠΈΠΊΡ€ΡƒΡ…Ρƒ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π»ΠΈ этот сСанс, ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ сСанс ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ для записи Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΈΠΊΡ€ΡƒΡ…Ρƒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ, Π½Π΅ сформировав «Π‘Ρ‚ΠΎΠΏ-условиС», Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅, Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π·Π°ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½ΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ микросхСму, Π½ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ. Или, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² Π΄Π²Π΅ ΠΌΠΈΠΊΡ€ΡƒΡ…ΠΈ, Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ сСанс для записи Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСанс для записи Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ сСанс для записи ΠΎΠΏΡΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΈ Ρ‚.Π΄., Π½ΠΎ Ссли Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ эти сСансы, Ρ‚ΠΎ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ привСсти Ρ‚Π°ΠΊΡƒΡŽ аналогию: ΡƒΡ‡Π΅Π½ΠΈΠΊΠΈ Π² классС («ΡΠ»ΡΠΉΠ²Ρ‹») ΠΈ ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ («ΠΌΠ°ΡΡ‚Π΅Ρ€»). Допустим ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Π²Ρ‹Π·Π²Π°Π» ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΡƒΡ‡Π΅Π½ΠΈΠΊΠ° (ΠΏΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Вася) ΠΊ доскС ΠΈ попросил Π΅Π³ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Вася этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠΈΠ», ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Π²Ρ‹Π·Π²Π°Π» ΠΊ доскС ΠŸΠ΅Ρ‚ΡŽ ΠΈ Π½Π°Ρ‡Π°Π» ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ домашнСС Π·Π°Π΄Π°Π½ΠΈΠ΅, Π½ΠΎ Π’Π°ΡΡŽ Π½Π° мСсто Π½Π΅ отпустил. Π’ΠΎΡ‚ Π² этом случаС Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ с ВасСй Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½, β€” ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π΅Ρ‚ с ΠŸΠ΅Ρ‚Π΅ΠΉ, Π½ΠΎ Вася стоит Ρƒ доски ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ спокойно Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ своими Π΄Π΅Π»Π°ΠΌΠΈ (сСанс общСния с Π½ΠΈΠΌ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚).

Π’ случаС, Ссли «Π‘лэйв» Π²ΠΎ врСмя сСанса ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π΅ успСваСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, β€” ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ процСсс ΠΎΠ±ΠΌΠ΅Π½Π°, удСрТивая линию Clock Π² состоянии Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, поэтому «ΠœΠ°ΡΡ‚Π΅Ρ€» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π»ΠΈΠ½ΠΈΠΈ Clock ΠΊ высокому ΡƒΡ€ΠΎΠ²Π½ΡŽ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π΅Ρ‘ отпустит. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ стоит ΠΏΡƒΡ‚Π°Ρ‚ΡŒ состояниС, ΠΊΠΎΠ³Π΄Π° «Π‘лэйв» Π½Π΅ успСваСт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, с состояниСм, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ просто занят ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ сСанса ΠΎΠ±ΠΌΠ΅Π½Π°. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС (Π²ΠΎ врСмя ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ) ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½, удСрТивая линию Clock, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС (ΠΊΠΎΠ³Π΄Π° сСанс ΠΎΠ±ΠΌΠ΅Π½Π° с Π½ΠΈΠΌ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½) ΠΎΠ½ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π°. Π’ послСднСм случаС ΠΎΠ½ просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° «ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅» ΠΊ Π½Π΅ΠΌΡƒ ΠΎΡ‚ «ΠœΠ°ΡΡ‚Π΅Ρ€Π°».

Π’Π½ΡƒΡ‚Ρ€ΠΈ сСанса ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° состоит ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠΎ Π΄Π΅Π²ΡΡ‚ΡŒ Π±ΠΈΡ‚, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ β€” это 1, Π° Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ β€” это 0). Из Π½ΠΈΡ… 8 Π±ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ «ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ» «ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΡƒ», Π° послСдний дСвятый Π±ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ «ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊ» «ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ». Π‘ΠΈΡ‚Ρ‹ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Π±ΠΈΡ‚ΠΎΠΌ Π²ΠΏΠ΅Ρ€Ρ‘Π΄. ПослСдний, дСвятый Π±ΠΈΡ‚ называСтся Π±ΠΈΡ‚ΠΎΠΌ подтвСрТдСния ACK (ΠΎΡ‚ английского слова acknowledge β€” ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅). Он пСрСдаётся Π² ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 0 Π½Π° Π»ΠΈΠ½ΠΈΠΈ соотвСтствуСт Π½Π°Π»ΠΈΡ‡ΠΈΡŽ Π±ΠΈΡ‚Π° подтвСрТдСния, Π° 1 β€” Π΅Π³ΠΎ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ. Π‘ΠΈΡ‚ подтвСрТдСния ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ± отсутствии ΠΈΠ»ΠΈ занятости устройства (Ссли ΠΎΠ½ Π½Π΅ установился ΠΏΡ€ΠΈ адрСсации), Ρ‚Π°ΠΊ ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ «ΠŸΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊ» Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°, посланная «ΠœΠ°ΡΡ‚Π΅Ρ€ΠΎΠΌ», Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ пСрСдаётся Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚. Π’Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Ρ‚Π°ΠΊΡ‚Π°, Π²ΠΎ врСмя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock установлСн Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установки Π±ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡˆΠΈΠ½Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰ΠΈΠΌ Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ (Ссли ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π±ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π» Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°Π±ΠΎΠ½Π΅Π½Ρ‚, Ρ‚ΠΎ ΠΎΠ½ Π² это врСмя Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡˆΠΈΠ½Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…). Π’Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Ρ‚Π°ΠΊΡ‚Π°, Π²ΠΎ врСмя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock установлСн высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌ Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ для считывания установлСнного значСния Π±ΠΈΡ‚Π° с ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΎΡ‚ собствСнно ΠΈ всё. На рисунках Π½ΠΈΠΆΠ΅ всё это описаниС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² графичСской Ρ„ΠΎΡ€ΠΌΠ΅.

3) Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. i2c 2. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-i2c 2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° i2c 2. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. i2c 3. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c Ρ„ΠΎΡ‚ΠΎ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c-i2c 3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шина i2c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° i2c 3. Π¨ΠΈΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 112 устройств (ΠΏΡ€ΠΈ 7-ΠΌΠΈ Π±ΠΈΡ‚Π½ΠΎΠΉ адрСсации) ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ (плюс GND ΠΈ Vcc), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. ΠŸΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ этот Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ состояниС занятой ΡˆΠΈΠ½Ρ‹.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠžΠ±ΠΎΠ·Π½.Мин.Π·Π½Π°Ρ‡.ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ
Бвободная шинаtBUF4,7 мксэто минимальноС врСмя, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±Π΅ Π»ΠΈΠ½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² свободном состоянии ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄Π°Ρ‡Π΅ΠΉ «Π‘Ρ‚Π°Ρ€Ρ‚»-условия
Ѐиксация
«Π‘Ρ‚Π°Ρ€Ρ‚»- условия
tHD;STA4,0 мксминимальноС врСмя ΠΎΡ‚ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ «Π‘Ρ‚Π°Ρ€Ρ‚»- условия Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ
Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ
«Π‘Ρ‚ΠΎΠΏ»- условия
tSU;STO4,0 мксминимальноС врСмя, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ «Π‘Ρ‚ΠΎΠΏ»- условиС послС освобоТдСния ΡˆΠΈΠ½Ρ‹ Clock
Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ LOW ΠΏΠΎΠ»ΡƒΠΏΠ΅Ρ€. ΡˆΠΈΠ½Ρ‹ ClocktLOW4,7 мксминимальная Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° установки Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΠΎΠ³Π΄Π° Π½Π° шинС Clock Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ)
Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ HIGH ΠΏΠΎΠ»ΡƒΠΏΠ΅Ρ€. ΡˆΠΈΠ½Ρ‹ ClocktHIGH4,0 мксминимальная Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° считывания Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΠΎΠ³Π΄Π° Π½Π° шинС Clock высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ)
Π£Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…tHD;DAT0Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΡˆΠΈΠ½Ρƒ Data ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сразу послС спада Π½Π° Π»ΠΈΠ½ΠΈΠΈ Clock
Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…tSU;DAT250 нсто Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° шинС Clock ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ€Π°Π½Π΅Π΅ 250 нс послС установки Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° шинС Data

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ для максимальной скорости ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ 100 ΠΊΠ±ΠΈΡ‚/с.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация мастСр-Π°Π±ΠΎΠ½Π΅Π½Ρ‚Π° ΡˆΠΈΠ½Ρ‹ I2C Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ single-master, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€: для PIC, для AVR

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для устройства копирования микросхСм памяти 24Cxx (здСсь ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° I2C-Master Π½Π° PIC-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° 2 для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° I2C-шлюза, Ρ€Π΅ΠΆΠΈΠΌ Slave ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΊΠΈ ПК (Π° Ρ‚ΡƒΡ‚ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ I2C-Slave Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ AVR)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *