Bitfehler an SPI-Schnittstelle

  • Moin die Herrschaften!

    Seitdem ich die SPI-Schnittstelle (mitsamt dem daran hängenden VF-Display) über den pigpiod statt direkt über die pigpio-Bibliothek anspreche, kommt es gelegentlich (Verhältnis vielleicht 1:200) zu Bitfehlern bei der Übertragung, weswegen das Display verkorksten Text (der aber ständig anders ausschaut) und Pixel-Fehler in Bitmap-Bildern anzeigt.

    Folgende Maßnahmen haben definitiv nicht geholfen:

    • SPI-Modus von 3 auf 0 ändern (1 und 2 funzen gar nicht)
    • Kabel tauschen
    • Level-Shifter tauschen
    • Länge der Pausen zwischen den einzelnen SPI-Befehlen variieren

    Diese Maßnahme hilft zwar ein wenig, schafft das Ärgernis aber auch nicht komplett aus der Welt:

    • Baudrate ändern (bin derzeit bei 320k angelangt, war früher 500k)

    Der Entwickler von pigpio meinte, bei Verwendung von pigpiod müsse man ~50 µsec an Protokoll-Overhead hinzuaddieren. Im Log von pigpiod kann ich übrigens keine Fehler finden.

    Was meint Ihr: Was könnte die Ursache für solche Bit-Dreher sein? :conf: Danke für jeden zweckdienlichen Tipp!

    Einmal editiert, zuletzt von Oldsmobile (9. Dezember 2018 um 19:04)

  • Servus Oldsmobile ,

    Seitdem ich die SPI-Schnittstelle (mitsamt dem daran hängenden VF-Display) über den pigpiod statt direkt über die pigpio-Bibliothek anspreche

    Ähm ... wie meinen?

    Remote SPI bitbanging?

    Über welches Medium?

    cu,

    -ds-

  • Nein, kein Remote Bitbanging. Ich habe die Methode spi_write () vom pigpiod benützt. Sowohl die App, als auch der Dämon laufen auf dem gleichen Raspi.

    UPDATE: Mit pigs csi 6 habe ich den Debug-Modus beim pigpiod eingeschaltet und die von ihm via SPI rausgejagten Bytes mit denen vergleichen, die in meinen Sourcen stehen. Keine Fehler.

    Könnte das also ein Problem mit der HW (Verkabelung etwa?) sein?

    Einmal editiert, zuletzt von Oldsmobile (12. Dezember 2018 um 23:55) aus folgendem Grund: update

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!