
microcontroller01 / Общие положения и введение в логику работы шины I2C.Практические рекомендации
.pdf
ޡ鍥 ¯®«®¦¥-¨ï ¨ ¢¢¥¤¥-¨¥ ¢ «®£¨ªã à ¡®âë è¨-ë I2Câ¬
•à ªâ¨ç¥áª¨¥ ४®¬¥-¤ 樨
˜¨- I2C
Žâ«¨ç¨â¥«ì-ë¥ ®á®¡¥--®áâ¨
„¢ã- ¯à ¢«¥--ë© ®¡¬¥- ¯® ¤¢ã¬ «¨-¨ï¬‚ë᮪ ï ᪮à®áâì | ®¡¬¥- ¤® 100 ª¡¨â ¨ ¢ë襂®§¬®¦-®áâì ¤à¥á 樨 ¤® 128 ãáâனáâ¢
•à®áâ®â ¯à®£à ¬¬-®© ॠ«¨§ 樨 óMasterô- ¡®-¥-â
‚६¥-- ï -¥§ ¢¨á¨¬®áâì ¯à®æ¥áá ¯¥à¥¤ ç¨
„--®¥ ¢¢¥¤¥-¨¥ -¥ ï¥âáï ä®à¬ «ì-ë¬ ®¯¨á -¨¥¬ è¨-ë I2C ¨ ¯à¥¤- §- - ç¥-® ⮫쪮 ¤«ï ¤®áâ â®ç-® ¯®¤à®¡-®£® ®§- ª®¬«¥-¨ï á æ¥«ìî á ¬®áâ®ï⥫ì-®© ॠ«¨§æ¨¨ ç áâ-ëå «£®à¨â¬®¢ á¢ï§¨. „«ï ¯®«ãç¥-¨ï ¡®«¥¥ ¯®«-®© ¨-ä®à¬ 樨
®¡à é ©â¥áì ª ᮮ⢥âáâ¢ãî饩 «¨â¥à âãॠä¨à¬ë Philips, - ¯à¨¬¥à, [‹].
• §à ¡®â -- ï ä¨à¬®© Philips è¨- I2C (óInter-Integrated Circuitô), | íâ® ¤¢ã-
- ¯à ¢«¥-- ï á¨-åà®-- ï è¨- á ¯®á«¥¤®¢ ⥫ì-®© ¯¥à¥¤ 祩 ¤ --ëå ¨ ¢®§¬®¦- -®áâìî ¤à¥á 樨 ¤® 128 ãáâனáâ¢. ”¨§¨ç¥áª¨ è¨- I2C ᮤ¥à¦¨â ¤¢¥ ᨣ- «ì-ë¥ «¨-¨¨, ®¤- ¨§ ª®â®àëå (SCL) ¯à¥¤- §- ç¥- ¤«ï ¯¥à¥¤ ç¨ â ªâ®¢®£® ᨣ- « , ¢â®- à ï (SDA) ¤«ï ®¡¬¥- ¤ --묨. „«п г¯а ¢«¥-¨п «¨-¨п¬¨ ¯а¨¬¥-повбп ¢л室-л¥ ª бª ¤л б ®вªалвл¬ ª®««¥ªв®а®¬, ¯®í⮬㠫¨-¨¨ è¨-ë ¤®«¦-ë ¡ëâì ¯®¤âï-ãâë ª ¨áâ®ç-¨ªã ¯¨â -¨ï +5 ‚ ç¥à¥§ १¨áâ®àë ᮯà®â¨¢«¥-¨¥¬ 1: : : 10 ªŽ¬, ¢ § ¢¨á¨¬®- á⨠®â 䨧¨ç¥áª®© ¤«¨-ë «¨-¨© ¨ ᪮à®á⨠¯¥à¥¤ ç¨ ¤ --ëå. „«¨- ᮥ¤¨-¨â¥«ì- -ëå «¨-¨© ¢ áâ -¤ àâ-®¬ ०¨¬¥ ¬®¦¥â ¤®á⨣ âì 2-å ¬¥â஢, ᪮à®áâì ¯¥à¥¤ ç¨ | ¤® 100 ª¡¨â/c. ‘㬬 à- ï ñ¬ª®áâì «¨-¨© ¤®«¦- ¡ëâì -¥ ¡®«ìè¥ 400 ¯”, ¢å®¤- ï ñ¬ª®áâì - ª ¦¤ãî ˆ‘ ¤®«¦- ¡ëâì ¢ ¯à¥¤¥« å 5: : : 10 ¯”.
‚ᥠ¡®-¥-âë è¨-ë ¤¥«ïâáï - ¤¢ ª« áá | óMasterô ¨ óSlaveô. “áâன- á⢮ óMasterô £¥-¥à¨àã¥â â ªâ®¢ë© á¨£- « (SCL) ¨, ª ª á«¥¤á⢨¥, ï¥âáï ¢¥- ¤ã騬. Ž-® ¬®¦¥â á ¬®áâ®ï⥫ì-® ¢ë室¨âì - è¨-ã ¨ ¤à¥á®¢ âì «î¡®¥ óSlaveô- ãáâனá⢮ á æ¥«ìî ¯¥à¥¤ ç¨ ¨«¨ ¯à¨ñ¬ ¨-ä®à¬ 樨. ‚ᥠóSlaveô-ãáâனá⢠óá«ã- è îâô è¨-ã - ¯à¥¤¬¥â ®¡- à㦥-¨ï ᮡá⢥--®£® ¤à¥á ¨, à ᯮ§- ¢ ¥£®, ¢ë¯®«- -ïî⠯।¯¨áë¢ ¥¬ãî ®¯¥à æ¨î. Šà®¬¥ ⮣®, ¢®§¬®¦¥- â ª - §ë¢ ¥¬ë© óMulti Masterô-०¨¬ ª®£¤ , - è¨-¥ ãáâ -®¢«¥-® -¥áª®«ìª® óMasterô- ¡®-¥-⮢, ª®â®àë¥ «¨¡® ᮢ¬¥áâ-® à §¤¥«ïîâ ®¡é¨¥ óSlaveô-ãáâனá⢠, «¨¡® ¯®¯¥а¥¬¥--® п¢«повбп в® уMasterô-ãáâனá⢠¬¨, ª®£¤ á ¬¨ ¨-¨æ¨¨àãîâ ®¡¬¥- ¨-ä®à¬ 樥©, â® óSlaveô, ª®£¤ - 室ïâáï ¢ ०¨¬¥ ®¦¨¤ -¨ï ®¡à é¥-¨ï ®â ¤à㣮£® óMasterô-ãáâனá⢠.
•¥¦¨¬ óMulti Masterô âॡã¥â ࡨâà ¦ ¨ à ᯮ§- ¢ -¨ï ª®-䫨ªâ®¢. …áâ¥á⢥-- -®, ®- á«®¦-¥¥ ¢ ॠ«¨§ 樨 (¨¬¥¥âáï ¢¢¨¤ã ¯à®£à ¬¬- ï ॠ«¨§ æ¨ï) ¨, ª ª á«¥¤- á⢨¥, ०¥ ¨á¯®«ì§ã¥âáï ¢ ॠ«ì-ëå ¨§¤¥«¨ïå.
óI2Cô | § ॣ¨áâà¨à®¢ -- ï â®à£®¢ ï ¬ ઠPhilips Corporation.

