mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ER400TRS verquatzelte ASCII Zeichen ?????


Autor: Jürgen Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich hab zwei ER400TRS, einen am PC ComPort einen am Mikrocontroller
(AT89s8252).

-Baudrate 9600 (über Timer2)
-8Bit

wenn ich PC und Controller direkt verbinde(statt Transceiver
Drahtbrücke zum anderen Transceiver, also normale RS232 Verbindung über
MAX232), funktioniert das ganze tadelos, mit den Transceivern aber
gibts ein Problem!
Es werden nur die Zeichen H bis O durchgelassen.(sowohl klein als auch
Großbuchstaben????) Bei manchen Zeichen wird einfach nur das MSB
gesetzt.
Wenn ich dieses am Controller ausblende bzw. am Hyperterminal nur 7Bit
ASCII Format zulasse, sendet er:
abcdefghijklmno'abcdefghij anstatt
abcdefghijklmnopqrstuvwxyz.
Keine Ahnung mehr bin toptal am Ende und ausgebrannt.
Habe schon Baudraten geändert, Stoppbits, Parity usw.
Hoffe jemand kennt sowas (vermutlich eher nicht)
Habe irgendwie die Vermutung, daß in der Firmware irgendwas mit der
Manchestercodierung schiefgelaufen ist, aber die Dinger sind ja schon
im Einsatz und funktionieren angeblich!?!
Gruß
und Dank im vorab
Jürgen

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jürgen

ich arbeite auc mit den Dingern. Wenn ich mich nicht irre, ist die
Baudrate doch fest bei 19200, 8 Bit, no Parity. Eines war moch zu
bemerken, daß der Dateneingang des Transceivermoduls einen
Längswiderstand benötigt, wenn mit 5 Volt gearbeitet wird (siehe
datenblatt)

Gerhard

Autor: Jürgen Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard

die Funkstrecke arbeitet fest auf 19200, aber die Verbindung zum Host
ist einstellbar, von 2400 bis 38400 Baud.
Das mit dem Längswiderstand von 10k Ohm bezieht sich auf eine
Dauerspannung die angelegt wird, wenn der Transceiver nur als Empfänger
arbeitet. Habe ich anfänglich missverstanden und 10k in Reihe
geschaltet. aber da ging dann nichts mehr raus, also abgeklemmt und gut
ist.
Es kann daran aber auch nicht liegen, da der Empfang ja auch dieselben
falschen Zeichen abgibt.
Trotzdem Danke für die Überlegungen.
Gruß Jürgen

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jürgen

der Widerstand kommt zwischen TX-Leitung des ER400 und der
Signalquelle. Wenn ich mich recht erinnere hatte ich anfangs Probleme
beim Senden. Anfangs wurden die zeichen da noch richtig übertragen,
aber dann kammen die Probleme. Der Transceiver ist - sorry hab das
datenblatt nicht da - für 3,3 Volt ausgelegt, toleriert aber 5 Volt als
Versorgung, ist aber am TX-Eingang sensibel. Da gehört dann ein
Längswiderstand rein, wenn die Signalquelle mit 5 Volt arbeitet.

Bei meinem Projekt arbeiten 2 von den Dingern in einem
Telemetriesystem, und bisher gabs keine derartigen Probleme. Ich
arbeite allerdings auch sehr langsam, sprich mit großem Abstand
zwischen 2 Zeichen. Ich schicke nur dann ein zeichen in den ER400, wenn
er signalisiert, daß sein register leer ist. laut Datenblatt kann er
-glaub ich- 128 Zeichen aufnehmen.

Aber das mit dem Längswiderstand ist ernst zu nehmen.

Gerhard

Autor: Gerd Vergin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jürgen,

habe 5 Stück ER800TRS bei Telemeter gekauft.
Zwei Stück in Betrieb genommen bei 3.3 Volt.
Nichts geht, starben sofort.
Schaltbild und defektes Teil nach telefonischer Absprache
an Telemeter geschickt, wollten es in England testen lassen.
Nach 4 Wochen kam nichts.
Anruf meinerseits: sie machen nichts.
Auf meinem Schaltbild wäre kein Fehler feststellbar und für sie damit
erledigt.

Was lernt man daraus?
Neues Modul suchen, denn jedesmal beim Einschalten 40 Euro zu himmeln,
etwas zu teuer.
Vielleicht finde ich ja dann den Fehler nach 100 Versuchen?

Weiss jemand ein Modul, was bei 3.3 Volt sicher geht?
Datenrate soll 9600 Baud sein, brauche etliche davon.

Gruss

Gerd

Autor: Jürgen Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard,
dann werd ich mal mit verschiedenen Widerständen ausprobieren, von 10k
abwärts bis er sendet, ob das dann geht.
Danke für den Hinweis.
Gruß
Jürgen

Autor: Marco Haufe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich arbeite auch mit den Dingern. An sich sind die nicht schlecht,
allerdings habe ich auch schon faule Eier beigehabt. So ein Problem
hatte ich auch schon mal. Das Ding hat einen Puffer von 128 Byte.
Ist der Puffer voll, dann wird gesendet, egal, ob da noch Bits kommen
würden oder nicht. Du mußt mit dem Busy-Signal arbeiten. Noch was :
Wenn Du eine Lücke von 2-Bytelängen überschreitest, sendet er auch.
Egal, ob Dein Datenstrom schon zuende war, oder nicht. Die 400TRS sind
übrigens recht empfindlich, was die Toleranz der Baudrate anbelangt.
Schon 0.2% Abweichung vermatzeln sie schon Zeichen.

Ich hoffe, irgendwas von den Tips hilft.

VG Marco

Autor: Jürgen Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marco,
also der Längswiderstand ist definitiv nicht das Problem, da ja auch im
Empfang die Zeichen nicht ordentlich erscheinen.
Die Zeitdauer zwischen den zu sendenden Bytes ist es auch nicht, da
auch einzeln gesendete Zeichen falsch übertragen werden.
Rechnerisch habe ich eine Baudratentoleranz von 0,1%. Wie die aber
tatsächlich ist weis ich nicht. Wie könnte ich das messen? (Klar mit
Oszi) hab ich auch, aber wie gib ich da nen Takt aus?
Gruß
Jürgen

PS: meine Theorie mit dem defekten Übertragungsprotokoll scheint mir
immer warscheinlicher. Ich hoffe Geist-Electronic tauscht die Dinger
um, beziehungsweise nimmt sie zurück.

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

wenn ich das datenblatt des ER400TRS lese, ist dort immer von einer
baudrate von 19200 die Rede. Da man beim Modul nichts einstellen kann,
kann ich mir auch nicht vorstellen, wie das mit einer anderen baudrate
als der vorgegeben funktionieren soll. Ich arbeite bei meinem Pojekt
mit dieser Baudrate und habe keine Probleme.


Gerhard

Autor: Marco Haufe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Gerhard
Das ist falsch. Default ist 19200. Es gibt ne Freeware im Inet, da
kannst Du die Baudrate und so einiges anderes Parametrieren....
VG Marco

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Marco

wußt ich gar nicht

Gerhard

Autor: Jürgen Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard,
ja, man kann die Host Seite einstellen, von 2400 bis 38400 Baud.
Ich messe Morgen mal meine Serielle Schnittstelle mit dem Oszi, ob da
wirklich 9600 Baud rauskommen. (mit 0x55 Dauerfeuer sollte das gehen.

Gruß Jürgen

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.