Forum: Mikrocontroller und Digitale Elektronik HMC6342 Erkenntnisse


von Wolfgang E. (wolfgang2)


Lesenswert?

Hallo Forum,
entschuldigt das Posting, aber ich konnte nicht rausfinden wie ich diese 
Infos auf der "Bauteileseite" des HMC6342 oder im Bauteile Bereich unter 
Sensorik-Magnetfeld unterbringen kann.

Zum Thema:
Der HMC6343 ist ein 3-achs Magnetometer mit 3-Achs Beschleunigungssensor 
von Honeywell. Mit drin ist ein PIC Kern , welcher die Magnet - und 
Beschleunigungsdaten dankenswerter Weise gleich in Pitch, Roll und 
Heading umrechnet, so dass dieses Ding eine single-chip Kompass 
darstellt.
Kommuniziert wird via I2C.

Wichtige Dinge, die NICHT im Datenblatt stehen:
1) ClockStretching. Das Ding benutzt ClockStretching, d.h. es haelt den 
SCL Pin von sich aus LOW solange es beschaeftigt ist. Das MUSS der I2C 
Master beruecksichtigen, sonst liest man Unsinn vom Sensor zurueck, weil 
dann das Timing zwischen SCL und SDA aus dem Ruder laeuft.

2) "Samplerate". Der HMC macht per default 5 Messungen / sec. Laut 
Datenblatt kann man mit 0x32 0x50 die Ausgabe von 6 Bytes veranlassen, 
welche Heading, pitch und roll beinhalten.
Was NICHT im Datenblatt steht: Wenn man dieses Kommando VOR dem Ende der 
Sampleperiode absetzt, also schneller Daten vom HMC anfordert als die 
Samplerate ist, dann sind die LSB's Unsinn. Die Werte sind dann 
"zufaellig". Scheinbar sind die Register aus denen beim Lesebefehl die 
Daten genommen werden, nicht gepuffert, d.h. wenn man vor Ende der 
Sampleperiode Daten liest, kann man sozusagen dem AD Wandler 
"zuschauen".

Insbesondere der zweite Punkt hat mich einige Stunden gekostet, weil man 
das, im Gegensatz zum ClockStretching, nicht per Oszilloskop rausmessen 
kann.

Bitte um Hinweise wie man das hier "ordendlich" dokumentieren kann.

Bzw. die Anregung dass man doch einen Bereich einrichten koennte in dem 
die User Erkenntnisse zu "schwierigen" Bauteilen eintragen koennen.

Gruss,
   Wolfgang
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.