Hallo Ich möchte gerne den BME680 über den 3-Wire SPI ansprechen. Bei Libary`s für den I2C-Bus,4-Wire Hardware-SPI und 4-Wire Software-SPI wird Man fündig. Leider aber zum 3-Wire SPI nicht. Auch eine generelle Ansteuerung zum 3-Wire habe ich bisher nicht gefunden. Bei dem Bus wird nicht, wie sonst über zwei Kanäle (Miso & Mosi), die Datenverbindung aufgebaut, sondern beide Leitungen zusammen über eine gelegt. Somit wird über die eine Leitung zunächst ein Befehl gesendet und anschließend die Antwort vom uC über die gleiche Schnittstelle empfangen. Hat wer hierzu schon etwas gemacht und kann helfen ? 4-Wire-SPI 3-Wire-SPI -Miso - SDIO -Mosi - SCK -CS - CS -SCK
S. M. schrieb: > Ansteuerung zum 3-Wire habe ich bisher nicht gefunden. Wie die Signale aussehen müssen, ist doch haarklein im Datenblatt des BME680 beschrieben (S.37f). Im 3-Wire Mode wird SDI für beide Datenrichtungen benutzt und SDO vom Sensor wird auf High-Z geschaltet. Warum willst du unbedingt den 3-Wire SPI Mode benutzen?
:
Bearbeitet durch User
Der 3-Wire SPI ist leider zwingend erforderlich und kann nicht geändert werden. Ja das stimmt, das ist sehr gut erklärt. Frage wäre ob es bereits etwas als Libary gibt ? Etwas um den 3-Wire anzusprechen würde auch reichen. Leider ist es für mich etwas schwierig eine bestehende Libary vom BME680 so umzufunktionieren das es klappt
:
Bearbeitet durch User
S. M. schrieb: > Leider ist es für mich etwas schwierig eine bestehende Libary vom BME680 > so umzufunktionieren das es klappt Jo dann mach was anderes. Blinkende LED oder so. Oder arbeite dich in das Thema rein. Dumm gucken und auf ne fertige Lib warten bringts halt nicht.
:
Bearbeitet durch User
Cyblord -. schrieb: > Dumm gucken und auf ne fertige Lib warten bringts halt > nicht. Sorry die "dummy Frage" aber es hätte ja sein können das es war im Bezug auf den 3-Wire bereits gibt.... Es muss nicht immer alles neu gemacht werden
Durchaus verständlich, aber es ist nun mal eine Nischenanforderung - wenn man Leitungen sparen will, wird man im Normalfall gleich I2C nehmen. Ist doch nur eine nette Fingerübung für einen 'erfindix'.
S. M. schrieb: > Ich möchte gerne den BME680 über den 3-Wire SPI ansprechen. Um eine Leitung einzusparen so einen Aufwand treiben? Ist auf jeden Fall sehr unterhaltsam dauernd die Datenrichtung des Datenpins im Controller umzuschalten und aufzupassen dass es keine Kollisionen gibt. Man gönnt sich ja sonst nichts. S. M. schrieb: > Bei Libary`s für den I2C-Bus Bitte keine Deppenapostrophen. http://www.deppenapostroph.info
S. M. schrieb: > Der 3-Wire SPI ist leider zwingend erforderlich und kann nicht geändert > werden. Das hört sich nach einer "schlüssigen" Erklärung an ;-( Irgendjemand, der die Konsequenzen nicht überschaut, hat das so festgelegt - oder was ist der wahre Grund dafür?
Rainer W. schrieb: > S. M. schrieb: >> Der 3-Wire SPI ist leider zwingend erforderlich und kann nicht geändert >> werden. > > Das hört sich nach einer "schlüssigen" Erklärung an ;-( > Irgendjemand, der die Konsequenzen nicht überschaut, hat das so > festgelegt - oder was ist der wahre Grund dafür? Das hat wohl jemand festgelegt der dringend diese Leitung einsparen wollte und fälschlicherweise glaubte, ein fähiger Entwickler würde daran arbeiten, der in der Lage wäre eine 3 Wire SPI IRGENDWIE zu realisieren. Er wusste wohl nicht dass dies jemand macht der nur mit fertigen libs etwas zusammenstoppeln kann. Wastl schrieb: > Ist auf jeden Fall sehr unterhaltsam dauernd die Datenrichtung > des Datenpins im Controller umzuschalten und aufzupassen dass > es keine Kollisionen gibt. Man gönnt sich ja sonst nichts. Ist jetzt halt auch nicht der erste halbduplex Bus. Das ist keine Raketenwissenschaft. Man lässt es halt normalerweise nicht den Gärtner machen.
:
Bearbeitet durch User
Cyblord -. schrieb: > Das hat wohl jemand festgelegt der dringend diese Leitung einsparen > wollte und fälschlicherweise glaubte, ein fähiger Entwickler würde daran > arbeiten, der in der Lage wäre eine 3 Wire SPI IRGENDWIE zu realisieren. > Er wusste wohl nicht dass dies jemand macht der nur mit fertigen libs > etwas zusammenstoppeln kann. Es geht in diesem Forum darum, Fragen zu stellen und vernünftige Antworten zu bekommen. Was ist daran so falsch mit "fertigen libs" zu arbeiten. Es geht mir darum eine lib anzupassen damit ich diese auch anderweitig verwenden kann. Wenn hier jemand lieber alles neu erfinden möchte dann gerne, aber man kann es auch einfacher machen und auf der Grundlage anderer Bibliotheken arbeiten ??? Rainer W. schrieb: > Das hört sich nach einer "schlüssigen" Erklärung an ;-( > Irgendjemand, der die Konsequenzen nicht überschaut, hat das so > festgelegt - oder was ist der wahre Grund dafür? Es geht hier darum eine Hilfe zu finden den 3-Wire SPI anzusprechen und nicht zu diskutieren, warum das so ein soll. Sonst können wir auch darüber sprechen warum die Banane krumm ist -, Der Sensor ist jedenfalls auf einem Board + uC fest verbaut und ich möchte diesen gerne dementsprechend ansprechen. Das Board habe ich nicht entworfen und kann das dementsprechend nicht ändern Cyblord -. schrieb: > Jo dann mach was anderes. Blinkende LED oder so. Oder arbeite dich in > das Thema rein. Dumm gucken und auf ne fertige Lib warten bringts halt > nicht. Ja ich versuchs, aber das Eine oder Andere Mal kann man sich auch gerne mal Hilfestellungen in Foren suchen
:
Bearbeitet durch User
S. M. schrieb: > Es geht in diesem Forum darum, Fragen zu stellen und vernünftige > Antworten zu bekommen. Was ist daran so falsch mit "fertigen libs" zu > arbeiten. Nichts. Das Problem fängt dann an, wenn man es anders gar nicht kann. In der Zeit hätte ich drei komplette 3 Wire SPI libs from Scratch geschrieben. > Ja ich versuchs, aber das Eine oder Andere Mal kann man sich auch gerne > mal Hilfestellungen in Foren suchen Hast du denn eine konkrete Frage gestellt? Ich lese nur "wer gibt mir was fertiges ich kann nichts selber machen".
:
Bearbeitet durch User
S. M. schrieb: > Das Board habe ich nicht entworfen und kann das dementsprechend nicht > ändern Genau das meinte ich. Demjenigen, der das festgelegt hat, war nicht klar, das er damit die Software auf eine Schnittstelle festlegt, die dank ausreichend anderer, etablierter Schnittstellen (I2C, SPI) eher ein Alleinstellungsmerkmal darstellt und eher gar nicht durch Standardlibraries unterstützt wird. Auch HW-Unterstützung auf Controllerseite mit einem passenden HAL dafür wird man suchen müssen. Und so muss die Software diese (Fehl-?)Entscheidung dann mit entsprechendem Mehraufwand bei der Entwicklung ausbaden.
S. M. schrieb: > Das Board habe ich nicht entworfen und kann das dementsprechend nicht > ändern Was ich daran nicht verstehe: die Datenleitungen sind doch die gleichen wie für I²C. Warum sollte man das Teil dann nicht auch im I²C-Modus benutzen können? Das einzige Hindernis, das ich mir vorstellen könnte, wären fehlende Pullups. Die in den MCUs eingebauten könnten zu schwächlich sein dafür. Rainer W. schrieb: > Auch HW-Unterstützung auf Controllerseite mit einem passenden HAL dafür > wird man suchen müssen. Wahrscheinlich gibt's auch gar keine eingebaute Hardware in Controllern dafür, d.h. man müsste alles als Software-SPI machen.
S. M. schrieb: > Der Sensor ist jedenfalls auf einem Board + uC fest verbaut Welcher uC ist es denn? LG, Sebastian
Rainer W. schrieb: > S. M. schrieb: >> Der 3-Wire SPI ist leider zwingend erforderlich und kann nicht geändert >> werden. > > Das hört sich nach einer "schlüssigen" Erklärung an ;-( > Irgendjemand, der die Konsequenzen nicht überschaut, hat das so > festgelegt - oder was ist der wahre Grund dafür? Sonderlocken halt. Die kosteten schon immer "extra".
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.