Autor |
|
|
|
BID = 112150
olfi13 Schreibmaschine
Beiträge: 1077 Wohnort: Wittingen
|
|
Hi!
Ich habe ein Problem mit einem RS485.
Es existieren 2 Teilnehmer (AT90S2313) die Daten austauschen sollen. Jeder Teilnehmer steuert einen 75176 an.
Ich erklär die Sache mal so wie ich es verstanden habe, vielleicht erkennt jemand einen Denkfehler.
Liegen keine Daten auf dem Bus so habe ich am Pin RxD beider Teilnehmer Low, ebenso an den Ports TxD.
Schalte ich den 75176 in den Sendemodus (Daten kommen gleich) so bekomme ich am Pin RxD des erstmal Empfängers erstmal ein High.
Dann kommen die Daten, danach habe ich dann wieder das High
und wenn der Sender wieder abgeschaltet wird liegt endlich wieder Low an.
Nun das Prob:
Ich hab einen Wechsel auf High, das interpretiert der Atmal als emfangenes Byte, beim Ausschalten dasselbe.
Kann ich zwar durch Software wegbekommen, aber geht das nicht anders? |
|
BID = 112208
MinceR Stammposter
Beiträge: 277
|
|
also ich hab keine erfahrung nur letztens im meinem AVR buch den uart überflogen. du kannst meines wissen einstellen ob die daten mit start und stopbit übertragen werden.
jedenfalls kannste einstellen -> double start bit und bitlänge. ob er 8 bits oder 9 auf einmal übertragen soll. musst nur die richtigen bits finden. vielleicht liegt da einfach der hund begraben.
hab mir mal eben das datenblatt vom max 3083 usw angeguckt. das sieht ja fast erschreckend einfach aus. ich glaub ich bestell mir mal demnächst ein paar davon... |
|
BID = 112226
Henne02 Stammposter
Beiträge: 493 Wohnort: Aachen
|
FramingError auswerten?
Grüße, Hendrik
|
BID = 112544
olfi13 Schreibmaschine
Beiträge: 1077 Wohnort: Wittingen
|
Hi!
Erstmal Danke für die Antworten.
Also die Sache mit dem Frame...:
Mit Software diesen "Fehler" wegbekommen ist kein Problem, es stört mich halt.
Zusätzlich muß ich noch eine kurze Zeit nach dem Einschalten des Modus Senden warten bis ich die Daten senden kann, sonst bringe ich den Empfänger ja durcheinander. Und das ist richtiger Mist.
Da ich ne möglichst hohe Übertragungsrate anstrebe und diese Wartezeit mir die effektive Geschwindigkeit runterdrückt such ich 'ne Lösung.
Vielleicht ist das Problem jetzt klarer?
|
BID = 112673
Midnight Stammposter
Beiträge: 256
|
Also soweit ich weiß invertieren die RS-485 Pegelwndler, also wenn der µC eigentlich ein logisches High sendet wird das als low weiterverarbeitet, und umgekehrt...
Das heist aber leider das wenn der RS-485 Strang tot ist ein high am Ausgang des Pegelwandlers liegt....
Heißt natürlich nach dem Einschalten des Pegelwandlers, denn wenn der aus ist sollte alles eigentlich hochohmig sein, und dann kommt es auch die weitere Verarbeitung an ob es ein High oder Low wird...
Ich würde mal einen Pullup Wiedersatnd versuchen um den auch bei ausgeschalteten Zustand auf High zu haben, dann sollte sich zumindest der Zustand beim aktivieren nicht ändern...
Gruß
Simon
[ Diese Nachricht wurde geändert von: Midnight am 10 Okt 2004 22:52 ]
|
BID = 112677
Henne02 Stammposter
Beiträge: 493 Wohnort: Aachen
|
Die Zustände der wandler befinden sich auf dem Datasheet.
Lesen bildet
|
BID = 113076
olfi13 Schreibmaschine
Beiträge: 1077 Wohnort: Wittingen
|
So, ein letztes Mal Hi!
Erstmal danke. Midnight.
@Henne: Welchen Pegel erwartest Du laut deinen Datenblättern denn am Receiver wenn der Bus hochohmig ist??
Wie hast Du deinen Bus denn abgeschlossen (1 Widerstand, 3 Widerstände)?
Oder kann ich wirklich nicht lesen??
|
BID = 113197
olfi13 Schreibmaschine
Beiträge: 1077 Wohnort: Wittingen
|
So, ich hab mich im Chat an Jornbyte gewendet. (Der kann nämlich lesen und hat ein Datenblatt ).
Habe festgestellt das unsere Datenblätter identisch sind.
Das Problem selber ist zwar nicht gelöst aber einen Ausweg haben wir gefunden.
Danke für Eure Mühe!
|