Forum: Mikrocontroller und Digitale Elektronik Kommunikation zwischen AVR <--> AVR


von Future Limit (Gast)


Lesenswert?

Hi Leute,

ich bin ein blutiger Anfänger im Bereich der µC. Ich habe hier zwei µC,
ein Atmega8 und einen 2313. Nun möchte ich zwischen den beider µC Daten
austauschen und weiterverarbeiten. Ich habe schon ein paar interessante
Artikel gelesen, leider waren diese immer nur für sehr spezielle
Probleme. Vielleicht könnt Ihr mir ja helfen.

Gruß
Olli

von Freak5 (Gast)


Lesenswert?

Du könntest dir einmal ein eigenes Protokoll schreiben. Das wäre sicher
unpraktikabel. Diese Controller haben für die Datenübertragung extra
schnittstellen UART oder so. Oder I²Can Bus. Ich denke, dass du die
einfach nehmen solltest. Genaueres wissen sicher andere. Benutzt habe
ich diese selber noch nie...

von Stefan (Gast)


Lesenswert?

Die universelle Lösung dafür gibt es sicherlich auch nicht. Die
Übertragungsart ist von Faktoren wie Übertragungsrate, Entfernung, usw.
abhängig.
Wenn du etwas genauer erklären würdest, worum es geht, würde das die
Beantwortung deiner Frage bedeutend erleichtern.

Grüße,

Stefan

von Future Limit (Gast)


Lesenswert?

Danke erstmal für euer Antworten.
Ich will eingentlich nur ein wenig spielen. Einfach mal verschiedene
einfache Sachen ausprobieren und mich dann steigern.

Gruß
Olli

von ---- (Gast)


Lesenswert?

@Freak5

UART hat nix mit Protokoll zu tun,

was ist I²CAN?

Du bist echt ein Oberschlaumeier, solche Antworten sind echt
hilfreich...

von Philipp Sªsse (Gast)


Lesenswert?

Die Minimaleinführung? Hm.

UART: die µC-Schnittstelle, der auch RS-232 und RS-485 zugrunde liegen.
Solange Du nur zwei Teilnehmer, unter einem Meter Entfernung und keine
riesigen Datenmengen hast, kannst Du einfach das TX des einen
Controllers mit dem RX des anderen verbinden. Dann bei beiden dieselben
Einstellungen für Baud/Bits/Parity/Stopbits wählen, Daten rausschreiben
und per Interrupt empfangen. Einführungen findest Du "überall".
Achtung: für eine zuverlässige Datenübertragung brauchst Du einen
geeigneten externen Quarz.

I2C: (überlappende Bezeichnungen TWI oder SSI oder ...) beruht auf
einer Datenleitung mit den zu übertragenden Bits und einer
Clockleitung, die angibt, wann die Bits auszulesen sind. Je nach
Controller gibt es darüber hinaus schon etwas Protokollunterstützung,
damit mehrere Teilnehmer am selben Bus hängen können (sonst macht man
das per Software). Auch hier findest Du genug Beispiele und
Einführungen.

Erfahrungsgemäß wollen die Leute dann irgendwann viele Teilnehmer an
einem Bus, wollen hohe Datenraten oder lange Kabel. Oder alles
zusammen. Dann stellen sie fest, daß sich ihre gewohnte
Lieblingsschnittstelle da nur mit allerlei Aufwand und Problemen derart
aufbohren läßt. Deswegen ist es nicht verkehrt, sich zeitig Gedanken zu
machen, wo man hinwill.

von Sebastian Knödler (Gast)


Lesenswert?

Ich denke eine einfache Datenübertragung zwischen zwei AVR's könnte
auch SPI bieten!
Wie weit auseinander das ganze darf weiß ich leider nicht, hört sich
aber an als wären die zwei recht nah beieinander. Über SPI kann man bei
bedarf auch mehrere "Teilnehmer" anschließen (dank ChipSelect) und die
Datenrate darf auch recht hoch sein!

MfG
Basti

von Freak5 (Gast)


Lesenswert?

"UART hat nix mit Protokoll zu tun,"
Ich weiß, das ist eine Schnittstelle. Aber wenn er die benutzt muss er
die Eingänge nicht mehr Pollen. Diese Schnittstellen sind Hardwaremäßig
auf den Chips unterstützt und deshalb würde ich darauf zugreifen anstatt
selber etwas zu entwerfen.(ist doch so, oder irre ich?)

Ich meinte I²C.

Zur Schlaumeieranschuldigung:
Ich habe mich mit dem Thema noch nicht befasst. Das ist erst am
Wochenende auf meiner Liste :-)
Trotzdem kann ich doch versuchen einen Stichpunkt zu nennen, wenn noch
keiner was Geschrieben hat, damit er vielleicht zufällig per google
oder sonstwie was findet.

Vielleicht hätte er sich ja auch an etwas errinnert oder jemand anders
hätte das getan.

von Future Limit (Gast)


Lesenswert?

Hi,

ich bin's schon wieder. Also ich habe jetzt die letzten zwei Tage eine
Menge gelesen, leider finde ich aber nichts Passendes. Denn wenn man
unter Google nach I²C oder SPI sucht, dann spuckt der tausende von
Seiten aus, auf denen meistens nichts Brauchbares für mich steht.
Vielleicht kennt Ihr ja ein nettes Tutorial (o.Ä.), welches z.B. die
Kommunikation via I²C beschreibt, oder auch andere Tutorials zum Thema:
"Kommunikation zwischen zwei Mikrocontrollern".

Gruß
Olli

von Chief Brady (Gast)


Lesenswert?

Schon mal an das naheliegenste gelesen?

-->  http://www.mikrocontroller.net/tutorial/uart

MfG
AJ

von Klaus (Gast)


Lesenswert?

Oder hier:
http://mc-project.de/Pages/AVR/Software/SPI_ATMega8.zip

Eine einfache Kommunikation zweier ATMegas via SPI.

von Michael Wilhelm (Gast)


Lesenswert?

Der 2313 hat keine SPI, die dem Programmierer zur Verfügung steht. Nur
zum ISP kann sie benutzt werden. UART oder I2C, wobei die I2C beim 2313
dann auch in Software realisiert werden muß. Also sind deine
Möglichkeiten soweit eingeschränkt, daß das Augenmerk wohl bei der UART
hängen bleibt.

MW

von TravelRec. (Gast)


Lesenswert?

Ich würd´ auch den UART nehmen, sehr unkompliziert, wenn einmal
initialisiert, ausreichend schnell und supereinfach zu bedienen
(eigentlich nur 2 Flags kontrollieren und 1 Register lesen oder
schreiben, das war´s). Probecodes gibt´s in neuen Datanblättern von
ATMEL.

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.