-         

Ergebnis 1 bis 3 von 3

Thema: SPI SDO Pegel nicht korrekt

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544

    SPI SDO Pegel nicht korrekt

    Anzeige

    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: CLK.BMP
    CS: CS.BMP
    SDI: SDI.BMP
    SDO: SDO.BMP

    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

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    Die Verwendung der CS-Leitung scheint nicht so ganz nach Standard zu sein. Seite 10 im Datenblatt sagt: CS=1 bedeutet I2C, CS=0 bedeutet SPI.
    CS muss also ständig auf low liegen, sonst schaltet der Chip auf I2C-Modus. Im I2C-Modus sind dann open-collector-Ausgänge aktiv und somit keine Ausgabe von high-Pegel möglich. Liegt die Leitung dann hochohmig, kommt es zu der RC-Entladekurve. Bingo.
    CS steht hier also nicht wirklich für Chip Select sondern eher für Mode Select
    Grüße, Bernhard

    ( Datenblatt: http://www.st.com/web/catalog/sense_...C1316/PF251601 )
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    also ich hab das Problem gefunden, ein Pin war wohl nicht ganz verlötet (hab ne neue SMD Rework Station ).
    Mit der CS Leitung hast du dich wohl vertan, im DB auf Seite 13 sieht man, dass CS sehr wohl als Chip Select arbeitet. Ich hab am gleichen SPI noch einen MPU6000 hängen, beide arbeiten nebeneinander und funktionieren jetzt.
    Trotzdem danke für deine Hilfe!

    Gruß
    Chris

    Übrigens:
    Bei allen Sensoren mit I2C & SPI die ich kenne, ist es so, dass der CS Pin als I2C-enable bzw. CS Pin arbeitet.
    Geändert von Che Guevara (16.01.2014 um 18:26 Uhr)

Ähnliche Themen

  1. AD-Wandler läuft nicht korrekt...
    Von DanielSan im Forum AVR Hardwarethemen
    Antworten: 16
    Letzter Beitrag: 05.01.2012, 13:48
  2. [ERLEDIGT] Programm wird nicht korrekt übernommen ???!!!
    Von Ritchie im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 21.12.2011, 17:46
  3. Lichtschranke funktioniert nicht korrekt
    Von KrosseKrabbe im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 24.11.2010, 17:26
  4. LCD-Ansteuerung nicht korrekt
    Von EagleStar im Forum AVR Hardwarethemen
    Antworten: 30
    Letzter Beitrag: 20.11.2007, 20:08
  5. Autorouter arbeitert nicht korrekt
    Von EDatabaseError im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 21
    Letzter Beitrag: 15.05.2007, 18:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •