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
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...
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
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
@Freak5 UART hat nix mit Protokoll zu tun, was ist I²CAN? Du bist echt ein Oberschlaumeier, solche Antworten sind echt hilfreich...
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.
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
"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.
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
Oder hier: http://mc-project.de/Pages/AVR/Software/SPI_ATMega8.zip Eine einfache Kommunikation zweier ATMegas via SPI.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.