Forum: Mikrocontroller und Digitale Elektronik I2C und SPI nebeneinander nutzen?


von Jonas H. (Gast)


Lesenswert?

Hi!

Ich muss an einen AVR ein I2C und ein SPI Baustein anschließen. Nun 
benutzt der SPI und der I2C-Port beim AVR ja z.T. die selben Pins.

Wie kann ich beide Bausteine (evt. mit einem Umschaltsignal) getrennt 
ansteuern? (Gleichzeitige Ansteuerung ist nicht nötig, entweder SPI oder 
I2C) Welchen 74er etc. benutzt man am besten zum Umschalten oder kann 
ich einfach beide IC's anschließen und das CS-Signal des jeweiligen 
Chips benutzen.

Gruß Jonas

von MdeWendt (Gast)


Lesenswert?

Hallo,

bei welchem Atmel benutzt SPI und I2C die gleichen Pins? Der mega163 
jedenfalls nicht. Und wenn du "Software I2C" machst kannst du ja 
entscheiden welche Pins fürs I2C benutzt werden.


Martin

von Jonas H. (Gast)


Lesenswert?

Danke für die Antwort!

...beim ATMega128

Software I2C wäre möglich ist aber leider langsam. Gibt es da keine 
elegantere Lösung?

Gruß Jonas

von Peter D. (peda)


Lesenswert?

Software-I2C ist nie zu langsam sondern immer viel zu schnell, d.h. Du 
mußt NOPs oder Delayschleifen einfügen.

Bei Standard-I2C muß jeder Takt mindestens 10µs lang sein (100kBit), bei 
größeren I2C-EEPROMS (>8kByte) sind bei 5V auch 400kBit erlaubt.

SPI + I2C über die gleichen Leitungen ist überhaupt kein Problem, siehe:

http://www.mikrocontroller.net/forum/read-1-16836.html


Peter

von Jonas H. (Gast)


Lesenswert?

@peter d.

Vielen Dank! Werde das dann softwaremäßig ausprobieren. Dann habe ich 
mehr Spielraum.

Wenn aber doch beide IC's an die I2C/ISP Pins anschließe, sollten die 
dann durch R's entkoppelt werden?

Gruß Jonas

von mikki merten (Gast)


Lesenswert?

@Jonas
Auch beim MEGA128 sind SPI bzw. I2C/TWI an unterschiedlichen Port-Pins 
gleichzeitig verfügbar. Pin 10 - Pin 14 SPI und Pin 25/26 I2C/TWI 
Interface.

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.