Gestern flammte in einer fb-Gruppe das Thema Belastbarkeit der GPIOs auf. Daraufhin habe ich mich nochmal hingesetzt und die Dokumente wie Datenblätter und Korrekturen dazu gewälzt, schließlich stammt mein Wissen aus den Anfangszeiten des Raspberry Pi und da waren Angaben über den Chip schwer zu bekommen. Zudem habe ich einen alten RasPi B Rev.1 geopfert, um der Sache auf den Grund zu gehen. Das Thema wurde schon viel diskutiert, aber ich denke mal, den Entwicklern vom RasPi sollte man glauben schenken und für Neueinsteiger ist das allemal interessant.
Zur Praxis:
GPIO als Ausgang konfiguriert an Masse (über Amperemeter, also beinahe ein Kurzschluss), lief seit 12 Stunden mit 39 mA, keine Temperaturerhöhung.
GPIO als Ausgang konfiguriert an 3,3V läuft seit 4 Stunden mit 36 mA, ebenfalls keine Temperaturerhöhung.
Gestern kurzzeitig versucht beides zu gleich zu machen, mit der Folge, dass der BCM immer wärmer wird, habe dann abgebrochen.
Zur Theorie:
Nach etwas Recherche und dem Lesen des Datenblatts für den BCM2835 fand ich dieses Dokument von Gerd van Loo, einem Maßgeblichen Mitentwickler des RasPi: http://de.scribd.com/doc/101830961/GPIO-Pads-Control2
Ich fasse mal die für mich wichtigsten Punkte aus meiner Übersetzung zusammen:
Die Meinung, dass die programmierbaren Treiberstufen den Strom begrenzen ist falsch.
Die im Bild gezeigten Stromstärken zeigen keine Begrenzung an, sondern den Wert, der im jeweiligen Modus zu den festgelegten Parametern passt.
Es ist weder der Strom, den der Anschluss liefern kann, noch eine Begrenzung des Stroms! Der maximale Strom wird einzig und allein durch den Innenwiderstand der Bauteile begrenzt.
ZitatIf you drive the pad high and it is shorted to ground in due time it will blow up!The same holds true if you connect it to 3V3 and drive it low.
Soll heißen: Liegt der Anschluss auf high und man schließt ihn mit GND kurz, explodiert er irgendwann , das gleiche passiert wenn er low ist und gegen +3,3V kurzgeschlossen wird.
Bemerkung: Das habe ich in der Praxis wie oben zusehen noch nicht geschafft, aber das wird . Dieses irgendwann ist natürlich nicht sehr konkret.
Ich habe auch zum high- und low-Level gefunden, das dürfte aber bekannt sein. Alles unter 0,8V ist low, alles über 1,3V ist high, Bemerkung: alles über 3,3V ist tödlich!
Warum sollten nicht alle Anschlüsse auf die maximal in der Konfiguration verfügbaren Werte gestellt werden?
- Die Stromversorgung des Raspberry Pi wurde mit einer Stromstärke von ca. 3mA ausgelegt, bei vollen 16mA wären das 272mA, die 3,3V Versorgung würde zusammenbrechen. Insgesamt sollen nicht mehr als 50mA fließen. Bemerkung: Das wussten wir!
- Bei (kapazitiven) Lasten entstehen Stromspitzen, die alle Stifte in der nähe zum "hüpfen" bringen. Es ist wahrscheinlich, dass sogar Interferenzen mit der SD-Karte oder dem SD-Ram auftreten können. Bemerkung: Kabel sind kapazitiv. Das haben wir oft gemerkt, jetzt wissen wir, wo es herkommt :thumbs1:
Wie hoch ist die sichere Stromstärke?
Die gesamte Elektronik des (einzelnen) Anschlusses ist für 16mA ausgelegt. Selbst wenn die Treiberstufe auf 2mA eingestellt ist, treten bis 16mA keine Schäden auf. Alles darüber bezeichnet Gerd von Loo als unsicher. Bemerkung: Ich glaube ihm das, obwohl hier immer noch 39mA fließen!