Forum: Mikrocontroller und Digitale Elektronik RS232 mit 9N1 auslesen


von Josef R. (jr1234)


Lesenswert?

Hallo,

ich habe eine ganze Zeit gelesen, bekomme aber die Fäden nicht richtig 
zueinander.

Das Ziel ist ein seriellen Bus zu sniffen, zu loggen.
Die Parameter sollen 9N1 sein.
Alle Versuche mit 8N1 bringen keinen Erfolg, bzw nur Datenmüll.

Jetzt habe ich hier verschiedene Ansätze gelesen, die mich auf die Idee 
bringen, das 9 Bit als parity Bit zu verarbeiten  -- ich will NUR lesen!

Hintergrund: im 9. Bit soll wohl das Kennzeichen Adresse/Data stehen...
Meine Idee: ich lese via USB-RS232 8 bit und "hole" mit das Parity 
zusätzlich, und weiss dann, Addy oder data der 8 Bits.

Aber wie kann ich dies machen ?
8 Bit lesen ...schaffe ich. Aber wie bekomme ich zu diesen 8 Bit das 
parity Bit vom controller. Und wie überrede ich den Controller, das 
Barity Bit selber NICHT auszuwerten, sondern mir zu senden ?


Vielleicht ist ja auch der ganze Ansatz falsch?

Die MDP Kommunikation müsste ein ähnliches Problem haben, um einen 
Sniffer für den Bus zu realisieren .....

Danke für jeden Hinweis.

JR

von Sigi S. (sermon)


Lesenswert?

Oh ein Glaskugel Fred

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


Lesenswert?

Josef R. schrieb:
> Die Parameter sollen 9N1 sein.
Ich würde genau diese Vermutung und die Baudrate ganz einfach 
zuallererst mal mit einem Onzilloskop oder einem Logikanalyzer 
überprüfen.

> Und wie überrede ich den Controller, das Barity Bit selber NICHT
> auszuwerten, sondern mir zu senden ?
Der leider völlig geheime Controller legt das Paritybit normalerweise 
einfach in einem 9. Registerbit ab, wo man es auslesen und auswerten 
kann.

BTW: bitte nicht Plenken. Ein Satzzeichen hat keine eigene Zeile 
verdient!

: Bearbeitet durch Moderator
von Falk B. (falk)


Lesenswert?

Josef R. schrieb:
> Aber wie kann ich dies machen ?
> 8 Bit lesen ...schaffe ich. Aber wie bekomme ich zu diesen 8 Bit das
> parity Bit vom controller. Und wie überrede ich den Controller, das
> Barity Bit selber NICHT auszuwerten, sondern mir zu senden ?

Die meisten Mikrocontroller ala AVR bieten direkten Zugriff darauf. Auf 
dem PC wird das schwierig bis unmöglich, denn da kümmert sich die 
Hardware drum und gibt dir bestenfalls einen Paritätsfehler aus. Den 
kann man aber rückwärts rechnen! Sprich, rechne die Parität der 8 
Datenbits aus (XOR), dann weißt du, welchen Wert Bit 9 haben muss. Ist 
Bit 9 aber anders herum,  wird ein Paritätsfehler angezeigt. Dabei 
gerade und ungerade Parität beachten.

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


Lesenswert?

Falk B. schrieb:
> Auf dem PC wird das schwierig bis unmöglich
Ich würde das auf dem PC mit meinem PicoScope machen und nicht extra 
Hardware basteln. Bis ich nämlich die Zeit und den Aufwand rechne, den 
man für eine selbstgefrickelte Lösung braucht, kannst ich mir so ein 
Oszi kaufen und habe fürderhin bei ähnlichen Problemen schon die Lösung 
in der Schublade.

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


Lesenswert?

Josef R. schrieb:
> die mich auf die Idee
> bringen, das 9 Bit als parity Bit zu verarbeiten

Oder irgendeine Form von soft Serial.
Eine solche Lösung verwendet man doch nur, wenn die geheime UART 
Komponente keinen 9 Bit Modus kennt.

von Falk B. (falk)


Lesenswert?

Lothar M. schrieb:
>> Auf dem PC wird das schwierig bis unmöglich
> Ich würde das auf dem PC mit meinem PicoScope machen und nicht extra
> Hardware basteln.

Stimmt. Oder einen anderen billigen Logicanalyzer mit RS232 Dekoder.

von Bruno V. (bruno_v)


Lesenswert?

Josef R. schrieb:
> 8 Bit lesen ...schaffe ich. Aber wie bekomme ich zu diesen 8 Bit das
> parity Bit vom controller. Und wie überrede ich den Controller, das
> Barity Bit selber NICHT auszuwerten, sondern mir zu senden ?

Konfigurier mit Parity, z.B. Even. Wenn für die 8 Bit das Parity-Bit 1 
sein muss und Du einen Fehler hast, dann war es wohl 0. So kannst Du für 
alle 4 Kombinationen Parity auswerten. Bei Deinem Umsetzer hast Du 
Glück und er bricht daraufhin nicht mit großem Getöse für die nächsten x 
Bytes einfach ab. Lebe einfach mit den Fehlermeldungen.

von Nick (b620ys)


Lesenswert?

SigRock + der billigste davon unterstützle Logic Analyzer.

von Stefan R. (stefan_r_bs)


Lesenswert?

(Vor-Edit: Da ich zu langsam schreibe, wurde vielleicht alles wichtige 
bereits gesagt. Schicke meinen Senf trotzdem ab, nachdem ich ihn nun 
verfasst habe...)

Das Problem ist ja, dass die gängige PC-Hardware sich nicht auf 
9-Bit-Wörter einstellen lässt. Habe nie mit 9-Bit zu tun gehabt, daher 
muss ich raten:

Mein Ansatz wäre, ein Parity-Bit einzustellen (Modus egal), dann passt 
die Wortlänge und Du kannst 8-Bit-Wörter empfangen. Parity-Fehler 
ignorieren, die Information des 9. Bits geht verloren.

Falls des 9. Bit wichtig ist, wird es wohl komplizierter. Man könnte 
probieren: Parity = SPACE setzen, Bytes einzeln vom Port lesen, nach 
jedem Byte das Line-Status-Register prüfen, ob ein Parityfehler 
vorliegt. Falls nein, war das 9. Bit = 0, falls ja, war es 1.

von Vanye R. (vanye_rijan)


Lesenswert?

> Das Problem ist ja, dass die gängige PC-Hardware sich nicht auf
> 9-Bit-Wörter einstellen lässt.

Das stimmt nicht. Sowas war bei unseren Opas mal gaengig in MCS51. War 
wohl mal so eine Siemensidee fuer Bussysteme.

The MCS-51 (8051) microcontroller family supports 9-bit serial 
communication in Modes 2 and 3, primarily designed for multiprocessor 
master-slave communication. In this mode, the 9th bit (stored in 
TB8/RB8) is used to distinguish between address bytes (9th bit = 1) and 
data bytes (9th bit = 0), allowing the master to send data to specific 
slaves.


Eine weitere Moeglich waere wohl ein RP2040 mit Pico.

Auch Renesas hatte ein paar MCUs wo man alles zwischen 5 und 16Bit 
einstellen konnte. Leider faellt mir der Typ gerade nicht ein.

Unmoeglich ist das wohl nur fuer Leute die nur STM32 kennen. .-)

Vanye

von Rahul D. (rahul)


Lesenswert?

Vanye R. schrieb:
> Unmoeglich ist das wohl nur fuer Leute die nur STM32 kennen. .-)

Warum? Die können das auch; wenn auch nicht stufenlos, aber 7, 8 und 9 
Datenbits sind möglich.
Das 9Bit-System ist doch asbach und dann doch ziemlich verbreitet.

von Vanye R. (vanye_rijan)


Lesenswert?

> Das 9Bit-System ist doch asbach und dann doch ziemlich verbreitet.

