Forum: Mikrocontroller und Digitale Elektronik Sipeed Combo 8 mit diff. Signal


von Josef R. (jr1234)


Lesenswert?

Hallo,

Ich benutze eine Sipeed Combo 8 als logic analyser, um auf rs485 zu 
sniffen.
Denke aber, die Frage betrifft alle preiswerten Logic Analyswer.
Jedenfalls ist das mein Wunsch.

Dazu habe ich ein Verständniss-Problem:

Die Signale a und B sind doch Differenz-Signale.
Wie soll ich die in Pulseview parametrieren ?

Ich habe testweise D1 und D2 genommen, oder auch nur 1 Signal  ( Ich 
weiss, ist eine Krücke!!)
Komme aber auf keinen sinnvollen Sniffer-Inhalt.

Wie parametriert man die beiden Signale zu einem Differenz-Signal ?

Geht das überhaupt ? Oder braucht mal einen rs485 - TTL Wandler dazu ?

Ich bin doch nicht der Erste, der vor dem Problem steht .....

Hat jemand einen Hinweis ?

Vielen Dank

von Gustl B. (gustl_b)


Lesenswert?

Abtasten und subtrahieren. Macht aber bei vielen LAs keinen Sinn weil 
die nur 1 oder 0 können und die Schwelle dafür fest im Gerät eingestellt 
ist.

Also dann extern einen Komparator hinsetzen der erkennt ob der eine Pin 
> als der andere oder umgekehrt.

von N. M. (mani)


Lesenswert?

Josef R. schrieb:
> Die Signale a und B sind doch Differenz-Signale.
> Wie soll ich die in Pulseview parametrieren ?

Sie sind vor allem kein TTL, was dein Logicanalyzer aber vermutlich 
erwartet. Also physikalisch garnicht.

Josef R. schrieb:
> Oder braucht mal einen rs485 - TTL Wandler dazu ?

Genau so. Da du sowieso mindestens 2 Teilnehmer haben wirst entweder 
hinter einem Treiber von denen oder halt mit einem eigenen Treiber. TX 
deaktivieren!

Edit:
Dein Logicanalyzer erwartet
1
Signal Input Range  0~3.6V

Rs485 ist definiert mit
1
mindestens ±1,5 V, höchstens ±6 V

Im Idealfall erkennt er also die Pegel nicht richtig. Worst Case geht er 
dabei Hops.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Josef R. schrieb:
> Die Signale a und B sind doch Differenz-Signale.
> Wie soll ich die in Pulseview parametrieren ?
Miss mit einem Oszilloskop die tatsächlichen Pegel auf diesen Leitungen. 
Wenn die Pegel dort zu den Schaltschwellen des Logicanalyzers passen, 
dann reicht es aus, dort entweder A oder B einzulesen. Denn jede der 
beiden Leitungen trägt das Protokoll mit sich. Eine davon ist halt 
invertiert. Und du musst zum Decodieren idR. die Leitung nehmen, die im 
Ruhezustand high ist.

> Wie parametriert man die beiden Signale zu einem Differenz-Signal ?
Muss man eigentlich nicht.

> Geht das überhaupt ?
Das kommt auf die Möglichekteiten des LA drauf an. Wenn der 
programmierbare Schaltschwellen hat, geht das problemlos. Aber leider 
haben die billigen 8-Ch-LA sowas nicht.

> Oder braucht mal einen rs485 - TTL Wandler dazu ?
Das wäre sicher die technisch korrekte Lösung hier.

BTW und nur aus Interesse: wo lernt man denn diese Plenkerei mit dem 
Leerzeichen vor dem Satzzeichen? Und warum macht man das dann nicht auch 
beim Punkt, wenn man es beim Fragezeichen macht?

von Rainer W. (rawi)


Lesenswert?

Lothar M. schrieb:
> Das wäre sicher die technisch korrekte Lösung hier.

Was wäre an einem LA, der sich für RS485 passend konfigurieren läßt, 
technisch nicht korrekt?

von Harald K. (kirnbichler)


Lesenswert?

Lothar M. schrieb:
> wo lernt man denn diese Plenkerei mit dem
> Leerzeichen vor dem Satzzeichen?

Im Französischen ist das üblich, nicht jedoch bei Punkt und Komma.