˜¨- I2C
‚ - ç «ì-ë© ¬®¬¥-⠢६¥-¨ | ¢ ०¨¬¥ ®¦¨¤ -¨ï | ®¡¥ «¨-¨¨ SCL ¨ SDA - 室ïâáï ¢ á®áâ®ï-¨¨ «®£¨ç¥áª®© ¥¤¨-¨æë (âà -§¨áâ®à ¢ë室-®£® ª ᪠¤ á ŽŠ § ªàëâ). ‚ ०¨¬¥ ¯¥à¥¤ ç¨ (à¨á. 1) ¡¨â ¤ --ëå SDA áâ஡¨àã¥âáï ¯®«®¦¨â¥«ì- -ë¬ ¨¬¯ã«ìᮬ SCL. ‘¬¥- ¨-ä®à¬ 樨 - «¨-¨¨ SDA ¯à®¨§¢®¤¨âáï ¯à¨ -ã«¥¢®¬ á®áâ®ï-¨¨ «¨-¨¨ SCL. óSlaveô-ãáâனá⢮ ¬®¦¥â ó¯à¨¤¥à¦¨¢ âìô «¨-¨î SCL ¢ -ã- «¥¢®¬ á®áâ®ï-¨¨, - ¯à¨¬¥à, - ¢à¥¬ï ®¡à ¡®âª¨ ®ç¥à¥¤-®£® ¯à¨-ï⮣® ¡ ©â , ¯à¨ í⮬ óMasterô-ãáâனá⢮ ®¡ï§ -® ¤®¦¤ âìáï ®á¢®¡®¦¤¥-¨ï «¨-¨¨ SCL, ¯à¥¦¤¥ 祬 ¯à®¤®«¦¨âì ¯¥à¥¤ çã ¨-ä®à¬ 樨.
SCL |
|
|
|
SDA |
|
|
|
|
|
Данные фиксированы |
Данные фиксированы |
|
|
Смена |
|
|
|
данных |
|
•¨á. 1. „¨ £à ¬¬ |
¯à®æ¥áá |
¯¥à¥¤ ç¨ ¤ --ëå ¯® è¨-¥ I2C |
„«ï á¨-åà®-¨§ 樨 ¯ ª¥â®¢ è¨-ë I2C à §«¨ç îâ ¤¢ ãá«®¢¨ï | óStartô ¨ óStopô, ®£à -¨ç¨¢ î騥 - ç «® ¨ ª®-¥æ ¨-ä®à¬ 樮--®£® ¯ ª¥â (à¨á. 2). „«ï ª®- ¤¨à®¢ -¨ï íâ¨å ãá«®¢¨© ¨á¯®«ì§ã¥âáï ¨§¬¥-¥-¨¥ á®áâ®ï-¨ï «¨-¨¨ SDA ¯à¨ ¥¤¨-¨ç- -®¬ á®áâ®ï-¨¨ «¨-¨¨ SCL, çâ® -¥¤®¯ãá⨬® ¯à¨ ¯¥à¥¤ ç¥ ¤ --ëå. óStartô-ãá«®¢¨¥ ®¡à §ã¥âáï ¯à¨ ®âà¨æ ⥫ì-®¬ ¯¥à¥¯ ¤¥ «¨-¨¨ SDA, ª®£¤ «¨-¨ï SCL - 室¨âáï ¢ ¥¤¨-¨ç-®¬ á®áâ®ï-¨¨, ¨ - ®¡®à®â, óStopô-ãá«®¢¨¥ ®¡à §ã¥âáï ¯à¨ ¯®«®¦¨â¥«ì-®¬ ¯¥à¥¯ ¤¥ «¨-¨¨ SDA ¯à¨ ¥¤¨-¨ç-®¬ á®áâ®ï-¨¨ «¨-¨¨ SCL.
SCL |
|
|
SDA |
|
|
|
Старт-условие |
Стоп-условие |
•¨á. 2. „¨ £à ¬¬ |
ó‘â àâô/ó‘⮯ô ãá«®¢¨ï è¨-ë I2C |
|
2 |
|
Š’–-ŒŠ |

