Forum: Mikrocontroller und Digitale Elektronik Problem mit RS485 und TV8469


von runger (Gast)


Lesenswert?

Hallo,

ich habe ein Problem eine RS485 Strecke zum laufen zu bekommen.
Hardware:
ATmega16 auf STK500 über Experimentierboard und SN75176 über TV8469
verbunden mit PC.
Wenn ich das Testboard direkt mit dem PC verbinde (RS232) bekomme ich
Verbindung. Alles läuft problemlos.
Schalte ich jedoch den Adapter (TV8469) und einen SN75176 dazwischen
erkennt der uP das Protokoll nicht mehr. Mit Oszi sieht alles völlig
normal aus. Ruhepegel usw stimmt alles. Es kommt auch alles beim uP an.
Hat irgendjemand Erfahrung mit TV8469? Braucht das Ding irgendwie eine
spezielle Anpassungsschaltung?
Kann es sein dass die Bytes intern invertiert werden?
Es wäre sehr nett wenn mir jemand helfen könnte bin völlig ratlos.

Grüsse Rainer

von crazy horse (Gast)


Lesenswert?

tja, hast du halb- oder vollduplex?
Bei halbduplex muss man die Richtung am den Transceivern umschalten. 
Wenn nicht extra gesteuert, nimmt man dafür ein Monoflop  - getriggert 
(und nachgetriggert) vom Sendesignal. Passiert ne Weile nichts, 
Rückschaltung in Empfangsrichtung.
So eine Sache hat mehrere Tücken:
1. Ist es nie ein vollwertiger Ersatz für eine RS232 (da ist immer 
gleichzeitig Senden und Empfang möglich)
2. Selbst wenn nicht, kannst du ein Problem bekommen, dass die 
Richtungsumschaltung nicht schnell genug geht. Dass Monoflop muss ja 
min. für 9 Bitzeiten aktiv bleiben (getriggert vom Startbit, 8 0-Bits 
Daten, Stopbit) Das muss gesichert sein - heisst aber auch, dass nach 
dem letzten Datenbit eine Bytelänge Verzögerung entsteht.

Ich schätze mal, dass dein Problem daher kommt.
Alternativ ne Vollduplex-Verbindung aufbauen (4 Leitungen), dass muss 
funktionieren.

von Rainer U. (rai-unger)


Lesenswert?

Hallo,

nein (habe vorhin als Gast geschrieben ist mein Beitrag)
Ich fahre voll Halbduplex. Der Adapter macht automatische 
Sendesteuerung.
Habe im Moment nur den Weg PC uP in Betrieb. Signal wird nicht erkannt.

Grüsse Rainer

von Hermann (Gast)


Lesenswert?

Hallo, lese den Beitrag erst jetzt. Falls das Problem mit dem TV8469 
noch besteht, habe ich einen Tipp.
Die interne Schaltung hat einen Design-Fehler, der zu temporären oder 
dauerhaften Ausfällen führen kann. Der eingebaute LMC7660 wandelt normal 
eine positive in eine negative Spannung. Hier ist er vergewaltigt und 
soll eine negative in eine positive wandeln. Das geht aber nur mit einer 
zusätzlichen Diode und einem Widerstand, die leider fehlen. Das Ergebnis 
ist, dass der Wandler oft nicht anläuft und der ADM485 keine 
Versorgungs-Spg bekommt. Wo die Bauteile hingehören steht im Datenblatt 
für den kompatiblen MC7660 von ON.
http://pdf1.alldatasheet.com/datasheet-pdf/view/12329/ONSEMI/MC7660.html

Also, Gehäuse aufhebeln, Bauteile einlöten und läuft - jedenfalls bei 
mir.

Hat einigen Aufwand gekostet, die Schaltung aufzunehmen. Dabei stellt 
man fest, dass am Ausgang 4k7-Widerstände gegen + und - liegen. Mit der 
Hochohmigkeit wie in der RS485-Spezifikation ist es also vorbei. Die 
Ansteuerung des ADM485 ist sehr seltsam. Geht aber wohl nicht anders, 
weil der DE-Pin für Tristate nicht über die RS232 angesteuert werden 
kann.

Viel Spaß
Hermann

von Daniel (Gast)


Lesenswert?

Hallo Leute,
das Problem kann ich bestätigen.
Der TV8469 funktioniert nur mit der von Hermann angegebenen 
Modifikation.
Der LMC7660 erfährt somit folgende Änderung:
An Pin 8 muss über den 10µF Kondensator eine Diode gelötet werden, 
Zwischen Pin 5 und 6 ein 1MOhm Widerstand (Achtung: Pin 6 liegt auf 
Masse und muss somit von dem Lötpad hochgebogen werden).

Figure 11 des von Hermann angegebenen Datenblatts veranschaulicht die 
neue Belegung.
Danach funktioniert es einwandfrei, Pegel sind perfekt.

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.