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
...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.
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.
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.