Manches stirbt leider noch nicht mal wenn du dreimal mit dem Auto 
drueber faehrst. :)

Vanye

von Rahul D. (rahul)


Lesenswert?

Vanye R. schrieb:
> Manches stirbt leider noch nicht mal; wenn du dreimal mit dem Auto
> drueber faehrst. :)

So wie RS232? :P

von Obelix X. (obelix)


Lesenswert?

Josef R. schrieb:
> Die MDP Kommunikation müsste ein ähnliches Problem haben, um einen
> Sniffer für den Bus zu realisieren .....

MDB

von Josef R. (jr1234)


Lesenswert?

vor erstmal:  besten Dank für die Hinweise.


Der Konverter ist nicht geheim. Zur Zeit ist es ein Edgeport/1.
Die Lösung sollte aber eigentlich unabhängig sein.


Der Ansatz über das Parity Bit würde ich gerne verfolgen ...
Aber ich verstehe es noch nicht. Ich muss dem Konverter also vorgaukeln, 
ein Parity Bit wäre im Stream...Aber verwirft er dann nicht die Bytes, 
deren Parity Bit nicht stimmt ?

Und wie lese ich die aus, pyserial oder python serial....liefert den 
line-status nur begrenzt zurück.
Ich müsste dem konverter aus meiner Sicht ja sagen, das er parity Fehler 
akzeptieren soll. Aber wie ?  Und wi das das Parity auslesen ?

So ganz verstehe ich es (noch) nicht


Ozzi: Werde ich heute Abend probieren. Mein Prob: ich kann die Bytes 
nicht separieren....da kommt gleich eine Menge Bytes...

LA: Geht zur Zeit nicht: Ich kann den Pegel nicht anpassen, da fehlt mir 
etwas ....arbeite daran!


J.

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


Angehängte Dateien:

Lesenswert?

Josef R. schrieb:
> Mein Prob: ich kann die Bytes nicht separieren....
Natürlich kannst du das, der "Controller" kann es ja auch.
> da kommt gleich eine Menge Bytes...
Geht trotzdem: fang einfach bei irgendeinem Bit an und prüfe, ob das 
nachfolgende Telegramm sinnvoll ist. Nach spätestens 9 Versuchen hast du 
aufsynchronisiert.

> Zur Zeit ist es ein Edgeport/1.
> Ich muss dem Konverter also vorgaukeln...
Du must dem gar nichts vorgaukeln. Wenn der das von sich aus nicht kann, 
dann bist du schon fertig: es geht nicht.

> Der Ansatz über das Parity Bit würde ich gerne verfolgen ...
Dafür musst du näher ran an die Hardware.

Lothar M. schrieb:
> BTW: bitte nicht Plenken. Ein Satzzeichen hat keine eigene Zeile verdient!
Naja, den Versuch wars wert. Wo lernt man denn so einen Müll? Warum 
machst du nicht konsequenterweise vor einem Punkt auch ein Leerzeichen, 
wie du es vor einem Fragezeichen auch machst?

: Bearbeitet durch Moderator
von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> LA: Geht zur Zeit nicht: Ich kann den Pegel nicht anpassen, da fehlt mir
> etwas ....arbeite daran!

Das ist auch wirklich eine überwältigende Aufgabe. Da fummelt man lieber 
Paritybits um die dann in der Folgesoftware nicht verarbeitet werden 
können.

Spannungsteiler, eine Diode und fünf Mal die Finger am Lötkolben 
verbrennen wenn man wieder mal vergessen hat wo die warme Seite ist.

Beitrag #8024063 wurde vom Autor gelöscht.
von Bruno V. (bruno_v)


Lesenswert?

Josef R. schrieb:
> Und wie lese ich die aus, pyserial oder python serial....liefert den
> line-status nur begrenzt zurück.
> Ich müsste dem konverter aus meiner Sicht ja sagen, das er parity Fehler
> akzeptieren soll. Aber wie ?  Und wi das das Parity auslesen ?

Wie liest Du denn bisher gute Bytes aus? Wenn Du das weißt, schau in die 
Beschreibung der Schnittstelle, was bei parity- oder framing-error 
passiert. Konkret, ob Du trotzdem Zugriff auf das Byte hast.

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


Lesenswert?

Josef R. schrieb:
> Der Ansatz über das Parity Bit würde ich gerne verfolgen ...

Du hast dir den wohl kompliziertesten Weg ausgesucht!

Ein ATMega32U4 kostet nur wenige Euronen, in Form eines Leonardo oder 
Micro Boards.
Als Zusatz Beschaltung brauch er einen MAX232 und schon ist dein 9 Bit 
Sender/Empfänger mit USB Anbindung fertig.
Die USART kann 9Bit.

Für die Sendung an den PC wird man das Datenwort auf 2 Byte aufteilen 
müssen, und auf dem PC wieder zu einem Wort zusammenstöpseln dürfen.

Zum ATMega32U4:
Es gibt sicherlich dutzende andere µC die das genauso gut können.

von Josef R. (jr1234)


Lesenswert?

Vielen Dank für die Hinweise.

Ich werde Andrino's Weg verfolgen  und auch die 9 Bit verifizieren

Danke

JR

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


Lesenswert?

Josef R. schrieb:
> Ich werde Andrino's Weg verfolgen

OK...
Der ATMega kann die 9 Bit,
Arduino Serial kann sie nicht.

Aber im Datenblatt des 32U4 ist das Vorgehen prächtig beschrieben.
Incl. ASM und C Code

von Josef R. (jr1234)


Angehängte Dateien:

Lesenswert?

Ich habe mal ein Ozzi angeschlossen, werde damit aber nicht klüger....

Ich kann die Signale nicht interpretieren, geschweige denn erkennen ob 
es 8 oder 9 Datenbits, wie auch die Anzahl der Stop- und Parity-Bits.

Es ist dabei anzumerken: die übertragende Date soll sich alle 10-20ms 
ändern.
Die erwartet Pause kann ich auf Foto2 erkennen, was aber dann heißen 
muss: Es werden mehr als 1 Byte übertragen ....gem. Foto2

Ich muss anmerken, das die einzelnen Aufnahmen unterschiedliche Daten 
darstellen.

Ich muss wohl auf LA Bilder hoffen, oder erkennt hier jemand mehr?

Danke für jeden Hinweis

J.

von Stefan R. (stefan_r_bs)


Lesenswert?

Du "guckst" zu langsam :-)

Bei 9600 Baud (das sind es doch, oder?) hast Du ein Bit pro 1/9600 s = 
104 µs. Also kannst Du nur auf Bild 4 mit 500 µs/DIV was konkretes 
ablesen. Da wäre dann ein Bit je Markierungspünktchen: Es geht los mit 1 
Startbit zur Synchronisation (geht auf LOW), dann kommen die 9 
Datenbits, dann mindestens 1 Stopbit (geht auf HIGH und bleibt dort 
solange, bis jemand das nächste Wort sprechen möchte...)

Ich lese - ohne Garantie - (0)001011000(1), (0)111111110(1), 
(0)111111110(1) (Start-/Stopbit jeweils in Klammern). Oder halt das 
Gegenteil - weiß grad nicht mehr, ob LOW = 0 oder 1 bedeutete (?)

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


Lesenswert?

Josef R. schrieb:
> Danke für jeden Hinweis
High ist der Ruhepegel. Denn zwischen jedem Datenpaket ist eine längere 
High-Phase. Also stell den Trigger des Oszis auf "High länger als 5ms", 
dann bekommst du den Anfang eines Datenpaketsubd kannst dann die Bits 
auszählen.

Und das, was du hast sind keine RS232-Pegel, sondern offenbar TTL-Pegel.

: Bearbeitet durch Moderator
von Josef R. (jr1234)


Lesenswert?

Danke für die Hinweise,

