Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] MAX232 Problem
elektronikmaus
30.01.2005, 12:45
Zur Zeit arbeite ich gerade an einer seriellen Datenkomunikation zwischen MC80C535 und dem PC. Dabei tritt folgendes Problem auf.
Der MC kann Daten an den PC senden (HyperTerminal) aber nicht richtig empfangen. Was das seltsame ist, dass das hoechste Bit beim Wiederholen eines Zeichen jeweils invertiert wird, der Rest wird richtig an den MC uebertragen und verarbeitet. Das Problem muesste am MAX232 liegen, da ich mit einem Counter die Flankenanzahl am Ausgang R1OUT gemessen habe und diese immer um 1 Flanke unterschiedlich war.
Mein bisheriges Vorgehen:
- Austausch der Elko's; von 2,2µF auf 1µF, danach auf 10µF. Dabei trat immer das gleiche Problem auf.
- Untersuchung auf kalte Loetstellen
- Leiterbahnenueberpruefung
- MAX232 ausgetauscht
Koennte es daran liegen, dass ich anstatt den Elkos, Tantalkondens. benutzten sollte?
Hat irgendjemand eine Erklaerung fuer dieses Phaenomaen.
Fuer jegliche Hilfe waere ich dankbar:-)
Chris
Andree-HB
30.01.2005, 13:03
...ich denke mal es wäre höchst ungewöhnlich, wenn es an dem Chip liegen würde - er macht ja nix, ausser lediglich korrekte Pegel für die RS232 zur Verfügung zu stellen. Am Besten könnte man mit einem Oszi messen, ob am Ausgang das Gleiche herauskommt, wie es Eingang geliefert wird.
Ich tippe eher auf fehlerhafte Baudrate !
Mögliche Fehlerquelle wär noch das Timing, stell sicher, dass du mit
der von dir benutzten Taktquelle Quarz(/-oszillator etc.) auch die eingestellten T.raten deines Hyperterminals erfüllen kannst.
Danke fuer die schnellen Antworten:-)
Ich habe einen 12Mhz Oszi. Mit diesem ist es moeglich mit 9600Baud am MC zu arbeiten. Das Terminalprogramm arbeitet auch mit 9600.
Ausserdem habe ich bereits versucht andere Baudraten zu benutzen mit dem gleichen Effekt.
Seltsamerweise weisen die Eingangssignale deutlich mehr Flanken auf als die Ausgangssignale vom MAX (unabhaengig vom MC).
Ich habe am Nullmodemkabel einmal ohne MAX gemessen. (TxD und RxD
verbunden und Pin5 auf GND gelegt). Dabei kamen die richtige Anzahl von
Flanken.
coldfirev3
31.01.2005, 10:54
Der Fehler liegt woanders..............
ist schon eine lange weile her als ich mit den 535 gearbeitet habe, aber die haben viele Betriebsarten und mir scheint daß deine Register falsch gesetzt sind.
Überprüfe mal die Programmvorgaben für Datenbits/Stoppbits/Parität/Modus
Der 535 kann über UART nicht nur RS232 sondern auch andere, beispielsweise auch Hardlinks zu weiteren Prozessoren(wobei das Protocol hierbei addressiert)
Ich arbeite zur Zeit nicht direkt mit dem MC.
Mein Ziel ist erst eine saubere Flankenanzahl die spaeter zu meinem MC fuehren soll zu bekommen, d.h. es besteht keinerlei direkte Verbindung zum MC.
Ich habe beim MAX232 das Pin11 und Pin12 miteinander verbunden und messe an dieser Verbindung die ausgehenden fallenden Flanken.
Dabei kam ich zu folgendem Ergebnis:
Es wird immer das korrekte Zeichen zum PC zurueckuebertragen.
Jedoch entfaellt das Problem der Flankenunregelmaesigkeiten am Pin12 nicht.
Wenn ich allerdings eine Leitung zum GND mit vorgeschaltetem Widerstand an die Verbindung von Pin11 und Pin12 haenge, erhalte ich immer die "richtige" Flankenanzahl.
Woran koennte dies liegen?
coldfirev3
01.02.2005, 13:19
Das klingt so, als "schwebt" der 232.
Überprüfe doch mal die Versorgung, die Signalmasse und die Kondensatoren (Spannung/Polung bei Elko)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.