Wie/Womit Einstieg in I2C?

XP de.comp.hardware.misc, de.sci.electronics F'up2 de.comp.hardware.misc

Hallo zusammen!

Ich spiele seit ein paar Wochen mit zwei Raspis und möchte mich ein bisschen in i2c einarbeiten. Womit kann ich erstmal auf ganz einfache Weise etwas Simples anfangen? Muss ich mir erstmal eine Art Slave-Baustein zulegen? Was für einen?

Naja, bislang weiß ich nur, dass es sich bei i2c um einen Zweidraht-Bus handelt. Also noch nicht allzu viel ...

Für Tipps bedankt sich schonmal

Gregor

Reply to
Gregor Szaktilla
Loading thread data ...

Billig und einfach zu verwenden sind I2C EEPROMS. 24LC01B-I/P kostet 29 Cent bei Reichelt, da kannst du mehrere an einen Bus hängen und schauen ob das mit der Addresierung klappt und ob du zurücklesen kannst, was du reingeschrieben hast.

Viele Grüße, Johanens

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
 Click to see the full signature
Reply to
Johannes Bauer

Da gibt es viele Bausteine. Ein recht einfacher Baustein und gut geeignet zum Lernen, ist z.B. der PCA9555. Hier fertig aufgebaut, mit Serienwiderständen an allen IOs zum sicheren Experimentieren, und einem

3,3V Spannungsregler für die 5V vom Raspberry Pi (die 3,3V Leitung des Raspberry Pis darf nur mit maximal 50mA belastet werden)

formatting link

Nützlich ist auch der SE95 Temperatursensor. Damit kannst du relativ schnell einen Temperaturlogger bauen, der z.B. per Netzwerk abgefragt werden kann.

PS: Habe das Follow-up wieder gelöscht, da das Thema in de.sci.electronics auch gut passt.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Sowas in der Art würde ich auch vorschlagen. Der Vorteil bei einem Sensor ist erstmal, dass man damit anfangen kann, Daten auszulesen.

Wenn man mit einem EEProm anfängt, muss man erstmal was schreiben bevor man etwas lesen kann und wenn es nicht klappt, weiss man nicht, ob es an der Schreibroutine oder der Leseroutine lag.

Mein Tipp wäre ein PCF8583 gewesen. Das ist eine RTC mit einigen Bytes CMOS-Ram. Die Adressierung läuft aber nur über 8-Bit Adressen. Für EEProms benötigt man dann andere Routinen.

Es ist am Anfang eventuell einfacher, das I2C Protokoll per Software zu realisieren, als die Hardwarelösung des Controllers.

Gruß

Stefan

Reply to
Stefan

Am 15.10.2013 09:53, schrieb Gregor Szaktilla:

ich würde einen I2C Expander (z.B. PCA8574A) nehmen und LEDs bzw. Taster dranhängen.

Reply to
Eric Brücklmeier

Das währe für manche sogar ausgesprochen sinnvoll denn die Echtzeituhr fehlt im Raspi. Wer nicht am Netzwerk hängt ist zeitlos :-)

Der PCF8583 ist aber eher als zweiter Versuch geeignet weil er ein paar ordentliche Fallen bereithält.

Für erste Versuche tendier ich zum Portexpander.

Zur Kommunikation zwischen zwei Raspi ist IIC nicht wirklich geeignet.

--
MFG Gernot
Reply to
Gernot Fink

Am 15.10.2013 13:15, schrieb Gernot Fink:

Das glaube ich sofort. Was ich (vielleicht) damit realisieren möchte, ist die Kommunikation zwischen einem Raspi und einem oder mehreren ATmega168.

Gruß

Gregor

Reply to
Gregor Szaktilla

Gregor Szaktilla :

I2C-Slave ist nicht ohne, wenn der Mega da aber eine fertige und bugfreie Hardwarelösung hat, dann dürfte es eigentlich recht einfach gehen - ist aber nicht gerade das Einsteigerprojekt.

M.

Reply to
Matthias Weingart