|
|
|
˜¨- I2C |
SCL |
1 |
8 |
9 |
SDA |
|
|
|
передатчик |
|
|
|
SDA |
|
|
|
получатель |
|
|
|
|
Старт-условие |
|
ACK |
|
|
Подтверждение |
|
•¨á. 3. „¨ £à ¬¬ |
¯®¤â¢¥à¦¤¥-¨ï ¯à¨ñ¬ |
¡ ©â |
¯® è¨-¥ I2C |
•¥à¥¤ ç ¤ --ëå - ç¨- ¥âáï ¯® ¯¥à¢®¬ã ¯®«®¦¨â¥«ì-®¬ã ¨¬¯ã«ìáã - «¨-¨¨ SCL (à¨á. 3), ª®â®àë¬ áâ஡¨àã¥âáï áâ à訩 ¡¨â ¯¥à¢®£® ¨-ä®à¬ 樮--®£® ¡ ©- â . Š ¦¤ë© ¨-ä®à¬ 樮--ë© ¡ ©â (8 ¡¨â®¢) ᮤ¥¦¨â 9 ⠪⮢ëå ¯¥à¨®¤®¢ «¨-¨¨ SCL. ‚ ¤¥¢ï⮬ ⠪⥠ãáâனá⢮-¯®«ãç â¥«ì ¢ë¤ ñâ ¯®¤â¢¥à¦¤¥-¨¥ (ACK) | ®â- à¨æ ⥫ì-ë© ¨¬¯ã«ìá, ᢨ¤¥â¥«ìáâ¢ãî騩 ® ó¢§ ¨¬®¯®-¨¬ -¨¨ô ¯¥à¥¤ â稪 ¨ ¯®«ãç ⥫ï. ‘à §ã ®â¬¥â¨¬, çâ® «î¡®© ¡®-¥-â è¨-ë, ª ª óMasterô, â ª ¨ óSlaveô ¬®¦¥â ¢ à §-ë¥ ¬®¬¥-âë ¢à¥¬¥-¨ ¡ëâì ª ª ¯¥à¥¤ â稪®¬, â ª ¨ ¯®«ãç ⥫¥¬ ¨ ¢ ᮮ⢥âá⢨¨ á ०¨¬®¬ ®¡ï§ - «¨¡® ¯à¨-¨¬ âì, «¨¡® ¢ë¤ ¢ âì ᨣ- « ACK, ®â-
бгвбв¢¨¥ ª®в®а®£® ¨-в¥¯а¥в¨аг¥вбп ª ª ®и¨¡ª .
‚६¥-- ï ¤¨ £à ¬¬ ᨣ- «®¢ SCL ¨ SDA è¨-ë I2C ¯à¨¢¥¤¥- - à¨á. 4. ‡¤¥áì S ®¡®§- ç ¥â óStartô-ãá«®¢¨¥, P | óStopô-ãá«®¢¨¥. ‡- ç¥-¨ï ¢à¥¬¥--ëå å à ªâ¥-
à¨á⨪ ¯à¨¢¥¤¥-ë ¢ â ¡«. 1. |
|
||
—⮡ë - ç âì ®¯¥à æ¨î ®¡¬¥- |
ãáâனá⢮ óMasterô ¢ë¤ ñâ - è¨-ã óStartô- |
||
ãá«®¢¨¥, § ª®â®àë¬ á«¥¤ã¥â ¡ ©â á |
¤à¥á®¬ óSlaveô-ãáâனá⢠(à¨á. 5), á®áâ®ï騩 |
||
¨§ ᥬ¨¡¨â®¢®£® ¤à¥á ãáâனá⢠|
(§ -¨¬ ¥â ¡¨âë 1: : : 7) ¨ ®¤-®¡¨â®¢®£® ä« £ |
||
|
|
|
|
®¯¥à 樨 | óR/Wô (¡¨â 0) ®¯à¥¤¥«ïî饣® - ¯à ¢«¥-¨¥ ®¡¬¥- , ¯à¨çñ¬ 0 ®§- ç - ¥â ¯¥à¥¤ çã ®â óMasterô ª óSlaveô (à¨á. 5, ), 1 | çâ¥-¨¥ ¨§ óSlaveô (à¨á. 5, ¡). ‚ᥠ¡¨âë ¯¥à¥¤ îâáï ¯® è¨-¥ I2C ¢ ¯®à浪¥ áâ à訩-¬« ¤è¨©, â® ¥áâì ¯¥à¢ë¬ ¯¥à¥¤ ñâáï 7-®© ¡¨â, ¯®á«¥¤-¨¬ 0-®©. ‡ ¤à¥á®¬ ¬®£ãâ á«¥¤®¢ âì ®¤¨- ¨«¨ ¡®«¥¥ ¨-ä®à¬ 樮--ëå ¡ ©â®¢ (¢ - ¯à ¢«¥-¨¨, ®¯à¥¤¥«ñ--®¬ ä« £®¬ R/W), ¡¨âë ª®â®- але бва®¡¨аговбп б¨£- «®¬ SCL ¨§ óMasterô-ãáâனá⢠.
•ਠᮢ¥àè¥-¨¨ ®¯¥à 樨 çâ¥-¨ï óMasterô- ¡®-¥-â ¤®«¦¥- ᮯ஢®¦¤ âì ¯à®- ç¨â --ë© ¡ ©â ᨣ- «®¬ ACK, ¥á«¨ -¥®¡å®¤¨¬® ¯à®ç¨â âì á«¥¤ãî騩 ¡ ©â, ¨ -¥ ¢ë¤ ¢ âì ᨣ- « ACK, ¥á«¨ ᮡ¨à ¥âáï § ª®-ç¨âì çâ¥-¨¥ ¯ ª¥â (à¨á. 5, ¡).
„®¯ã᪠¥âáï ¬-®£®ªà â-®¥ ¢®§®¡-®¢«¥-¨¥ óSlaveô- ¤à¥á ¢ ®¤-®¬ 横«¥ ¯¥à¥- ¤ ç¨, â® ¥áâì ¯¥à¥¤ ç ¯®¢â®à-®£® óStartô-ãá«®¢¨ï ¡¥§ ¯à¥¤¢ à¨â¥«ì-®£® óStopô-
ãá«®¢¨ï. ’ ª®© ¯à¨-樯 è¨à®ª® ¯à¨¬¥-ï¥âáï ¢ ã¯à ¢«¥-¨¨ I2C |
¡®-¥-â ¬¨, ª®£¤ |
||
Š’–-ŒŠ |
|
|
3 |
|
|

