Hallo, kurze Verständnis-Frage: Ich schaue mir gerade die Beschreibung für das "TMS320F28335 eZdsp Starter Kit" von TI an. Da steht das Board habe ein > RS-232 interface with on-board transceiver (http://focus.ti.com/docs/toolsw/folders/print/tmdsez28335.html#Features) Was heißt das denn jetzt genau, das da ein "on-board transceiver" dabei ist? Ich dachte ein Interface beinhaltet, dass man über die Schnittstelle senden und empfangen kann. Bzw was ist der Unterschied zu einem Gerät mit einem > Isolated RS-232 interface http://focus.ti.com/docs/toolsw/folders/print/tmdscncd28335.html#Features ? Beide Boards umfassen den TMS320F28335 Digital Signal Controller von TI der ein SCI mit UART Unterstützung hat. Mein Ziel ist es mit dem Prozessor möglichst ohne Umstände über USB zu kommunizieren. Er hat zwar keine USB Schnittstelle aber SCI (UART) Module die ich ja dann über einen entsprechenden Konverter/Adapter (FT232R, TUSB3410) an USB anschließen könnte. Wäre nett wenn mir das jemand erläutern würde. Gruß, David
David H. schrieb: >> RS-232 interface with on-board transceiver Heißt einfach, dass da ein Pegelwandler (MAX232) dabei ist - wie mein Vorredner schon sagte. Die RS232 Pegel für den PC sind andere wie die die der µC liefern kann. Darum ein Pegelwandler. Er wandelt die Signale so, dass dein µC nicht in Rauch aufgeht wenn der PC sendet und "verstärkt" ganz salop gesagt die Signale für den PC. Ganz nebenbei: Achtung beim Programmieren - diese netten MAX232 invertieren das Signal ....
Hi >Ganz nebenbei: Achtung beim Programmieren - diese netten MAX232 >invertieren das Signal .... Blödsinn. Invertieren heißt aus einem L ein H bzw. aus einem H ein L zu machen. Und das macht ein MAX232 nicht . MfG Spess
naja, ein bißchen schon. Aus einem MC-Low (0V, logisch 0) wird ein RS232-High (10 V bei MAX232, ebenfalls logisch 0) und aus einem MC-High (5V, logisch 1) wird ein RS232-Low (-10 V, logisch 1). Also logisch bleibt es gleich, spannungsmäßig wird es schon invertiert (und auch noch ins Negative gestreckt). Die Frage ist halt, ob man mit "invertieren" logisch oder elektrisch meint.
Hi
>naja, ein bißchen schon.
Wie ein bißchen schwanger?
Ein H auf der TTL-Seite wird als H auf der RS232-Seite ausgegeben. Und
das entspricht ganz und gar nicht meinen Vorstellungen eines Inverters.
Die LOgikpegel sind dabei uninteressant.
MfG Spess
spess53 schrieb: > Ein H auf der TTL-Seite wird als H auf der RS232-Seite ausgegeben. Aus dem Maxim-Datenblat zum MAX232 (u.a.) zum Thema RS232-Receiver: "EIA/TIA-232E and V.28 specifications define a voltage level greater than 3V as a logic 0, so all receivers invert." Siehe auch die Kopie aus dem DB (Figure 1+2).
Hi Ich finde diese Beschreibung besser: The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply TIA/EIA-232-F voltage levels from a single 5-V supply. Each receiver converts TIA/EIA-232-F inputs to 5-V TTL/CMOS levels. These receivers have a typical threshold of 1.3 V, a typical hysteresis of 0.5 V, and can accept ±30-V inputs. Each driver converts TTL/CMOS input levels into TIA/EIA-232-F levels. MfG Spess
Da steht aber nicht, daß die levels gleichsinnig sind.
@David H.: > RS-232 interface with on-board transceiver Bei diesem Board ist, wie schon die Vorposter geschrieben haben, der Pegelwandler eingebaut, der die 3,3V-Logikpegel des DSC in RS-232-Pegel umwandelt. Erst dadurch wird aus einer UART-Schnittstelle eine echte RS-232-Schnittstelle, die ohne zusätzliche Konverterschaltung direkt mit einem anderen RS-232-Gerät (bspw. mit einem PC) verbunden werden kann. > Isolated RS-232 interface Dieses Board enthält ebenfalls einen RS-232-Pegelwandler, zusätzlich ist die Schnittstelle aber noch von den restlichen Board-Komponenten galva- nisch getrennt. Dies hat den Vorteil, dass die beiden über RS-232 mit- einander vebundenen Geräte nicht auf dem gleichen Massepotential liegen müssen. Nachteilig ist, dass der Pegelwandler und der Isolatorbaustein des Boards von extern mit Strom versorgt werden müssen. Es reicht also nicht, das Board über ein einfaches Kabel mit dem PC zu verbinden. Braucht man die galvanische Trennung nicht, kann man sie mit Lötbrücken überbrücken. Dann verhält sich die Schnittstelle wie beim anderen Board ohne galvanische Trennung. > Mein Ziel ist es mit dem Prozessor möglichst ohne Umstände über USB zu > kommunizieren. Er hat zwar keine USB Schnittstelle aber SCI (UART) > Module die ich ja dann über einen entsprechenden Konverter/Adapter > (FT232R, TUSB3410) an USB anschließen könnte. Da (zumindest beim zweiten Board mit der galvanischen Trennung) die UART-Pins des DS über die DIMM-Leiste nach außen geführt sind, kannst du unter Umgehung des Pegelwandlers direkt einen FT232R o.ä. anschließen. Evtl. muss dazu eine Lötbrücke entfernt werden, um Konflikte mit dem Pegelwandler bzw. dem Isolatorbaustein zu vermeiden. Alternativ kannst du natürlich auch einen fertigen USB<->RS-232-Konver- ter aus dem PC-Shop an den Pegelwandler des Boards anschließen.
spess53 schrieb: > Blödsinn. Invertieren heißt aus einem L ein H bzw. aus einem H ein L zu > machen. Und das macht ein MAX232 nicht . Doch genau das macht ein MAX232. Das kann man zum einen an dem von Klaus geposteten Zitat erkennen: > "EIA/TIA-232E and V.28 specifications define a voltage > level greater than 3V as a logic 0, so all receivers invert." Zum andern erkennt man im Datenblatt an den Spitzen der Dreiecke, die die Treiber symbolisieren, kleine Kreise, die anzeigen, dass hier das Signal invertiert wird. Ganz abgesehen davon kann man die Spannungspegel auch nachmessen, um zu sehen, dass H (hohe Spannung) in L (niedrige Spannung) umgewandelt wird und umgekehrt. Was oft zur Verwirrung führt ist die Tastsache, dass der Treiber zwar die elektrischen Signale (H und L), nicht aber die Binärwerte (1 und 0) invertiert. Da die RS-232-Übertragung in negativer Logik arbeitet, entspricht auf der Leitung ein H-Pegel einer binären 0 und ein L-Pegel einer binären 1. Hättest du in deiner Aussage also H durch 1 und L durch 0 ersetzt, hättest du recht gehabt ;-)
Hi >Ganz abgesehen davon kann man die Spannungspegel auch nachmessen, um zu >sehen, dass H (hohe Spannung) in L (niedrige Spannung) umgewandelt wird >und umgekehrt Seit wann bedeutet H hohe Spannung und L niedrige Spannung? Kennt hier niemand negative Logik? http://de.wikipedia.org/wiki/Logikpegel MfG Spess
Hi, Yalu X. schrieb: > spess53 schrieb: >> Blödsinn. Invertieren heißt aus einem L ein H bzw. aus einem H ein L zu >> machen. Und das macht ein MAX232 nicht . > > Doch genau das macht ein MAX232. Das kann man zum einen an dem von Klaus > geposteten Zitat erkennen: > ... > > Ganz abgesehen davon kann man die Spannungspegel auch nachmessen, um zu > sehen, dass H (hohe Spannung) in L (niedrige Spannung) umgewandelt wird > und umgekehrt. > > Was oft zur Verwirrung führt ist die Tastsache, dass der Treiber zwar > die elektrischen Signale (H und L), nicht aber die Binärwerte (1 und 0) > invertiert. Da die RS-232-Übertragung in negativer Logik arbeitet, > entspricht auf der Leitung ein H-Pegel einer binären 0 und ein L-Pegel > einer binären 1. Hättest du in deiner Aussage also H durch 1 und L durch > 0 ersetzt, hättest du recht gehabt ;-) Du meinst zwar Grundsätzlich das richtige... Aber irgendwie doch falscht ausgedrückt. Wobei: Es liegt einzig und alleine daran wie man H & L bzw 1 & 0 definiert. Worauf wir uns glaube ich alle einigen können ist die Tatsache das ein MAX232 aus +5V an der TTL Seite ein Ausgangssignal (V24 Seitig) von -10V macht. Bei 0V an der TTL Seite macht er +10V V.24 Seitig. Oder ist etwa jemand ernsthaft anderer Meinung ? Sowohl in der Ausbildung als auch im Studium habe ich aber gelernt das sowohl die Angaben Hi und Lo so wie 1 und 0 eigendlich unabhängig von der Tatsächlichen Spannung gesehen werden können. Das muss man dann anhand der Bezugsebene festlegen... Nun können wir auch noch True & False mit reinnehmen. Wobei ich gar nicht behaupten will das das jetzt die einzig richtige Auslegung ist... Kann gut sein das es woanders unterschiedlich gehnadhabt wird. Ist ja so, das wenn ich beim µC den Port für RS232 händisch auf TRUE setze ich -10 V hinter dem RS232 habe... Habe schon Compiler gesehen wo ich statt 1 oder True auch HI schreiben kann! Allerdings zeigt bei mir die Erfahrung das es für mich völlig irrelevant ist welche Spannungspolarität auf der V.24 Seite anliegt. Dies dürfte für den absoluten Großteil der anderen User hier ebendfalls so sein... Dazwischen ist halt immer der MAX oder ein anderer Wandler - oder man geht direkt an einen PC. Einzige Ausnahme dürfte es geben wenn man den Treiber einsparen will und direkt auf die V.24 seite zugreifen will. Ist möglich aber kaum noch üblich. Und natürlich bei der Entwicklung von Halbleitern für die V.24 Seite... Gruß Carsten
Lehrmann Michael schrieb: > Ganz nebenbei: Achtung beim Programmieren - diese netten MAX232 > invertieren das Signal .... Da brauchst du gar nichts beachten! Wenn du allerdings mit dem Skope auf der Leitung misst und die Daten interpretieren willst, dann musst du bei dieser Auswertung darauf achten und wissen, welche Spannungspegel einer logischen Null oder Eins entsprechen. Wichtig ist, dass man beim Programmieren deshalb nicht dieses Umsetzen auf die Leitungsebene betrachten muss und einfach vergessen kann! Hier ist es völlig egal, was der PHY auf der Leitung ausgibt - solange es der Vereinbarung entspricht und sich alle anderen PHYs daran halten. Mir fällte keiner der RS232-Treiber ein, der das nicht machen würde ...
spess53 schrieb: >>Ganz abgesehen davon kann man die Spannungspegel auch nachmessen, um zu >>sehen, dass H (hohe Spannung) in L (niedrige Spannung) umgewandelt wird >>und umgekehrt > > Seit wann bedeutet H hohe Spannung und L niedrige Spannung? Die Antwort hast du mit dem Verlinken des Wikipedia-Artikels schon gegeben: "In der Regel sind die Informationen binär codiert und somit sind auch zwei Spannungs-Pegel erforderlich, um die Logikwerte zu repräsentieren: der High-Pegel, die höhere Spannung, entspricht meist ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ nahezu der Betriebsspannung; der Low-Pegel als niedrigere Spannung ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ liegt meist nahe bei 0 Volt (Bezugsmasse, kurz GND von engl. ground)." Das ergibt sich aber auch ganz einfach aus der Übersetzung der englischen Wörter "high" und "low". > Kennt hier niemand negative Logik? Doch, und wer es nicht weiß, kann es im Wikipedia nachlesen: "In der sogenannten positiven Logik kodiert der High-Pegel die Binärwert 1 und der Low-Pegel den Binärwert 0, in negativer Logik stellt High-Pegel die 0 und der Low-Pegel die 1 dar." Aber das deckt sich doch exakt mit dem, was ich oben geschrieben habe: > Da die RS-232-Übertragung in negativer Logik arbeitet, entspricht auf > der Leitung ein H-Pegel einer binären 0 und ein L-Pegel einer binären > 1. Hat ein bestimmtes Bit des von der Software gesendeten Bytes den Wert 1, wird diese 1 vom Prozessor (positive Logik) in einen H-Pegel (+5V oder +3,3V) umgesetzt. Der UART ändert daran nichts, er sorgt lediglich für das richtige Timing. Der Inverter im Pegelwandler macht daraus ca. -10V, also einen L-Pegel. Da die RS-232-Übertragung in negativer Logik erfolgt, bleibt der Binärwert aber trotz der Signalinvertierung 1. Im Pegelwandler des Empfängers wird das Signal erneut invertiert, so dass der dortige UART wieder einen H-Pegel sieht. Der UART reicht den Pegel unverändert an den Prozessor (positiver Logik) weiter, der ihn als eine 1 interpretiert.
Vielen Dank für die zahlreichen Antworten!
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.