Tatsächlich gibt es sogar eine europäische Sprache, in der in bestimmten 
Fällen der Plural mit Apostroph-s gebildet wird, das ist das 
Niederländische.

Dort macht man das, wenn der vorangehende Vokal gedehnt ausgesprochen 
wird, wie z.B. in "baby's". Wird die Gedehntschreibung bereits durch 
einen Akut auf dem Vokal gekennzeichnet, entfällt der Apostroph (wie 
z.B. in "coupés").

Im Deutschen aber ist beides falsch und ein Zeichen schlechter 
Umgangsformen und/oder Bildung.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rainer W. schrieb:
> Lothar M. schrieb:
>> Das wäre sicher die technisch korrekte Lösung **hier**.
> Was wäre an einem LA, der sich für RS485 passend konfigurieren läßt,
> technisch nicht korrekt?
Das ordne ich jetzt einfach mal als "mutwilliges Missverständnis" ein. 
Denn natürlich ist ein LA, der einstellbare Schaltschwellen hat (oder 
gar die Differenz zweier Eingänge auswerten kann) technisch eine 
korrekte Lösung.

Aber **hier** geht es um die billigsten der billigen LA, die nicht mal 
den Hauch eines einstellbaren Einganngstreibers haben. Deshalb habe ich 
das explizit das Wort "**hier**" als Abkürzung von "in diesem speziellen 
Fall, wenn so ein billiger LA ohne einstellbare Schaltschwellen 
verwendet werden soll" eingefügt.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Josef R. schrieb:
> Geht das überhaupt ? Oder braucht mal einen rs485 - TTL Wandler dazu ?
 Das scheint mir ein Praxisrelevanter Ansatz zu sein!

von Josef R. (jr1234)


Lesenswert?

Hey,

danke für die Hinweise.
Ich werde auf die Lieferung des Wandlers warten und dann austesten.
Und bis dahin versuche ich mal Lothar M.'s Lösung.


Der Combo 8 hat, laut Treiber SW im Pulseview einen einstellbaren 
Schwellwert und kann wohl auch 5V verkraften.

All das gesagte gilt doch dann auch für CAN ? (bei angepasster 
Baudrate!) ?



Werde berichten, ob der Wandler geholfen hat...oder Lothar M. Lösung.

Danke
Josef

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Josef R. schrieb:
> Der Combo 8 hat, laut Treiber SW im Pulseview einen einstellbaren
> Schwellwert
Das steht aber nirgends in der Doku. Ich finde dort nur fixe 3V3 
Schaltschwellen: "High and Low Level Thresholds  VIH>2V  VIL<0.8V". Es 
würde mich wie gesagt auch sehr wundern, wenn dieses simple Billigding 
sowas kann. Denn dieses Feature braucht extra Hardware und deshalb 
findet man es meist erst bei deutlich teureren Geräten.

> kann wohl auch 5V verkraften.
Auch dazu finde ich nur den erwähnten "Signal Input Range  0~3.6V"

> Der Combo 8 hat, laut Treiber SW im Pulseview einen einstellbaren
> Schwellwert und kann wohl auch 5V verkraften.
Dann solltest du wie gesagt die tatsächlichen Spannungspegel am RS485 
Bus mit einem Oszi ermitteln. Wenn du dann siehst, dass du mit 
definierten Pegeln innerhalb des erlaubten Eingangsbereichs des LA zu 
tun hast, dann sollte das gehen.

> All das gesagte gilt doch dann auch für CAN ?
Im Prinzip ja, allerdings mit dem Problem, dass CAN einen deutlich 
"analogeren" Ruhepegel irgendwo in der Mitte der Versorgungsspannung 
hat.

>  (bei angepasster Baudrate!) ?
Dass zur erfolgreichen Decodierung die Baudrate passen muss, steht 
ausser Diskussion. Aber das Decodieren einer CAN-Nachricht ist dank 
Bit-Stuffing dann sowieso nicht mehr so einfach.

BTW: für solche Sachen habe ich mir an einem Schnäppchentag das kleinste 
Picoscope zugelegt. Und was muss ich sagen: solche Sachen sind damit ein 
kleines Kinderspiel, weil das Ding eben zuerst ein Oszi ist, das aber 
auch serielle Portokolle (darunter einige sehr ausgefallene) Decodieren 
kann.

: Bearbeitet durch Moderator
von Josef R. (jr1234)


