Forum: Mikrocontroller und Digitale Elektronik RS485 frage zu Pegel


von Max W. (mo0oxx)


Angehängte Dateien:

Lesenswert?

Hi hab mal eben Fragen zum RS485,
ich bin gerade dabei einen Profibusslave mit einem ASIC zu realisieren. 
Aber das Problem mein Profibus ASIC redet nicht am Bus mit und ich bin 
mir nicht sicher warum.

Laut Herstellerfirma sollte der ASIC mitreden sobald er ein Get 
Diagnostic Telegramm erhält, am Profibus sieht man das get Diagnostic 
Signal aber der Chip antworted nicht. (Siehe Anhang 
Telegrammaufzeichnung, Slave hat Addresse 7)

Ich denke der Fehler liegt darin, dass der Chip das Signal nicht richtig 
erhält.

Im Anhang das Oszibild eines Telegramms.

Legende zum Angehängten Oszi Bild
Signal Grün: Rs485 Leitung B (von Pin 3)
Signal Violett: RS485 Leitung A (von Pin 8)
Signal Rot: Math-Signal (rechnet B-A, grün - violett)
Signal Blau: das Signal was am TxD Eingang des Profibus ASICs ankommt.

Das Blaue Signal ist aufgrund der Optokoppler etwas verzögert.

Ich denke der Fehler liegt darin dass der Transciever im Ruhezustand des 
Buses eine High ausgibt und nicht so wie ich mir denke ein Low.

Stimmt meine Annahme oder soll der Transceiver im Ruhezustand ein High 
ausgeben und der Fehler liegt wo anders?

Mit freundlichen Grüßen
Max

von K. J. (Gast)


Lesenswert?

Hm, im High zustand sollte es High sein aus welchen gründen auch immer 
scheint dein Signal Invertiert zu sein kann das sein z.b. durch die 
Optokopler ?

von Max W. (mo0oxx)


Angehängte Dateien:

Lesenswert?

Hier noch der Schltplan

Oszisignal Grün hängt an Pin 3 vom X9 Stecker und Signal Violett hängt 
an Pin 8 vom X9.

Der ADUM1301 ist als ersatz für Optokoppler zur galvanischen Trennung.

von K. J. (Gast)


Lesenswert?

K. J. schrieb:
> Hm, im High zustand sollte es High sein aus welchen gründen auch immer
> scheint dein Signal Invertiert zu sein kann das sein z.b. durch die
> Optokopler ?

Ups im Ruhezustand sollte es high sein, dein ausgangssignal sieht 
komisch aus

es solte wie folgt sein

0 = High
1 = Low

und das auf beiden Datenleitungen aber so richtig invertiert ist es auch 
nicht dein Ruhepegel ist weder Low noch High.

am TxD also beim Blauen sieht es wieder ok aus, allerdinks hast da auch 
zimliches überschwingen in der messung, oder ligt das am messaufbau.

von Max W. (mo0oxx)


Lesenswert?

Max W. schrieb:
> Im Anhang das Oszibild eines Telegramms.
>
> Legende zum Angehängten Oszi Bild
> Signal Grün: Rs485 Leitung B (von Pin 3)
> Signal Violett: RS485 Leitung A (von Pin 8)
> Signal Rot: Math-Signal (rechnet B-A, grün - violett)
> Signal Blau: das Signal was am TxD Eingang des Profibus ASICs ankommt.

Sry hab mich hier vertan das Blaue Signal ist das RxD Signal nicht das 
TxD, also das Signal, dass vom Master kommt und zum Slave geht. Dass 
Problem ist ja dass der Slave nicht redet!

Also sollte im Ruhezustand (am Bus wird nicht gesprochen) am RxD Eingang 
des Profibus ASICs ein HIGH sein?
Bzw sollte dann das ganze Signal invertiert sein? Also wenn am Bus ne 1 
steht dass am RxD Eingang des Profibus ASICs eine 0 steht?

K. J. schrieb:
> am TxD also beim Blauen sieht es wieder ok aus, allerdinks hast da auch
> zimliches überschwingen in der messung, oder ligt das am messaufbau.

Ich denke die Überschwingungen kommen vom Messaufbau.

von Jim M. (turboj)


Lesenswert?

Max W. schrieb:
> Also sollte im Ruhezustand (am Bus wird nicht gesprochen) am RxD Eingang
> des Profibus ASICs ein HIGH sein?

Das ist an dieser Stelle schon UART, und bei UART ist IDLE = HIGH. 
Sollte man wissen.

von Florentin D. (Gast)


Lesenswert?

Max W. schrieb:
> Signal Blau: das Signal was am TxD Eingang des Profibus ASICs ankommt.
das war hoffentlich ein Tippfehler?
Da der Baustein wenn dann am RX Pin Daten empfängt!!!!

Nachdem ich schon ein paar Messungen am RS485 Bus gemacht habe kann ich 
bestätigen das Signal passt!

Sendet kein Teilnehmer am Bus so erhalte ich dadurch dass niemand 
"sendet" aufgrund von Bias Pullup & Down R43 & R47 nur eine geringfügig 
erhöhte Spannung was zu High = 0 führt, das ist soweit in Ordnung

Dadurch das RE fix an Masse (warum auch immer über einen Widerstand) 
Hängt empfängt der MAX485 ständig, dadurch misst du dort eventuell 
gesendete Signal mit (Ich würde RE/RO miteinander verbinden)

Also Bleibt nur mehr die Frage wird das empfangen was empfangen werden 
soll
(Baudrate, 8/9Bit, Stop Bit, Paritäts Bit)
Die genaue Information die gesendet wird kann ich aus dem Oszigramm 
leider nicht auswerten

von Uwe (Gast)


Lesenswert?

Hi,
2Mbit sind sehr untypisch für Profibus
genormt sind:9K6 19K2 45K45 93K75 187K5 500K 1,5M 3,0M 6,0M 12,0M
bevorzugt werden: 9K6 187k5 1,5M 12,0M

An der Stelle würde ich ansetzen ob das dein ASIC kann

viel Erfolg, Uwe

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.