˜¨- I2C
¢ë¤ ç -®¢®£® óStartô-ãá«®¢¨ï á«ã¦¨â ¤«ï á¨-åà®-¨§ 樨 - ç « -®¢®£® ¯ ª¥â ¤ --ëå, ᮯ஢®¦¤ ¥¬®£®, - ¯à¨¬¥à, -®¢ë¬ ã¯à ¢«ïî騬 á«®¢®¬, ãâ®ç-ïî騬 ¤à¥á æ¨î ¯ ª¥â . ‹®£¨ç¥áª ï ॠ«¨§ æ¨ï ¯à®â®ª®«®¢ - è¨-¥ I2C -¥ -®à¬¨àã¥â- áï ¤®ªã¬¥-â ¬¨ ä¨à¬ë Philips, ᮤ¥à¦ 騬¨ ä®à¬ «ì-ë¥ ®¯¨á -¨ï è¨-ë, ¨ ¬®¦¥â ¡ëâì ¯à®¨§¢®«ì-®© ¤«ï ª ¦¤®© ª®-ªà¥â-®© ˆ‘.
|
tHD;STA |
tr |
tHIGH |
tSU;STA |
tSU;STO |
SCL |
|
|
|
|
|
|
tLOW |
|
|
tf |
|
SDA |
|
|
|
|
|
P |
tBUF |
tHD;DAT |
tSU;DAT |
tHD;STA |
|
S |
|
|
S |
P |
|
•¨á. 4. ‚६¥-- ï ¤¨ £à ¬¬ |
à ¡®âë è¨-ë I2C |
|
|||
’ ¡«. 1. ‡- ç¥-¨ï ¢à¥¬¥--ëå |
å à ªâ¥à¨á⨪ è¨-ë I2C |
• à ¬¥âà |
|
Ž¡®§-. |
ά-. |
Œ ªá. |
…¤¨-. |
|
|
|
|
|
|
— áâ®â ᨣ- « SCL |
|
fSCL |
0 |
100 |
ªƒæ |
‘¢®¡®¤- ï è¨- |
|
tBUF |
4.7 |
| |
¬ªá |
”¨ªá æ¨ï óStartô-ãá«®¢¨ï |
|
tHD;STA |
4.0 |
| |
¬ªá |
„«¨â¥«ì-®áâì óLOWô ¯®«ã¯¥à¨®¤ |
SCL |
tLOW |
4.7 |
| |
¬ªá |
„«¨â¥«ì-®áâì óHIGHô ¯®«ã¯¥à¨®¤ |
SCL |
tHIGH |
4.0 |
| |
¬ªá |
ƒ®â®¢-®áâì ¯®¢â®à-®£® óStartô-ãá«®¢¨ï |
tSU;STA |
4.7 |
| |
¬ªá |
|
“¤¥à¦ -¨¥ ¤ --ëå |
|
tHD;DAT |
0 |
| |
¬ªá |
ƒ®â®¢-®áâì ¤ --ëå |
|
tSU;DAT |
250 |
| |
-á |
”à®-â ᨣ- «®¢ SCL ¨ SDA |
|
tr |
| |
1000 |
-á |
‘¯ ¤ ᨣ- «®¢ SCL ¨ SDA |
|
tf |
| |
300 |
-á |
ƒ®â®¢-®áâì óStopô-ãá«®¢¨ï |
|
tSU;STO |
4.0 |
| |
¬ªá |
|
|
|
|
|
|
4 |
|
Š’–-ŒŠ |
|

|
|
|
|
|
|
|
|
|
˜¨- |
I2C |
|
0 |
|
|
|
|
|
|
|
|
|
S |
Адрес «Slave» R/W |
A |
Данные |
A Данные A/A P |
|
Îò «Master» ê «Slave» |
|
|||
|
Передача |
Передаваемые данные |
|
|
Îò «Slave» ê «Master» |
|
||||
|
( n байтов + ACK) |
|
|
|
||||||
|
|
|
|
|
|
|
|
|||
a) Передача от «Master» к «Slave» |
|
|
|
S |
«Start»-условие |
|
|
|||
|
|
|
|
|
|
|
||||
|
1 |
|
|
|
|
|
P |
«Stop»-условие |
|
|
|
|
|
|
|
|
A |
Бит подтверждения (ACK) |
|
||
S |
Адрес «Slave» R/W |
A |
Данные |
A Данные A |
P |
|
||||
|
|
|
|
|||||||
|
Чтение |
|
Принимаемые данные |
|
A |
Отсутствие подтверждения |
||||
|
|
( n байтов + ACK) |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
б) Чтение из «Slave» |
|
|
|
|
|
|
|
|
|
|
S |
Адрес «Slave» R/W |
A |
Данные |
A/A |
Адрес «Slave» |
R/W |
Данные A/A |
P |
|
|
Данные |
S |
A |
|
|||||||
|
|
|
A/A |
|
|
|
Данные A/A |
|
|
|
|
Передача или чтение |
Повторный «Start» |
Передача или чтение |
|
|
|||||
в) Комбинированный формат — передача/чтение |
|
|
|
|
|
|||||
•¨á. 5. ”®à¬ â ®¯¥à 権 çâ¥-¨ï/§ ¯¨á¨ |
|
|
|
|
|
•à ªâ¨ç¥áª¨¥ ४®¬¥-¤ 樨
•¨¦¥ ¬ë à áᬮâਬ ®á-®¢-ë¥ âàã¤-®áâ¨, á¢ï§ --ë¥ á ¨á¯®«ì§®¢ -¨¥¬ è¨-ë
I2C ¢ 楫®¬, |
â ª¦¥ ⨯¨ç-ë¥ ¯à®¡«¥¬ë ¨ ®è¨¡ª¨, ¢®§-¨ª î騥 - - ç «ì-ëå |
íâ ¯ å ॠ«¨§ 樨 «£®à¨â¬®¢ ®¡¬¥- . |
|
“¤®¡á⢠|
¯à¨¬¥-¥-¨ï è¨-ë I2C ®ç¥¢¨¤-ë | ¬ «®¥ ª®«¨ç¥á⢮ ᮥ¤¨-¨â¥«ì-ëå |
«¨-¨© ¨ ¢ë᮪ ï ᪮à®áâì ®¡¬¥- , ¯à®áâ®â ¯¯ à â-®© ॠ«¨§ 樨 «¨-¨¨ á¢ï§¨.
• ¨¡®«¥¥ è¨à®ª® ¯®¤¤¥à¦¨¢ ¥â è¨-ã I2C, ª®-¥ç-® ¦¥, ä¨à¬ Philips, ¯à®¨§¢®¤ï- é ï ¬-®¦¥á⢮ ˆ‘ à §«¨ç-®© á«®¦-®á⨠á ã¯à ¢«¥-¨¥¬ ¯® I2C. ‚ ¯¥à¢ãî ®ç¥à¥¤ì,
¬®¦-® ¢ë¤¥«¨âì ¬¨ªà®á奬ë í-¥à£®-¥§ ¢¨á¨¬®© ¯ ¬ï⨠(EEPROM) á¥à¨¨ 24Cxx ¢ 8-¬¨ ¢ë¢®¤-ëå ª®à¯ãá å, ä ªâ¨ç¥áª¨ á⠢訥 ¯à®¬ëè«¥--ë¬ áâ -¤ à⮬. ˆ§ è¨à®ª® à á¯à®áâà -ñ--ëå ˆ‘ ¬®¦-® ¢ë¤¥«¨âì: ¬¨ªà®á奬ë ç ᮢ PCF8583, ¯ - à ««¥«ì-ë© ¯®àâ PCF8574, 4-å ª - «ì-ë© 8-¬¨ à §àï¤-ë© €–• PCF8591. ‘ãé¥- áâ¢ã¥â ¬-®¦¥á⢮ ¬®¤¨ä¨ª 権 íâ¨å ˆ‘ ¨ ¡®«¥¥ á¯¥æ¨ «¨§¨à®¢ --ë¥ ª®-â஫«¥- àë, ¢ ç áâ-®áâ¨, ä¨à¬ Š’–-ŒŠ ¢ë¯ã᪠¥â á¯¥æ¨ «¨§¨à®¢ --ë¥ ª®-â஫«¥àë á ã¯à ¢«¥-¨¥¬ ¯® I2C: ª®-â஫«¥à æ¨ä஢®£® ᢥ⮤¨®¤-®£® ¤¨á¯«¥ï ¨ ª« ¢¨ âãàë (CE210, CE220), ª®-â஫«¥à †Šˆ-¬®¤ã«ï á ¯ à ««¥«ì-®© è¨-®©, ᮢ¬¥éñ--ë© á ª®-â஫«¥à®¬ ª« ¢¨ âãàë (CE110), ª®-â஫«¥à á¥â¨ - ®á-®¢¥ è¨-ë RS-485 (CE302).
I2C- ¡®-¥-вл ¦сбвª® а §¤¥«повбп ¯® ª« бб ¬: óMasterô- ¨ óSlaveô-ãáâனá⢮. ’®â ä ªâ, ç⮠ᨣ- « SCL ¢á¥£¤ £¥-¥à¨àã¥âáï óMasterô-ãáâனá⢮¬ ®§- ç ¥â,
Š’–-ŒŠ |
|
5 |
|