Lesenswert?

Hallo,


@Lothar: Der Combo kann laut SW eine Schwellwert-Einstellung.
Ob es richtig funktioniert, kann ich aber noch nicht sagen.

@Lothar: Pico: hatte ich mir angesehen, konnte mich aber nicht 
entscheiden....zudem habe ich das Fluke 192 hier eh liegen....
Welches Pico hast Du ?


Teil2:
Der TTL-RS485 Wandler ist angekommen.
Aber nun wird der Berg der Fragen doch größer:
Wie anschliessen?

Es ist der TTL Max von Makershop
Auf der einen Seite: DI, DO, RE, RO
auf der anderen GND, A, B, VCC
alles als Stifte ausgeführt.

zusätzlich 2 Klemmen, unbeschriftet: könnte gem. Leiterplatte A und B 
sein


Anschluss:
A und B  sind klar
Aber wie Spg an legen VCC und GND  kann ich vom rasbi, oder vom LA 
holen, was mich verwundert: wieso sind dann aber A und B als Klemme 
ausgeführt, wenn ich VCC und GND auch brauche ?
Oder lebt der Wandler aus den Signal-Pegel ?



Aus meinem Verständnis brauche ich am LA nur den DO ?

Oder den RO  ( seriell Out )

Aber was ist der Unterschied ?

OK, meine E-Technik Kenntnisse sind älter.....

Kann mir jemand einen Tipp geben ?
Ich will den Wandler ja nicht gleich zerschiessen....

Danke
Josef

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Josef R. schrieb:
> Kann mir jemand einen Tipp geben ?

Lupe!
Welcher Chip ist auf deinem Wandler?

Angenommen, ein Max485...
Dann nimmst du dir das Datenblatt des Max485 und machst dich kundig wie 
das Ding funktioniert.
Alle Anschlüsse werden in dem Datenblatt ausführlich beschrieben.

: Bearbeitet durch User
von Josef R. (jr1234)


Angehängte Dateien:

Lesenswert?

@ Arduino F   Vielen Dank für die Info.
Leider helfen sie keinen deut weiter.


Wenn ich aus der Kurzbezeichnung klug geworden wäre, hätte ich nicht 
gefragt.
Und wenn sich mir die Logik erschlossen hätte, hätte ich auch nicht 
gefragt.

Wenn die Spg Vers. und GND von der TTL Seite eingespeist würden, hätte 
ich es verstanden. Werden aber auf der RS485 Seite angeschlossen....

Wenn ich das aber mache, leutete die RX Led auf dem Zihatec HAT mit 
Dauerlicht....

Die Versorgung vom Raspi zu nehmen, macht aber doch auch keinen Sinn, 
weil der Zihatec Hat isolierte A/B Leitung hat.  Das Bezugspotential ist 
damit nicht erkennbar.


Wenn ich nur A +B anschliesse, verstehe ich nicht wogegen ich messen 
soll, weil ich keinen Gnd habe...

Frage: Gibt es diese Wandler immer für beide Richtungen ?


Wenn ich zurück zu Lothar Vorschlag gehe,  nur den "unteren" Kanal 
auflegen, ohne Wandler,  sehe ich was, nur leider hat da dann die 
Decodierung nichts mit der Realität zu tun....
Also brauche scheinbar schon den Wandler.....

Aber ich verstehe ihn (noch immer) nicht.
Die Makershop Seite gibt auch keine Infos.




@Lothar  Im Treiber für den Sipeed Combo 8 ist eine Einstellmöglich 
gegeben, siehe Foto


Danke für jeden Tipp....

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Josef R. schrieb:
> Wenn ich aus der Kurzbezeichnung klug geworden wäre, hätte ich nicht
> gefragt.

Das Datenblatt erklärt die Kurzbezeichnungen!


https://www.analog.com/media/en/technical-documentation/data-sheets/MAX1487-MAX491.pdf

: Bearbeitet durch User
von Josef R. (jr1234)


Angehängte Dateien:

Lesenswert?

Danke für den Link

Aber wie gesagt: Ich habe ihn NICHT verstanden.

Ersten: Die Pin Bezeichnung des IC lässt nur begrenzt Rückschlüsse auf 
die Platine zu. OK, hier ist es noch einfach, aber nur begrenzt 
verwendbar, weil Kapazitäten und Widerstände und weitere Komponenten 
NICHT berücksichtigt sind.
Und ich gehe davon aus, das sie eine Funktion haben..

