Forum: Mikrocontroller und Digitale Elektronik BME680 Memory Map Denkfehler?


von Guest (Gast)


Lesenswert?

Hallo liebe User,

ich glaube ich habe einen Denkfehler.
Ich möchte einen BME680 mittels SPI ansteuern:
Im Datenblatt steht:
The control bytes consist of the SPI register address (= full register 
address without bit 7) and the read command (bit 7 = RW = ‘1’). Dh das 
bit 7 ist 0/1 für W/R. Die restlichen 7 bits sind für die 
Adressierung!(?)
Möchte ich jetzt die Parameter par_g1 und par_g3 lesen, so haben diese 
die Adressen (Seite 19 im verlinkten Datenblatt):
0xED und 0xEE bzw. 0b1110 1101 und 0b1110 1110
das 7bit ist 1 weil ich die Parameter nur lesen kann. Die 7bit Adressen 
wären dann:
0b0110 1101 und 0b0110 1110 bzw. 6D und 6E

Schaue ich aber auf die Memory Map (Seite 25):
So finde ich das 6D schon den Parameter Gas_wait_x beschreibt.
Würde ich etwa Gas_wait_x lesen möchte, so müsste ich das 7bit auf 1 
setzten und wäre bei 0b1110 1101. Hier sehe ich einen Widerspruch!
Weiterhin sind auf der Memory map par_g1 und par_g3 garnicht aufgeführt.

Wo ist mein Denkfehler?

Datenblatt:
https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf

Danke für euere Hilfe!

von Jim M. (turboj)


Lesenswert?

Seite 24 im Datenblatt erklärt das - mittels dem spi_mem_page bit wird 
im SPI Mode zwischen Adressen umgeschaltet.

von Michael U. (amiga)


Lesenswert?

Hallo,

ich habe das Datenblatt des BME680 nur grob gelesen, gegen meine 
sonstige Gewohnheit...
Mehr als Anmerkung: es macht wohl nur Sinn, den BME680 mit der BSEC-Lib 
von Bosch zu benutzen. Bosch hält sich sehr bedeckt, was sie mit den 
Werten da verwursteln, um einen IAQ-Wert zu basteln.
Der Wert des Gassensors (oft als Widerstand bezeichnet) ist ohne die 
Berechnungen von Bosch eigentlich nur gut als Zufallszahlengenerator zu 
gebrauchen. Der Sensor muß auch durchlaufen, er muß seine internen 
Tabellen aktualisieren können.
Ich habe den jetzt erstmal zusammen mut einem AS3935 an einen ESP8266 
gehängt, lasse mir die Daten per MQTT schicken und denke darüber nach, 
wozu. ;)
Aus Bequemlichkeit mit der BSEC-Lib und aus der ArduinoIDE.

Gruß aus Berlin
Michael

von Bernhard S. (bernhard)


Lesenswert?

Hilfe, wir haben hier Probleme mit der Berechnung von Temperatur, Druck, 
RF und Gas, könnt Ihr helfen?

Beitrag "Re: BME680 Berechnung Temperatur Luftfeuchtigkeit Druck Gas Fragen Initialisierung Assembler ASM ATm"

Danke

Bernhard

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.