Pad Control - Drive Strength (oder: Wie stelle ich die maximale Stromstärke am GPIO-Pin ein?)

  • Hallo zusammen,


    da immer wieder die Frage aufkommt, ob man die maximale Stromstärke, die ein GPIO-Pin liefern kann, irgendwie einstellen kann - und falls ja, wie und warum und ob das dann wirklich so zu verstehen ist.

    Wahrscheinlich beziehen sich die ganzen Diskussionen auf einen Artikel von 2012, der mal vollständig zitiert und mal in Bruchstücken zitiert, mal verstanden und mal nicht verstanden wurde, oder ... . Ansonsten nicht mehr gefunden wurde und aus der Erinnerung heraus irgendwas ersonnen wurde.


    Ich bringe die folgenden Screenshots als Information, mit der ich nicht in Verbindung gebracht werden möchte. Wenn jemand irgendwas zerlegt, dann geschieht das auf dessen Verantwortung. Ich weise jegliche Verantwortlichkeit zurück, sollte irgendjemandem ein Schaden dadurch entstehen, dass die folgenden Informationen nicht das gewünschte Ziel erreichen.


    Erkenntnisse:

    1. Der Strom, der einem GPIO-Ausgang entnommen werden kann, ist nicht limitiert!
    2. Demnach ist der einstellbare Wert die maximale Stromstärke, für die LOW-Pegel <= 0,8 V und HIGH-Pegel >= 1,3 garantiert werden. Das bedeutet im Umkehrschluss, wenn der GPIO-Output-Pin stärker belastet wird, dass dann diese Pegel andere sein können, was dazu führt, dass eine Abfrage der Pegel zu falschen Ergebnissen führen kann.



    Viel Spass beim Lesen, Umsetzen in eine Programmiersprache - aber zerstört Eure Raspberries nicht!



    Beste Grüsse


    Andreas

    ----------------------------------------------------------

    So heisst es in einem Beitrag von 2012:




    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited 9 times, last by Andreas ().

  • Das war pure Absicht.


    Kann während des Erstellens und Hantieren mit Screenshots schon mal passieren...

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Andreas

    Changed the title of the thread from “Pad Control” to “Pad Control - Drive Strength (oder: Wie stelle ich die maximale Stromstärke am GPIO-Pin ein?)”.
  • So heisst es in einem Beitrag von 2012:

    der nicht mehr überprüfbar ist!

    https://www.raspberrypi.org/ap…M2835-ARM-Peripherals.pdf

    ich finde an keiner Stelle drive strength auch nicht im errata

    https://elinux.org/BCM2835_datasheet_errata


    mich deucht da hat jemand phantasiert, meine Meinung durch jahrelange Beobachtung und eigene Erfahrung:

    Der PI hat NULL Schutz am Port und kann leicht an den GPIO zerstört werden, es ist kein AVR Arduino :!: ,

    auch wenn das gewissen- oder ahnungs-lose Verkäufer immer wieder glaubhaft machen wollen.

    Jeder zerstörte Raspi ist ein potenzieller Neuverkauf an dem nur Händler interessiert sind.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Hallo jar,


    na, Gert van Loo ist jetzt nicht unbedingt irgendeiner, für den man "jemand phantasiert" in den Raum stellen kann.


    Der hat viel im Umfeld des Raspberry Pi entwickelt und programmiert. Einiges im RPi geht auch auf ihn zurück.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • na, Gert van Loo ist jetzt nicht unbedingt irgendeiner, für den man "jemand phantasiert" in den Raum stellen kann.

    Ich kenne den nicht persönlich und war nicht dabei als er zitiert wurde!

    Tatsache bleibt, daß diese Angaben durch kein zugängliches Datenblatt mehr überprüfbar sind!

    Vielleicht wurden die Chipdaten auch während der Produktion verändert?


    Man bedenke das ein LH5801 µC von Sharp mal als Waschmaschinensteuerungschip konzipiert wurde (auch hörensagen).

    Er sollte vier 16 Bit Registersätze haben x y u z, aber durch Maskenfehler wurden es nur 3 voll funktionsfähige Register.

    Im OP Code fiel auf das immer eine Lücke in den Befehlen nach X Y U kam was auf ein Z Register schliessen lies, einzelne Befehle konnten mit dem Z Register erfolgreich abgeschlossen werden nur nicht alle -> der Fehler!


    Was macht man also mit 1 Million fehlerhafter Chips, wegwerfen oder einen Sharp PC1500 bauen? :lol:


    Eher passt aber der Floppy Controller WD1772-2 der OHNE Datenblattänderung immer noch 8MHz als obersten Clock vorsah, aber trotzdem wegen Version -02 die 16MHz schaffte. Meine Theorie in der Version2 wurden die Strukturen verkleinert, um mehr Chips aus dem Wafer zu bekommen, dadurch schaffte man höhere mögliche Frequenzen nur deswegen änderten sie das Datenblatt nicht, weil es nicht das Ziel war.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().