Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Hrvoje Mojster
Pridružen/-a: Ned Apr 2005 13:50 Prispevkov: 48
|
Objavljeno: Sre Nov 23, 2005 11:01 pm Naslov sporočila: i2c |
|
|
lp, znam da nije dozvoljeno imati 2 mastera na komunikaciji ali htio bih komunicirati sa 2 at89cx051 kontrolera (naravno uz preostale skolopove koji su vec vezani na i2c komunikaciju). moze li se prograski odrediti koji od uC ce biti master a koji slave? |
|
Nazaj na vrh |
|
|
Gustav Profesionalec
Pridružen/-a: Pon Jun 2005 17:19 Prispevkov: 768
|
Objavljeno: Sre Nov 23, 2005 11:15 pm Naslov sporočila: |
|
|
Nisem vedel, da ti mikrokontrolerji sploh podpirajo I2C - zanimivo. Proizvajalec ta podatek skriva, v datasheetu tega namrec ne omenja |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
|
Nazaj na vrh |
|
|
Hrvoje Mojster
Pridružen/-a: Ned Apr 2005 13:50 Prispevkov: 48
|
Objavljeno: Čet Nov 24, 2005 10:16 am Naslov sporočila: |
|
|
Citiram: |
Da pa bila oba master - hmm, tega pa ne poznam...
|
krivo ste me razumjeli, pa ocito je da dva uC na istoj i2c komunikaciji ne mogu biti master, moje je pitanje bilo kako da odredim koji od uC ce biti master a koji slave?
Gustav, i2c nije izveden skopovski (integrirano u uC) vec samo programski, a definira se na bilo koje 2 nozice porta.
Pozdrav |
|
Nazaj na vrh |
|
|
bray Profesionalec
Pridružen/-a: Čet Jun 2004 15:42 Prispevkov: 63
|
Objavljeno: Čet Nov 24, 2005 3:19 pm Naslov sporočila: |
|
|
Hrvoje je napisal/a: | Citiram: |
Da pa bila oba master - hmm, tega pa ne poznam...
|
krivo ste me razumjeli, pa ocito je da dva uC na istoj i2c komunikaciji ne mogu biti master, moje je pitanje bilo kako da odredim koji od uC ce biti master a koji slave?
Gustav, i2c nije izveden skopovski (integrirano u uC) vec samo programski, a definira se na bilo koje 2 nozice porta.
Pozdrav |
Sicer ne poznam Bascom-a ampak imam obcutek, da te knjiznice ki so vgrajene in so softwerska emulacija ne omogocajo I2C slave. Torej lahko te knjiznice uporabis samo za I2C master, ki potem komunicira z ostalimi slave enotami. _________________ "I didn't know it was impossible when I did it."
http://bray.velenje.cx/avr/terminal |
|
Nazaj na vrh |
|
|
iskra Profesionalec
Pridružen/-a: Tor Jan 2004 16:29 Prispevkov: 254 Kraj: Sežana
|
Objavljeno: Čet Nov 24, 2005 5:15 pm Naslov sporočila: |
|
|
Bray , zakaj pa ti forum ne dela na tvoji strani ? |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Čet Nov 24, 2005 8:01 pm Naslov sporočila: Jaz sem uspešno postavil 2 at89c2051 master i2c nad skupnim |
|
|
Jaz sem uspešno postavil 2 at89c2051 master i2c nad skupnim 24cl04 slave-om.
Seveda ne oba istočasno. Uvedel sem nekakšen dogovor, kdaj kateri kmunicira s slave-om.
Vilko _________________ Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih. |
|
Nazaj na vrh |
|
|
Hrvoje Mojster
Pridružen/-a: Ned Apr 2005 13:50 Prispevkov: 48
|
Objavljeno: Čet Nov 24, 2005 9:08 pm Naslov sporočila: |
|
|
Citiram: |
Jaz sem uspešno postavil 2 at89c2051 master i2c nad skupnim 24cl04 slave-om.
Seveda ne oba istočasno.
|
jesu li oba uC istovremeno bila SPOJENA na i2c sabirnicu?
I jos ovo pitanje za sve: smiju li 2 uC biti spojena na isti kanal sa max232 na uC, istina nece oba odjednom komunicirati? |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Nov 25, 2005 7:03 am Naslov sporočila: da |
|
|
Citiram: | jesu li oba uC istovremeno bila SPOJENA na i2c sabirnicu? |
Da. Isti I2c Bus.
Pri vsakem procesorju sem žrtvoval en pin, ki sem ju povezal, kot na sliki. In potem sem v Bascomu približno tako komuniciral z i2c busom:
Koda: |
I2cfree alias P3.7
..
If i2cfree = 1 then
i2cfree = 0
... tukaj branje ali pisanje po i2c busu
..- in predno končam dam
i2cfree = 1
endif
|
Izbral sem na vsakem procesorju en portpin, ga zvezal z nekim portpinom drugega procesorja, in na oba skupaj dal en pull up upor.
Te porptpine sem potem definiral kot I2cfree alias portpin.
Če en procesor da da pin na low, s tem sporoča drugemu procesorju, "i1c bus je moj! Čakaj, da ga sprostim." _________________ Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih. |
|
Nazaj na vrh |
|
|
bglazar Mojster
Pridružen/-a: Pet Avg 2005 14:18 Prispevkov: 37 Kraj: Postojna
|
Objavljeno: Tor Dec 13, 2005 12:33 pm Naslov sporočila: |
|
|
I2C vodilo JE multimaster vodilo, kar pomeni, da je lahko na njem več naprav, ki so hkrati master.
Citiram: |
The I2C-bus specification (Philips):
Here are some of the features of the I2C-bus:
...
It’s a true multi-master bus including collision detection and arbitration to prevent data corruption if two or more masters simultaneously initiate data transfer
...
|
Kako zadevo rešiti v BASCOM-u pa ne vem. So pa stvari bolj advanced in verjetno enostavne vgrajene knjižnice ne bodo dovolj.
LP. |
|
Nazaj na vrh |
|
|
microera Začetnik
Pridružen/-a: Ned Nov 2005 11:32 Prispevkov: 13 Kraj: Ribnica
|
Objavljeno: Sob Dec 24, 2005 4:39 pm Naslov sporočila: |
|
|
[quote="Hrvoje"] Citiram: |
I jos ovo pitanje za sve: smiju li 2 uC biti spojena na isti kanal sa max232 na uC, istina nece oba odjednom komunicirati? |
DA |
|
Nazaj na vrh |
|
|
Miran J. Mojster
Pridružen/-a: Sre Dec 2004 1:38 Prispevkov: 49 Kraj: Jesenice
|
Objavljeno: Tor Jan 03, 2006 11:46 pm Naslov sporočila: |
|
|
Uporabljajte assembler, pa ne boste imeli težav, ter uporabo dodatnih pinov za I2C povezavo z večimi kontroleri med seboj in ostalimi salve IC.
l.p.
MIRAN |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Sre Jan 04, 2006 7:23 am Naslov sporočila: To ni tema |
|
|
Assembler ali Bascom ali kaj drugega ni tema tega razgovora.
O tem so se bile na forumu že prave verske vojne. In po vsaki vojni smo samo še poraženci. _________________ Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih. |
|
Nazaj na vrh |
|
|
MarE Profesionalec
Pridružen/-a: Pet Nov 2004 23:38 Prispevkov: 177
|
Objavljeno: Sre Jan 04, 2006 10:08 am Naslov sporočila: |
|
|
Jaz sem na enem projektu uporabil kar tole:
http://freebsd.active-venture.com/FreeBSD-srctree/newsrc/dev/iicbus/iicbb.c.html
če počistiš odvečno solato, lahko narediš prav lep, univerzalni, bit-banging driver za katerikoli projekt. Jaz sem tiste makroje (I2C_SET(dev,c,d);) za nastavljanje portov dodelal še tako, da lahko glede na device_t dev uporabiš poljubni par pinov in imaš lahko več I2C vodil. |
|
Nazaj na vrh |
|
|
logist Novinec
Pridružen/-a: Pet Okt 2010 9:08 Prispevkov: 6
|
Objavljeno: Ned Mar 27, 2011 10:22 am Naslov sporočila: |
|
|
Mene zanima naslednje če je pri ATTiny261 možno uporabljati I2C in SPI na istem vezju istočasno in kako, ker SPI in I2C uporabljata iste pine, ampak pri I2C je potrebno uporabit pull-up opore, kar pri SPI ni potrebno? Ali je boljše da uporabim ATmega48? _________________ Mihael |
|
Nazaj na vrh |
|
|
|