i2c

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
evildodo
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2009. február 4. szerda, 7:00

i2c

Hozzászólás Szerző: evildodo »

Sziasztok!
I2C felhúzóellenállásait hová célszerű elhelyezni a kapcsoláson? A BUSZ rendzser elején, vagy a végén?
Az én esetemben 2 elektronika lesz, kettőjök távolsága max 1m
"A" elektronikán van az avr, I2C eeprom, I2C RTC, stb
"B" Elektronikán I2Cportbővítő, 7segm. kijelző, stb...

Hová rakjam a 10k felhúzókat?
Geht nicht, Gibt's nicht!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Legfőképp a 10k-t a kukába:(
Az I2C stabil működéséhez 4k7...2k2 kellene...
de ha biztosra mész, mindkét részre raksz ellenállást.

Névlegesen (Philips doku) a busz mastertől legtávolabbi pontjára kell.
A buszkapacitás ne haladhja meg a 400pF-t, mert a buszkapacitás a felhúzóellenállással RCkört alkot és ha a buszfreki ezzel összemérhető, hibázik.

Ökölszabályként én a végpontra szoktam 2k2...3k3-t rakni.
Avatar
evildodo
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2009. február 4. szerda, 7:00

Hozzászólás Szerző: evildodo »

Robert írta:Legfőképp a 10k-t a kukába:(
Az I2C stabil működéséhez 4k7...2k2 kellene...
de ha biztosra mész, mindkét részre raksz ellenállást.

Névlegesen (Philips doku) a busz mastertől legtávolabbi pontjára kell.
A buszkapacitás ne haladhja meg a 400pF-t, mert a buszkapacitás a felhúzóellenállással RCkört alkot és ha a buszfreki ezzel összemérhető, hibázik.

Ökölszabályként én a végpontra szoktam 2k2...3k3-t rakni.
ŐŐŐ, pedig a Bascom kézikönyvben mintha 10k lenne..
A 400pF olvastam, az tiszta. Pedig szívem szerint én az AVR pinjére mindjárt rábiggyesztettem volna, de mint mindig, én hallgatok Rád, és a végére teszem a 2k7-et (az aranyközépúttal bepróbálkozom :))
Tisztelettel
Geht nicht, Gibt's nicht!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

10K a névleges....
De a tapasztalat sajna kisebbet mond:)
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

ultrahang

Hozzászólás Szerző: feherbalint »

Sziasztok!
Van egy LEGO ultrahang szenzorom, ami valószínüleg iic-n kommunikál. A lábkiosztást a wikipediáról néztem. http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT Itt látszik, hogy az NXT az RS485-ös kommunikációt támogatja, így lehet hogy az ultrahang is azon kommunikál. Hogy lehetne eldönteni, hogy iic-t vagy RS485-öt használ? Egyelőre ennyi lenne a kérdésem, remélem lesz, aki meg tudja válaszolni. Előre is köszi!
Bálint
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az IIC esetén a bekötött modulnál a GND-hez képest +tápot mérsz a kommunikációs lábon. 485 esetén az egyik 0...0,3*Vcc, a másik 0,7*Vcc...Vcc tartományban van.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

Köszönöm szépen, és is próbáltam google-ben keresni, de nem volt eredménye. Holnap szerzek hozzá kábelt, és kipróbálom!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Amúgy I2C :)

Az oldalon keress rá az I2Cdetect-re. Ezzel a programmal könnyen azonosíthatóvá válik az eszköz címe...
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

Most jutott eszembe, hogy az égetőm meg nem működik. :(
Ötletem nincs, hogy mi lehet vele, asszem az LPT ellenőrzésével kezdem. Majd ha van valami eredmény, jelentkezek.
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

sonar

Hozzászólás Szerző: feherbalint »

Na ma szereztem kábelt hozzá. Az iic tesztelő programot már tegnap kipróbáltam egy ds1624-gyel, és jól működött. Ma rákötöttem az ultrahangot a wikipedia alapján az avr-re- és adtam neki 4.3 volt tápot is. Azt vettem észre, hogy ha rákötöm az ultrahangot a 4.3voltra, akkor az visszaesik 2,2-re ( egy potival csináltam a 4.3voltot). Az iic tesztelő nem találja meg a buszon. Van valamit ötletetek?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Hát ha a fesz ekkorát esik, akkor szerintem zárlat, vagy hibás összekötés:(
Avatar
feherbalint
DrótVégénSzéndarab
Hozzászólások: 42
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: feherbalint »

Ha zárlat lenne, akkor megnőne az áramfelvétel, nem? Megmértem az áramot, 0,8mA. Ezt én meg már túl kevésnek találom. Az SDA és SCL vezetéket be sem kötöttem, csak a GND-t, és a 4.3 voltot. Jó lenne szétszedni, csak nem akar sikerülni. Eltörni meg nem akarom, mert nem az enyém. Még megpróbálom szétzedni, mert jó lenne látni, hogy mi van benne.
Avatar
zentus
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2010. január 14. csütörtök, 7:00

Hozzászólás Szerző: zentus »

Hali

Következő problémám lenne:
Egy Pcf8574AP típusú ic-t kötöttem egy atmega8-ra és valamiért nem működik.
A távolság pár centiméter 2,2k ellenállást használtam a busz-ra.
Oszcilloszkópon szépen látom az óra jelet és az adatot amit az IC-be tuszkolok bele.

Az IC adatlapja azt írja, hogy a címzési cím írás esetén: 01110000
de utána van egy A (acknowledge) van.
A súgója a bascomnak azt mondja, hogy:
I2CRBYTE var, ack/nack
I2CWBYTE val
Tehát írás esetén automatikusan adja ki a ack-t vagy nack-? vagy hogy lehet beadni neki írás esetén?

Kód: Egész kijelölése

$regfile = "m8def.dat"
$crystal = 4000000

Config Sda = Portc.4
Config Scl = Portc.5
Config I2cdelay = 10

Const Pcf8574apwrite = &B01110000

Do
  I2cstart
  I2cwbyte Pcf8574apwrite
  I2cwbyte &B01010101
  I2cstop
  Waitms 20
Loop

End
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A lépések:

1, I2Cdetect a mintaprogik közül.
http://avr.tavir.hu/modules.php?name=Co ... age&pid=94
-> bejelentkezik az IC?

2, Az I2Cinit sor kimaradt a programodból a Config soraid után...

3, az I2CRead után van csak Ack/Nack, írás után nem! (ez jelzi, h a master vár e mág olvasott adatot, vagy befejezte a kommunikációt).
Válasz küldése