Hi, ich bin auf der Suche nach einem günstigen RS422-Chip mit etwas exotischen Spezifikationen: - mindestens 1900 kbps Übertragungsrate - Empfangsrichtung nicht zwingend erforderlich - serielle Datenübertragung zum Chip Der Chip soll an einen ATMega32 angebunden werden, auf Grund der voraussichtlichen Knappheit an IOs wäre eine serielle Übertragung der 16-Bit-Daten zum RS422 IC IMHO sinnvoll... Hat eventuell jemand einen heißen Tipp? Teure Lösungen spuckt mir Google en masse aus, aber bei preiswerten Lösungen wird es dünn.
> wäre eine serielle Übertragung der > 16-Bit-Daten zum RS422 IC IMHO sinnvoll... Wie meinst du das? Was ist bei dir das "RS422 IC"? Üblich ist es, einen UART zu verwenden und anschliessend die Pegel von 5V nach RS422 zu wandeln (und umgekehrt).
Hallo Elmi, nach 1 Minute googeln kam ich auf zu folgenden Grundlagen: http://de.wikipedia.org/wiki/EIA-422#Beschreibung Wenn ich mir das so ansehe hört sich das doch recht simple an. Dein Positive Signal nimmst du direkt von den Ausgang deine µC und den negativen erzeugste dir mit einem Invertierenden Verstärker mit einer Versärkung von Vug=1. Bauteilaufwand ca. 10ct. Gruß Philipp
Philipp F. schrieb: > Dein Positive Signal nimmst du direkt von den Ausgang deine µC und den > negativen erzeugste dir mit einem Invertierenden Verstärker mit einer > Versärkung von Vug=1. Bauteilaufwand ca. 10ct. So einfach ist es dann doch nicht, für die Lösung müsste ich mir meine Start- und Stoppbits nämlich selber erzeugen (was speziell für das Bit mit der Länge 1,5 durchaus Rechenaufwand erzeugt). Deswegen suche ich ja eine Lösung, bei der ich auf der einen Seite die Nutzdaten einspeise und auf der anderen mein RS422 Signal (samt passender Pegel) erhalte.
Müssen es umbedingt 1,5 Stopbit sein? Können es nicht 1 bzw. 2 sein? Dann könnte man den UART verwenden. Denn der generiert automatisch ein Start und ein bzw. zwei Stopbit's. Da reicht es dann, einfach die Daten in den Sendebuffer zu schreiben um die Daten zu senden.
> Dann könnte man den UART verwenden. Das wird sportlich, ich zitiere die erste Anforderung: >>> - mindestens 1900 kbps Übertragungsrate Mit einer Baudrate von mindestens fosc/8=1,9MBit/s ist eine Mindesttaktfrequenz fosc=15,2MHz nötig. Aber es ist eigentlich der einzige sinnvolle Weg...
Hallo Elmi, die Bausteine dürften nicht das Problem sein. Eher schon das Kabel. Da du 16-Bit-Werte übertragen willst, musst du beim UART wohl das 9-te Bit mitnehmen, um LSB und MSB zu unterscheiden. Mit start/stop-bit könntest du mit 20MHz Taktfrequenz auf eine Nettorate von so gerade diesem Wert kommen. Mehr als das bloße Empfangen und Senden schafft der ATMEGA aber dann nicht mehr. Wenn es keine Pausen bei der Übertragung zur Weiterverarbeitung gibt, brauchst du einen schnelleren Controller (AVR32?) Gruß, DetlevT
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.