Sensirion SHT71 über I²C betreiben

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Sensirion SHT71 über I²C betreiben

Post by smatei »

Hallo,

habe einen SHT71 an I²C.

Leider hab ich die Steuerung immer noch nicht ganz raus.

Das Sensirion Protokoll unterscheidet sich von dem normalen I²C Protokoll laut meinem Verständis etwas, ist aber dennoch I²C kompatibel.

Um den Sensirion zu steuern muss zuerst ein Start-Signal gesendet werden, gefolgt von einem Stop-Signal und daraufhin einem Steuerbyte.

Hierzu einer mein Ansatz, der mir zwar richtig erschien, aber nicht dazu führt, dass der SHT71 Data auf Low zieht:

Der erste Report, der I²C aktivieren soll:

Code: Select all

repWrite[0] = 0x01;
repWrite[1] = 0x01;
repWrite[2] = 0x00;
repWrite[3] = 0x00;
repWrite[4] = 0x00;
repWrite[5] = 0x00;
repWrite[6] = 0x00;
repWrite[7] = 0x00;
Der zweite Report, um ein Start-Signal zu senden:

Code: Select all

repWrite[0] = 0x02;
repWrite[1] = 0x01;
repWrite[2] = 0x00;
repWrite[3] = 0x00;
repWrite[4] = 0x00;
repWrite[5] = 0x00;
repWrite[6] = 0x00;
repWrite[7] = 0x00;
Der dritte Report um lediglich das Stop-Signal zu senden, da bei Sensirion ein Start- gefolgt von einem Stop-Signal vor dem Steuerbyte gesendet werden muss (laut meinem Verständniss):

Code: Select all

repWrite[0] = 0x02;
repWrite[1] = 0x02;
repWrite[2] = 0x00;
repWrite[3] = 0x00;
repWrite[4] = 0x00;
repWrite[5] = 0x00;
repWrite[6] = 0x00;
repWrite[7] = 0x00;
Der letzte Report, mit dem ich die Temperaturmessung starten möchte über die Auslesefunktion des IOW, da ich einen Takt auf SCL dazu brauche:

Code: Select all

repWrite[0] = 0x03;
repWrite[1] = 0x00;
repWrite[2] = 0x03;
repWrite[3] = 0x00;
repWrite[4] = 0x00;
repWrite[5] = 0x00;
repWrite[6] = 0x00;
repWrite[7] = 0x00;
Ergebnis: NIX. Data geht nicht auf low, sodass gelesen werden könnte.
Hier noch zusätzlich das PDF zum Sensor: http://www.sensirion.ch/en/pdf/product_ ... -SHT7x.pdf
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Sensirion SHT71 über I²C betreiben

Post by Guido Körber »

Nix ist auch die zu erwartende Reaktion. Das Sensirion-Protokoll kann mit IIC auf einem Bus koexistieren, ist aber nicht kompatibel.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Sensirion SHT71 über I²C betreiben

Post by smatei »

Genau, so hatte ich das auch verstanden.
Nur müsste/könnte die Steuerung somit nicht auch über I²C funktionieren, soll heissen I²C Controller des IOW als Taktgeber und steuern sowie auslesen über die I²C Befehlssätze?
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Sensirion SHT71 über I²C betreiben

Post by Guido Körber »

Nein, genau das geht nicht, das Sensirion Protokoll hat eine andere Startsequenz als der IIC.
Post Reply