Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

I2C serijski upori, čemu?
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jun 07, 2004 10:53 am    Naslov sporočila: I2C serijski upori, čemu? Odgovori s citatom

Postavljam izkušenim vprašanje:

Pri povezavi I2C elementov z mikroprocesorjem ne smemo pozabiti na 'pull up' upore, to razumem. Toda nekje sem videl sliko, da je treba tudi v seriji z SCL in SDA linijami vezati upora 330 Ohmov pri vsakem I2C elementu.

Doslej sem delal brez teh uporov, in nisem imel problemov. Ali lahko pričakujem probleme, če jih ne dam?

Vilko

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Pon Jun 07, 2004 11:07 am    Naslov sporočila: Odgovori s citatom

O sami I2C rutini sem kar precej pisal na www2.maxi.si.
Na kratko:
"Gospodar" na vodilu naj bi linijo le vlačil proti - Proti + pa naj bi jo držali pullup upori. Zakaj je to dobro? Če je na vodilu več "gospodarjev" se preverja, če je vodilo prosto na način, če sta SCL ter SDA visoka. "Gospodar" ki želi uporabljat vodilo "potegne" SDA navzdol ter tako ostalim "gospodarjem pove", da je vodilo zasedeno. Če bi "gospodarji" ki vodla ne potrebujejo le to držali navzgor tisti, ki bi ga potreboval, bi ga težko spravil na dol Wink . Upam, da sem bil dovolj jasen.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jun 07, 2004 1:16 pm    Naslov sporočila: Hvala, pojasnil si, čemu so pool up upori. Odgovori s citatom

Hvala, Silvo,

