Hallo,
ich möchte dass ein GPIO Pin möglichst sofort nach dem einschalten der Stromversorgung des Raspi3 auf LOW liegt.
Welche Möglichkeiten gibt es da ?
Gruß Frank
Hallo,
ich möchte dass ein GPIO Pin möglichst sofort nach dem einschalten der Stromversorgung des Raspi3 auf LOW liegt.
Welche Möglichkeiten gibt es da ?
Gruß Frank
Hallo Frank,
Möglichkeit 1: Bare Metal - suche danach und Du wirst es nicht wollen.
Möglichkeit 2: Da die meisten GPIO beim Booten als Eingang geschaltet sind (außer GPIO14 = TxD) wirst Du dieses Verhalten gar nicht explizit herbeiführen müssen, da es bereits schon so ist, wie Du es haben möchtest. Deine Anwendung hat dann alle Zeit der Welt, diesen GPIO als Ausgang zu setzen und LOW drauf zu legen.
Möglichkeit 3: Konfiguration der DeviceTrees und Erstellung von DeviceTree-Blobs (sind hervorragende Stichworte für die Suchfunktion)
Möglichkeit 4: Elektronik-Hack (Stichwort: Selbsterhaltungsschaltung)
Beste Grüße
Andreas
Hallo,
ich glaube nicht, das dies möglich ist. Aber auch dafür gibt es eine Lösung:
Wenn Du den Raspi einschaltest, kanst Du die Spannung an den Pins ja messen. Und wenn der Pin später mal als Ausgang verwendet werden soll, und Du dort Hi mist, schaltest Du direkt an den Pin den Eingang eines 74HC14. Den Ausgang des 74HC14 -Gatters verwendest Du als währe es ein ganz normaler GPIO. Die IS hat 6 Inverter mit Schmidttrigereingang. Die Spannungsversorgung des 74HC14 legst Du an 3,3V. Im Programm must Du die Pegel natürlich auch vertauschen.
Du kanst die IS auch an 5 V Spannung legen, dann must Du aber für die Pegelanpassung einen 74HCT14 verwenden!!!!
Wenn der Pin später als Eingang verwendet weden soll, kanst Du ebenfals einen 74HC14 verwenden. Spannung an 3,3V !! 5 Volt geht in dem Fall nicht! Ausgang des 74HC14 an den Pin und Eingang beschalten als währe es ein GPIO. Vom Eingang des 74HC14 natürlich ein R auf Masse.
Für mehrere GPIO ggf. auch mehrere 74HC14.
Hallo Andreas,
dass mit dem dt klingt gut.
Ich möchte im speziellen Fall PIN18(GPIO24) so schnell wie möglich als Ausgang auf LOW gesetzt haben.
Hast du bitte ein Link mit einem Beispiel für mich ?
Gruß
Frank
Hallo Frank,
Hast du bitte ein Link mit einem Beispiel für mich ?
Suche bitte nach
Mir fallen da recht brauchbare Tutorials von der Foundation ein, der User Raspiprojekt hat mal eines geschrieben - und soweit ich mich entsinne, gab es zu dem Thema auch mal was bei elinux.
Ursprung aller Device-Tree-Tutorials ist wohl das hier. Da gibt's auch einen Link zum Device Tree Blob Compiler.
Dann berichte bitte, was Du probiert hast und ggf. mit welchem DeviceTree Du Erfolg hattest. Dann können andere hier auch was lernen.
Viel Erfolg!
Andreas
Hallo,
ich denke nicht, das sofort bein Einschalten der Spannung auch sofort die notwendigen Aktionen eingeleitet werden, wie es gefordert war.
Wen man warten kann bis das Betriebssystem oder wenigstens ein Teil davon hochgefahren ist, dann wird es klappen.
Wenn es sofort erforderlich wird, dann hilft warscheinlich nur meine Hardwarelösung..
Servus Frank,
ich möchte dass ein GPIO Pin möglichst sofort nach dem einschalten der Stromversorgung des Raspi3 auf LOW liegt.
hatten wir erst ... einfachste Lösung: 10 kOhm Pulldown mit dem I/O verbinden:
http://www.forum-raspberrypi.d…ucht?pid=253539#pid253539
...
Hardwarelösung mit Pulldowns auf Masse (10kOhm) funktioniert einwandfrei. Habe eine Messung mit dem Oszilloskop gemacht, der Transistor hat für ~15ms einen Durchgang. Das kann aber durch ein unsauberes Signal bzw. die Einschaltschwankung? kommen, also im Grundsatz schaltet der GPIO beim booten nicht durch und wird auf LOW gehalten.
cu,
-ds-
ich möchte dass ein GPIO Pin möglichst sofort nach dem einschalten der Stromversorgung des Raspi3 auf LOW liegt.
Welche Möglichkeiten gibt es da ?
Gruß Frank
ich glaube nicht, das dies möglich ist.............
ich glaube schon
Der PI Tx Pin sendet immer Bootinfos als Terminal, low aktiv, ergo ist der default Pegel high unterbrochen von kurzen low Impulsen, diese kurzen low Zeiten kann man überbrücken hinter der Diode mit einem Kondensator!
Wenn ich das über eine Diode auf einen Kondensator schicke bekommt man kein low heraus, dieses high kann einen NPN oder FET dauerhaft auf low GND halten, evtl. noch mit weiteren Dioden als wired OR von anderen GPIO.
Wenn der PI gestartet wurde kann man Tx ja abschalten oder umkonfigurieren zu einem Port und dann länger low anlegen bis der Kondensator leer ist oder ein aktiver Port den Kondensator entleert.
Man könnte auch mit einem Resetcontroller, monoFLOP, NE/TLC555 arbeiten der nach dem Power ON solange low hält bis der PI bereit ist und die Steuerung übernimmt.