Konfiguration des DIO für Ausgang mit pull-down-Funktion

Rund um die Hardware des Revolution Pi
Post Reply
sfm
Posts: 5
Joined: 24 Aug 2020, 09:37

Konfiguration des DIO für Ausgang mit pull-down-Funktion

Post by sfm »

Hallo,

ich möchte mit dem DIO ein Verstärker ansteuern, der über einen pull-down-Eingang aktiviert wird.
Alles wird über 24V versorgt, d.h. über Pegelumsetzer, offene-Kollektor-Ausgänge usw.
braucht man sich keine Gedanken zu machen. Evtl. könnte man noch eine Diode verwenden, damit
aus dem Ausgang des DIO kein Strom in den pull-down-Eingang fließen kann.

Im Prinzip müsste das funktionieren, es bleibt nur die Frage nach dem Timing beim Startup des DIO.
Ich möchte sicherstellen, dass nicht während des Hochfahrens der Ausgang kurzfristig
nach 0V gezogen wird. Ist der folgende Ablauf so korrekt?

(1) Konfiguration des DIO über Pictory als push-pull und Default-Zustand des Ausgangs auf 1.
(2) Einschalten. Das DIO-Modul fährt hoch, Ausgang ist im "high-side"-Mode (PUSHPL-Eingang des
MAX14900E im DIO ist offen - interner pull-down, also beim startup im high-side mode.
D.h. der Controller des DIO muss den Ausgang erst auf push-pull umprogrammieren.)
(3) Wenn der MAX14900 eingeschaltet wird, müsste der Ausgang auf "0" stehen, d.h.
im "high-side"-Mode ist der Ausgang hochohmig.
(4) Jetzt müsste der Controller im DIO zunächst den Default-Zustand des Ausgangs wie in
Pictory programmiert auf 1 setzen. High-side-Ausgang gibt dann 24V aus.
(5) Erst danach müsste der Controller im DIO den Ausgang auf push-pull umprogrammieren.
Dann bleibt der Ausgang auf 1.

- Ist das so implementiert - oder wird erst auf push-pull umprogrammiert
und dann der Default-Zustand der Ausgänge gesetzt - in diesem Fall würde der Ausgang
kurz nach 0V springen und meine Anwendung hätte ein Problem.

Ergänzung: beim Ausschalten gibt es kein Problem, weil der RevPi über eine kleine USV
versorgt wird und sich erst nach Abschalten der Verstärker herunterfährt.

Beste Grüße
Jörg Schöbel
c.baumann
Posts: 16
Joined: 23 Jul 2020, 10:38

Re: Konfiguration des DIO für Ausgang mit pull-down-Funktion

Post by c.baumann »

Hallo Jörg,
oder wird erst auf push-pull umprogrammiert
und dann der Default-Zustand der Ausgänge gesetzt - in diesem Fall würde der Ausgang
kurz nach 0V springen und meine Anwendung hätte ein Problem.
Zunächst werden alle Module konfiguriert. Am Ende der jeweiligen Konfiguration setzen die DIOs die Ausgänge auf 0V. Im nächsten Schritt werden dann erst die "Default-Values", wie sie in Pictory angegeben sind, übertragen.
sfm
Posts: 5
Joined: 24 Aug 2020, 09:37

Re: Konfiguration des DIO für Ausgang mit pull-down-Funktion

Post by sfm »

Hallo,

danke für die Antwort. Sowas in der Art habe ich befürchtet...

Besteht eine Chance, dass die Firmware des DIO mal ein Update bekommt? Es wäre ja schön, wenn man sich auf den Zustand der Ausgänge immer verlassen könnte und keine Inkonsistenzen / Glitches beim Einschalten auftreten könnten. So wie es jetzt aussieht, muss ich trotz der schönen mit dem MAX14900 realisierten Ausgangstufe meine eigene Ausgangsstufe dahinter hängen, um diesen potentiellen 0V-Glitch zu vermeiden.

Mittlerweile habe ich mir auch die Firmware des DIO mal angeschaut. Was ich dabei nicht gefunden habe: wo/wie wird denn der in Pictory definierte Default-Wert überhaupt geschrieben? In der Firmware finde ich das nicht, sondern nur die Stelle, wo konfiguriert wird und dann alle Ausgänge = 0 gesetzt werden. Ist der Default-Wert einfach der Startwert, mit dem das Prozessabbild losläuft?

Kann man die Ausgänge während der Laufzeit umkonfigurieren?

Beste Grüße
Jörg
c.baumann
Posts: 16
Joined: 23 Jul 2020, 10:38

Re: Konfiguration des DIO für Ausgang mit pull-down-Funktion

Post by c.baumann »

Hallo Jörg,
Mittlerweile habe ich mir auch die Firmware des DIO mal angeschaut. Was ich dabei nicht gefunden habe: wo/wie wird denn der in Pictory definierte Default-Wert überhaupt geschrieben? In der Firmware finde ich das nicht, sondern nur die Stelle, wo konfiguriert wird und dann alle Ausgänge = 0 gesetzt werden. Ist der Default-Wert einfach der Startwert, mit dem das Prozessabbild losläuft?
Wie du gesehen hast wird das Modul über IOP_TYP1_CMD_CFG konfiguriert und hier auch erstmal die Ausgänge = 0 gesetzt. Die "Default-Konfiguration", also die Default-Werte (Startwerte im Prozessabbild) an den Ausgängen werden dann erst anschließend über IOP_TYP1_CMD_DATA übertragen. Das heißt momentan auch, dass die Ausgänge erst gesetzt werden nachdem ALLE Module konfiguriert wurden. Das erste Modul hat also unter Umständen relativ lange diesen undefinierten Zustand.
Das müsste also eigentlich umgedreht werden.
Besteht eine Chance, dass die Firmware des DIO mal ein Update bekommt? Es wäre ja schön, wenn man sich auf den Zustand der Ausgänge immer verlassen könnte und keine Inkonsistenzen / Glitches beim Einschalten auftreten könnten.
Ich werde mal Tickets erstellen für die Änderungen der Firmware und PiControl. Zur Dauer kann ich aber noch nichts sagen.
Kann man die Ausgänge während der Laufzeit umkonfigurieren?
Auch das geht leider nicht. Die geänderte Konfiguration wird erst mit einem Driver Reset übernommen.
sfm
Posts: 5
Joined: 24 Aug 2020, 09:37

Re: Konfiguration des DIO für Ausgang mit pull-down-Funktion

Post by sfm »

Danke für die ausführlichen Antworten.

Wir werden für pull-down-Ausgänge jetzt externe NMOSFET vorsehen. Das hat für unsere Anwendung einen kleinen Vorteil, nämlich dass wir die Konfiguration der Ausgänge in unserer Software nicht weiter beachten müssen (muss je nach Systemaufbau konfigurierbar sein), weil man die entsprechenden Ausgänge für pull-down dann halt anders verkabelt.

Viele Grüße
Jörg
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: Konfiguration des DIO für Ausgang mit pull-down-Funktion

Post by dirk »

Jörg vielen Dank für Dein positives Feedback.
Post Reply