aber, um ehrlich zu sein, ich kann euch nicht folgen.
Es soll sich wirklich um 9600 Baud handeln.  Richtig
Auf Bild 4, kommend vom High-Level ist das Start-Bit 2, 2.5 , Pünktchen 
lang.

dann kommt high, 1 pkt   also 0 Signal
dann low , 1 pkt, also 1
2x high   also 0 0


und dann 3x low, also 1 1 1


Um ehrlich zu sein......ich rate da mehr als ich sehe.

Gibt es einen Trick, das vernünftig zu lesen ?

Ich versuche es mit einem LA.....


Melde mich da zu.
JR

von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Gibt es einen Trick, das vernünftig zu lesen ?

Den X-Cursor des Oszis. Üblicherweise ist das ein Paar um Differenzen 
messen zu können.

von Vanye R. (vanye_rijan)


Lesenswert?

> Den X-Cursor des Oszis. Üblicherweise ist das ein Paar um Differenzen
> messen zu können.

Ich will ja nicht sagen das man immer den allerneuesten teuren Scheiss 
von uebermorgen braucht, aber auf diesem ollen verauschten schroedligen 
LCD weigern sich meine Augen irgendwas zu erkennen.

Vanye

von Nick (b620ys)


Lesenswert?

Vanye R. schrieb:
> aber auf diesem ollen verauschten schroedligen
> LCD weigern sich meine Augen irgendwas zu erkennen.

Es würde aber gehen. Nicht, dass ich es mit Begeisterung machen wollen 
würde.
Und wenn ich nur meinen Owon-Taschen-Schnoedel hätte, dann würde ich 
halt den hernehmen.

Bewundernswert ist aber die Hartnäckigkeit des TO nicht mal einen 
Billigst-LA zu kaufen. Schnelles Ergebnis ohne rumgefrickle mit neuen 
Problemen dank für ihn unbekannter µC-Hardware.

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


Lesenswert?

Nick schrieb:
> nicht mal einen
> Billigst-LA zu kaufen.

Einen Klon für ca 10 Euronen.

Oder einen Pi Pico RP2040 für ca 3 Euronen, dann hat man immerhin 21 
digitale und 2 analog Kanäle.

von Stefan K. (stk)


Lesenswert?

Lothar M. schrieb:
> Und das, was du hast sind keine RS232-Pegel, sondern offenbar TTL-Pegel.

Die gut 2,5 Div High Pegel bei 5V/Div könnten etwas zu viel sein für 
einen einfachen LA.

von Nick (b620ys)


Lesenswert?

Stefan K. schrieb:
> Die gut 2,5 Div High Pegel bei 5V/Div könnten etwas zu viel sein für
> einen einfachen LA.

Nick schrieb:
> Spannungsteiler, eine Diode und fünf Mal die Finger am Lötkolben
> verbrennen wenn man wieder mal vergessen hat wo die warme Seite ist.

von Stefan R. (stefan_r_bs)


Angehängte Dateien:

Lesenswert?

Josef R. schrieb:
> aber, um ehrlich zu sein, ich kann euch nicht folgen.
> Es soll sich wirklich um 9600 Baud handeln.  Richtig
> Auf Bild 4, kommend vom High-Level ist das Start-Bit 2, 2.5 , Pünktchen
> lang.

Nein, das Startbit ist wie alle anderen 104 µs lang:
Der Empfänger erkennt das Startbit, startet seine Uhr und schaut alle 
104 µs nach dem Pegel. Wenn er 11 Bits beisammen hat, wartet er auf die 
nächste Synchronisation/das nächste Startbit.
Habe in Bild 4 mal eingezeichnet, was ich lese.


Stefan K. schrieb:
> Lothar M. schrieb:
>> Und das, was du hast sind keine RS232-Pegel, sondern offenbar TTL-Pegel.
>
> Die gut 2,5 Div High Pegel bei 5V/Div könnten etwas zu viel sein für
> einen einfachen LA.

Glaube, das hat Lothar falsch gelesen. Das "A = 5V", was das Fluke in 
Bild 4 anzeigt, habe ich auch erst als Pegeldifferenz von 5 V 
verstanden. Aber es sind 5 V/Div, also wohl doch ganz normale 
RS-232-Pegel.

von Harald K. (kirnbichler)


Lesenswert?

Stefan R. schrieb:
> Aber es sind 5 V/Div, also wohl doch ganz normale
> RS-232-Pegel.

Dann aber ist irgenwas invertiert.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Auf meinem Oszi hinter dem Max232 auf der Leitung.
Ein Beispiel für hex 48 (0x48)
Das nannte sich einmal V24.
Richtung MSB ->LSB

ciao
gustav

von Norbert (der_norbert)


Lesenswert?

Karl B. schrieb:
> Richtung MSB ->LSB

Sure?

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

nochmal größer.
Du hast recht. umgekehrt.

ciao
gustav

von Josef R. (jr1234)


Lesenswert?

sorry der späten Rückmeldung, aber Job und Fam. gehen meist vor ....



@Stefan R.  Vielen Dank für die Erklärung. Aber wo ist den das Start-Bit 
? Hätte ich dies nicht auch sehen müssen ?   Mein Wunsch ist es, aus dem 
Ozzi Bild die Werte zu lesen, quasi die Grundlage.



@Karl   Wie hast Du den Max232 angeschlossen ?

Ich habe einen Max3232 aus diesem Angebot:
https://www.ebay.de/itm/177392743194?_trkparms=amclksrc%3DITM%26aid%3D777008%26algo%3DPERSONAL.TOPIC%26ao%3D1%26asc%3D20250528145717%26meid%3D3b4bd9ef4ad5403695937198f7b1400e%26pid%3D102790%26rk%3D2%26rkt%3D15%26mehot%3Dnone%26itm%3D177392743194%26pmt%3D0%26noa%3D1%26pg%3D4375194%26algv%3DRecentlyViewedItemsV2DWebWithPSItemDRV2_BP%26tu%3D01KMK2X82P7RJY763TBC1WE9SA

Angeschlossen:
RS232: GND und In  ( Pfeil auf die Platine)
TTL: VCC, GND, Out ( Pfeil von der Platine)

Mein Prob.: sobald ich den IN an den Sender ( serielle Leitung) 
anschließe, bricht das Ausgang-Signal auf ca 3V zusammen.

Die TTL Seite habe ich auf einen Sipeed Combo8, mit allen 3 Anschlüssen 
( VCC=5V, GND, und Ch1),  gelegt

Wieso belastet der Max das Eingangssignal ??
Das kann doch nicht richtig sein!
Oder hätte ich auf der RS232 Seite auch ein VCC (=12V) bereit stellen 
sollen?
Der Max soll nur "hören", nie senden, deshalb habe ich nur auf der TTL 
Seite eine Versorgung ...Ist das ggf. ein Trugschluss ?



Ich merke: Analoge Schaltung ist nicht mein Steckenpferd

Endziel ist es: die serielle Schnittstelle mit einem Odroid C4 
mitzuschreiben, aber zur Zeit habe ich den LA an der TTL Seite dran


Vielen Dank für jede Unterstützung

JR

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


Lesenswert?

Josef R. schrieb:
> Ich habe einen Max3232 aus diesem Angebot:

Mit diesen Platinchen hab ich schlechte Erfahrungen gemacht.
Meine liefen ein paar Wochen im Dauereinsatz und sind dann warm 
geworden.
Die Max, die ich bekommen habe, sind vermutlich mangelhafte Fälschungen.

: Bearbeitet durch User
von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Oder hätte ich auf der RS232 Seite auch ein VCC (=12V) bereit stellen
> sollen?

Ich würde mal das Datenblatt von dem MAX3232 lesen und verifizieren, 
dass da nichts verdreht wurde und die Signale an den Pins sind und nicht 
irgendwo.
Auf dem Bild ist für mich - ohne DaBla - nicht klar was RS232 oder TTL 
ist.
Die Cs für die Ladungspumpe sind wohl auf der Unterseite der Sondermarke 
... Platine.

