PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C EEproms



T.r.Agent D
17.07.2006, 11:02
Hi,

wie der Tietel schon verrät, will ich mit BASCOM und einem AVR einen EEPROM ansteuern. Ich hab dazu bereits einen Artikel gefunden.
https://www.roboternetz.de/wissen/index.php/Bascom_und_I2C_EEprom . Ich hab ihn mir bereits mehrmals durchgelesen, weiß aber noch immer nicht wie man die dinger anschließt. und auserdem, wie ist das, wenn man gleich mehrere anschließt. Und außerdem, wie ist das, wenn ich zwei AVRs an einem Dualport EEprom anschließe?

Vitis
17.07.2006, 12:37
Also, die 24er Serie ist n I2C bzw. in Atmel TWI EEPROM.
Du brauchst für die Datenkommunikation nur 2
Pins, SCL und SDA. Der TWI oder I2C ist eine Schnittstelle
für synchrone serielle Datenkommunikation mit 2
Busleitungen, daher auch TWI Two Wire Interface.
Eine Leitung transportiert die Daten selbst, die zweite gibt den
Takt an CL = Clock, DA = Data.
Alle Busteilnehmer werden einfach parallel an die 2 Busleitungen
hintereinander gehängt. Damit die sich nicht in die Quere
kommen hat jeder Slave eine Adresse, die ihn für den Master
eindeutig ansprechbar macht. Im Falle der 24cXXX Bausteine
sind das die A0 bis A2 Pins, die chipintern auf GND gezogen
werden, und durch Aussenbeschaltung mit +Ub 8 verschiedene
Variationen einnehmen können. Dadurch können 8
EEPROM von der Serie gleichzeitig an einem Bus betrieben werden.
Wichtig bei der Kommunikation, die Slaves müssen erst mit
Ihrer Adresse angesprochen werden, damit sie was Tun.
Währen der Kommunikation ist der Bus besetzt. Bei einem
Multimaster System müssen die Master den Bus im "Auge" behalten,
ob da eine Kommunikation läuft und auf ein Fenster warten um
in Aktion zu treten. Es können nicht gleichzeitig mehrere Aktionen
stattfinden, sonder nur nacheinander.
Ach so, zum physischen Aufbau, die Pullup-Widerstände nicht vergessen!!

Ach so, für Multimaster ist der TWI an sich nicht vorgesehen

PicNick
17.07.2006, 13:14
Ach so, für Multimaster ist der TWI an sich nicht vorgesehen

?? Kannst du das etwas näher erläutern ??

T.r.Agent D
17.07.2006, 13:20
Wie sieht denn das Ganze Schaltplanmässig aus?

Vitis
18.07.2006, 10:28
so in etwa ist das elektrisch:

http://www.sauf-den-wein.de/TWI.jpg


@PicNick:

es kann nur einer den Takt angeben, das kann zu Komplikationen
führen denk ich, lass mich aber gern überzeugen

T.r.Agent D
18.07.2006, 12:47
Wieso ist denn beim ersten EEPROM die +5 V Versorgung der mittlere Pin unten, und beim zweiten EEPROM die +5V Versorgung der Linke Pin Unten? Wie ist das dann beim dritten? Und wießo haben die alle die gleiche Addresse?

PicNick
18.07.2006, 12:58
@Vitis

..das kann zu Komplikationen ..
Wenn die Arbitrierung bei Multimaster eine Komplikation ist, dann hast du natürlich recht.
@T.r.Agent D
Au weia. das mit den 5 V ist nicht die Stromversorgung, die ist garnicht eingezeichnet.
Die EEPROMS haben aber drei (input) Pins A0-A2, an denen man mit GND oder +5V schaltermäßig eine Adresse einstellen kann.
Im Bild ist das von links nach rechts eben
000 001 010
Ergibt dann I2C Adresse A0 , A2 und A4

linux_80
18.07.2006, 21:34
Hallo,

ich wollte nochmal Einspruch erheben wegen dieses Satzes:


für Multimaster ist der TWI an sich nicht vorgesehen

ich glaub, das ist noch nicht überall ganz rübergekommen,
der TWI ist extrem Multimasterfähig, man muss es nur verwenden,
mit den Befehlen vom Bascom haut das glaub ich nicht immer so ganz hin, denn die blasen die Bytes einfach raus auf den Bus, und in den seltesten fällen wird in einem Programm (die sich hier so rumtreiben) der Status abgefragt,
so kann man natürlich keinen Multimaster TWI-Bus auf die Beine stellen.
Die wenigsten verwenden überhaupt den Hardware-TWI, also nochmal eine Stufe schlechter in Bezug auf Multimasterfähigkeit.



ende der durchsage,

Vitis
19.07.2006, 01:01
ok, dann halt Multimaster, auch gut.
Ich glaub aber, das der Threaderöffner sich um
Geschichten wie Token schon n Kopf machen
sollte, erst mal Schritt für Schritt, ertmal ein, dann 2, dann
3 EEPROMS per TWI ansprechen, dann das Andere.

ach so, wenns denn auch mit der Datenablage
schnell gehen soll kann man die 24c Typen durch
pinkompatible FRAMs ersetzen, die sind beim Speichern
ne ganze Ecke schneller, dafür halt auch um Faktor
X teurer

T.r.Agent D
19.07.2006, 12:25
Wie ist denn das eigentlich, wenn man zusätzlich zu den EEPROMs ein paar Microcontroller anschließt? Wie kann man denn bei denen die Adressen einstellen?

linux_80
19.07.2006, 13:00
Wenn die zusätzlichen µC als Slave arbeiten sollen, wird per Programm in ein TWI Register die Adresse hinerlegt.
Genaueres siehe TWI und TWI_Praxis im Wiki

Hanni
19.07.2006, 16:15
Wenn die zusätzlichen µC als Slave arbeiten sollen, wird per Programm in ein TWI Register die Adresse hinerlegt.
Genaueres siehe TWI und TWI_Praxis im Wiki

oder auch im Datenblatt.
Obwohl dieses im Bezug auf TWI zwar sehr ausführlich doch zum Teil auch sehr verwirrend ist.