PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo kommt der I²C hin?



Trabukh
04.06.2004, 23:20
Moin!
Ich habe mich jetzt etwas in das Thema "Roboter bauen" eingearbeitet. Allerdings nicht gut genug, wie mir scheint. Ich weiß immer noch nicht, wo der I²C hinkommt. Brauch ich nach dem ATmega16 nur einen einzigen, der dann alles weitere steuert, oder benötige ich für jeden anderen IC einen neuen I²C?

MfG, Trabukh

04.06.2004, 23:22
Du mußt dir I2C-Bus nur als ein genormten Stecker vorstellen. Über den werden eben verschiedene Platinen oder auch IC´s verbunden.

Trabukh
04.06.2004, 23:26
Also brauch ich nur einen?

Frank
04.06.2004, 23:35
Deine Frage ergibt leider keinen richtigen Sinn, von daher ist das beantworten nicht einfach ;-) )Ich weiss garnicht was du machen willst? Gewöhnlich fängt man erst mal mit einem Board wie C-Control oder RN-Control an. Dann brauch man erst mal ne Weile garnix. Hat mat sich da etwas eingearbeitet und ein paar Beispiele programmiert, dann weiß man auch was I2C-Bus ist. Also nicht den zweiten Schritt vor dem ersten tun.
Fast jeder Controller hat einen I2C Anschluss. Abe rman braucht nicht für jede Anwendung mehrere Controller.

Trabukh
05.06.2004, 10:47
Gut, ich versuchs nochmal. Ich habe eine Grundschaltung mit dem ATmega16 erstellt. Jetzt will ich aber noch einen SD20 mit dazu nehmen, um Servos steuern zu können. Soweit ich weiß, brauch ich dafür aber einen I²C, oder liege ich da (mal wieder) falsch? Ich weiß, ich bin ein "Quereinsteiger", aber so ein "Fertigteil" hat irgendwie nicht so einen großen Reiz auf mich...

MfG, Trabukh

martin
05.06.2004, 10:55
Du brauchst nur "einen" I2C-bus, auch wenn du mehrere Peripheriebausteine ansteuern willst. Die müssen nur unterschiedliche I2C-Adressen haben, damit du sie getrennt ansprechen kannst.

Ich weiss jetzt nicht, ob der mega16 I2C Hardwaremässig kann, das erkennst du daran, dass dann zwei Pins mit SDA und SCL beschriftet sind.

Man kann I2C aber auch über Software machen.
Ich hätte da was in Assembler, wenns dich interssiert. (PN)

Grüsse, Martin

Frank
05.06.2004, 11:03
So ist es. Du mußt in jedem Fall die 2 Leutungen die am Mega mit SDA und SCL gekennzeichnet sind, mit den gleichen beim SD20 verbinden.
Dazu müssen noch die 2 Widerstände (da kannst du auch ca. 5KOhm bis 10 Kohm nehmen) an die Leitungen. Der andere Pol der Wiederstände muss auf Plus.
Danach ist es nur noch eine Sache der Programmierung.
Aber für den ersten Einsteigerschritt solltest du erst mal ein paar LED´s zum blinken bekommen. Rein zur Übung! Wenn man am Anfang zuviel macht und es dann nicht gleich klappt, verdirbt man sich oft selbst das feine Hobby.

Trabukh
05.06.2004, 11:18
Die LEDs leuchten doch schon längst...
Wie muss ich denn den I²C-Bus an den Atmega anschließen? Und wie muss die andere Peripherie an den I²C ran? Und, und, und... Gibts da nicht irgendeinen guten Artikel oder Link für?

MfG, Trabukh

Ach ja, danke für die schnellen Antworten! :-)

martin
05.06.2004, 12:01
Hat doch Frank gerade geschrieben:


Du mußt in jedem Fall die 2 Leutungen die am Mega mit SDA und SCL gekennzeichnet sind, mit den gleichen beim SD20 verbinden.
Dazu müssen noch die 2 Widerstände (da kannst du auch ca. 5KOhm bis 10 Kohm nehmen) an die Leitungen. Der andere Pol der Wiederstände muss auf Plus.


Lies dir mal folgendes durch, vielleich beantwortet das deine Fragen:
http://www.elektronik-kompendium.de/public/borchers/i2c/whatis.htm

Grüsse, Martin

Trabukh
05.06.2004, 12:06
Jajaja, aber er hat beschrieben, wie ich den SD20 direkt an den Mega anschließe. Brauch ich denn nicht noch den IC von Phillips? Außerdem soll nachher - wenn ich da mal durchsteige - noch ein LC-Display dran. Das ist zwar für mich noch Zukunftsmusik, aber irgendwann wird es passieren! :-)

lars2002
05.06.2004, 12:35
Hi,
nein du kannst den SD20 direkt über SDA/SCL an den Mega16 anschließen. An einem I2C Bus kann man auch mehrer Slaves (also z.B. ein SD20 und ein LCD) betreiben da jeder seine eigene Adresse bekommt, über die er dann angesprochen wird (ist wie eine Straße mit verschiedenen Häusern und Hausnummern ;)).

MfG Lars

Trabukh
05.06.2004, 12:53
Danke, der I²C-Bus läuft also von Haus aus beim Mega. Damit wäre meine Frage beantwortet.
Nochmals danke!

MfG, Trabukh

P.S.
Was ist denn dann der PCF8574?

Judgeman
05.06.2004, 13:35
Das ist ein Baustein der dem I2C-Master zusätzliche Ein-/Ausgänge zur verfügung stellt. Der PCF8574 ist also ein I2C-Slave Baustein, genauso wie der SD20, nur mit einer anderen Funktion. Es gibt auch noch AD-Wandler, Speicher, Clocks, .... alles was das Herz begehrt.

P.S.: Vergiss die Pull-Up Widerstände nicht, sonst funktioniert das ganze nicht wenn du den Mega16 mit dem SD20 verbindest. O:)

Trabukh
05.06.2004, 14:05
Danke an alle. Jetzt weiß ich (natürlich!) mehr...

The.Tomac
12.06.2004, 12:26
Ich gehör hier eigendlich nicht rein, aber von mir auch: Danke!
Ich habe einen eigenen thread zum i2c aufgemacht , aber eure Antworten haben mir schon sehr geholfen ,
freut micht , dass andere auch gerne wissen möchten, was I2C ist


Thx!
Gruß, Gregor