Analogtechnik ist da nix dran!


Oszi hast ja ...

: Bearbeitet durch User
von Josef R. (jr1234)


Lesenswert?

lach,

das Spannungsverhalten ist jetzt auch...seltsam.


Wo bekomme ich denn auf die Schnelle "gute" Max232. Und dann mit 
realistischen Vertriebskosten ???

von Harald K. (kirnbichler)


Lesenswert?

Josef R. schrieb:
> Aber wo ist den das Start-Bit
> ? Hätte ich dies nicht auch sehen müssen ?

Auf 
https://www.mikrocontroller.net/attachment/693309/bild4_lesehilfe.png

ist das erste Byte mit LLHLHHLLLHH, also der Bitfolge 00101100011 
aufgeführt.

Die erste 0 ist das Startbit, die letzte 1 ist das Stopbit.
1
0 010110001 1
2
| 012345678 |
3
| ----+---- +-- Stopbit
4
|     +-------- 9 Bits Daten
5
+-------------- Startbit

Die Nutzdaten sind demnach 010110001 -> 0x11a
(Wert 0x1a und gesetztes 9. Bit)

--
Warum Plenken eine schlechte Idee ist, zeigt Dein Beitrag, bei dem das 
Fragezeichen in die nächste Zeile rutscht. Und wieso schreibst Du "den", 
und nicht "denn"?

von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Wo bekomme ich denn auf die Schnelle "gute" Max232.

Dein Link zeigt auf einen MAX3232, der arbeitet schon ab 3V3, der MAX232 
nur mit 5V (ausm Kopf raus, ohne nachzulesen).

Mit der Zeit die du schon durch deine Erklärungsresistenz verblödelt 
hast, dürften die Portokosten keine Rolle mehr spielen.

von Bauform B. (bauformb)


Lesenswert?

Josef R. schrieb:
> Mein Prob.: sobald ich den IN an den Sender ( serielle Leitung)
> anschließe, bricht das Ausgang-Signal auf ca 3V zusammen.
>
> Wieso belastet der Max das Eingangssignal ??

Das ist normal, 3V sind wenig, aber gerade noch ok. Ein normgerechter 
RS-232 Empfänger hat 3 bis 7 kΩ vom Eingang nach GND.

> Oder hätte ich auf der RS232 Seite auch ein VCC (=12V) bereit stellen
> sollen?
> Der Max soll nur "hören", nie senden, deshalb habe ich nur auf der TTL
> Seite eine Versorgung ...Ist das ggf. ein Trugschluss ?

Der MAX selber hat nur einen Pin für die Versorgung, für 3 bis max. 5V. 
Wir wissen natürlich nicht, was alles auf dem Modul passiert.

von Josef R. (jr1234)


Angehängte Dateien:

Lesenswert?

@Harald K. Danke, ich habe  zwischen Start-Bit und Bit0 eine Pause 
erwartet gesucht.   Und dann aber auch die Anzahl der  dargestellten 
Bits nicht gezählt........Dachte, das wären die Nutz-Bit's. Sorry und 
Danke




Spannung: ich komme da nicht weiter. Aber zur Verdeutlichung: 
"Ausgangssignal" meinte nicht das TTL Signal, sondern das Ausgangssignal 
der Leitung.
Im Klartext:
Ohne Max3232 schwankt der Pegel des rs232 Signals zwischen 0-13,x V 
(Der Sender wird mit 13.6V eingespeist)
Mit Max3232 schwankt der Pegel zwischen 0-3V.
Der Ausgangspegel auf der TTL Seite ist 0-4V, bei 5V Einspeisung via 
Sipeed.

Im Web habe ich eine "Pinbelegung" gefunden, die mich allerdings auch 
nicht weiter bringt. siehe Bild

Das Datenblatt von Texas hilft mir auch nicht weiter. Da wird die zweite 
Versorgung auch beschrieben, aber so wie ich das verstehe, besteht das 
IC aus einer Sende- und einem Empfangs-Teil.  Diese sind scheinbar 
getrennt, dürften sich nicht beeinflussen.

Ich bekomme die "Fäden" zwischen Platinenbeschriftung und Datenblatt 
und dann zum Anwendungsfall nicht hin.

Um es zu testen, was soll max. passieren, wenn ich auf der rs232 Seite 
eine 12V Versorgung lege, und dann ein 12V Signal auf den rs232 eingang 
?
Hintergrund: Der "Sender" ist nicht billig und ich möchte ihn nicht mit 
Tests belasten.

Danke für jeden fachlichen Hinweis

JR

von Harald K. (kirnbichler)


Lesenswert?

Josef R. schrieb:
> Aber zur Verdeutlichung:
> "Ausgangssignal" meinte nicht das TTL Signal, sondern das Ausgangssignal
> der Leitung.
> Im Klartext:
> Ohne Max3232 schwankt der Pegel des rs232 Signals zwischen 0-13,x V
> (Der Sender wird mit 13.6V eingespeist)
> Mit Max3232 schwankt der Pegel zwischen 0-3V.
> Der Ausgangspegel auf der TTL Seite ist 0-4V, bei 5V Einspeisung via
> Sipeed.

Diese Prosa verdeutlich überhaupt gar nichts.

Zeig' einen Schaltplan.

Josef R. schrieb:
> Im Web habe ich eine "Pinbelegung" gefunden, die mich allerdings auch
> nicht weiter bringt. siehe Bild

Das ist kein Wunder, auf dieser Briefmarke erkennt man auch nichts.

Josef R. schrieb:
> Das Datenblatt von Texas hilft mir auch nicht weiter. Da wird die zweite
> Versorgung auch beschrieben, aber so wie ich das verstehe, besteht das
> IC aus einer Sende- und einem Empfangs-Teil.  Diese sind scheinbar
> getrennt, dürften sich nicht beeinflussen.

Wenn Du einen Schaltplan statt Prosa zeigen würdest, könnte man Dir 
--vielleicht-- irgendwie helfen.

von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Da wird die zweite
> Versorgung auch beschrieben,

Es gibt nur eine Versorgungsspannung und die ist 3V3 bis 5V (beim 
MAX3232).

https://www.ti.com/lit/ds/symlink/max3232.pdf?ts=1774514674845&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252Fde-de%252FMAX3232
Seite 3, Figure 5-1, der letzte Pin in der Tabelle VCC.

Und natürlich wie immer (da schaut man bei Fragen zuallererst rein) 
Seite 11, "Figure 9-1. Typical Operating Circuit and Capacitor Values"

von Stefan R. (stefan_r_bs)


Lesenswert?

Josef R. schrieb:
> @Stefan R.  Vielen Dank für die Erklärung. Aber wo ist den das Start-Bit
> ? Hätte ich dies nicht auch sehen müssen ?   Mein Wunsch ist es, aus dem
> Ozzi Bild die Werte zu lesen, quasi die Grundlage.

*Zum Thema "aufgezeichnete Kommunikation decodieren":*

Also ganz sicher erkennen lässt sich das (erste) Startbit daran, dass 
vorher >= 11 * 104 µs Ruhe geherrscht hat. Dass es regelmäßig 
Kommunikationspausen gibt, zeigen ja Deine Bilder 1 & 2.
Wenn Du erstmal "aufgeschaltet" bist und gerade ein 11-Bit-Paket zuende 
empfangen hast, ist auch klar, dass als nächstes wieder ein Startbit 
kommt.

Bei Bild 4 habe ich geraten (bzw. bin einfach davon ausgegangen, dass 
das Fluke halt getriggert hat, nachdem zuvor Ruhe herrschte) - es ging 
mir aber auch mehr darum, die Decodierung prinzipiell zu erläutern.

Habe die Bits bewusst als "LOW" und "HIGH" eingezeichnet, um mir kein 
abschließendes Urteil darüber zu erlauben, was davon "logisch 1" und 
"logisch 0" bedeuten soll.

