mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART und CAN ohne Gegenstelle testen (loopback?)


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich will eine RS232 Schnittstelle ohne eine Gegenstelle testen um zu 
sehen ob alles richtig verlötet ist und die Bauteile keine Fehler haben. 
Ich habe mir gedacht ich verbinde RxD und TxD miteinander (Stecker drauf 
an dem RxD und TxD verbunden sind). Dann schicke ich was raus und prüfe 
ob es genauso wieder ankommt.
Funktioniert das so im Prinzip oder ist das abhängig vom verwendeten 
Controller? Oder kann das gar nicht funktionieren?

Die CAN Schnittstelle will ich auch testen, die funktioniert nun aber ja 
ganz anders und ich denke ohne Gegenstelle wird kein kompletter 
Funktionstest möglich sein. Ich habe hier was von Loopback beim CAN 
gelesen, damit kann ich aber nur den Controller testen oder?

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, mit CAN kannst Du das komplett vergessen.


Auch mit UART ist dieser Funktionstest nur sehr eingeschränkt möglich 
bzw. sinnvoll.

Mit Scope tut man sich einfacher (UART) bzw. einen (alten) PC 
dranhängen, der noch eine RS232 hat.  Pins 2,3,5.

Einfaches Terminalprogramm verwenden, z.B.  "occonsole" von 
www.elektronikladen .

Oder aus DOS Zeiten bei uralter Kiste "TERM90" oder "TERM95".

Keinesfalls den "Hyperterminal" Mist.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei RS232 funktioniert das. Bei CAN nicht, da müssen für einen 
funktionsfähigen Bus mindestens 2 Nodes aktiv sein, sonst läuft der 
einzig verbleibenden Node nur der Errorcounter hoch.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jepp, so isses.
UART-loop-back funktioniert so, wie du es beschreibst.
Beim CAN hast du einen automatischen loop-back, da der CAN-Controller 
seine eigene Botschaft wieder empfängt. Stimmt die nicht, hast du 
entweder die Arbitrierung verloren (anderer Knoten überschreibt 
rezessive Bits im ID-Feld).
Treten Fehler in anderen Feldern auf, bekommst du diverse verschiedene 
Errors.
Im Prinzip kannst du mit passender Software auch einen Bus mit nur einem 
Knoten testen. Du musst nur verhindern, dass sich der sendende Knoten 
nicht totläuft und abschaltet, da er kein ack bekommt. Ob und wie das 
geht, weiss ich nicht.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK vielen Dank.
Damit habt ihr mir schon sehr geholfen.
Jetzt weiss ich in welcher Richtung ich mich weiter informieren muss :)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus wrote:

> Keinesfalls den "Hyperterminal" Mist.

Solche und ähnliche Aussagen über Hyperterminal liest man
oft in diesem Forum. Allerdings verstehe ich nicht wirklich
wie es dazu kommt. Was ist den an Hyperterminal 'Mist'?
HyT hat bei mir immer zuverlässig funktioniert und das getan
wofür es ausgelegt wurde. Das einzige was etwas nervt, ist
die ganze Einstellerei am Programmstart. Aber das wars dann
auch schon.

Autor: Ekschperde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm,

wenn ich mit meinem Hyperterm 10mal ein 'U' (=0x55) sende, kommt das 
beim Gegenüber an:
55 D5 55 D5 55 D5 55 D5 55 D5

Erst wenn Hyperterm ein Zeichen von der Gegenstelle empfängt sendet es 
korrekt:
55 55 55 55 55 55 55 55 55 55

Andere Applikationen die über RS-232 Daten senden, weisen diese Macke 
nicht auf, z.B. Br@y-Term, etc...


Hyperterm Ver:2600.xpsp1.020828-1920, 96008N1 No Handshake
Mutterbrett: K7S6A/SiS745
Serieller Treiber: Microsoft 5.1.2600.0
Inf.File: msports.inf

Solltest vielleicht auch mal testen... @Karl heinz Buchegger

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ekschperde wrote:

> Hyperterm Ver:2600.xpsp1.020828-1920, 96008N1 No Handshake
> Mutterbrett: K7S6A/SiS745
> Serieller Treiber: Microsoft 5.1.2600.0
> Inf.File: msports.inf
>
> Solltest vielleicht auch mal testen... @Karl heinz Buchegger


Gesagt, getan.
Kein Problem.

Autor: Ekschperde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, und hier reproduzierbar. (und nur bei Hyperterm)
Ich würd mich auf Hyperterm bei kritischen Dingen, wie Firmwaredownload, 
nicht mehr verlassen wollen.

P.S.: Sicher das Gegenstelle nicht doch schon ein Zeichen gesendet hat, 
z.B. eine Modeminitialisierung? Dann ist der Effekt nämlich weg.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ekschperde wrote:

> P.S.: Sicher das Gegenstelle nicht doch schon ein Zeichen gesendet hat,
> z.B. eine Modeminitialisierung? Dann ist der Effekt nämlich weg.

Yep.
AVR empfängt Zeichen, gibt sie per LED am Port aus und sendet selbst
nichts.

OK. Ich hab auf meinem HT (auf Win98) den Effekt nicht, was ja
nicht heissen soll, dass er nicht existiert. Ich glaub es euch ja.
Gut zu wissen, wenn mal jemand von diesem Effekt berichtet.
Damit ist HT allerdings dann wirklich unten durch. Werds in
Zukunft nicht mehr als USART Test empfehlen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.