Hogyan működik ez - studopediya
Nyilvánvaló, hogy ha dolgozik a gumiabroncs a „rendszert és” nem lehet betáplálni a buszon egy erős szintet. Ellenkező esetben, ha bármelyik blokk ad egy erős alacsony, akkor egyikük kiég eredményeként rövidzárlat.
· Adó - Az elem, amely adatokat küld a buszra.
· Vevő - olyan elem, amely adatokat fogad a buszról.
· Master - elem, amely kezdeményezi a generál szinkronizáló jeleket és befejezi az átvitelt.
· Multi-master - a rendszer több mint egy mester.
· Választottbíróság - olyan eljárás, amely biztosítja, hogy ha több, mint egy mester egyszerre próbálja irányítani a busz, csak egyikük lesz a teljes ellenőrzést a busz, és biztosítja az adatátvitelt hibák nélkül.
· Szinkronizálás - adatok az elemek között.
Átviteli / jelek vételére végezzük szorító a vonal 0. yedinichku meghatározott önmagában, miatt felhúzó ellenállások. Tedd feltétlenül mindig. Szabványos! 10k ellenállások optimálisak. Minél nagyobb az ellenállás, annál hosszabb a vonal csökken egy (túltöltés egy parazita kapacitás közötti vezetékek), és annál erősebb az impulzus élei esik le, és így az átviteli sebesség csökken. Ezért 2 C átviteli sebesség sokkal alacsonyabb, mint a SPI. Általában IIC működik akár sebességgel 10kbit / s - lassú üzemmódban van, vagy a 100kbit / s gyors. De a valóságban, meg lehet változtatni a sebességet folyamatosan nullára.
Mindenesetre lehetetlen a kimenetet a mikrokontroller a FEL, és húzza a lábát öt. Könnyedén elkapni a hibát és éget egy adatkezelő vagy bármely eszköz a buszon. Sosem tudhatod, ki nyomja le a sorban van.
Minden adatátvitel a kiindulási feltevést. bitek és küldésének leállítása. Az eljárást mértékének megváltoztatásával a gumiabroncsok típusát állítjuk küldő.
Miután az átvitel megkezdése egy adat bit órajel impulzus megy. Vagyis, ha az SCL vonal master vagy slave mutatnak nulla bit (SDA lenyomva - ha 0 vagy nincs lenyomva - 1, ha az SDA vonalon), majd megjelent és az SCL master / slave olvasni bit. Így van a protokoll nem függ az idő intervallum. Csak az óra bit. Ezért az I 2 C busz nagyon könnyű debug - ha valami baj van, akkor ahhoz, hogy csökkentse a sebességet, hogy byte percenként, és nyugodtan hagyományos feszültségmérő, nézni, hogy mi történik. Igaz ez nem egy kört egy vas I 2 C nincs ilyen kis sebességnél. De mi akadályoz meg abban, zataktovat mikrokontroller nagyon lassú órát és hibakeresés összes lépést? ;)
Ahhoz, hogy ismételje meg a világosság:
- Start Start átviteli meghatározott szekvenciát - SDA SCL dip magas szinten
- Adatátvitelre a Master Slave agyvérzéshez generál, és kiadja az SCL naSDA bit. Amelynek szövege a szolga SCL válik 1.
- Az információk átadásakor a Slave a Mester, Mester generál SCL és bár nézni ott rabszolga dolgozik SDA vonalon - szól. A slave SCL megy 0 helyezi SDA bit, amely beolvassa a mester, amikor a hátsó emelő SCL.
- Végződik STOP sorrendben. Ha magas szinten az SCL SDA vonalon megy alacsony és magas szinten.
Azaz, a változás az adatbusz idején adatbefogadó lehet csak alacsony szinten SCL. Amikor SCL tetején az olvasás. Ha megváltoztatjuk SDA SCL magas. azt szolgáltatási parancsok indításához vagy leállításához.
Ha Slave fék, és nincs idő (EEPROM, például az alacsony sebességű rögzítés), akkor kényszeríteni az SCL tenni a földre, és nem biztosítja a vezetést, hogy új ciklus. A mester meg kell értenie ezt, és így szolga rágni bájt. Tehát nem nyersen generit ciklus, szükség van annak biztosítására, hogy a line up, amikor elengedi a SCL. Ha nem kap ki, meg kell állítani, és várjon, amíg Slave nem fog elengedni. Ezután továbbra is ugyanazon a helyen.