*Zum Thema "Wie UART anschließen?":*

Wie Harald schon sagt...

Harald K. schrieb:
> Stefan R. schrieb:
>> Aber es sind 5 V/Div, also wohl doch ganz normale
>> RS-232-Pegel.
>
> Dann aber ist irgenwas invertiert.

... ist die Sache noch irgendwie verdreht: Normalerweise ist Idle = 
logisch 1 üblich.

Es fiel zu Anfang das Stichwort "MDB", Multi-Drop-Bus.

Darum würde ich sagen, statt wild mit Max232 drauflos zu basteln:

==> Mal nachforschen, wie denn normalerweise die Empfänger an diesen Bus 
angeschlossen werden sollen.

Kenne mich mit den elektrischen Eigenschaften von MDB nicht aus. Habe 
auf die schnelle das gefunden: 
https://bonusdata.com/documents/BD-4000-Technical-Manual-v1.06.pdf

Dort herausgezogen (S. 80ff), dass sich die Zuhörer per Optokoppler 
ankoppeln und dass jeder zuhörende MDB-Slave den Bus mit nicht mehr 15 
mA belasten soll. Wenn das so stimmt, wäre es super einfach für Dich:

- Optokoppler-Eingang und Vorwiderstand an den Bus,
- Optokoppler-Ausgang mit einem Pull-Up-Widerstand an den UART Deines 
µC.

Würde auch in sofern Sinn machen, als dass der Transistor im Optokoppler 
das Signal invertiert, es danach also den üblichen TTL-Konventionen 
entspricht. (Aber wie gesagt: vernünftiges Vorgehen dürfte sein, erstmal 
nach Beispielen/Dokumenten zum Anschluss von Clients an den MDB zu 
suchen.)

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Das war die Test-Platine.
Abgriff für Oszi am Ausgang TXD des V24-Pegelwandlers Max232.
Je nachdem von welcher Seite aus man das sieht, ist es als Senden oder 
Empfangen im IC-Datenblatt (Schaltplan) dargestellt. Z.B. Pins 11/12 
gehen zum µC UART RXD/TXD Pins.
Habe noch ein vereinfachtes Schaltbild des Max 232 angehängt, wo das 
wohl deutlicher wird.
Sieht so aus, dass bei Euch RXD und TXD intern vertauscht worden waren.

ciao
gustav

: Bearbeitet durch User
von Stefan R. (stefan_r_bs)


Lesenswert?

Stefan R. schrieb:
> Würde auch in sofern Sinn machen, als dass der Transistor im Optokoppler
> das Signal invertiert, es danach also den üblichen TTL-Konventionen
> entspricht. (Aber wie gesagt: vernünftiges Vorgehen dürfte sein, erstmal
> nach Beispielen/Dokumenten zum Anschluss von Clients an den MDB zu
> suchen.)

Hrmpff... das habe ich im Kopf jetzt wohl nochmal extra verdreht, sorry.
(Naja, wenn erstmal ein UART überredet ist, die Daten zu decodieren, 
dann kann man die Datenbits bei Bedarf auch immer noch in Software 
invertieren.)

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


Lesenswert?

Stefan R. schrieb:
> Hrmpff... das habe ich im Kopf jetzt wohl nochmal extra verdreht, sorry.
> (Naja, wenn erstmal ein UART überredet ist, die Daten zu decodieren,
> dann kann man die Datenbits bei Bedarf auch immer noch in Software
> invertieren.)

So manche UART/USART kann die Daten intern invertieren.
1 Bit setzen reicht dann dafür.

von Josef R. (jr1234)


Angehängte Dateien:

Lesenswert?

ok,  der Tip mit dem Schaltplan ist wohl gut.
Ich habe versucht, es aufzuzeichnen, wie es zur Zeit verschaltet ist.



Wenn ich von der RS232-Minus Seite löse habe ich 0-13V Signale
Mit RS232-Minus habe ich nur noch 0-4V Signale

Die Versorgung der Schaltung erfolgt über Labornetzteil, das 
Ampere-Meter zeigt keinen Unterschied ob der RS232-Minus angeschlossen 
ist oder nicht....

Es sieht aus, als wenn der Master die Signal-Spannung ( =data) nicht 
aufrecht erhalten kann.




@Stefan  MDP ist von mir, ich hatte einen Bericht gefunden, das jemand 
die Schnittstelle über einen teensy, mit max232, realisiert hat.
Daher kommt auch die 9 Bit Info, Invers-Darstellung, und die Info: 
Address-Byte wird mit gesetztem Partity-Bit markiert.

Mit diesen Informationen habe ich bei der Web-Suche die Hinweise auf den 
MDP "Bus" gefunden.

Dass von Dir zitierte Bauteil scheint interessant zu sein. Könnte sein, 
das es vieles erledigt, mit dem ich kämpfe.
Ich befürchte nur, das ich dann auch die SW von bonusdata brauche.....
Ziel ist eigentlich die TTL Schnittstelle mit einem Odroid C4 zu 
verbinden.
Deshalb mein, versuchter, Weg über die RS232.

Allerdings dachte ich auch, das es mit dem Max deutlich einfacher wäre. 
Da war ich blauäugig.

Noch möchte ich nicht aufgeben, auch wenn ich mehr Fragen als Antworten 
habe.


JR

von Karl B. (gustav)


Lesenswert?

Finde per Zufall im Dabla des ATtiny2313
Supports Serial Frames with 5, 6, 7, 8, or 9 Data Bits and 1 or 2 Stop 
Bits.
Seite 119:
""...
C Code Example(1)(2)
void USART_Transmit( unsigned int data )
{
/* Wait for empty transmit buffer */
while ( !( UCSRA & (1<<UDRE))) )
;
/* Copy 9th bit to TXB8 */
UCSRB &= ~(1<<TXB8);
if ( data & 0x0100 )
UCSRB |= (1<<TXB8);
/* Put data into buffer, sends the data */
UDR = data;
//......"

Quelle:
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2543-AVR-ATtiny2313_Datasheet.pdf

Noch Fragen, Euer Ehren...nein er gehört Ihnen.

ciao
gustav

von Joachim B. (jar)


Lesenswert?

Nick schrieb:
> Es gibt nur eine Versorgungsspannung und die ist 3V3 bis 5V (beim
> MAX3232)

und deswegen nehme ich die nur noch ausschließlich, arbeiten an 5V und 
3.3V und können so beide Welten zusammenbringen, notfall gewandelt.
Ist ja nun wirklich keine Hexenmagie.

Man muß nur wissen daß Ruhepegel aus den µC invertiert sind!
Die korrekte Invertierung machen dann eben beide MAX3232.

von Peter G. (metalfranke)


Lesenswert?

Josef R. schrieb:
> @Stefan  MDP ist von mir, ich hatte einen Bericht gefunden, das jemand
> die Schnittstelle über einen teensy, mit max232, realisiert hat.
> Daher kommt auch die 9 Bit Info, Invers-Darstellung, und die Info:
> Address-Byte wird mit gesetztem Partity-Bit markiert.
>
> Mit diesen Informationen habe ich bei der Web-Suche die Hinweise auf den
> MDP "Bus" gefunden.

was meinst du mit MDP? Oder ist der Multi Drop Bus (MDB) gemeint? Auf 
die Gefahr hin es überlesen zu haben, was ist deine Gegenstelle? Welches 
Gerät sendet die Daten?

Gruß Peter

von Dietrich L. (dietrichl)


Lesenswert?

Josef R. schrieb:
> ok,  der Tip mit dem Schaltplan ist wohl gut.
> Ich habe versucht, es aufzuzeichnen, wie es zur Zeit verschaltet ist.

Um zu kontrollieren, ob der MAX3232 richtig angeschlossen ist, solltest 
du auch die Pin-Nummern in den Schaltplan eintragen.

von Josef R. (jr1234)


Lesenswert?

