60+15 nap alatt Arduino - #3..#5 : Az I2C kicsit másképp

A "60 nap alatt Arduino" tanfolyam házi feladatai és közvetlen témái
Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

60+15 nap alatt Arduino - #3..#5 : Az I2C kicsit másképp

HozzászólásSzerző: Robert » 2013. augusztus 19. hétfő, 6:45

A 60+15 nap alatt Arduino leckesorozat TWIbusz, TWI kicsit másképp és TWI folytatás kérdései/házi feladatainak megoldásai.

nagylevin
Újonc
Újonc
Hozzászólások: 6
Csatlakozott: 2015. március 29. vasárnap, 16:20

Re: 60+15 nap alatt Arduino - #3..#5 : Az I2C kicsit másképp

HozzászólásSzerző: nagylevin » 2015. június 1. hétfő, 8:27

Miért van szükség a felhúzó ellenállásra a kommunikációs vonalakon? Az arduino nem teszi meg magától? Sajnos az elektromos deljjel folytatott tanulmányaim nem terjednek idáig. Illetve , ha már ellenállunk, mennyire? A ledeknél használatos mérték ide is megfelelő?

Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00
Tartózkodási hely: Budapest

Re: 60+15 nap alatt Arduino - #3..#5 : Az I2C kicsit másképp

HozzászólásSzerző: SzLacus » 2015. június 1. hétfő, 9:50

Ahhoz, hogy a kommunikáció jól menjen gondoskodni kell arról, hogy a jelek formája (négyszög jel fel és lefutó éle) egy adott tűrésen belül hasonlítson az ideálisra. A kommunikációs vonalnak van egy kapacitása, amit lefele az eszközök aktívan kezelnek. De amikor elengedik a vonalat, akkor a felfutó élt a busz kapacitás és a felhúzó ellenállás alakítja ki. A proci belső felhúzója az 10K-100K tartományban van, a kapacitás az kiépítés függő, de azt biztos, hogy minnél nagyobb a kapacitás, és minnél nagyobb a felhúzó, annál lassabb lesz felfutás. A kommunikáció szabványa pedig előír egy adott maximumot, hogy a kommunikáció megbízható legyen. A különböző eszközök adatlapjában remek diagramok vannak amiből ki lehet lesni a buszkapacitás függvényében a felhúzó javasolt értékét.
Mondhatjuk, hogy bármekkora a kapacitás, majd mi egy alacsony ellenállás értékkel hamar feltöltjük, és meg van oldva. Ez sem teljesen jó irány, mert a lehúzó elemeknek el kell viselniük a lehúzáskor azt az áramot, amit ezzel át kényszerítesz rajta.
A gyakorlatban 2k2-4K7 tartomány szokott használható lenni. Esetleg, de tényleg csak ritkán, ha meg akarjuk erőszakolni a túl nagy kapacitású vonalunkat le lehet menni 1k5-ig, de ez már nem annyira barátságos.

Avatar
csabeszq
Bitfaragó
Hozzászólások: 670
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: 60+15 nap alatt Arduino - #3..#5 : Az I2C kicsit másképp

HozzászólásSzerző: csabeszq » 2015. június 10. szerda, 8:32

Viszont breadboard-on szoktam használni a belső pull-up-ot és megy is.

Értelemszerűen amikor stabil, jól működő panelt építesz, oda kell a felhúzó, de amikor összeütsz ezt azt, akkor lehagyható.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60+15 nap alatt Arduino - #3..#5 : Az I2C kicsit másképp

HozzászólásSzerző: Robert » 2015. június 10. szerda, 18:17

Van olyan megoldás, amikor elég a belső is. Azonban itt is igaz, hogy ez gyenge felhúzás csak, és a külső zavarok megzavarhatják a kommunikációt.
Az okokról és a háttérről:
http://tavir.hu/konyv-tipushiba-3-pullup-ellenallas

és

http://tavir.hu/cikk-a-vagy-nema

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60+15 nap alatt Arduino - #3..#5 : Az I2C kicsit másképp

HozzászólásSzerző: Robert » 2015. június 10. szerda, 18:22

Egy kis leírás az I2C hátteréről...

A busz kapacitása van limitálva (400pF), és ez a felhúzóval egy késleltető RC tagot ad. Így a négyszögjel erős felfutása laposodik...
A 15. oldal környékén vannak a beszédes ábrák...
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.


Vissza: “60 nap alatt Arduino - Házi feladatok”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég