Hallo liebe Community
ich arbeite momentan mit einer Sensorkombination von Beschleunigungssensor und Gyroskop.
Der Sensor ist der LSM330DL von STMicroelectronics.
Für Interessierte hier das Datenblatt: http://www.st.com/web/en/resource/te...DM00034579.pdf
Dies ist mein erster Sensor den ich mir von Grund auf erarbeiten muss, und erhoffe mir hier eine kleine Hilfestellung von den Leuten hier im Forum die
schon mehr Erfahrung mit Sensoren gemacht haben. Im besten Fall sogar mit ähnlichen Sensoren von ST.
Nun zu meinem Problem, woran ich nun schon ein paar Wochen sitze:
Der Gyroskop besitzt einen DRDY-Pin welchen man für einen DataReady-Interrupt konfigurieren kann. Mein Versändniss von diesem DRDY-Interrupt ist, dass jedes mal wenn im Sensor
neue Daten zur Verfügung gestellt wurden wird auf der DRDY-Leitung der Pegel auf Low gezogen und somit ein Interrupt ausgelöst.
Momentan ist es so, dass ich die Leitung mit einem Oszi messe und der Pegel dauerhaft auf High ist - also kein Interrupt ausgelöst wird.
Ich teste dies momentan mit einem sehr abgespeckten Programm wo ich den Sensor initialisiere, und danach in einer Endlosschleife warte.
Die Konfiguration der Register ist wiefolgt:
CTRL_REG1_G: 400Hz - 50Hz cutoff, normal mode, xyz - enable
CTRL_REG2_G: everything 0
CTRL_REG3_G: I2_DRDY enable
CTRL_REG4_G: continuous update, LSB, 2000dps, 4-wire
CTRL_REG5_G: FIFO disabled, HPF disabled
Für ein paar Hinweise oder auch nur Ideen wäre ich sehr dankbar!
Grüße patz
Geändert von patz (22.11.2013 um 10:20 Uhr)
Hallo patz,
Da gibt's fast unendlich viele Kombinationen für die Interrupts bei diesem Chip, ist alles frei programmierbar!
Es scheint 3 Interruptausänge zu gebe und du kannst angeben, was an welchem Pin erscheinen soll.
Interrupts musst du quittieren, e gibt aber auch eine Autoquittierung.
Da musst du dich selber durchlesen und ausfiltern, was für deine Anwendung relevant ist.
MfG Peter(TOO)
Danke für eure schnelle Antwort.
Dies gilt aber nicht grundsätzlich. Im Register CTRL_REG3_G (H_Lactive) kann zum Beispiel für den INT1_G ausgewählt werden ob dieser nun High-/Low-active ist.
Momentan ist der DRDY-Pin auf dem Prozessor auf Input, ohne einem internen/externen Pullup.
Entschuldigung für die ungenaue Angabe. Ich meine natürlich die CTRL_REGn_G Register.
Wenn du es genau nimmst, gibt es für diesen Chip 4 Interruptausgänge. (INT1_A, INT2_A, INT1_G, DRDY_G)
_A referenziert den Accelerometer und _G den Gyropskopen auf den ich mich momentan fokussiere.
Im CTRL_REG3_G kann man den DRDY-Interrupt aktivieren/deaktivieren und zudem noch diverse FIFO Allerts darauf konfigurieren.
In meinem Fall ist dieser nur aktiviert ansonsten nichts. Dann würde ich davon ausgehen, das sich der DRDY so verhält wie in meinem Eingangspost beschrieben.
Leider gibt es so gut wie keine Doku darüber.
Ähm... wo und wie muss ich die denn quittieren? Am besten wäre es, wenn du kurz beschreiben könntest wie du es von anderen Sensoren kennst.
Ich kenne das Datenblatt vom LSM330DL schon fast auswendig, so oft habe ich das durchgeblättert in der Hoffnung so etwas zu finden.
Das einzige was so in die Richtung gehen würde, wäre die Einstellung BDU im CTRL_REG4_G. Dort kann man einstellen, das die Output-Register nicht aktualisiert
werden solange sie nicht komplett ausgelesen wurden. Bei mir steht BDU auf continuous update.
Dort bin ich ja schon seit einigen Wochen dabei. Das einzige was ich momentan möchte ist, dass ich einen Interrupt bekomme wenn für alle Achsen neue Werte
in den Registern liegen.
Danke für eure Mühe.
patz
Hallo patz,
z.B. INT_SRC_G
Reading at this address clears the INT1_SRC_G IA bit (and eventually the interrupt signal
on the INT1_G pin)
Schau dir auch mal dieses Datenblatt an:
http://www.st.com/st-web-ui/static/a...DM00037200.pdf
Entwickler sind grundsätzlich faul
Wenn ein Konzept funktioniert, wird es nicht grundsätzlich geändert, somit helfen auch Datenblätter von Schwester-Chips weiter.
Hier noch etwas zu diesen Chips:
http://www.st.com/st-web-ui/static/a...DM00067982.pdf
http://www.st.com/st-web-ui/static/a...DM00069521.pdf
In den Anhängen ist weitere Literatur aufgeführt, welche vielleicht weiter hilft.
MfG Peter(TOO)
Lesezeichen