I2C

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
scoutmasterst
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2007. február 16. péntek, 7:00

I2C

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

Helló sziasztok!

A leírásokban láttam, hogy hogyan működik az I2C busz, illetve hogyan lehet megcímezni pl. egy i2c ic-t, de ha én egy mcu-ból egy másik mcu-t akarok címezni, akkor azok címeit hogyan állíthatom be? Előre is köszönöm!
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

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

Van már ilyen téma! :wink:
Megveszed a BASCOM kiegészítését I2C-Slave, 15 EUR:

http://www.mcselec.com/index.php?page=s ... p&Itemid=1
Avatar
scoutmasterst
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2007. február 16. péntek, 7:00

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

Kösz szépen...hát akkor ez gáz, tudnál valamit ajánlani nekem arra, ha csinálok egy projektet, és lenne egy fő vezérlő mcu-m, és a nagyobb alegységeket külön mcu-k vezérlik, és oda-vissza kapcsolatot akarok kialakítani a fő illetve az alegységek között. I2C, SPI, ...? Amúgy ez az egész egy boxban lenne, azaz a távolság pár 10 cm
Előre is köszönöm!
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

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

Attól függ, mit szeretnél átvinni. Az egyik projektemben ezt úgy csináltam meg, hogy két MCU közös I2C-s RAM-ot használ, ami 4016-tal van rálógatva mindkét buszra. A 4016 kapcsolgatja a buszra a RAM-ot, attól függően, hogy melyik MCU-nak kell. Az MCU-k figyelik egymást 1-1 vezetéken, így mindig csak az egyik fér a memóriához.

Több MCU-val is meglehet oldani ugyanezt, kérdés van-e akkora memória, ami neked elég.
Avatar
scoutmasterst
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2007. február 16. péntek, 7:00

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

Valójában azt szeretném elérni, hogy 2digites 7 segmenses kijelzőre vigyek ki adatot, de azt amit én akarok, ha pl. ledmultiplexbe kötöm őket, akkor is 10 kimenetre van szükségem, az meg sok. Így gondoltam csinálok egy modult, aminek az mcu-ja csak ezt vezérli, és ez az mcu 2 vagy (<10) szálon kapja az info-t egy másiktól. Amit mondtál az jónak tűnik, de valahogy máshogy nem lehetne megcsinálni?

Amúgy megvan az I2C slave lib meg az i2c kiterjesztett könyvtár, csak hogy kell használni?

Köszi a választ!
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

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

Hm. 8O Multiplexnél, 2 digitre csak 6 szál jön ki nekem. 2 a két digithez, 4 pedig a 4 bit, amivel a kijelzőmeghajtót (7447, 7448 és társai) vezérled.

A kérdés további része a BASCOM súgójában:
Use the CONFIG statement to specify the slave address:
Config I2cslave = &B01000000 ' same as &H40
Optional use : CONFIG I2CSLAVE = address, INT= int , TIMER = tmr

Where INT is INT0, INT1 etc. and TIMER is TIMER0, TIMER1 etc.
When using other interrupts or timers, you need to change the library source. The library was written for TIMER0 and INT0.
The I2C slave routines use the TIMER0 and INT0. You can not use these interrupts yourself. It also means that the SCL and SDA pins are fixed.
Avatar
scoutmasterst
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2007. február 16. péntek, 7:00

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

Ok! Köszi szépen ez így már ok! :D Még annyit szeretnék tudni, hogy mindenfajta mcu-val meglehet ezt csinálni (persze amin van i2c protokol)? Illetve azt, hogy mi is az az SPI és hogy működik, olyan mint az I2C? Köszi megint! :)
Avatar
TyuTyu
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2005. június 5. vasárnap, 6:00

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

scoutmasterst írta:Valójában azt szeretném elérni, hogy 2digites 7
.....
fyi:
erre van spec ic.... saa1064

TyuTyu
Avatar
scoutmasterst
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2007. február 16. péntek, 7:00

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

Az jó, de arra megkérhetnélek, hogy a működéséről írj egy pár szót? Köszi
Avatar
TyuTyu
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2005. június 5. vasárnap, 6:00

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

scoutmasterst írta:Az jó, de arra megkérhetnélek, hogy a működéséről írj egy pár szót? Köszi
hali,

ez egy 4 digites driver ic, amit i2c-n tudsz felprogramozni.
(mit jelezzen, fenyero, stb..). Ezek utan o mindent megcsinal.
persze ha a proci nagyon raer meg lehet ezeket csinalni sw-bol is...
ami jo, hogy a nyak viszonylag egyszeru lehet, mert a kijelzohoz csak
a bus+tap kell :-)

kulso tranyoval fejelheto es akkor nagy kijelzohoz is ok....

http://www.nxp.com/pip/SAA1064.html

ha tobb info kell szolj

TyuTyu
Avatar
scoutmasterst
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2007. február 16. péntek, 7:00

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

Köszönöm, nektek az infokat és a segítséget! :D
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10212
Csatlakozott: 2005. december 9. péntek, 7:00

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

Az I2C slaveről a samples alatt van minta. De a LIB az fizetős.

Csak TWI (hardveres) rendelkező chipnél szabad használni, a SW alapú I2C-slave az eléggé erőforrásigényes (minden órajel egy INT-et generál).

De érdemes szerintem - ha nincs spec elvárás - akkor célIC-t használni. Nálam sajna nem járható út:
- sorosan jön a kiirandó
- 3*6 db 7-szegmensesre kell írni
- fényerőállítás nem kell.

Ehhez viszont lazán kell a M16 chip:(
És ugye amit nem fizetnek meg, az a SW fejlesztés ideje...
A célIC és a üres kontroller közt párszáz Ft van...


Lassan nálam már gondolkodás tárgya kezd lenni a PLED kijelző...
Hooligan01

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

TWI(hardveres) i2c kezelésről szeretnék némi infót, vkinek van ebben gyakorlati tapasztalata?

Ha jól értelmeztem a felkutatott példákat és az avr-ek adatlapját, közvetlen a regisztereket kell turkálni, TWCR, TWDR, stb.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10212
Csatlakozott: 2005. december 9. péntek, 7:00

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

Master vagy Slave?

Masterre ott az I2C_TWI.lbx library....
Slave-ra meg kérdezz nyugodtan, kiveséztem - lassan cikk is lesz belőle...
Hooligan01

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

Csak a master érdekel. Már nézegettem az I2C_TWI libet.

Ha jól értelmezem, ugyan azokkal a parancsokkal lehet használni, mitha szoftveresen kezelném? (i2cwbyte, i2crbyte)
$lib"i2c_twi.lbx"
persze miután ezt beillesztettem a programba.

? :D
Válasz küldése