I2C Master/Slave

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
Zolee
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2009. április 29. szerda, 6:00

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

Sziasztok, tudom rosz helyre írok de égető a problémám!
több ATMEGA IC-t kötök össze a TWI rendszeren, 1db masterem van és sok sok slave, de maradjunk egyenlőre 1 slave-nél. Nem bascomot használok( ezért tudom hogy rosz helyre írok) , hanem AVR Studiot és winavr-gcc fordítót. A masteren a TWI rész a Peter Fleurys lenne, elvileg az működik is ha nincs rádugva slave. Szkóppal szépen látom hogy Start és cím bájtot küldene, de nincs rá válasz így fut a progi tovább.. A slave eszközön csupán inicializálom a TWI-t :
uint8_t TWIS_Init (uint8_t Address, uint32_t Bitrate)
{
TWBR = ((F_CPU/Bitrate)-16)/2;

TWAR = (Address << 1) | 1;
TWCR = (1<<TWEN)|(1<<TWEA) ;
}
Ezen felül semmit nem csinálok! A portok inicializálása is megtörténik, SDA és SCL lábakon a pull-up aktiválva van a biztonság kedvéért.
Na és most jön a talány:
Ugye a master SDA , SCL lábain szépen látom a tüskéket szkóppal, de amint rárakom a slave-t is a master befagy az első átvitel várakozásnál, itt:
while(!(TWCR & (1<<TWINT)));
Pedig a slave nem is csinál semmit! Ha kiveszem a slave programból a TWIS_Init -et akkor is befagy a master.
Elkötve nincsen a nyákon semmi, a masteren van egy külső felhúzó ellenállás is, jelenleg 3,3k .
Tudtok segíteni hol keressem a hibát?? :roll:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Elsőnek tipp:
Hogyan küldj a fórumba hozzászólást? ->
http://avr.tavir.hu/modules.php?name=Fo ... opic&t=828

Az ACK jelet vagy annak hiányát nem kezeled le.
Sok esetben _kell_ a külső pull-up (adás/vétel változik a SDA/SCK vonalon!)
Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

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

Tessék használni a buszon (SDA, SCL) a 4,7k felhúzó ellenállásokat! Ha hosszú a busz (Pl TV, DVD) akkor két 10k ellenállást is szoktak tenni!
Avatar
Zolee
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2009. április 29. szerda, 6:00

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

kovacsna írta:Tessék használni a buszon (SDA, SCL) a 4,7k felhúzó ellenállásokat! Ha hosszú a busz (Pl TV, DVD) akkor két 10k ellenállást is szoktak tenni!
Köszönöm szépen a tippeket.
Bocsánat ha rosszul használtam a fórumot "új" vagyok itt, és sürgős volt a dolog.
Külső felhúzó ellenállás is volt, de nevetni fogtok a megoldáson:
Minden jól működött az IC-n, amint a TWI aktiválódik az egyik TWI láb majdnem rövidre záródik a földre az ic-n belül. ATMEGA csere és teljesen jó minden!

Bocsánat hogy zaklattalak titeket, de legalább az én "hibámból" is lehet tanulni.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hihi :P

A fórumhasználatot úgyis pátyolgatom - semmi gond...

A TWI láb, az nem az ADC-vel közös?
Akkor hibás chip volt a bűnös?


Tessék csak zaklatni - ebből lehet igazán tanulni!
Avatar
Zolee
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2009. április 29. szerda, 6:00

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

Robert írta:Hihi :P

A fórumhasználatot úgyis pátyolgatom - semmi gond...

A TWI láb, az nem az ADC-vel közös?
Akkor hibás chip volt a bűnös?


Tessék csak zaklatni - ebből lehet igazán tanulni!
Szia
Igen. Chipet cseréltem és ugyanazzal a progival teljesen jól működött. Sajnos erre elég későn gondoltam, így pár napot elcsesztem vele, de mostmár erre is fogok figyelni :)
Avatar
Ecku01
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2011. szeptember 12. hétfő, 6:00

RTC real time clock + arduino

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

van egy PCF 8563P-s RTC-m + egy Arduino Duemilanove. az a kérdés, hogy az rtc lábait hova kössem?
egy kis segítség: http://www.hestore.hu/files/pcf8563p.pdf
és a program: http://www.arduino.cc/playground/Main/R ... entVersion

az egész elektronikában kezdő, vagyok, kb 1 hónapja kezdtem el ezt az egészet, ezért kellene egy kis segítség.
Előre is köszönöm!
Avatar
szegoj
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2010. február 4. csütörtök, 7:00

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

Ilyen IC van a Shieldboard Ext1-en. Annak a rajzát nézd meg (letöltések)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

I2C:
A5 és A4 lábak....

A DS1703-as chip is ezt hasznalja.
Avatar
Ecku01
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2011. szeptember 12. hétfő, 6:00

RTC real time clock + arduino

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

de ennek az ic-nek "csak" 8 lába van a DS1703-nak pedig 10.
és az 5. lába az SDA és a 6. az SCL.
és akkor a 8. lábra rákötöm a 3V-ot, a 4-es lába pedig a GND.
a 7. lábat ugye nem kell használni, és a 3. lábat hova kössem?

Sajnálom, még kezdő, vagyok a témában, de valahol el kell indulni :)
Avatar
szegoj
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2010. február 4. csütörtök, 7:00

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

Ecku01

Mellékelek egy rajzot, talán ez már segít.

Kép

üdv
Avatar
Ecku01
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2011. szeptember 12. hétfő, 6:00

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

köszönöm, ezzel rengeteget segítettél! még 1 apróság: ebben az RTC-ben nincsen benne egy 32,768 KHZ-es kvarc?
Avatar
szegoj
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2010. február 4. csütörtök, 7:00

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

Nincs (lásd www.hestore.hu/files/pcf8563p.pdf, 342. oldal), neked kell kivülről rákötnöd a jelzett kivezetésekre.
Avatar
szegoj
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2010. február 4. csütörtök, 7:00

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

Akarom mondani: 32. oldal.

És a tápfeszszűrö 100nF-os kondenzátort se felejtsed el!

Kép
A hozzászólást 1 alkalommal szerkesztették, utoljára szegoj 2011. szeptember 13. kedd, 18:24-kor.
Avatar
Ecku01
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2011. szeptember 12. hétfő, 6:00

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

még egyszer köszönök mindent, sokat segítettetek! :)
Válasz küldése