Che Guevara
16.01.2014, 13:55
Hi,
ich versuche gerade, einen LPS331AP (absolute Pressure) über SPI mit einem ATXMega64A3 auszulesen. Der selbe Sensor auf der selben Platine funktioniert problemlos am I2C Bus, nicht jedoch über SPI.
Das WhoIAm Register kann ich auslesen, jedoch kommen bei den Sensor-Registern nur Müll-Daten. Ich hab dann mal die Spi-Pins mit dem Oszi gemessen und festgestellt, dass der SDO-Pin vom Sensor wohl ein Problem hat. Die Pegel sehen sehr nach floating aus, sind also teilweise nicht definierbar. Wenn ich mit meiner Hand Masse und SDO verbinde, verändert sich das Signal...
Hier mal die Bilder:
CLK: 27189
CS: 27190
SDI: 27191
SDO: 27192
Hat jemand eine Idee, woran das liegt? Der SPI-Bus ansich funktioniert auch, ich hatte zeitweise mal nen anderen Sensor am selben µC und der hat auch funktioniert.
Die Spi-Geschwindigkeit hab ich bewusst sehr niedrig eingestellt, um diese als Fehlerquelle auszuschließen.
Vielen Dank & Gruß
Chris
ich versuche gerade, einen LPS331AP (absolute Pressure) über SPI mit einem ATXMega64A3 auszulesen. Der selbe Sensor auf der selben Platine funktioniert problemlos am I2C Bus, nicht jedoch über SPI.
Das WhoIAm Register kann ich auslesen, jedoch kommen bei den Sensor-Registern nur Müll-Daten. Ich hab dann mal die Spi-Pins mit dem Oszi gemessen und festgestellt, dass der SDO-Pin vom Sensor wohl ein Problem hat. Die Pegel sehen sehr nach floating aus, sind also teilweise nicht definierbar. Wenn ich mit meiner Hand Masse und SDO verbinde, verändert sich das Signal...
Hier mal die Bilder:
CLK: 27189
CS: 27190
SDI: 27191
SDO: 27192
Hat jemand eine Idee, woran das liegt? Der SPI-Bus ansich funktioniert auch, ich hatte zeitweise mal nen anderen Sensor am selben µC und der hat auch funktioniert.
Die Spi-Geschwindigkeit hab ich bewusst sehr niedrig eingestellt, um diese als Fehlerquelle auszuschließen.
Vielen Dank & Gruß
Chris