˜¨- I2C
çâ® óMasterô- ¡®-¥-â ¬®¦¥â ¡ëâì ¤®áâ â®ç-® «¥£ª® ॠ«¨§®¢ - ç¨áâ® ¯à®£à ¬¬- -묨 á।á⢠¬¨, â ª ª ª ¢á¥ ¨§¬¥-¥-¨ï - è¨-¥ ¡ã¤ã⠯நá室¨âì ⮫쪮 ¯® ᨣ- «ã SCL. ˆ - ®¡®à®â, ॠ«¨§ æ¨ï óSlaveô-ãáâனá⢠âॡã¥â ¯¯ à â-®© ¯®¤- ¤¥à¦ª¨, ªà®¬¥ á«ãç ï ®ç¥-ì -¨§ª¨å ᪮à®á⥩ ®¡¬¥- . ‘ãé¥áâ¢ãîâ ®¤-®ªà¨áâ «ì- -ë¥ ¬¨ªà®-•‚Œ (ŽŒ•‚Œ) ¯®¤¤¥à¦¨¢ î騥 óSlaveô-®¯¥à 樨 è¨-ë I2C. •â® ¯à¥-
¦¤¥ ¢á¥£® Philips PCF80C552 (652), Microchip PIC16C62 (64, 73 ¨ ¤à.), Motorola MC68HC705CJ4 (BD3, E5). Šà®¬¥ ⮣®, ŽŒ•‚Œ ä¨à¬ë Philips ¯¯ à â-® ¯®¤¤¥à- ¦¨¢ îâ óMasterô-¯à®â®ª®«, å®âï ¯à ªâ¨ç¥áª¨ ¯¯ à â-ë¥ óMasterô-ª®-ва®««¥ал ¯а¨¬¥-повбп а¥¤ª®.
‚ ⨯¨ç-®© ¬¨ªà®¯à®æ¥áá®à-®© á¨á⥬¥ á ¯à¨¬¥-¥-¨¥¬ I2C-ãáâனáâ¢, ®¡ëç-® áãé¥áâ¢ã¥â æ¥-âà «ì- ï ŽŒ•‚Œ, ¤¢¥ «¨-¨¨ ¯®à⮢ ª®â®à®© ®â¢¥¤¥-ë ¤«ï ã¯à - ¢«¥-¨ï «¨-¨ï¬¨ è¨-ë I2C SCL ¨ SDA. ‹¨-¨¨ è¨-ë I2C ¤®«¦-ë ¡ëâì ¢ë¯®«-¥-ë á ®âªàëâë¬ ª®««¥ªâ®à®¬ (OK), ¨ ¯®¤âï-ãâë १¨áâ®à ¬¨ ª «¨-¨¨ ¯¨â -¨ï +5 ‚, çâ® ¯®§¢®«ï¥â ¡®-¥-â ¬ è¨-ë ¯à®¨§¢®¤¨âì ®¯¥à 樨 ⨯ óŒ®-â ¦-®¥ ˆ‹ˆô ¤«ï
â®à¬®¦¥-¨ï ¯à®æ¥áá ®¡¬¥- |
¢ á«ãç ¥, ¥á«¨ ®-¨ -¥ ãᯥ¢ îâ ®âà ¡ âë¢ âì ®¯¥à - |
樨 ᮠ᪮à®áâìî óMasterô- |
¡®-¥-â . |
’¨¯¨ç- ï ®è¨¡ª ¯à¨ ॠ«¨§ 樨 ¯à®£à ¬¬ óMasterô- ¡®-¥-â | ã¯à ¢«¥-¨¥ §- ç¥-¨¥¬ ¯®àâ ŽŒ•‚Œ ¤«ï ãáâ -®¢ª¨ -ã«¥¢®£® ¨ ¥¤¨-¨ç-®£® á®áâ®ï-¨© «¨-¨© SCL ¨ SDA. …᫨ ¤«ï ŽŒ•‚Œ ᥬ¥©á⢠MCS-51 íâ® -®à¬ «ì-ë© à¥¦¨¬ à ¡®âë, â ª ª ª ¥¤¨-¨ç-®¥ á®áâ®ï-¨¥ ¯®àâ ã -¨å ॠ«¨§ã¥âáï ¢áâ஥--ë¬ ¯®¤â¢ î- 騬 १¨áâ®à®¬ 50 ªŽ¬, â® ¤«ï ŽŒ•‚Œ á ᨬ¬¥âà¨ç-묨 ¯®àâ ¬¨ (Motorola 68HCxxx, Microchip PIC, Atmel AVR) íâ® ¡ã¤¥â ¯®à®¦¤ âì í«¥ªâà¨ç¥áª¨¥ ª®-䫨ª-
âë. • ¯à¨¬¥à, ¢ à㪮¢®¤á⢥ óMicrochip. Embedded Control Handbook 1994/1995ô
¯à¨¢¥¤¥-ë ¯à ªâ¨ç¥áª¨¥ ¯à®£à ¬¬ë ¤«ï á¢ï§¨ PIC á ˆ‘ EEPROM, ᮤ¥à¦ 騥 ¯®¤®¡-ë¥ £àã¡ë¥ ®è¨¡ª¨. •®«®¦¥-¨¥ ãáã£ã¡«ï¥âáï ⥬, çâ® ¢ á«ãç ¥ ¬¨ªà®á奬 EEPROM â ª®© ¢ ਠ-â ¬®¦¥â áà ¡®â âì, в ª ª ª ®-¨ п¢«повбп 100% ¯¯ à â-ë- ¬¨ á奬 ¬¨ ¨ -¥ ¢-®áïâ § ¤¥à¦¥ª ¢ á¢ï§-®© ¯à®â®ª®«, ¯ ã§ã ®¦¨¤ -¨ï ®ª®-ç -¨ï 横« ¯à®£à ¬¬¨à®¢ -¨ï ¯à®¨§¢®¤ïâ ¯¥à¥å®¤®¬ ¢ ¯ áᨢ-®¥ á®áâ®ï-¨¥. ˆá¯®«ì§®- ¢ -¨¥ â ª¨å ¯®¤¯à®£à ¬¬ á ˆ‘, ¯à®¨§¢®¤ï騬¨ § å¢ â «¨-¨¨ SCL (¯à ªâ¨ç¥áª¨ «î¡®© óSlaveô- ¡®-¥-â, ॠ«¨§®¢ --ë© á ¯à¨¬¥-¥-¨¥¬ ŽŒ•‚Œ), ¯à¨¢¥¤ñâ ª -¥¢®§- ¬®¦-®á⨠á¢ï§¨, ¢®§¬®¦-®, ¨ ª ¢ë室㠈‘ ¨§ áâà®ï.
•¥ «¨§®¢ âì - áâ®ïéãî ¨¬¨â æ¨î ŽŠ (¬ë - §¢ «¨ íâ®â ०¨¬ ¨¬¨â 樥© ŽŠ, â ª ®- -¥ ¯®§¢®«ï¥â ãáâ - ¢«¨¢ âì - «¨-¨¨ - ¯à殮-¨¥ ¢ëè¥ - ¯à殮-¨ï ¯¨â - -¨ï, çâ® ¡ë«® ¡ë -®à¬ «ì-® ¤«ï - áâ®ï饣® ŽŠ, -® â ª ª ª ¯® ᯥæ¨ä¨ª 樨 I2C - ¯à殮-¨¥ - «¨-¨ïå SCL ¨ SDA -¥ ¤®«¦-® ¯à¥¢ëè âì - ¯à殮-¨¥ ¯¨â -¨ï, ¥£® ¢¯®«-¥ § ª®--® ¬®¦-® áç¨â âì ¢ë室®¬ á ŽŠ) - ¯®à⥠á ᨬ¬¥âà¨ç-ë¬ ¢ë室®¬ ¬®¦-®, ¥á«¨ ãáâ -®¢¨âì §- ç¥-¨¥ ¯®àâ ¯®áâ®ï--® ¢ -®«ì, ã¯à ¢«ïâì á®áâ®ï-¨¥¬ «¨-¨¨ ç¥à¥§ ¬ -¨¯ã«ï樨 á ॣ¨áâ஬ - ¯à ¢«¥-¨ï ¤ --ëå. „«ï ŽŒ•‚Œ PIC íâ® ¡ã¤¥â ॣ¨áâà óTRISxô, ¯¥à¥¢®¤ï騩 ¯®àâ «¨¡® ¢ âà¥âì¥ á®áâ®ï-¨¥, «¨¡® ¯®¤ª«î- ç î騩 «¨-¨¨ ¢ ᮮ⢥âá⢨¨ á á®áâ®ï-¨¥¬ ॣ¨áâà óPORTxô. •à ªâ¨ç¥áª¨ â ª ¦¥ í⮠ॠ«¨§ã¥âáï ¢ AVR ¨ MC68HC05 (08, 11), £¤¥ óDDRxô ª®¬¬ãâ¨àã¥â ¯®àâ óPORTxô, á ⮩ «¨èì à §-¨æ¥©, çâ® ã -¨å ¤àã£ ï ¯®«ïà-®áâì ã¯à ¢«ïî饣® ᨣ- -
« | ã PIC -®«ì ¢ óTRISxô ᮮ⢥âáâ¢ã¥â -ã«î - ¢ë室¥, |
ã AVR ¨ MC68HC05 |
||
6 |
|
|
Š’–-ŒŠ |
|
|

˜¨- I2C
¥¤¨-¨æ ¢ óDDRxô ᮮ⢥âáâ¢ã¥â -ã«î - ¢ë室¥.
…éñ ®¤- â®-ª®áâì á¢ï§ -- ï á PIC, -¥ ¨¬¥îé ï ᮡá⢥--® ª I2C -¨ª ª®£® ®â- -®è¥-¨ï § ª«îç ¥âáï ¢ ⮬, çâ® ã -¥£® ᮢ¬¥é¥-ë ॣ¨áâà çâ¥-¨ï á®áâ®ï-¨ï «¨-¨© ¯®àâ ¨ ॣ¨áâà § ¯¨á¨ §- ç¥-¨ï ¯®àâ , ¢ १ã«ìâ ⥠祣®, ¥á«¨ ç áâì «¨-¨© ¯®à- â § ¯à®£à ¬¬¨à®¢ - - ¢ë¢®¤, ¤à㣠ï - 室¨âáï ¢ âà¥â쥬 á®áâ®ï-¨¨, â® ¯à¨ ¢ë¯®«-¥-¨¨ PIC'®¬ ®¯¥а ж¨¨ ¬®¤¨д¨ª ж¨¨ ¢ а¥£¨бва ¯®ав ¯¥а¥¯¨игвбп §- з¥-¨п -¥¯®ба¥¤бв¢¥--® б ¢л¢®¤®¢ PIC' ãáâ -®¢«¥--ëå ¢ âà¥âì¥ á®áâ®ï-¨¥, çâ® ¬®¦¥â - àãè¨âì (¨ ᪮॥ ¢á¥£® - àãè¨â) à ¡®âã ¯à®£à ¬¬ë ®¡¬¥- (¯®в¥аповбп -г«¨ ®¡¥б¯¥з¨¢ ой¨¥ ¨¬¨в ж¨о ¢л室®¢ б ŽŠ). •®í⮬㠫ãçè¥ ¯à®¨§¢®¤¨âì ¯à¨-㤨- ⥫ì-ãî ãáâ -®¢ªã ¢ -®«ì ¡¨â®¢ ¢ óPORTxô, - ¯à¨¬¥à, ¯¥à¥¤ ª ¦¤®© ®¯¥à 樥© ®¡¬¥- , ᪠¦¥¬ â ª®© ¯®á«¥¤®¢ ⥫ì-®áâìî:
movlw |
b'11100111' |
; Œ ᪠|
«¨-¨© SCL ¨ SDA ¢ ¯®à⥠C (RC3 ¨ RC4) |
|
|
andwf |
portc,f |
; ‘¡à. §- ç¥-¨© «¨-¨© SCL ¨ SDA ¢ ¯®à⥠C ¢ -®«ì |
|||
„àã£ ï ¢ ¦- ï áâ®à®- |
¢®¯à®á |
| -¥®¡å®¤¨¬®áâì âé ⥫ì-®£® ᮡ«î¤¥-¨ï ¯ - |
|||
à ¬¥â஢ ¢à¥¬¥--®© ¤¨ £à ¬¬ë ¯à®æ¥áá ®¡¬¥- . •¥á¬®âàï - |
â®, çâ® è¨- |
I2C |
|||
á¨-åà®-- ï ¨ ¯®§¢®«ï¥â § â¢ âì ¯¥à¥¤ çã ¡¨â (¡ ©â ) - |
᪮«ì 㣮¤-® ¤«¨- |
||||
⥫ì-®¥ ¢à¥¬ï (í⮠᢮©á⢮ ¯®§¢®«ï¥â ॠ«¨§®¢ë¢ âì ¯à®£à ¬¬ë I2C-®¡¬¥- |
- |
á ¬®¬ -¨§ª®¬ ã஢-¥ ¯à¨®à¨â¥â , ¯à¥àë¢ ï ¯à®æ¥áá ¯¥à¥¤ ç¨ ¢ «î¡®¥ ¢à¥¬ï), âà¥- ¡®¢ -¨ï ª ¬¨-¨¬ «ì-ë¬ §- ç¥-¨ï¬ ¤«¨â¥«ì-®á⥩ ¨¬¯ã«ìᮢ ®ç¥-ì ¦ñá⪨¥. ‘¨- âã æ¨ï ãáã£ã¡«ï¥âáï ⥬, çâ® ¯®«®¦¨â¥«ì-ë¥ ¯¥à¥¯ ¤ë á®áâ®ï-¨ï «¨-¨¨ ¨¬¥îâ ᪫®--®áâì § â¢ âìáï, â ª ª ª -¥á¨¬¬¥âà¨ç-ë¥ ã¯à ¢«ïî騥 ¢ë室ë -¥ ¬®£ãâ á®§¤ âì ªàãâë¥ ¯®«®¦¨â¥«ì-ë¥ äà®-âë.
•ਠ- ¯¨á -¨¨ ¯à®£à ¬¬ ®ç¥-ì ¢ ¦-® ª®-â஫¨à®¢ âì ¢à¥¬ï ¬¥¦¤ã ®¯¥à æ¨ï¬¨ - è¨-¥, ॠ«¨§ã¥¬ë¬¨ à §«¨ç-묨 ¯®¤¯à®£à ¬¬ ¬¨, - ¯à¨¬¥à ¢ë¤ ç óStartô ¨ óStopô-ãá«®¢¨ï, ¯¥à¥¤ ç ¡¨â , ¯¥à¥¤ ç ¡ ©â . •ਠá®áâ몮¢ª¥ íâ¨å ¯®¤¯à®£à ¬¬ -¥ ¤®«¦-ë ¡ëâì - àãè¥-ë ¬¨-¨¬ «ì-ë¥ §- ç¥-¨ï ¢à¥¬¥-¨, çâ® ®ç¥-ì «¥£ª® ¯à®¨á- 室¨â ¯à¨ ¨á¯®«ì§®¢ -¨¨ ¢ë᮪®áª®à®áâ-ëå ¯à®æ¥áá®à®¢ (AVR, PIC). Šà®¬¥ ⮣®, -¥®¡å®¤¨¬® á«¥¤¨âì, çâ®¡ë ¢à¥¬ï ¬¥¦¤ã ¨§¬¥-¥-¨¥¬ - «¨-¨¨ SDA ¨ áâ஡¨à®- ¢ -¨¥¬ ¯®«®¦¨â¥«ì-ë¬ ¨¬¯ã«ìᮬ - «¨-¨¨ SCL ¡ë«® -¥ ¬¥-ìè¥ ¯®«®¢¨-ë ¬¨- -¨¬ «ì-®© ¤«¨â¥«ì-®á⨠¯®«ã¯¥à¨®¤ SCL (4:7 ¬ªá=2 = 2:4 ¬ªá). •®¬¨¬® í⮣®, -¥ª®â®àë¥ óSlaveô-¯à¨¡®àë ¬®£ãâ 㦥áâ®ç¨âì âॡ®¢ -¨ï ª ¬ ªá¨¬ «ì-®© ç áâ®â¥ ®¡¬¥- (- ¯à¨¬¥à, CE110 | 48 ªƒæ), ¢ í⮬ á«ãç ¥ -¥®¡å®¤¨¬® ¯à®¯®à樮- «ì-® á-¨¦¥-¨î ç áâ®âë ®¡¬¥- 㢥«¨ç¨¢ âì §- ç¥-¨ï ¬¨-¨¬ã¬®¢ ¢à¥¬¥--ëå ¤®¯ã᪮¢.
…éñ ®¤- à á¯à®áâà -ñ-- ï ®è¨¡ª | ¨£-®à¨à®¢ -¨¥ âॡ®¢ -¨ï á«¥¦¥-¨ï § § å¢ â®¬ «¨-¨¨ SCL óSlaveô- ¡®-¥-⮬. ƒà ¬®â-® ॠ«¨§®¢ --ë¥ ¯à®£à ¬¬ë ®¯¥- à æ¨© óMasterô- ¡®-¥-â ¤®«¦-ë ª®-â஫¨à®¢ âì ¢®§¢à â «¨-¨¨ SCL ¯®á«¥ ⮣®, ª ª ¯¥à¥¢®¤ïâ ¥ñ ¢ ¥¤¨-¨ç-®¥ á®áâ®ï-¨¥, ¨ ⮫쪮 ¤®¦¤ ¢è¨áì ॠ«ì-®© ãáâ -®¢ª¨ «¨-¨¨ SCL ¢ ¥¤¨-¨ç-®¥ á®áâ®ï-¨¥ ¯à®¤®«¦ âì ®¯¥à 樨 ¯à¨ñ¬®-¯¥à¥¤ ç¨.
’¥¯¥àì ¬ë ®¯¨è¥¬ ¬¨-¨¬ «ì-® -¥®¡å®¤¨¬ë© - ¡®à ®¯¥à 権 ¤«ï ॠ«¨§ 樨 óMasterô- ¡®-¥-â . •०¤¥ ¢á¥£®, íâ® ¯®¤¯à®£à ¬¬ë ¢ë¤ ç¨ óStartô- ¨ óStopô-
ãá«®¢¨ï, ¯®¤¯à®£à ¬¬ ¯¥à¥¤ ç¨ ¡ ©â , ¯®¤¯à®£à ¬¬ ¯à¨ñ¬ |
¡ ©â , ¢ë¤ îé ï |
||
Š’–-ŒŠ |
|
|
7 |
|
|

