Forum: Mikrocontroller und Digitale Elektronik Günstige RS422-Lösung gesucht


von Elmi (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> 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).

von Philipp F. (philipp5054)


Lesenswert?

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

von Elmi (Gast)


Lesenswert?

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.

von Fritz (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> 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...

von Detlev T. (detlevt)


Lesenswert?

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
Noch kein Account? Hier anmelden.