@Karl B.    da kannn ich nicht ganz folgen.   Das Problem der 
Pegelanpassung bleibt doch auch beim ATtiny2313   ?
Der Odroid C4 soll es auch können....



@Peter G  Ich habe auch Multi Drop Protocol gelesen. Denke, aber wir 
meinen das gleiche.
Ob es sich bei meinem Display wirklich um MDP, MDB   handelt......ich 
weiss es nicht. Der Hersteller hält sich bedeckt.


@Dietrich L   Sorry, aber ich kann die Bahnen nicht erkennen. Jedenfalls 
bei meinen Exemplaren. Auf der Unterseite sind Bahnen erkennbar. Aber 
den keine Verbindung auf einen Pin des IC's.

Kann  es sein, das der Max3232 zuviel Strom zieht ? Das kann ich mir 
noch nicht vorstellen. Der Master soll doch Bussysteme mit mehr 
Teilnehmern versorgen.
Kann ich das messtechn. prüfen?  Widerstand in die Data-Leitung und den 
Spannungsabfall messen ?

Das kann aber doch nicht sein!
Ich habe das Gefühl, das Rad grade neu zu erfinden!

JR

von Stefan K. (stk)


Lesenswert?

Josef R. schrieb:
> ok,  der Tip mit dem Schaltplan ist wohl gut.
> Ich habe versucht, es aufzuzeichnen, wie es zur Zeit verschaltet ist.

In dem Plan steht ja endlich um was für eine Gerät es geht, ein nke 
Multigraphic. Damit kenne ich mich rein gar nicht aus.

Josef R. schrieb:
> Wenn ich von der RS232-Minus Seite löse habe ich 0-13V Signale
> Mit RS232-Minus habe ich nur noch 0-4V Signale

Dann lass den MAX weg und nimm einen Spannungsteiler um von den 0-13V 
auf 0-5V oder 0-3,3V zu kommen. Wenn dir zwei Widerstände zu viel sind 
nimm ein Trimmpoti von z.B. 100k, die beiden Enden an GND und Data und 
den Schleifer zunächst an das Oszilloskop. Den gewünschten Pegel 
einstellen und dann den LA an Schleifer und GND anschließen und den LA 
TTL-UART dekodieren lassen.

von Josef R. (jr1234)


Lesenswert?

@ Stefan R.   Dein Vorschlag mit Optokoppler als Alternative ist 
vielleicht einfacher zu realisieren, zumindest für mich. Diesen hier ?
https://www.ebay.de/itm/177253874676?_skw=Optocopler&itmmeta=01KMNBN971TGJ016X664Z4M6TM&hash=item2945277bf4:g:7qMAAeSwvpRpwjhM&itmprp=enc%3AAQALAAAA0GfYFPkwiKCW4ZNSs2u11xBbiHTZCkG2Hn5Gk9vaDlRkNHsZPSAJ33U5wSb11aDXEaHFcweNajIHgecCoKr%2FMEEmyq4g8xf%2BC%2BedWc295Kv5klTFdNFKS3%2BO%2B7dtMUhEIxb3P%2BNtIm3SfgxJl2wrTRrdZRWsneQ7paFh7oSA67K2m4O2iWYvSIWQkwzNnPJhmOsPdVlhPfHaDdglefWVhTc2AwUUrNxrLcUZiSwMsWJ0jwo3TPSxMHWg98n5SGR9ou4yCQMjdHf4z%2BJ2jzmtbdk%3D%7Ctkp%3ABk9SR7KV1aulZw

Wo ist bei Optocoplern die Frequenz, wo man aufpassen muss ?
Bei ser. Übertragungen noch nciht, auch wenn die Baudrate hoch gehen 
soll. Ich habe auch Info's von 38400 Baud, sehe aber im LA nur die 
9600....

Danke für die Unterstützung

JR

von Peter G. (metalfranke)


Lesenswert?

Stefan K. schrieb:
> Josef R. schrieb:
>> ok,  der Tip mit dem Schaltplan ist wohl gut.
>> Ich habe versucht, es aufzuzeichnen, wie es zur Zeit verschaltet ist.
>
> In dem Plan steht ja endlich um was für eine Gerät es geht, ein nke
> Multigraphic. Damit kenne ich mich rein gar nicht aus.

dann sollte das Thema mit MDB auch vom Tisch sein. Der ist für 
Verkaufsautomaten spezifiziert.

von Josef R. (jr1234)


Lesenswert?

@Stefan  Wieso ?  Ich habe keine Info, wie nke funktioniert. Ich habe 
nur Bruchstücke.  Aber dies sieht den Beschreibungen von MDB sehr 
ähnlich, wenn nicht gleich....




Für mich ergibt sich die Fragen:

Belastet der MAX3232 die Data Leitung so stark?? Stärker als der Master 
verkraftet ?

Ist die Beschaltung der "Platine" so richtig, wie ich es gemacht habe?

Hilft die Optokoppler Lösung weiter ?



JR

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


Lesenswert?

Josef R. schrieb:
> Belastet der MAX3232 die Data Leitung so stark?
Wie stark?
1. das kann man messen
2. sollte das im Max Datenblatt stehen

Die Max sind dauerkurzschlussfest. Müssen sie sein, weil RS232C so 
definiert ist. Darum müssen sie einen relativ hohen Innenwiderstand 
haben

von Josef R. (jr1234)


Lesenswert?

@Arduino   Wie kann ich da messen ?
 MM wird zu träge sein, denn der Master sendet ständig, erzeugt also ein 
wechselnden Pegel

Datenblatt hilft nur bedingt, weil auf der Platine eine Beschaltung ist
Ich brauche das IST, nicht das Soll.

Aber wenn der Max hochohmig ist, kann dies doch nicht das Problem sein. 
Oder ?

Oder kann ich mit einem Ohm-Meter in die Platine messen, den Widerstand 
zwischen In und Gnd messen ?

JR

von Joachim B. (jar)


Lesenswert?

Josef R. schrieb:
> Hilft die Optokoppler Lösung weiter ?

sag mal trollst du oder liest nichts?

Arduino F. schrieb:
> Die Max sind dauerkurzschlussfest. Müssen sie sein, weil RS232C so
> definiert ist. Darum müssen sie einen relativ hohen Innenwiderstand
> haben

also wozu Optokoppler, damit bekommt man nur neue Probleme, wie CTR, off 
Zeiten uvam.

von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Sorry, aber ich kann die Bahnen nicht erkennen. Jedenfalls
> bei meinen Exemplaren. Auf der Unterseite sind Bahnen erkennbar. Aber
> den keine Verbindung auf einen Pin des IC's.

Wer hat dir denn die Verwendung des Durchgangspiepsers verboten?

von Stefan R. (stefan_r_bs)


Lesenswert?

Josef R. schrieb:
> @ Stefan R.   Dein Vorschlag mit Optokoppler als Alternative ist
> vielleicht einfacher zu realisieren, zumindest für mich. Diesen hier ? [ebay...]

nein, 1) nicht so ein Modul, 2) ist wohl auch an sich unnötig: Schätze, 
dass es bei MDB so gemacht wird, damit man sorglos unterschiedlichste 
Komponenten in so einen Verkaufsautomaten stecken kann, die allesamt 
verschiedene Spannungsversorgungen haben, die dann schön voneinander 
getrennt bleiben.

==> Probier, was Stefan K. sagt: Ein 100k-Poti. Das ist kostengünstig 
und minimalinvasiv (im Sinne von: 100k werden den "Bus", der vielleicht 
gar keiner ist, nicht nennenswert belasten).

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


Lesenswert?

Josef R. schrieb:
> Datenblatt hilft nur bedingt,

OK...
Wenn dir die Reference zu deinem Bauteil nicht so wichtig ist, dann ist 
das alles auch nicht mein Problem.

von Karl B. (gustav)


Lesenswert?

