SPI-Schnittstelle hört zu funktionieren auf

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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
    pi@autoradio:/import/valen/autoradio/spincl $ sudo ./spincl -ib
    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! ||

    • Offizieller Beitrag

    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:

  • 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:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • 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
    pi@autoradio:/import/valen/autoradio $ lsmod | grep bcm
    btbcm                   7916  1 hci_uart
    bluetooth             365511  22 hci_uart,bnep,btbcm
    snd_soc_bcm2835_i2s     6546  2 
    snd_soc_core          179915  3 snd_soc_justboom_dac,snd_soc_pcm512x,snd_soc_bcm2835_i2s
    i2c_bcm2835             7167  0 
    spi_bcm2835             7596  0 
    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
    pi@autoradio:/import/valen/autoradio $ sudo pigpiod
    pi@autoradio:/import/valen/autoradio $ sudo ./gpiotest
    […]
    Skipped non-user gpios: 0 1 28 29 30 31 
    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 
    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 (28. Januar 2018 um 17:55) 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:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • 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 (29. Januar 2018 um 22:13) aus folgendem Grund: Fall gelöst

Jetzt mitmachen!

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