Forum: Mikrocontroller und Digitale Elektronik SDA, SCL gleichzeitig als Ports und I2C?


von Hans (Gast)


Lesenswert?

Hallo,

kann man eigentlich die Anschlüsse SDA und SCL abwechselnd für die 
angeschlossenen I2C-Bauteile und dann als ganz normale Port-Ausgänge 
verwenden? Würde an die beiden Anschlüsse gerne 2 Datenbits vom LCD 
dranhängen.

Theoretisch sollte es laut Datenblatt (ATMEGA64) funktionieren, aber 
spielen da auch die anderen Bauteile mit?

Grüße
Hans

von O. D. (odbs)


Lesenswert?

Das geht. Du mußt dann nur jedesmal die Ports umkonfigurieren. Das 
Display bekommt kein Enable-Signal, solange Daten über I2C übertragen 
werden. Und umgekehrt muß dann natürlich auch irgendwie der I2C-Baustein 
abgekoppelt werden, während Daten zum/vom Display übertragen werden. Hat 
der ein CS-Eingang oder etwas vergleichbares?

von Hans (Gast)


Lesenswert?

Ich hab nicht nur einen I2C Baustein, sondern gleich mehrere. CS 
verwendet man nur bei SPI, also nein keiner der vier Bausteine hat einen 
CS-Eingang o.ä.

Geht es dann doch nicht?

von Hans (Gast)


Lesenswert?

Habe die Schaltung aufgebaut und sie funktioniert problemlos.

Man muss nur beachten, dass das Enable-Signal des LCD auf einer eigenen 
Leitung liegt. Weiters muss das TWI-Interface (bei atmega über TWCR) 
immer abgeschalten werden, wenn man SDA oder SCL als Ausgänge (Ports) 
nutzen will!

von ecslowhand (Gast)


Lesenswert?

Wenn Dein ATMEGA als SingleMaster läuf, ist das i.O. Ich benutze im 
Hinblick auf eventl. Multi-Master für solche Anwendungen immer einen 
I2C-Repeater (bsp. PCA9515A).

Lg EC

von Peter D. (peda)


Lesenswert?

Du mußt dann aber drauf achten, daß nie SDA von 1->0 gesetzt wird, 
während SCL = 1 ist.
Das könnte dann von den Slaves als Start empfangen werden und dann 
könnten sie dem LCD dazwischen funken.


Peter

von Hans (Gast)


Lesenswert?

Danke für den Tipp, hab ich als Sicherheit noch in den Code integriert.

Hans

von Frank Z. (frankovic)


Lesenswert?

...hat nix mit I²C zu tun, aber das Prinzip, Ports gleichzeitig für 
verschieden Zwecke zu verwenden, scheint ziemlich verbreitet zu sein.
hab mal einen alten Taschenrechner aus den 70ern mit TMS0103-Prozessor 
aufgemacht.
Da hängt die Tastatur an den gleichen Ports wie die Transistor-Basen für 
die gemultiplexten Nixie-Röhren.
Während dem Multiplexen wird also an den gerade nicht als Ausgängen 
aktiven Ports die Matrixtastatur
abgefragt.

Frank

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.