SPI-Schnittstelle hört zu funktionieren auf

  • Moin!


    Vor drei Wochen hörte mein via SPI an den Raspi 3B angebundenes Display einfach zu funktionieren auf: Es zeigte plötzlich gar nichts mehr an, obwohl die Heizkathoden offensichtlich an sind. Ein Check der Anschlüsse (visuell und mit dem Multimeter) offenbarte nichts Verdächtiges. Daraufhin versuchte ich, die Schnittstelle mit spincl auszutesten:


    Code
    1. pi@autoradio:/import/valen/autoradio/spincl $ sudo ./spincl -ib
    2. pi@autoradio:/import/valen/autoradio/spincl $ sudo ./spincl -m3 -c9 -s0 -p0 1 0x14


    Keine Reaktion. Noch schlimmer: spincl hängte sich reproduzierbar auf und musste mit ^C abgeschossen werden. Hernach verband ich Pin 19 (MOSI) und 21 (MISO) miteinander. Nun müssten eigentlich alle Daten, die über die SPI-Schnittstelle rausgehen, via SPI auch reinkommen. Doch auch hier blieb spincl einfach stehen, als ob er ad infinitum auf irgendetwas warten würde.


    Was ist hier los? Vorher hat SPI bei mir immer reibungslos funktioniert! ||

  • Hallo Oldsmobile,

    Descrip­tion

    spincl is a command-line util­ity for exe­cut­ing SPI com­mands with the Broad­com bcm2835 from a shell com­mand line (or script). The util­ity is based on the bcm2835 C library devel­oped by Mike McCauley of Open Sys­tem Con­sul­tants, http://www.open.com.au/mikem/bcm2835. It was built with ver­sion 1.17 of the bcm2835 library and tested on a Rasp­berry Pi single-board com­puter model B with an iP Solu­tions designed I/O board, which con­tains SPI acces­si­ble ADC and dig­i­tal I/O expansion.


    Wenn ich das richtig verstehe, dann ist spincl auf den bcm2835 ausgerichtet und dürfte beim BCM2837, der m.E. im RPi 3 verbaut ist, nicht das gewünschte ergebnis liefern. :denker:

    "Alles, was wir sind, ist Sand im Wind, Hoschi."

  • Moin Oldsmobile,


    hast du das Programm selbst compiliert??


    Oder wo hast du es gefunden??


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

  • Bernd666 : Nein, ich habe es fix-fertig übernommen (das war schon vorkompiliert), und gefunden habe ich es auf der in meinem Post verlinkten Seite.


    hyle : Ich habe gelesen, dieses Progrämmchen sei auch für den 3B geeignet. Und lsmod zeigt mir auch jede Menge Module für den 2835er an:


    Code
    1. pi@autoradio:/import/valen/autoradio $ lsmod | grep bcm
    2. btbcm 7916 1 hci_uart
    3. bluetooth 365511 22 hci_uart,bnep,btbcm
    4. snd_soc_bcm2835_i2s 6546 2
    5. snd_soc_core 179915 3 snd_soc_justboom_dac,snd_soc_pcm512x,snd_soc_bcm2835_i2s
    6. i2c_bcm2835 7167 0
    7. spi_bcm2835 7596 0
    8. bcm2835_gpiomem 3940 0


    UPDATE: Auf Anraten eines anderen Users führte ich noch einen Testlauf mit gpiotest auf dem nackten Pi durch. Hier das Ergebnis:


    Code
    1. pi@autoradio:/import/valen/autoradio $ sudo pigpiod
    2. pi@autoradio:/import/valen/autoradio $ sudo ./gpiotest
    3. […]
    4. Skipped non-user gpios: 0 1 28 29 30 31
    5. Tested user gpios: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
    6. Failed user gpios: None


    UPDATE #2: Ich habe noch den piscope installiert und ausgeführt. Er zeigte mir ein merkwürdiges Signal auf Pin 12 an (der eigentlich als SS-Pin das Display «aufwecken» sollte). Pin 12 wird doch auch als PCM-Clock-Ausgang benützt (zumindest sagt gpio readall, dass der 12er auf ALT0 steht). Schicke ich also jetzt plötzlich ein Clock-Signal ans Display?? :/

    4 Mal editiert, zuletzt von Oldsmobile () aus folgendem Grund: gpiotest hinzu

  • Moin Oldsmobile,


    nach deiner Aussage passierte es plötzlich. Das bedeutet du hast kein Update oder sowas gemacht?


    Ich habe noch nie mit den, von dir genannten Programme gearbeitet.

    Sollte ich mal machen.


    Aber ev. hat ja noch jemand eine Idee.


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

  • Hi Bernd,


    meines Wissens nicht. Vorher hatte ich aber auch zwei Wochen lang nicht am Raspi gearbeitet. Vielleicht ist tatsächlich irgendwo ein Kontakt flöten gegangen. :S


    Was das rätselhafte Signal angeht: Das liegt nicht am SS-Pin, sondern an einem anderen Pin an. Die Beschriftung von piscope ist da leider etwas verwirrend.


    UPDATE: Beim Durchmessen des Kabelbaumes, welcher das Display mit Strom versorgt (und per USB-Stecker am StromPi hängt), fand ich die Ursache meines Schlamassels: eine kaputte Lötverbindung! Als hätte das nicht gereicht, war ausgerechnet Pin 20 am Display betroffen, das an Masse hängen muss, weil sonst die SPI-Schnittstelle des Displays nicht aktiviert wird. :@ Erst, wie ich mich mit dem Multimeter am Kabel zu schaffen machte, brach diese Ader einfach ab. Die Lösung war dann watscheleinfach: Ader nochmal ranlöten, Kabel durchmessen, anschließen, austesten, fertig. Danke trotzdem für Eure Ratschläge!

    Einmal editiert, zuletzt von Oldsmobile () aus folgendem Grund: Fall gelöst