Am 15.10.2013 10:15 schrieb Johannes Bauer:

Böse Falle: Mehrere von diesem Typ an einem Bus klappt ganz bestimmt nicht.

Es gibt aber auch (andere) Typen, bei denen die Anschlüsse A0 bis A2 tatsächlich etwas bewirken.

HTH Markus

Reply to
Markus Faust

Am 15.10.2013 14:30, schrieb Matthias Weingart:

Da würde ich auch eher SPI oder Uart vorschlagen.

Gruß

Stefan

Reply to
Stefan

Am 15.10.2013 15:57, schrieb Markus Faust:

Ha, wie krass! Danke für den Hinweis. Wie dämlich ist das denn? Ich hab nur auf die Beschaltung geschaut und dann noch auf Figure 3-2 (Control Byte Allocation), da stehen sie als "Block Select Bits" drinnen mit "x"en.

Unten drunter steht dann halt: "x = Don't Care".

Da kann man echt fies reinfallen. Warum nennen die dann die Pins überhaupt A0, A1, A2? Will Microchip seine Kunden reinreiten?

Viele Grüße, Johannes

Reply to
Johannes Bauer

Am 15.10.2013 14:30, schrieb Matthias Weingart:

Naja, Einsteiger will ich auch nicht bleiben :-)

Gruß

Gregor

Reply to
Gregor Szaktilla

Richtig! Und mit der A-Version lernt man auch gleich auf das Kleingedruckte im Datenblatt zu achten und nicht nur von anderen den Code abzuschreiben. :-)

Oh...und wenn es was exotisches sein darf. Reichelt hat doch tatsaechlich noch den SAA1064.

Olaf

Reply to
Olaf Kaluza

IIC als slave auf einem Multitasking/Multiserbetriebssystem ist ohne Zuasatzcontroller halt völlig danaben. Für mehr als ein akademisches "Na also. Es geht doch" reicht die Funktion nicht. Wegen des Wartens auf den Slave ist selbst eine 1200 Baud Uart Verbindung überlegen.

Mit zwei Raspi als IIC-Master geht das schon etwas besser. Wenn es sein muss nimm ein paar pcf8574 und klimper mit den Bits zusammen.

--
MFG Gernot
Reply to
Gernot Fink

snipped-for-privacy@gmx.net (Gernot Fink):

Nicht unbedingt. Wenn I2C-Slave als gute Hardware (I2C-UART mit Interruptfähigkeit) ordentlich in dem Controller (bzw. ARM) implementiert ist, dann geht das eigentlich. Allerdings sind diese I2C-UART oft ziemlich bugbehaftet, so dass man das dann doch lässt... ;-(

M.

Reply to
Matthias Weingart

In dem Magazin gibt es einen Artikel zum I2C. Selbst etwas Hintergrundwissen wird vermittelt.

formatting link

HTH, Alex

--
Wenn einem das Wasser bis zum Halse steht, sollte man nicht auch noch den Kopf 
hängen lassen. 
 Click to see the full signature
Reply to
Alexander Wolf

Am 15.10.2013 18:51, schrieb Olaf Kaluza:

Wieso noch? Den bekommst Du auch bei Farnell & Co...

Reply to
Eric Brücklmeier

Am 16.10.2013 20:20, schrieb Eric Brücklmeier:

Aber nicht im historischen DIL. ;-)

Gruß Dieter

Reply to
Dieter Wiedmann

Ich haette gedacht die sind schon lange obsolet. Die sind doch aus den

90ern. Es gab auch noch ein SAAxxxx da waren 6 oder 7 Leistungstreiber einem SIL Gehaeuse. Leuder habe ich die Nummer gerade vergessen.

Olaf

Reply to
Olaf Kaluza

Für I/O via I2C kenne ich auch noch den PCF8574 (8x I/O). Gabs neulich mal bei Pollin billig. Z.B. brauchbar um LEDs oder ein LCD mit

4Bit-Anschluss über I2C anzusprechen.

Gerrit

Reply to
Gerrit Heitsch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.