pojasnil si, čemu so pool up upori. To sem predpostavljal.
Nisi pa pojasnil, čemu so serijski upori, (ki jih ne uporabljam, in vseeno dela, pa me zanima, ali me zato, ker jih ne uporabljam, udari kje, ko ne bom pričakoval.

Pozdrav
Vilko

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
red_mamba
Profesionalec


Pridružen/-a: Tor Jan 2004 16:44
Prispevkov: 181
Kraj: Mozirje

PrispevekObjavljeno: Pon Jun 07, 2004 1:25 pm    Naslov sporočila: Odgovori s citatom

ti upori so mislim da samo za zaščito uC pinov, da slučajno nebi i2C naprava sklenila uC pina ki je na +5V direkt na maso. Potem bi stekel prevelik tok in uničil pin na uC.
_________________
Bad things happen to good people all the time for no reason!
Štrom: http://www.red-mamba.com & http://www.red-mamba.biz
Prosti čas: http://www.maddogs-clan.org
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Pon Jun 07, 2004 3:50 pm    Naslov sporočila: Odgovori s citatom

Serijski upori niso potrebni. (govorim o "pametnem" programiranju v assemblerju) Ne vem kako to "delajo" razni basc%&*$. Kot sem že omenil, ko želiš na izhodu nizko stanje definiraš port kot nizek IZHOD. Ko definiraš visoko stanje ta IZHOD le priklopiš na visokoomski VHOD. Vsa "butasta" periferija na I2C vodilu zna pin potegnit le navzdol tako, da v nobenem primeru ne more priti do preobremenitve. Vse kar drži pine na visokem stanju so pullup upori.

lp
Silvo
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
red_mamba
Profesionalec


Pridružen/-a: Tor Jan 2004 16:44
Prispevkov: 181
Kraj: Mozirje

PrispevekObjavljeno: Pon Jun 07, 2004 5:10 pm    Naslov sporočila: Odgovori s citatom

silvo to je ress samo ti predpostavljaš da so tudi uC pini high-Z tipa. Kaj pa če boš enkrat delal z drugim uCjem ki ima push-pull izhod. Potem se bo pa samo pokadilo Very Happy

bolje 20 sit za 2 upora kot 2000SIT za nov uC Twisted Evil
previdnost je mati modrosti Very Happy

_________________
Bad things happen to good people all the time for no reason!
Štrom: http://www.red-mamba.com & http://www.red-mamba.biz
Prosti čas: http://www.maddogs-clan.org
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Pon Jun 07, 2004 6:59 pm    Naslov sporočila: Odgovori s citatom

Ne vem sicer o katerih mikrokotrolerjih je govora. Pri picu to "dima" ne more priti v nobenem primeru - seveda ob pravilnem programiranju.

recimo:

Koda:


H_BIT
bsf STATUS,RP0 ;bank1
bsf  TRISB,1       ;visok VHOD
bcf STATUS,RP0 ;bank0
return

L_BIT

bcf PORTB,1
bsf STATUS,RP0
bcf TRISB,1         ;nizek IZHOD
bcf STATUS,RP0
return



Skoraj prepričan sem, da je podobno možno izvesti z vsakim mikrokotrolerjem. Tukaj "dima" ne bo. Wink

lp
Silvo
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jun 07, 2004 7:12 pm    Naslov sporočila: Odgovori s citatom

ALi je mozno, da je to zascita i2c elementov? Ce recimo on daje izhod high, mikro pa down, bo rezultat seveda down, toda koliksen tok bo tekel iz I2C pina proti masi v takem slucaju. Seveda je to odvisno od notranje upornosti izhoda I2C elementa. Pojma nimam, kaksna je le ta.

No, sem pa vesel, da slisim mnenje večih.

Pozdrav
VS

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jun 07, 2004 7:17 pm    Naslov sporočila: Pa še to Odgovori s citatom

Vsa čast programerjem, ki programirajo brez napak, saj si to mislil, ko si rekel pametno programiranje. Jaz pa se le ne cenim tako, da se ne bi želel zaščititi pred svojo zmotljivostjo...
Rad imam vezja, ki so varna pred mojimi napakami.

Pozdrav
VS

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Pon Jun 07, 2004 8:49 pm    Naslov sporočila: Odgovori s citatom

Citiram:
...Vsa čast programerjem, ki programirajo brez napak ...


Če si zgoraj prebral vsa "butasta" periferija (vse kar ni mikrokotroler oz. element z lastno programibilno "pametjo" ) ne zna drugega kot pin vlačit na dol. Tok bo pač takšen kakršni bodo pullup upori. Jaka umetnost je napisat dve zgornji rutinci ter eno kličeš za visoko ter drugo za nizko stanje ?.... Seveda je to govora o assemblerju ... kako to delajo višji jeziki ne vem, ter me niti ne briga...

lp
Silvo
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
red_mamba
Profesionalec


Pridružen/-a: Tor Jan 2004 16:44
Prispevkov: 181
Kraj: Mozirje

PrispevekObjavljeno: Pon Jun 07, 2004 10:04 pm    Naslov sporočila: Odgovori s citatom

Ubistvu to nima nič veze z software-om, ampak se gre samo za hardware.

PIC-i imajo pine tipa odprt kolektor in vsi uCji kjer so "izhodi" takšnega tipa ni problema. (kako je danes pa res ne vem ker sem se nazadnje pred več kot 5 leti z 16F84 ukvarjal)
Pri AVRjih (Atmelih) je lahko pin tudi izvor toka. Torej že je izvor toka potem postavi +5V na pin tako da ga MOSFET poveže na +5V. In ti tukaj brez uporov na I2C SCL in SDA linijah butasta periferija potegne pin na maso. Kar pomeni da če poenostaviš ti je I2C napravica naredila kratek stik med 0 in +5V. Zato je dobro uporabljat upore na I2C vodilu.

Predstavljaj si da bo nekdo gledal tvoje vezje za PIC potem bo pa pozkusil tako priključit na kak drug uC pa ga bo uničil pa niti nebo vedel zakaj in kaj se je zgodilo.

_________________
Bad things happen to good people all the time for no reason!
Štrom: http://www.red-mamba.com & http://www.red-mamba.biz
Prosti čas: http://www.maddogs-clan.org
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Pon Jun 07, 2004 10:56 pm    Naslov sporočila: Odgovori s citatom

Citiram:
Predstavljaj si da bo nekdo gledal tvoje vezje za PIC potem bo pa pozkusil tako priključit na kak drug uC pa ga bo uničil pa niti nebo vedel zakaj in kaj se je zgodilo.



... daj ne piši bedarij ... "tvoj" mikrokontroler ki baje rabi seriske upore ne bo pogoltnil programa programa od "mojega" tako, da ni straha, da bi kaj skuril ... zame je debata tukaj o I2C končana ...
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jun 08, 2004 1:37 am    Naslov sporočila: Ej, ej, ej, brate, o'ladi! Odgovori s citatom

Ej, fantje, ne pregrevajte se, da ne pregore varovalke. Vsi smo tukaj dobre volje, da kaj povemo, nič ni narobe, če kdo kaj pove narobe, nič ni narobe, če nekdo drug tudi pove, da je prvi povedal narobe, le besede morajo biti primerne!

Hvala za poduk o Atmelih, jaz sem še vedno na 8051 nivoju in se še nisem preklopil na atmele, čeprav sem iz več strani slišal, da so 'in', kot to sedaj pravijo. Nekako počasi se učim novih stvari, a to kar si napisal o izhodu atmela, da je pri 'high' tudi vir toka, je zame novost, ki je ne bom pozabil.

Tudi se mi zdi popolnoma razumljivo, in tudi jaz do počenjam, da če vidim neko vezje povezano z recimo PIC-om, in bi si ga znal predelati na 2051, to tudi naredim. Seveda, naredim potem program po svoji pameti.

Povzetek in zaključek: Serijski upori pri 8051 in PIC-ih za i2c elemente ne bodo potrebni, so pa potrebni pri AVR-jih.

Hvala vsem za diskusijo in poduk.

Pozdrav
Vilko

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
red_mamba
Profesionalec


Pridružen/-a: Tor Jan 2004 16:44
Prispevkov: 181
Kraj: Mozirje

PrispevekObjavljeno: Tor Jun 08, 2004 3:41 pm    Naslov sporočila: Odgovori s citatom

Silvo je napisal/a:
Citiram:
Predstavljaj si da bo nekdo gledal tvoje vezje za PIC potem bo pa pozkusil tako priključit na kak drug uC pa ga bo uničil pa niti nebo vedel zakaj in kaj se je zgodilo.



... daj ne piši bedarij ... "tvoj" mikrokontroler ki baje rabi seriske upore ne bo pogoltnil programa programa od "mojega" tako, da ni straha, da bi kaj skuril ... zame je debata tukaj o I2C končana ...


Ne vem od kod je bedarija dejstvo da lahko pride do kratkega stika in do uničenja hardwear-a.
Če upori nebi bili potrebni potem jih Philipsovi stručkoti nebi tišali v svoje specifikacije. Ampak so verjetno preštudirali vse možne situacije na I2C vodilu in upori rešijo problem kratkega stika.

drugi odstavek si malo preveč v jezi napisal ker ni ničemur podoben in vsaj jaz ne vem kaj si mislil povedati Rolling Eyes

_________________
Bad things happen to good people all the time for no reason!
Štrom: http://www.red-mamba.com & http://www.red-mamba.biz
Prosti čas: http://www.maddogs-clan.org
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
SimonS
Profesionalec


Pridružen/-a: Pon Jan 2004 17:52
Prispevkov: 181
Kraj: Kobarid

PrispevekObjavljeno: Sre Jun 09, 2004 3:15 pm    Naslov sporočila: Odgovori s citatom

No, no, no
Pa ne se kregat ljudje bozji. Raje gremo na pir jaz castim!
Recimo, da veliko studiram I2C, pa prilagam moje skromno mnenje. Naceloma ima Red mamba prav. Ce imate cip (atmeli), ki ima ze interne pull up upore, lahko mirne duse izpustite zunanje pull up uporcke, saj s tem ze sam uC poskrbi da so nivoji na visokem. Ce pa uporabljate drugacne uCje, ki delujejo v nacinu open drain ali podobno v tem primiru pa je potrebno dodati zunanje upore, saj imamo drugace logicno stanje nizko. Na tak nacin je tudi veliko lazje povezati vec "sefov" v sistem.

_________________
Skupaj smo mocnejsi
LP Simon
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group