Gast
#2777725
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