Josef R. schrieb:
> @Karl B.    da kannn ich nicht ganz folgen.   Das Problem der
> Pegelanpassung bleibt doch auch beim ATtiny2313   ?
> Der Odroid C4 soll es auch können....

Denke, Du suchst einfache Lösung, wie man Frame 9N1 ausliest?

Josef R. schrieb:
> Die Parameter sollen 9N1 sein.
> Alle Versuche mit 8N1 bringen keinen Erfolg, bzw nur Datenmüll.
>
> Jetzt habe ich hier verschiedene Ansätze gelesen, die mich auf die Idee
> bringen, das 9 Bit als parity Bit zu verarbeiten  -- ich will NUR lesen!

Max232 (im Bild von mir oben) ist pinkompatibel zum Max3232, letzterer 
"kann" auch 3,3V, ohne das die Spannungspumpe in die Knie geht.
Wenn da ein unerwarteter Spannungseinbruch vorhanden ist, könnte es zu 
99,9% der Fälle auch eine Miniaturlötbrücke sein. So war es bei "meinen" 
Basteleien fast immer.

ciao
gustav

: Bearbeitet durch User
von Josef R. (jr1234)


Lesenswert?

zuerstmal vorweg:

die Nachricht mit der 100K Widerstandlösung habe ich nicht gesehen, weil 
ich zwischen meinen Nachrichten nach einer Optokoppler Lösung gesucht 
habe.
Sorry, habe ich nicht gesehen, das da eine Antwort zwischen meinem 
Nachrichten war.


Bahnen ausklingen -> Piepser. Verstehe ich nicht!   Für mich sieht es 
aus, als wenn es sich um eine Multi-Layer Platine handelt, auf die der 
Max3232 montiert ist. Also was soll ich da ausmessen, wenn lt. 
Datenblatt div. Kondensatoren verbaut sind?



Datenblatt hilft nur bedingt: Dazu stehe ich. Ich kann die Pins des Ic's 
nicht verfolgen, d.h. die Beschaltung auf der Platine macht irgend 
etwas. Etwas was ich nicht erkennen kann. Wo/wie hilft da das Datenblatt 
des IC's ?
Ich muss die Platine doch als "Ganzes" akzeptieren, weil ich nur diese 
beschalte. Die Platine ist in meinen Augen eine Black-Box.

Vielleicht sehe ich das falsch.....aber ich dachte ernsthaft, einen Max 
vor den LA, bzw. C4, und dann kann ich das Kabel auslesen.
Dachte mit meinem begrenzten Wissen in Analogtechnik würde ich das hin 
bekommen.


Ich schaue mal, das ich einen Drehwiderstand bekomme und versuche noch 
diesen Ansatz noch.


JR

von Josef R. (jr1234)


Lesenswert?

@von Karl B   sorry der Nachfrage:  Du meinst eine Verbindung zwischen 
benachbarter Anschlüsse?

Müsste sich diese im Anschluss, d.h. meine Lötungen befinden?
Muss der Fehler auf der RS232 Seite sein ?
Oder habe ich evtl die Platine zu warm/heiß gemacht ?

Kann ich dies mit einer Widerstandsmessung zwischen GND und RS232-IN 
ausmessen ?

JR


PS: Ja Du hast richtig gelesen, eigentlich wollte ich nur die ser. 
Verbindung mitschreiben....Wollte

von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Bahnen ausklingen -> Piepser. Verstehe ich nicht!   Für mich sieht es
> aus, als wenn es sich um eine Multi-Layer Platine handelt, auf die der
> Max3232 montiert ist. Also was soll ich da ausmessen, wenn lt.
> Datenblatt div. Kondensatoren verbaut sind?

Ja, ich hatte auch mal eine Platine eines Kasettenrekorders. Da war aber 
nirgendwo ein Kasettenrekorder. Erst als ich die Platine von unten her 
vorsichtig abgeschliffen hab, hab ich ihn gefunden.
Beim genauen Nachzählen der layer hab ich dann festgestellt, dass es ein 
8-trak Rekorder war.
Mir wurde der aber als Stereorekorder verkauft. Dass die Chinesen um den 
Faktor 4 bescheissen hatte ich nicht erwartet.

Wenn mir nichts mehr weiterhilft, frag ich immer den Pfleger. Das Forum 
bringt mich nicht weiter. Nur so als Tip!

von Josef R. (jr1234)


Lesenswert?

@Nick muss ich jetzt nicht verstehen.....

Ich dachte, dies wäre ein Fachforum, auch um unbedarfte, wie mich, auf 
die richtige Spur zu bringen.
Aber diese Art der Kommentierung stösst mich ab.
Wenn Du Dich nur in höheren Leveln austauschen willst: ok, aber mein 
Level, Verständnis und Niveau von Analogtechnik war ganz früh 
beschrieben.
Also wieso sparst Du nicht Deine Zeit ???

Sorry, das musste jetzt raus.
Ich versuche mich wirklich nicht dümmer anzustellen, als ich bin. Und 
vielleicht sollte ich, auch um dieses Niveau er Technik einen Bogen 
machen und bei den Dingen bleiben, die ich verstehe und kann.
Aber traurig ist das schon!

JR

von Josef R. (jr1234)


Lesenswert?

von fachlicher Seite:

 100KOhm Drehpoti habe ich keins zur Hand, eine Widerstandsdekade, aber 
für einen Spg Teiler fehlt dann ein zweiter Widerstand.
ich arbeite daran.....
Eine Frage dazu: Was passiert, wenn die GND der Datenleitung nicht auf 
gleichem Potential liegen wie GND des LA, bzw. den C4 ?



@ Karl B. hm, ich habe mit Widerstandsmessung GND zu RS232-In gemessen: 
3,9 KOhm. Was wohl 3.5 mA Belastung sein sollte. Das kann aber doch 
nicht das Problem sein. Es muss hier ein nicht-ohm Problem vorliegen, 
d.h. die Pulse des Signal beeinflussen den Strom, bzw. die Belastung des 
Senders.

Frage mich, ob die TTL Seite Einfluß auf die RS232 Seite hat, bzw. haben 
kann. Aber da weiss ich auch nicht weiter zu messen

Was passiert, wenn ich die 13.6V direkt auf den RS232 gebe? Da darf doch 
nur 3.5mA fliessen. Oder?
Kann ich mit den Versuchen etwas gewinnen ?

JR

von Harald K. (kirnbichler)


Lesenswert?

Josef R. schrieb:
> Eine Frage dazu: Was passiert, wenn die GND der Datenleitung nicht auf
> gleichem Potential liegen wie GND des LA, bzw. den C4 ?

Ganz schlechte Idee.

von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Ich versuche mich wirklich nicht dümmer anzustellen, als ich bin.

Da hab ich aber erhebliche Zweifel.
Warum wehrst du dich, das Datenblatt anzusehen? Warum willst du einfach 
nicht mal die Signale an allen Pins mit dem Scope anschauen? 
Funktioniert die Ladungspumpe? Scheinbar sind da keine Kondensatoren 
drauf, aber du bist angeblich nicht in der Lage die auf dem board zu 
suchen, weil es mehrlagig ist. Wie sieht denn so ein SMD-Kondensator 
aus? Dick wie Zigarettenpapier, so groß wie ein Reiskorn und darum 
zwischen Lage 37 und 38 der Platine?

Aber ein Fluke Hand-Scope haben. Von sowas träum ich seit Jahrzehnten 
und hab immer noch keines. Und dann nicht wissen, wie man damit Zeiten 
misst. Millionen von Videos erklären das. Zu meiner Zeit gabs nur tote 
Bäume in deren Rinden man geblättert hat um das zu lernen.
Sowas kann man sich doch wirklich selber beibringen. Man muss halt auch 
wollen. Und in einem TikTok-Video lässt sich das leider nicht 
unterbringen.
Ich grüble auch manchmal mit meinem echten Scope wie ich eine Messung 
hinbekomme.

Josef R. schrieb:
> Sorry, das musste jetzt raus.

