Forum: Mikrocontroller und Digitale Elektronik USB 2 RS232 Convert funktioniert nicht am Olimex SAM7 P256


von ratloser_gast (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich bin etwas ratlos.

Ich habe nach dem Schaltplan im Anhang mir einen USB 2 RS232 Adapter 
gebaut.

Das Ding funktioniert auch ganz gut. Wenn ich direkt eine COM 
Schnittstelle von meinem PC anschließe kann ich über 2 Terminals Sachen 
hin und her schicken.

Nun hab ich das Ding an einem Olimex SAM7 P256 angeschlossen.
Doch da tut sich gar nichts. Das Board reagiert nicht auf Befehle.

Wenn ich das Olimex Board direkt an den COM Port hänge funktioniert die 
Übertragung.

Was mache ich falsch?

Herzlichen Dank.

von Thomas E. (thomase)


Lesenswert?

ratloser_gast schrieb:
> Was mache ich falsch?

Dein Konverter hat keine Steuerleitungen. Wahrscheinlich wird da 
irgendwas vom Board erwartet.

Hardware-Flow-Control am Board abschalten(?).

mfg.

von ratloser_gast (Gast)


Lesenswert?


von Thomas E. (thomase)


Lesenswert?

Bei deinem Konverter sind die Anschlüsse 2 und 3 vertauscht.

mfg.

von ratloser_gast (Gast)


Lesenswert?

Was meinst du mit 2 und 3? Ich steh auf dem Schlauch.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Es geht um die Verbindung zwischen MAX232 und dem SUB-D-Stecker. Den 
hast Du falsch belegt.

von ratloser_gast (Gast)


Lesenswert?

Hm,
ich glaube, dass is nur falsch benannt.

Am MAX232 liegt es doch richtig an.

Außerdem sollte die Verbindung am PC dann auch nicht funktionieren?


Ich glaub ich bin mit den Namen nicht ganz konsistent, da ich auf dem 
Layout das kreuzen der Leitungen eingebaut habe.

von ratloser_gast (Gast)


Lesenswert?

Hat irgendwer noch ne Idee?

Mir is das Unerklärlich.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn Du dieses Interface direkt mit einer seriellen Schnittstelle eines 
PCs verbinden kannst, und es dann funktioniert, Du aber auch die 
Olimex-Platine direkt mit einer seriellen Schnittstelle eines PCs 
verbinden kannst, und die dann auch funktioniert, dann hast Du die 
Leitungen RxD und TxD vertauscht, bzw. solltest ein Nullmodemkabel 
verwenden.

von ratloser_gast (Gast)


Lesenswert?

Hallo,
kann es sein, dass ich ein Pegel Problem habe?
Wenn ich nicht durch den MAX 232 gehe sondern direkt die TXD und RXD 
Signale abgreife, funktioniert die Kommunikation.

Wie kann ich mir ohne Oszi ansehen welche Pegel aus dem MAX232 raus 
kommen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

O weh.

Wenn Du mit einem Kabel zwischen der seriellen Schnittstelle des PCs und 
der Olimex-Platine eine Kommunikation zustandebekommst, und jetzt aber 
den FT232 direkt mit der Olimex-Platine verbindest, ohne einen 
Pegelkonverter zu verwenden, dann stimmt da irgendwas nicht mit Deiner 
Beschreibung.

von ratloser_gast (Gast)


Lesenswert?

Wie oben im Schaltplan zusehen, habe ich PINs vorgesehen und RXD und TXD 
direkt von dem FT232 anzugreifen. Das Olimex Board hat ebenfalls die 
Pins TXD0 RXD0 des SAM7 herausgeführt. Die Verbindung so, wollte ich 
aber nur zum Testen machen. Die Kabelbrücken sind schon lästig.

Deshalb würde ich lieber die SUB-D Stecker direkt verbinden.

Gewünschter Weg
 USB - FT232 - MAX232 - MAX232 - SAM7

Funktionierende Wege
 USB - FT232 - SAM7
 COM - MAX232 - SAM7

 USB - FT232 - MAX232 - COM (nur zum testen)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jetzt wird einiges klarer. Schön, daß man erst mit der Spitzzange in der 
Nase herumbohren muss, bis solche Informationen gegeben werden.

ratloser_gast schrieb:
> Gewünschter Weg
>  USB - FT232 - MAX232 - MAX232 - SAM7

Und für diesen Fall wirst Du den 9poligen Steckverbinder an Deinem 
selbstgebastelten USB-RS232-Adapter falsch belegt haben.

Es gibt zwei unterschiedliche Belegungen für serielle Schnittstellen, 
die man üblicherweise auch durch die Art des Anschlusses kennzeichnet:

DTE* - verwendet einen Stecker (das Ding mit Stiften) und hat (bei 
9poliger Ausführung) TxD auf Pin 3 und RxD auf Pin 2

DCE - verwendet eine Buchse (das Ding mit Löchern), hier ist TxD auf Pin 
2 und RxD auf Pin 3.

Diese beiden Anschlüsse werden direkt, 1:1 miteinander verbunden, so daß 
die vom DCE auf TxD ausgegebenen Daten im RxD des DTE landen.

Möchte man zwei DTEs direkt miteinander kommunizieren lassen, benötigt 
man ein spezielles sogenanntes Nullmodemkabel, das TxD und RxD über 
Kreuz miteinander verbindet.

Dein PC ist ein DTE, Deine Olimex-Platine ist ein DCE.

Deswegen können die beiden direkt miteinander verbunden werden.

Deinen USB-RS232-Adapter hast Du so aufgebaut, daß er ein DCE ist, 
deswegen kannst Du ihn direkt mit dem PC verbinden.

Du musst Deinen USB-RS232-Adapter aber so aufbauen, daß er wie die 
serielle Schnittstelle eines PCs, also als DTE belegt ist.
Um ihn mit einem PC zu verbinden, musst Du dann ein Nullmodemkabel 
verwenden.


Wird es langsam etwas klarer?

*) Das Akronym steht für das nichtssagende data terminal equipment, 
während DCE für data communications equipment steht. Jetzt ist alles 
klar, nicht?

von ratloser_gast (Gast)


Lesenswert?

Hallo,
Danke. Ja das ist klar. Dachte das hatte ich bedacht aber dem ist doch 
nicht so.
Ich werds mit nem Null Modem Kabel probieren.

Tut mir Leid, dass ich nicht alle Infos gleich parat hatte.

Danke für die Hilfe

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.