˜¨- I2C
ᨣ- « ACK ¨ ¯®¤¯à®£à ¬¬ ¯à¨ñ¬ ¡ ©â , -¥ ¢ë¤ îé ï ᨣ- « ACK. ’ਠ¯®- á«¥¤-¨¥ ¨á¯®«ì§ãîâ ¯®¤¯à®£à ¬¬ë ¯¥à¥¤ ç¨ ¡¨â ¨ ¯à¨ñ¬ ¡¨â . ‚® ¢à¥¬¥--ëå ¯à®¬¥¦ãâª å ¬¥¦¤ã ¯®¤¯à®£à ¬¬ ¬¨ «¨-¨ï SCL ¨¬¥¥â -ã«¥¢®¥ §- ç¥-¨¥. Š ª 㦥 £®¢®à¨«®áì à -¥¥, ¢ ¦-® ¯à ¢¨«ì-® ᮣ« ᮢ âì ¢á¥ ¢à¥¬¥--ë¥ å à ªâ¥à¨á⨪¨ ¯®¤- ¯à®£à ¬¬. …᫨, ª ¯à¨¬¥àã, ¢ë ¢ë§ë¢ ¥â¥ ¯®¢â®à-ë© óStartô áà §ã § ¯¥à¥¤ 祩 (¯à¨ñ¬®¬) ¡ ©â , â® -¥®¡å®¤¨¬®, çâ®¡ë ¯®«-®áâìî § ¢¥à訫áï -ã«¥¢®© ¯®«ã¯¥à¨- ®¤ ( 4:7 ¬ªá), ¯à¥¤è¥áâ¢ãî騩 óStartô-ãá«®¢¨î, ¯®¤¯à®£à ¬¬ , ॠ«¨§ãîé ï óStartô-ãá«®¢¨¥, ¯¥à¥¢¥¤ï «¨-¨¨ SDA ¨ SCL ¢ ¥¤¨-¨ç-®¥ á®áâ®ï-¨¥, ¤®¦¤ ¢è¨áì ¨å ॠ«ì-®£® ¢®§¢à â , ¤®«¦- 㤥ন¢ âì ¥ñ ¢ â ª®¬ á®áâ®ï-¨¨ -¥ ¬¥-¥¥ ãáâ -®- ¢«¥--®£® ¢à¥¬¥-¨ ( 4:7 ¬ªá), ¨ â ª ¢® ¢á¥å á«ãç ïå.
ޝ¥à¨àãï í⨬¨ ¯ïâìî ¯®¤¯à®£à ¬¬ ¬¨ ¬®¦-® «¥£ª® - « ¤¨âì ®¡¬¥- ¯® è¨-¥ I2C. Œ®¦-® ¢ë¤ âì - è¨-ã óStartô-ãá«®¢¨¥, § -¨¬ óSlave Adressô, ¤ «¥¥ ¤ --
-ë¥, ¢ ᮮ⢥âá⢨¨ á ¯à®â®ª®«®¬ ª®-ªà¥â-®© I2C-ˆ‘. Œ®¦-® ¢ë¤ âì ¯®¢â®à-®¥ óStartô-ãá«®¢¨¥, -®¢ë© óSlave Adressô ¨ â ª ¤ «¥¥, ä®à¬¨àãï ¯à®æ¥áá ®¡¬¥- ª ª ¨§ í«¥¬¥-⮢ ª®-áâàãªâ®à . Ž¡ëç-® ¯à®â®ª®«ë ®¡¬¥- óSlaveô-ãáâனá⢠¤®¢®«ì-® «®£¨ç-® ᮮ⢥âáâ¢ãîâ ¯à®£à ¬¬¨à®¢ -¨î ¢ â ª®¬ á⨫¥.
‹¨â¥à âãà
[1] The I2C-bus and how to use it. c 1997 Philips.
ޡ鍥 ¯®«®¦¥-¨ï ¨ ¢¢¥¤¥-¨¥ ¢ «®£¨ªã à ¡®âë è¨-ë I2C •à ªâ¨ç¥áª¨¥ ४®¬¥-¤ 樨 1-¥ ¨§¤ -¨¥
c 1997 Š’–-ŒŠ €¢â®à: €.€.ƒ®«®¢
‚ñàá⪠¯à®¨§¢¥¤¥- ¢ ¯ ª¥â¥ CyrTUG-emTEX
á ¨á¯®«ì§®¢ -¨¥¬ ª¨à¨««¨ç¥áª¨å èà¨ä⮢ ᥬ¥©á⢠LH
8 |
|
Š’–-ŒŠ |
|