Forum: Mikrocontroller und Digitale Elektronik AVR und SPI + I2C


von Netbandit (Gast)


Lesenswert?

Hallo,

ich plane ein Projekt mit einem ATmega32, mein erstes Projekt mit einem
AVR. Ich studiere gerade das Datenblatt und habe festgestellt, daß I2C
und SPI unterschiedliche Pins benutzen. Da ich mit dem AVR einen IC
über SPI steuern möchte und gleichzeitig ein EEPROM (i2c) verwenden
möchte stelle ich mir nun die Frage, ob man beides parallel laufen
lassen kann? Derzeit habe ich nichts gegenteiliges im Datenblatt
gefunden. Doch kenne ich es von den PICs, daß dies nicht möglich ist.

Vielleicht kann mir das jemand von den AVR Profis beantworten ;)

Danke im Vorraus,
Netbandit

von Netbandit (Gast)


Lesenswert?

Und schon taucht die nächste Frage auf: ISP :-)

Das Prinzip ist mir ja vom PIC bekannt, doch werden die PINs fürs SPI
(GND,VCC,SCK,MOSI,MISO,RESET) ja auch in der Schaltung verwendet. Daher
ist es bei bestimmten Pins eben notwendig beim Programmieren, den rest
der Schaltung abzukoppeln. Ich habe dazu ein AMP Note von Atmel
gefunden (
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf ) bei dem
die SCK,MOSI,MISO Pins mit 4,7KOhm Widerständen vom Rest der Schaltung
abgekoppelt werden. Reicht das tatsächlich aus? Und behindert das nicht
das SPI Modul bei der normalen Arbeit?

Reset muß ja nicht abgekoppelt werden, aber bei VCC sehe ich noch nicht
richtig durch... speist der Standart AVR ISP Programmer zum
Programmieren keine Spannung ein, sondern versorgt sich durch die
Spannung, welche die Schaltung selbst versorgt? In diesem Falle muß VCC
ja nicht abgekoppelt werden.

In diesem Falle schalte ich meine Schaltung einfach ein, stecke den
Programmer ran und starte mit AVR Studeo einfach das Programmieren und
nachdem er fertig programmiert ist geht der RESET Pin wieder auf 1 und
das Programm beginnt... sehe ich das richtig?

von Netbandit (Gast)


Lesenswert?

Gibt es denn gar niemanden, der mir auf meine Fragen antworten kann?

von Florian (Gast)


Lesenswert?

Ich denke die Note ist dabei doch sehr ausdrücklich. Die meisten
Programmer haben tristate outputs, d.h. wenn nicht programmiert wird
hängen die in der Luft und stören deine schaltun nicht. Andersrum
können die devices deine Schaltung nicht stören, da die 4k7 Widerstände
bloß 1mA durchlassen und somit die Leitung nicht auf ihren wert ziehen
können, sollte dieser vom programmer auf einem anderen pegel gehalten
werden. Und zu spinnen sollten irgendwelche slaves auch nicht anfangen,
da die bei spi erst über cs aktiviert werden müssen. Also u.U halt einen
 Pulldown/up je nach logik des cs pins an den pin ran, damit er
deaktiviert ist und gut ist. Und ja du kannst spi und i2c gleichzeitig
verwenden. Lässt sich meines wissens beides über interrupts regeln.
mfg Flo

von Netbandit (Gast)


Lesenswert?

Hi Flo,

ja an das mit dem /CS habe ich ja gar nicht gedacht, dann ist es ja
einleuchtend :)

Die Datenbätter von Atmel sind in der Tat gut gehalten, doch da mein
englisch nicht so perfekt ist wollte ich mich eben nochmal absichern.
Duch meine PIC Erfahrungen bin ich es halt gewohnt, daß I2C und SPI
durch die gleiche µC Hardware realisiert wird, daher diese vielleicht
etwas dummen Fragen.

Danke für deine Antwort
Netbandit

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.