Encoder SSI gekappter Gray-Code

OP #5497105
Lesenswert?

Hallo,
ich habe einen Absolut-Encoder (MAB22 mit IC-MH) mit 12-Bit SSI 
Interface, welches laut Datenblatt die 12 Bit als 13-Bit gekapptem 
Gray-Code ausgibt.

Mein problem ist, das Oszi mehr als 13 Bit auf der Schnittstelle 
geändert werden.
Und nach der Gray-Code Wandlung zu Binär habe ich Spünge drin in meinen 
werten.

Hat jemand Erfahrung mit dem Auslesen einer solchen Schnittstelle?
Ich brauche keine Hilfe für das Auslesen selber oder die Gray-Code 
Wandlung.
Aber ich stehe irgendwie auf dem Schlauch, was ich mit dem gekappten 
Gray-Code anfangen soll.
Ich bräuchte ja den Startwert wo der gekappte Gray-Code beginnt, oder?
Beitrag #5497161 wurde von einem Moderator gelöscht.
Gast #5497455
Lesenswert?

Hallo,

Deine Beschreibung ist ohne Bild der Signale für mich unverständlich.
Wenn der Encoder 12bit ausgibt, dann kommen auch 12bit raus.
Was ist 13bit gekappter Gray-Code bei einem 12bit Encoder?
Und ja - natürlich gibt der Encoder auch mehr als 12bit aus, wenn Du 
mehr Taktimpulse übergibst (da fängt das Schauspiel nämlich wieder von 
vorne an)

>Und nach der Gray-Code Wandlung zu Binär habe ich Spünge drin in meinen
>werten.
Dann ist die Wandlung falsch. Oder der Encoder dreht soooo schnell, dass 
die Sprünge von da her kommen (dann liest Du zu langsam)

>Ich bräuchte ja den Startwert wo der gekappte Gray-Code beginnt, oder?
Wo die SSI Ausgabe beginnt, steht ja in der Norm, meistens nach Ablauf 
der Monoflop-Zeit (man muss nur wissen, wie groß die jetzt ist)

Gruß
TK
OP #5499156
Lesenswert?

Danke für die Antworten...

Zum besseren Verständnis hier ein Ausszug aus dem Datenblatt.
Außerdem ein Auszug aus einem Dokument, welches den Gray-Code erklärt.

Das ganze Datenblatt gibt es bei www.ichaus.de

Ich lese die Daten zwar mit SPI, aber momentan schaue ich nur am 
Analyser, was tatsächlich vom Sensor geschickt wird.
Ebenso rechne ich den Gray-Code zum Testen manuell um.

Ich würde jetzt nach dem Datenblatt zwei Bytes erwarten mit 13-Bit und 
führenden Nullen und einem Stop-Bit, die z.B. so aussehen:
<00111111> <11111110>

Tatsächlich lese ich folgende Bytes am Lgikanalyser.
Davor steh der theoretisch erwartete Binärwert bei 12-Bit Aufkösung der 
Sensordaten.
Komisch ist vorallem, das sich beim Wechsel von Wert 4095 zu 0000 die 
Bits 1 und 15 gleichzeitig ändern. Das ist ja bei Gray eigentlich 
unmöglich.


Wert_MSB_______LSB
4094_<10000000><00010010>
4095_<10000000><00000010>
0000_<00000000><00000000>
0001_<00000000><00010000>
Angehängte Dateien:
Gast #5499251
Lesenswert?

Hallo Gad,

Du taktest ja 16 Bit aus. Das sind mehr als die 13 Bit des SSI 
Standards, wie im iC-MH Datenblatt beschrieben.

Bit 15-4: 12 Bit Winkelwert, Gray-codiert
Bit    3: Das 13te Bit für SSI Konformität, "0"
Bit    2: SSI Stop-Bit, "0"
Bit  1-0: Bit 15-14, Datenwort Wiederholung?

Prüf mal, ob die Daten wiederholt ausgegeben werden. Kannst ja ein 
weiteres Byte austakten.

Noch was, ich glaube das mit dem gekappten Code kannst du vergessen. 
Nimm einfach die 12 Bit Winkelwert und fertig.

Jim
OP #5499283
Lesenswert?

Hallo Jim,
danke für die hilfreiche Antwort.

Ja ich takte 16 Bit aus weil ich ja über SPI immer nur ein Byte 
empfangen kann.

Hatte mich wohl zu sehr auf irgendwelche 13-Bit eingeschossen wegen dem 
gekappten Gray-Code.

Habe es gerade getestet, ist tatsächlich so das Bit 4-15 die 12-Bit 
Gray-Daten enhält.
Nach Wandlung Gray=>Binär enhalte ich saubere 0-4095 :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren