Forum: Mikrocontroller und Digitale Elektronik AVR Schnittstellenauswahl für µC-µC und µC-Display Kommunikation


von Fabian F. (grottenolm)


Angehängte Dateien:

Lesenswert?

Hi Zusammen,

Ich habe folgende Probematik:
Zunächst mal das Display:

Ich brauche ein graphisches, monochromes Display mit Touchscreen und 
habe mich für das EA DOG 160xxx entschieden.
Ich habe einen Schaltplan mit dem Atmega 168 und diesem Display 
entsprechend der Datenblätter erstellt und sehen un vor dem Problem der 
Schnittstellenauswahl.

Nachdem ich nicht die Software scheibe habe ich wenig Ahnung welche 
Variante die sinvollste ist. Aus den Anforderungen (Daten müssen nur 
geschrieben werden, es gibt nur ein Display)erscheint mir das 4-Wire SPI 
das einfachste zu sein?

Hat da jemand einen Tipp? Eventuell auch das TWI?

Änhliche Fragestellung ergibt sich für die Kommunikation mit einem 
anderen µC.

Der µC auf diesem Board (3V) muss mit einem anderen Controller(5V) auf 
einem anderen Board bidirektional reden.
Demnach muss also die Verbindung galvanisch getrennt sein, oder die 
Pegel gewandelt werden.
Hier hab ich ebenfalls viel gesehen von Optokopplern über Open Collector 
Schaltungen zu Tenntrafos.
Hat das jemand Erfahrungwerte was am einfachsten/billigsten umzusetzen 
ist?

Hierbei ergibt sich auch die Frage welche Schnittstelle.
Beide Teilnehmer senden und Empfangen. Bei den Master-Slave-Topologien 
sehen ich nicht, wie ich Daten vom S zum M bekomme, nachdem ja der 
Master danach fragen muss. Könnte ich vielleicht über eine zusätzliche 
Leitung vom Slave zum Master eine Anfrage stellen? Oder werden 
Master/Slave dynamisch vergeben?
Über Das CS müsste man ja auswählen können, ob ich mit dem Display oder 
dem anderen µC kommunizieren möchte?

Ich brauch keine nennenswerten Datenraten. 0,5kb/s reichen völlig. Die 
Busleitung ist <2m. Nennenswerte EM-Störungen sind nicht zu erwarten.
Hat jemand einen Vorschlag? (CAN fällt aus da der vorhandene Bus nicht 
zu dieser Platine erweitert werden kann)

Wenn jemand Licht in das Dunkel bringen könnte, wäre dem mein 
Programmierer sicherlich zu ewigen dank verpflichtet :-)

von MCUA (Gast)


Lesenswert?

>Nachdem ich nicht die Software scheibe ...
Ich würd da auch keine Scheiben rein schneiden


>Der µC auf diesem Board (3V) muss mit einem anderen Controller(5V) auf
>einem anderen Board bidirektional reden.
>Demnach muss also die Verbindung galvanisch getrennt sein, oder die
>Pegel gewandelt werden.
Bidirekt. Kommunik. hat nichts mit galv. Trennung zu tun; die braucht 
man nur, wenn die U-Werte (-> Gleichtakt-U) zu weit abweichen.

Kommunik. uC <-> uC hängt stark von dem Datenaufkommen ab.
Möglichkeiten gibts unendlich viele. Sehr einfach ist SPI.

von Frank K. (fchk)


Lesenswert?

Fabian Feilcke schrieb:

> Nachdem ich nicht die Software scheibe habe ich wenig Ahnung welche
> Variante die sinvollste ist. Aus den Anforderungen (Daten müssen nur
> geschrieben werden, es gibt nur ein Display)erscheint mir das 4-Wire SPI
> das einfachste zu sein?

Genau. I2C ist mit mehr Software-Aufwand verbunden.

> Der µC auf diesem Board (3V) muss mit einem anderen Controller(5V) auf
> einem anderen Board bidirektional reden.
> Demnach muss also die Verbindung galvanisch getrennt sein, oder die
> Pegel gewandelt werden.

Dafür nimmst Du am einfachsten den noch freien UART. MAX3232 davor und 
fertig. Auf der anderen Seite ebenso. 08/15 Standard-Lösung. Du könntest 
das ganze auch auf TTL-Ebene machen, je nachdem, was insgesamt einfacher 
ist. Bei TTL macht Du die 3/5V Pegelwandlung mit je einem 74HCT und 
einem 74LVC Gatter (Hin-/Rückrichtung). Ist auch Standard.

fchk

von Fabian F. (grottenolm)


Lesenswert?

Super danke, das wars was ich wissen wollte. Ich nehme an für Rs232 
gibts schon fertige Libaries?

von Frank K. (fchk)


Lesenswert?

Fabian Feilcke schrieb:
> Super danke, das wars was ich wissen wollte. Ich nehme an für Rs232
> gibts schon fertige Libaries?

Das Rad ist erfunden. Außerdem ist es ziemlich einfach zu programmieren. 
Steht alles im Datenblatt des Prozessors.

fchk

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.