|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pon Jun 07, 2004 10:53 am Naslov sporočila: I2C serijski upori, čemu? |
|
|
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 |
|
|
Silvo Profesionalec
Pridružen/-a: Tor Jan 2004 19:06 Prispevkov: 234
|
Objavljeno: Pon Jun 07, 2004 11:07 am Naslov sporočila: |
|
|
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 . Upam, da sem bil dovolj jasen. |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pon Jun 07, 2004 1:16 pm Naslov sporočila: Hvala, pojasnil si, čemu so pool up upori. |
|
|
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 |
|
|
red_mamba Profesionalec
Pridružen/-a: Tor Jan 2004 16:44 Prispevkov: 181 Kraj: Mozirje
|
Objavljeno: Pon Jun 07, 2004 1:25 pm Naslov sporočila: |
|
|
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 |
|
|
Silvo Profesionalec
Pridružen/-a: Tor Jan 2004 19:06 Prispevkov: 234
|
Objavljeno: Pon Jun 07, 2004 3:50 pm Naslov sporočila: |
|
|
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 |
|
|
red_mamba Profesionalec
Pridružen/-a: Tor Jan 2004 16:44 Prispevkov: 181 Kraj: Mozirje
|
Objavljeno: Pon Jun 07, 2004 5:10 pm Naslov sporočila: |
|
|
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
bolje 20 sit za 2 upora kot 2000SIT za nov uC
previdnost je mati modrosti _________________ 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 |
|
|
Silvo Profesionalec
Pridružen/-a: Tor Jan 2004 19:06 Prispevkov: 234
|
Objavljeno: Pon Jun 07, 2004 6:59 pm Naslov sporočila: |
|
|
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.
lp
Silvo |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pon Jun 07, 2004 7:12 pm Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pon Jun 07, 2004 7:17 pm Naslov sporočila: Pa še to |
|
|
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 |
|
|
Silvo Profesionalec
Pridružen/-a: Tor Jan 2004 19:06 Prispevkov: 234
|
Objavljeno: Pon Jun 07, 2004 8:49 pm Naslov sporočila: |
|
|
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 |
|
|
red_mamba Profesionalec
Pridružen/-a: Tor Jan 2004 16:44 Prispevkov: 181 Kraj: Mozirje
|
Objavljeno: Pon Jun 07, 2004 10:04 pm Naslov sporočila: |
|
|
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 |
|
|
Silvo Profesionalec
Pridružen/-a: Tor Jan 2004 19:06 Prispevkov: 234
|
Objavljeno: Pon Jun 07, 2004 10:56 pm Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Tor Jun 08, 2004 1:37 am Naslov sporočila: Ej, ej, ej, brate, o'ladi! |
|
|
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 |
|
|
red_mamba Profesionalec
Pridružen/-a: Tor Jan 2004 16:44 Prispevkov: 181 Kraj: Mozirje
|
Objavljeno: Tor Jun 08, 2004 3:41 pm Naslov sporočila: |
|
|
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 _________________ 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 |
|
|
SimonS Profesionalec
Pridružen/-a: Pon Jan 2004 17:52 Prispevkov: 181 Kraj: Kobarid
|
Objavljeno: Sre Jun 09, 2004 3:15 pm Naslov sporočila: |
|
|
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 |
|
|
|
|
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
|