Das kannst Du ruhig so sagen. Der Eindruck den du bei mir erweckst ist 
aber wie oben und meinem vorherigen Posting gesagt.

Keine Angst, ich hab auch mal Datenblätter gelesen wie ich keinen 
Schimmer hatte was da steht. Ja, das geht mit Übung natürlich schneller 
und irgendwann weiß man wonach man suchen muss und auf was man achten 
muss. Und steht dann immer wieder mal da wie der Depp. Liest nochmal und 
grübelt. Dann frägt man halt hier.
Es wurde paarmal auf die Versorgungsspannung hingewiesen und die 
Ladungspumpe. Verwertbare Antworten sind keine gekommen. Nur "Ich kann 
das nicht messen". Versuch notfalls mal "Wie kann ich das messen"? Die 
Pins der Reihe nach abzuklappern und die Signale anzuschauen ist doch 
nicht zu viel verlangt.
Und du wirst auch Antworten bekommen für die Frage "Wie muss ich das 
Bild 'Typical application' interpretieren"?

https://www.youtube.com/watch?v=bfWJYBDd36g

von Joachim B. (jar)


Lesenswert?

Nick schrieb:
> Funktioniert die Ladungspumpe? Scheinbar sind da keine Kondensatoren
> drauf

bei der MAX3232 Platine sind die auf der Rückseite!
https://i.ebayimg.com/images/g/~JIAAOSwNe5nkVhQ/s-l1600.webp
https://www.ebay.de/itm/121887579419

: Bearbeitet durch User
von Nick (b620ys)


Lesenswert?

Joachim B. schrieb:
> bei der MAX3232 Platine sind die auf der Rückseite!

Das hab ich ihn gefragt. Er findet sie aber nicht.
Beitrag "Re: RS232 mit 9N1 auslesen"

von Josef R. (jr1234)


Lesenswert?

Auf der Vorderseite is nur das IC.

Auf der Rückseite sind 6 smd Bauteile.....Ich vermute Kondensatoren, 
weil eben diese im Datenblatt "empfohlen" waren.
Ein Zuordnung zwischen SMD Kontakt  und Pin des IC's sehe ich nicht. 
Eine Durchkontaktierung des IC nach unten ist nicht erkennbar.
Das Ding ist eine Blackbox......
Ich sehe im Datenblatt, das nur eine Spg Versorgung "gefordert" wird.
Die Platine bekommt aber 2. Eine von der TTL Seite, eine von der RS232 
Seite
Meine Vermutung: Bereitstellung der Spannung für den jeweiligen 
Ausgang....


Ladepumpe: ok, habe ich nun gegooglet, aber verstehe ich nicht. Was ich 
weiss: liefert Spg auf andere Spg als Eingangsspg. Aber wozu ?
Es sind doch scheinbar schon 2 Spg vorhanden: TTL und RS232....
Wozu also ?
Ich denke, die Ladepumpe ist für die Eingangs-Spg 3..3 - 5V

Sollte doch die Versorgung auf der rs232 Seite notwendig werden, damit 
die rs232, speziell der Eingang, nicht belastet werden ?
Das Web Bild zeigt klar die Forderung nach 2ter Versorgung.
Auch wenn das im Datenblatt nicht ersichtlich ist---zumindest für mich.
Aber es ist doch klar eine Versorgung von dieser Seite vorgesehen, ich 
dachte, ich brauche diese nur zum Senden in Richtung rs232..?

Was mir auf der Platine auffällt:
Die Versorgung auf jeder Seite (TTL und RS232) sind durchgebohrt, IN und 
OUT nicht, sind scheinbar nur Kontaktflächen auf die der Anschluss 
aufgelötet werden soll. Habe ich auch so gemacht

Kann ich denn messtech. etwas prüfen, ohne den Master oder den LA zu 
gefährden ?


Ich habe nochmal nachgelesen, welche Frage habe ich denn nicht 
beantwortet?
Bitte nochmal schreiben


Ich versuche, möglichst mit Verstand das prob anzugehen, aber ich stosse 
an
meine Verständnissgrenzen.

JR

von Josef R. (jr1234)


Angehängte Dateien:

Lesenswert?

hier ein paar Bilder, vlt helfen diese ja ...
Was auffällt: meine Max haben auf der Rückseite ein Bauteil mehr...

JR

von Joachim B. (jar)


Lesenswert?

Josef R. schrieb:
> Ich habe einen Max3232 aus diesem Angebot:
> https://www.ebay.de/itm/177392743194

Josef R. schrieb:
> Also was soll ich da ausmessen, wenn lt.
> Datenblatt div. Kondensatoren verbaut sind?

Josef R. schrieb:
> Ich versuche mich wirklich nicht dümmer anzustellen

???

Josef R. schrieb:
> Auf der Rückseite sind 6 smd Bauteile.....Ich vermute Kondensatoren

ah jetzt ja!

Josef R. schrieb:
> Es sind doch scheinbar schon 2 Spg vorhanden: TTL und RS232....
> Wozu also ?

du plenkst!

TTL also 5V und heute auch 3.3V ist die Versorgung vom MAX3232 zum RS232 
Pegel eigentlich V24 mit +-12V wird es durch die im MAX3232 eingebaute 
Ladungspumpe aus der Versorgung +3.3V oder +5V wird durch Verdoppelung 
+6V bis +10V und durch Invertierung dann eben -6V bis -10V und genügt 
der RS232 in V24 Definition.
Lass es wirken lese nach was du nicht verstehst und dann kannst du dir 
ein Nullmodemkabel basteln oder einen seriellen Bus sniffen, du willst 
lauschen also mußt du dich an TxD hängen.
Achtung vor den Bezeichnungen, ein Datenendgerät hat invertierte 
Bezeichnugen, empfängt auf RxD (von read) aber der Compi sendet auf TxD.
2 Computer brauchen gekreuzte Leitungen -> Nullmodem, andere Geräte 
üblichwerweise eine 1:1 da darf nicht gekreuzt werden.

Mit deinem LA oder Oszi siehst du ja wer sendet und da willst du 
lauschen mit RxD an MAX

von Nick (b620ys)


Lesenswert?

Josef R. schrieb:
> Ein Zuordnung zwischen SMD Kontakt  und Pin des IC's sehe ich nicht.
> Eine Durchkontaktierung des IC nach unten ist nicht erkennbar.
> Das Ding ist eine Blackbox......

Wie oft hab ich gesagt, dass du das rausklingeln sollst? Du hast ja 
nicht mal eine Ahnung wo die 5V hingehen sollen!
Wo die Leiterbahnen laufen, ist scheißegal. Welche Punkte sie verbinden 
ist entscheidend. Und das was sein muss steht im DaBla. Nicht in deiner 
Fantasie oder oder den lustigen Taschenbüchern.

> Ich sehe im Datenblatt, das nur eine Spg Versorgung "gefordert" wird.

Warum das gefordert in Anführungsstrichen? Die 5V werden benötigt. 
Punkt. Siehe Abschnitt "Operating Conditions" Nennt sich so in jedem 
Datenblatt.

> Die Platine bekommt aber 2. Eine von der TTL Seite, eine von der RS232
> Seite

Und, stimmt das mit dem Datenblatt überein? NEIN! Dann klingle raus, wo 
der zweite ominöse Eingang hingeht. Das gibts einfach nicht.
Steckst du deine Finger in jede Körperöffnung und schleckst sie ab, bloß 
weil sie da reinpassen? Lötest du an jeden Pin irgendwas an, bloß weil 
du noch Kabel übrig hast?

So, das wars für mich. Viel Spaß noch mit deiner Verarscherei.

von Roland F. (rhf)


Lesenswert?

Josef R. schrieb:
> Ich versuche, möglichst mit Verstand das prob anzugehen, aber ich stosse
> an meine Verständnissgrenzen.

Josef, wo wohnst du?

rhf

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.