SPI 9 Bit Modus (LoSSI mode)

Lambda
2014-10-31
2014-11-18
  • Lambda - 2014-10-31

    Hallo,

    ich habe das Problem, dass ich für ein LCD Display 4x20 Zeichen am SPI Bus den
    sogenannten LoSSI mode brauche, also das Frame aus 9 Bit besteht.

    Habe also beim SPI Master in CoDeSys den Wert für BitsPerWord auf 9 gestellt, allerdings
    hat das keinen Erfolg gebracht. Es wurden weiterhin nur 8 Bits auf den Bus geschickt.

    Hat da jemand eine Ahnung, wie man auf den 9 Bit Modus wechseln kann, bzw. wird dieser
    überhaupt unterstützt?

    Gruß Werner

     
  • eschwellinger

    eschwellinger - 2014-11-03

    Hallo Werner,

    wenn ich mir so diesen post auf raspberry org anschaue bin ich nicht sicher ob man da was speziell patchen muss im Kernelmodul oder nicht:
    http://www.raspberrypi.org/forums/viewt ... de#p300702
    denke du musst das mal mit spidev_test.c checken.

    Grüße
    Edwin

     
  • Lambda - 2014-11-18

    Hallo Edwin,

    nun bin ich endlich mal wieder dazu gekommen mich mit dem Problem weiter zu beschäftigen.

    Nun, ich habe den Treiber mit spidev_test.c geprüft und habe festgestellt, das der Patch für
    den 9 bit Modus nicht nötig ist, mit spidev_test funktioniert der 8-bit sowie der 9-bit Modus
    ohne Fehlermeldung. Ich habe auch den Datenverkehr auf dem Bus mit dem Oszi geprüft und
    es werden auch tatsächlich 8 bzw. 9 Taktimpulse gesendet.

    Wenn ich jedoch im CoDeSys beim Spi Master von 8 auf 9 Bits per Word umstelle dann ändert
    sich nichts, es werden immer nur 8 Bits gesendet, erstaunlich ist jedoch, dass der Spi Master
    bei der Umstellung auf 9 Bit keinen Fehler bringt, wenn ich jedoch, nur zum Testen, auf einen
    nicht unterstützten Wert z. B. 10 bit umstelle, dann bleibt der Spi Master stehen und es erscheint
    im CoDeSys das rote Dreieck beim Spi Master. Also erhält CoDeSys anscheinend die Rückmeldung
    des Treibers, dass dieser Modus nicht unterstützt wird.

    Daher kann ich noch weniger verstehen, warum sich die anzahl der Bits nich von CoDeSys heraus
    umschalten lässt, wenn doch offensichtlich die Kommunikation mit dem Treiber funktioniert

    Wie kommuniziert CoDeSys eigentlich mit dem Treiber, mit der standard API des Treibers, oder wurde
    da etwas anderes gemacht?

    Hast du noch eine Idee, wie ich da weiterkommen kann.

    Gruß Werner

     
  • eschwellinger

    eschwellinger - 2014-11-18

    Hallo Werner,

    denke wir haben es gefunden ich schick dir mal ne Testlib per Mail.

    Grüße
    Edwin

     

Log in to post a comment.