Wie ich beschrieben hatte.....ist es mir nicht möglich, aus der Pin 
Beschreibung Rückschlüsse auf die An-Schaltung zu ziehen.

Siehe hierzu meine Ausführungen zum Thema Spg-Versorgung / GND...

Soweit dazu.


Aber vielleicht hat jemand einen weiterführenden Hinweis

Danke

Josef

von Josef R. (jr1234)


Lesenswert?

von meiner Seite das Feedback:

Die Lösung von Lothar: unteres Signal nur benutzen hat nicht 
funktioniert.
Ich habe es nicht verstanden, wieso es nicht geht, den  pulseview zeigt 
sehr wohl Ergebnisse an, aber diese waren falsch!!  Z.B. wurde die Id's 
nicht richtig dargestellt. Statt der richtigen 201  wurde 128 angezeigt.
Einstellungen big/little Endian, Invertierung des Signals, Schwellen 
haben zu keinem Erfolg geführt.
Ich habe dies abgebrochen.



485Max: Hier war es erfolgreicher!
In einem anderen Portal gab es eine Beschreibung des gleichen Konzeptes:
Man muss DE und RE auf GND legen und den Wandler mit 3.3V versorgen.
Die Versorgungs-GND ist gleichzeitig GND für die TTL Potentiale.

Es wird das Entfernen des Abschlusswiderstandes (R7) empfohlen, dies 
habe ich - noch - nicht gemacht, konnte aber im Testaufbau keine 
Nachteile feststellen.
Werde dies aber noch vornehmen.

Josef

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Josef R. schrieb:
> @Lothar  Im Treiber für den Sipeed Combo 8 ist eine Einstellmöglich
> gegeben, siehe Foto
> Danke für jeden Tipp....
Probier doch einfach mal aus, ob dieser Schieberegler überhaupt bis zur 
Hardware durchkommt: einfach mal auf "1V" stellen, dann mit einem Poti 
Spannungswerte um 1V einspeisen und schauen, ob sich am Bildschirm was 
tut. Und dann das selbe mit "4V" machen. Ich behaupte, dass da keine 
Änderung der tatsächlichen Schatschwelle zu sehen ist.

Josef R. schrieb:
> 485Max: Hier war es erfolgreicher!
War zu erwarten.

> Man muss DE und RE auf GND legen
Man muss den Ausgangstreiber ausschalten und den Eingangstreiber 
aktivieren. Dazu muss man den high aktiven DE und den low aktiven 
/RE (oder RE# oder nRE) auf GND legen.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Josef R. schrieb:
> und den Wandler mit 3.3V versorgen.

Der gute alte Max485 ist ein 5V Baustein.

von Harald K. (kirnbichler)


Lesenswert?

Josef R. schrieb:
> Die Lösung von Lothar: unteres Signal nur benutzen hat nicht
> funktioniert.

Hast Du denn auch eine Masseverbindung hergestellt?

von Josef R. (jr1234)


Lesenswert?

@Harald  Ja, als0 ich habe 3.3 und GND aus dem Combo 8 auf den Wandler 
angeschlosssen. Und den GND dann auf RE und DE gebrückt

Mir war lange Zeit nicht klar, ob ich die Spg vom der RS485 Seite oder 
von der TTL Seite nehmen soll. Habe dann die TTL Seite genommen.



@Arduino:   Noch mal extra nachgemessen: Ich habe 3.3V verwendet! Wobei 
zu beachten ist: Ich nutze den 485Max ja als Sniffer. d.h. er sendet 
nicht auf dem Rs485 sondern ausschliesslich auf der TTL Seite.  Mir war 
nicht klar, ob ich dm Combo 5V zumuten darf.....  Aber ich kann es ja 
mal testen.....



Danke für die Hilfe

Josef

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Josef R. schrieb:
> Noch mal extra nachgemessen: Ich habe 3.3V verwendet! Wobei
> zu beachten ist: Ich nutze den 485Max ja als Sniffer. d.h. er sendet
> nicht auf dem Rs485 sondern ausschliesslich auf der TTL Seite.

Deine Argumentation scheint dir logisch erscheinen!
Aber ist sie das auch?

: Bearbeitet durch User
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.