Forum: Mikrocontroller und Digitale Elektronik Messschieber-Protokoll interpretieren


von Ralf (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin dabei eine Auslesesoftware für digitale Messschieber zu 
schreiben. Ich weiss so etwas gibt es schon zu hauf, aber nun ist mir 
ein Protokoll untergekommen, zu dem ich im Netz keine Beschreibung 
finden kann. Ich hoffe Ihr könnt mir helfen!?

Das Protokoll ist vom Aufbau ähnlich dem bekannten "Sylvac"-Protokoll. 
Allerdings werden nur 2 * 19 Bits übertragen.
Ich habe zwei Timing-Diagramme angehängt. "caliper_01" zeigt das 
Protokoll bei einem Anzeigewert von -0.1 mm. "caliper_02" hingegen zeigt 
das Protokoll für +1 mm Ablesewert.

Ich lese bei steigender Flanke ein. Das Signal "Paket-Received" ist ein 
Debug Pin, der High gesetzt wird, wenn der Protokollanfang erkannt ist. 
"Daten-Received" ist auch ein Debug-Pin und zeigt das vom µC erkannte 
Bit auf der Datenleitung an. Eingelesen wird bei steigender Flanke.

Folgenden Zusammenhang zwischen Protokoll und Messschieberanzeige konnte 
ich herausfinden:

Bitfolge               Anzeige [mm]
1111111110000000111   +10
1111111111110001000  +2
1111111111111000100  +1
1111111111111100010  +0.5
1111111111111111101  +0.1
1111111111111111111  +0
000000000000000000  -0
000000000000000000  -0.1
000000000000000000  -0.2
000000000000001111  -0.3
000000000000001000  -0.5
000000000000010000  -1
000000000000100000  -2
000000000111110000  -10


Merkwürdig finde ich, dass zb. bei den Messwerten -0.1 und -0.2 kein bit 
gesetzt ist, also auch Null. Das ist auch in dem angehängten Plot zu 
erkennen! Ich frage mich ob die ersten 19 Bits der 2*19 hierfür eine 
Rolle spielen. Den Absolutwert wie bei dem Sylvac-Protokoll scheinen sie 
jedenfalls nicht darzustellen, denn nach einem Power-Reset stimmen die 
ersten 19 Bits, in der Abfolge, schon gar nicht mit den zweiten 19 Bit 
überein.


Es wäre schön, wenn jemand eine Idee dazu hat, wie die Daten zu 
interpretieren sind.

Viele Grüße

Ralf

von Ralf (Gast)


Lesenswert?

...noch einen kleinen Nachtrag! (Der dann auch gleich meinen Thread 
wieder nach oben spült):-))


Es sieht so aus, als würde auch bei diesem Protokoll das LSB zuerst 
gesendet.Die dargestellten Bitfolgen sind daher bereits LSB-MSB 
vertauscht.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Hallo Ralf,

ich habe hier mehrere digitale Messschieber mit einem USB-Interface 
ausgerüstet. Das USI (universal serial interface) des ATtiny45 eignet 
sich ideal dafür -- aber das nur am Rande.

Meine Beobachtung war ebenfalls, dass keine der beiden Bitfolgen ein 
absolutes Signal beinhaltet und nur die erste Bit-Folge einen sinnvollen 
Inhalt trägt. Beim zweiten Telegramm kamen stellenweise die Daten kurz 
nach der steigenden Flanke. Ich werte hier also nur das erste Telegramm 
aus, das bei meinen Messschiebern aber immerhin 24 Bit lang ist. 
Offensichtlich hat man in China festgestellt, dass man sich fünf Bits 
sparen kann -- würde mich interessieren, wieviel Mikrocent das an 
zusätzlichem Gewinn bringt... ;-)

Grüßle,
Volker.

von Hey Ralf (Gast)


Lesenswert?

Hallo Volker,

danke für Deine Antwort. Mit der ersten Bitfolge meinst Du also 
tatsächlich die Bits, die bei mir sozusagen im negativen Zeitbereich 
liegen. Also vor dem Trigger?....ich komme da manchmal etwas 
durcheinander wo vorne und hinten ist:)

..werde dann wohl das vordere Packet noch einmal genauer ansehen!

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Hallo Rolf,

Hey Ralf schrieb:
> Mit der ersten Bitfolge meinst Du also
> tatsächlich die Bits, die bei mir sozusagen im negativen Zeitbereich
> liegen. Also vor dem Trigger?....ich komme da manchmal etwas
> durcheinander wo vorne und hinten ist:)

Äh, ja. Einfach der Teil des Datenstroms, der zuerst ausgegeben wird.
So ist das zumindest bei den Messschiebern, die ich hier vor gut einem 
Jahr umgebaut habe.

Grüßle,
Volker.

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.