Zustand GPIO nach dem Booten

  • Guten Morgen,

    ich plane mein erstes Raspi - Projekt mit Benutzung der GPIO Anschlüsse. Ein Anschluss soll als Input eines Bewegungssensors dienen.

    Jetzt sind diese Anschlüsse recht "sensibel". Wenn beim Hochfahren des Raspberry Pi der Sensor schon Spannung liefert, der entsprechende Anschluss aber noch nicht als Input konfiguriert ist, kann es sein, dass der Raspi "gegrillt" wird?

    Würde dir Benutzung eines Vorwiderstands helfen (10 kiloohm sollten ja ausreichen)?

    Wie ist dieses Problem generell gelöst, wenn der Raspi hochfährt und die Peripherie schon Spannung liefert?

    Viele Grüße,

    Andreas

  • 1-2 kOhm reichen als Strombegrenzung.

    Um den GPIO schon beim booten zu initialisieren, kann man in der config.txt festlegen, z.B. GPIO 23 als Output, ohne Pulldown/Pullup:

    gpio=23=op,dh,pn

    Code
    ip - Input
    op - Output
    dh - Driving high (for outputs)
    dl - Driving low (for outputs)
    pu - Pull up
    pd - Pull down
    pn/np - No pull

    Zudem ist eine Reihe standardmäßig als Input und eine Reihe als Output, aber nagel mich nicht drauf fest, ob es bei den neueren auch noch so ist.

  • Wie ist dieses Problem generell gelöst, wenn der Raspi hochfährt und die Peripherie schon Spannung liefert?

    Das GPIO Verhalten im Boot Prozess und die Einstellungen sind in der Rasperrypi Dokumentation unter Computers - Configuration - Change the default Pin Configuration dokumentiert. Im verlinkten Datasheed sind die Kapitel 6. und 6.2. wichtig. In der Tabelle von 6.2. siehst Du auch, mit welchen Pulls die GPIOs beim Einschalten des Pis belegt sind.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Hallo,

    das datasheet habe ich gefunden. Die Tabelle 6-2 zeigt aber nur, dass bis auf Bit 30 und 31 der Typ immer R/W ist und Reset 0 ist. Ich hätte gedacht, dass bei einer Vorbelegung da entweder R oder W steht. Unter Kapitel 6-2 ist die Tabelle 6-31. Ist diese vielleicht gemeint? Bedeutet "Pull high" Input und "pull low" Output? oder ist es umgekehrt?

    Auf den ersten Blick ist mir das leider nicht ersichtlich.

  • Unmittelbar nach dem Start stehen alle GPIOs auf OUT und die GPIOs 0 - 8 auf Pull-high (pull_up), sie GPIOs 9 - 27 auf Pull-low (pull_down).

    Es ist im Abschnitt 6.2 die Tabelle 6.31.

    Die GPIOs werden nur beim Neustart so gesetzt. Bei einem soft-reboot behalten sie ihren Status vor dem reboot.


    Servus !

    RTFM = Read The Factory Manual, oder so

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!