PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ms5534



Esther
13.08.2009, 12:50
Hallo, O:)

ich versuche gerade einen MS5534 Drucksensor zum laufen zu bringen, hängt zu Zeit an meinem STK500 mit ATMega128!
Hat zufällig jemand einen lauffähigen C Code um den Sensor mit Soft-SPI ansprechen zu können, oder kennt jemand einen Link wo ich sowas bekommen könnte?
Kann den Sensor nur per Software-SPI ansteuern, da die SPI Schnittstelle bereits für das Display "reserviert" ist! :-s

Viele Grüße & danke im vorraus,
Esther

H.A.R.R.Y.
20.08.2009, 07:09
Nun, auf Seite 12 des Datenblatts (Kapitel "Serial interface") ist eigentlich sehr genau beschrieben, wie die Kommunikation funktioniert und den erforderlichen Code kannst Du daraus normalerweise ableiten. Eigentlich brauchst Du nur die gezeigten Impulse auf den Port-Leitungen an die der Sensor (Din & SCLK) angeschlossen ist nachbilden. Die Datenleitung Dout vom Sensor ist ein Eingang bei Dir und muß an der passenden Stelle im Impulszyklus abgefragt werden.

Während des Systemstarts sollte wenigstens einmal die RESET-Sequenz zum Sensor gegeben werden. Eventuell ist eine gewisse Mindestzeit abzuwarten, bevor der Sensor überhaupt auf irgendetwas reagiert - das sollte alles im Datenblatt stehen.

Was ich auf die schnelle so gesehen habe: Hardware-SPI scheint sowieso nicht machbar mit AVRs. Die arbeiten dabei mit 8-bit pro Paket und damit kommen nur Wortlängen mit Vielfachen von 8 Bit in Frage (oder Bausteine die darauf eingerichtet sind). Der MS5534 arbeitet aber mit gänzlich anderen Bitzahlen. Schon deswegen würde ich auch SW-SPI bevorzugen.

Gruß H.A.R.R.Y.

wkrug
20.08.2009, 07:49
Hab mich vor längerer Zeit mal mit dem Baustein beschäftigt.
Soweit ich das im Hinterkopf habe, können die Korrekturwerte nur direkt nach einem HW Reset ausgelesen werden.

Soft SPI in C hab ich schon ein paarmal gemacht, guck mal hier:
http://www.toeging.lednet.de/flieger/profi/telemetrie/telemetrie.htm

Da wird das RFM 02 per Soft SPI angesprochen.
Die Routinen kannst Du grundsätzlich verwenden, Du musst nur noch eine zum Auslesen des Chips hinzufügen.