Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Allgemeine Info zu BiDiB:


Treiberinstallation:


Programme für BiDiB:


Das BiDiB-System:

One-Serie:

Addon-Module:

Ready-Line:

Beispielkonfigurationen:

Konfigurationsvorlagen:


Das OpenCarSystem:


Anwendungsunterstützung:


Kompatibilität:


Codehilfe für eigene BiDiBOne Entwicklungen:

onecontrol:anwendungen_oc_odt_gpio

GPIO Ports

Die GPIO-Ports sind für OneControl und OnDriveTurn identisch aufgebaut. Beim GPIO-Baustein können alle 16 Ports wahlweise einzeln als Eingang oder als Ausgang konfiguriert werden.

Ein Eingang schaltet gegen Masse und kann z.B. für die Rückmeldung von Servos verwendet werden. Die Beschaltung gegen positiver Spannung ist mit einem Pull-Down-Widerstand und entsprechender Konfiguration möglich.

Ein Ausgang ist mit maximal 10 mA belastbar, reicht also für die Ansteuerung einer LED aus. Für die Ausgänge der GPIO stehen verschiedene AddOn-Module wie Relais-Verstärker und Motortreiber zur Verfügung.

Die GPIO werden etwa alle 20 ms komplett gelesen und anschliessend jeder Eingang innerhalb von 1-2 ms ausgewertet. Dadurch ergibt sich eine Entprellzeit für die Eingänge von etwa 40-50 ms. Die als Ausgang konfigurierten Anschlüsse werden innerhalb dieses Rhythmus' ausgegeben.


Konfiguration (Feature-Reiter)

Alle Einstellungen der einzelnen Pins können komfortabel über ein geeignetes Programm, z.B. BiDiB-Monitor oder BiDiB-Wizard in so genannten Feature-Reitern konfiguriert werden. Änderungen über den CV-Reiter sind nicht mehr sinnvoll und deshalb ausgegraut.

Bis zur Version 2.03.02 der OneControl und 1.03.06 des OneDriveTurns stehen für jeden Ausgang zwei Variablen zur Verfügung. Der CV-Bereich beginnt mit dem ersten Port (GPIO0) CV437, CV438 und CV439. (Das CV439 ist nicht sichtbar und als Reserve für den ersten Pin (GPIO0) vorgesehen). GPIO1 belegt CV440, 441, (442), u.s.f. bis GPIO15 mit CV482, 483, (484).

Ab den - gemeinsamen - Versionen 3 wurde der CV-Bereich vergrößert und verschoben. Er schließt sich direkt an den Bereich der Powerports bzw. Motorausgänge an und beginnt mit 640, ebenfalls in Schrittweite 8 und enden mit 760.

In PC-Programme, die - entgegen den Empfehlungen - direkt auf die CV-Variablen zugreifen, müssen diese Adressen angepasst werden! Die offiziellen Steuerungsprogramme wie Rocrail, Win-Digipet, iTrain und ModellStw, die über die Featureliste konfigurieren, sind davon natürlich nicht betroffen.

Um den Speicherplatz nicht unnötig zu verschwenden, sind die folgenden Einstellungen in einer einzigen CV untergebracht. Jeder Pin lässt sich einzeln und in jeder beliebigen Kombination konfigurieren. Die standardisierten Feature sind ausgegraut; sie lassen sich über die jeweiligen Reiter des BiDiB-Tools ändern. Daneben gibt es interne Parameter, die nicht für manuelle Änderungen vorgesehen sind.

Werden Änderungen an diesen Eigenschaften gemacht, muss sich der Baustein u.U. neu am Bus anmelden, damit diese Änderungen wirksam werden! Das kann durch einen Neustart des Knotens aus einem der Konfigurationswerkzeuge heraus oder durch einen Spannungsreset des Bausteins erreicht werden.


Port-Typ (standardisiertes Feature)

OneControl und OneDriveTurn kennen folgende Porttypen:

Typ Bedeutung Konfigurationen
Eingang/Input Kontakteingang I/O-Verhalten
Schaltausgang Port als einzelner, unabhängiger Ausgang Schaltzeit

Auslieferungszustand - Port-Typ

Baugruppe GPIO
OneControl Eingang/Input
OneDriveTurn Eingang/Input

Eingang

Die GPIO von OneControl bzw. OneDriveTurn können als einzelne Eingänge konfiguriert werden.

Schaltausgang

Die GPIO von OneControl bzw. OneDriveTurn können als einzelne Schaltausgänge konfiguriert werden. Jeder Ausgang kann und muss bei dieser Konfiguration separat angesteuert werden. Eine Prüfung zwischen einzelnen Ausgängen wird nicht gemacht.

Im BiDiB-Wizard erfolgt die Konfigurationsänderung jeweils über den gewünschten Feature-Reiter mit einem Rechtsklick auf das ausgegraute GPIO-Feld > „Port umschalten …“ > „Port auf Schaltausgang umschalten?“


I/O-Verhalten (standardisiertes Feature, nur Eingang)

OneControl und OneDriveTurn kennen an den GPIO-Pins folgende Porttypen:

Typ Bedeutung Konfigurationen
Eingang/Input Kontakteingang I/O-Verhalten
Schaltausgang Port als einzelner, unabhängiger Ausgang Schaltzeit

Auslieferungszustand - I/O-Verhalten

Baugruppe GPIO
OneControl Active Low
OneDriveTurn Active Low

Active Low/Active Low Pullup

Die Eingänge der GPIO von OneControl bzw. OneDriveTurn werden gegen GND geschaltet. Der interne Pullup-Widerstand legt einen unbeschalteten Eingang auf die positiven Versorgungsspannung.

Active High/Active High Pulldown

Mit Hilfe eines externen Pulldown-Widerstandes können die Eingänge der GPIO von OneControl bzw. OneDriveTurn gegen die positive Versorgungsspannung des Bausteins geschaltet werden.

Werden die Eingänge der GPIO von OneControl bzw. OneDriveTurn bei dieser Konfiguration nach wie vor gegen GND geschaltet, wird die Aktivlage intern invertiert. D.H. ein geschlossener Schalter wird als „Aus“, ein offener dagegen als „Ein“ gemeldet.


Schaltzeit (standardisiertes Feature, nur Ausgang)

Das standardisierte Feature „Schaltzeit“ fasst die CVs „Impulsbetrieb“ und „Pulse-Ticks“ zusammen.

Auslieferungszustand - Schaltzeit

Baugruppe GPIO Bemerkung
OneControl 0 Dauerbetrieb
OneDriveTurn 0 Dauerbetrieb

Die Schaltzeit ist im BiDiB-Wizard über den Reiter Schaltausgänge in der Spalte Schaltzeit in den Werten von 1 bis 255 Ticks (a 20 ms) konfigurierbar (Impulsbetrieb). Steht hier eine 0, ist das Port statisch, d.h. im Dauerbetrieb. Die Schaltzeit ist für einen Eingang wirkungslos.

Im Impulsbetrieb wird nach Ablauf der „Schaltzeit“ das Port abgeschaltet, bei einem einfachen „Schaltausgang“ also der angegeben Ausgang.

Ein „Schaltausgang“ im Dauerbetrieb wird solange aktiv angesteuert, bis er einen Abschaltbefehl erhält. Der Abschaltbefehl muss durch den Anwender erfolgen.

Wird der Ausgang innerhalb dieser konfigurierten Zeit wiederholt gestellt, wird auch die Zeit jedes Mal neu berechnet.


Konfigurationsvariablen (CV-Reiter)

Eine Konfiguration über den CV-Reiter ist nicht möglich, da alle Einstellungen über die Feature-Reiter vorgenommen werden können.

Ein-, Ausgang

Bit 0 = 0 Ausgang, Bit 0 = 1 Eingang

Die so genannten GPIOs (General Purpose Input/Outut) können, wie schon der Name vermuten lässt, entweder als Eingang oder als Ausgang verwendet werden.

als Eingang | Bit 0 = 1:

Diese Einstellung ist Default und ein Auslösen am Eingang der GPIO-Ports wird als Belegung erkannt. Im Register Schaltausgänge werden die betroffenen GPIO-Ports als nicht verfügbare Ausgänge angezeigt. Die betroffenen Ports sind ausgegraut.

als Ausgang | Bit 0 = 0:

Soll ein GPIO-Port als Ausgang konfiguriert werden, dann ändern Sie das betroffene Bit von 1 auf 0.

Mit Klick auf Speichern wird die Änderung erfasst und mit CV-Schreiben auf die OneControl Baugruppe übertragen.

Die Änderung wird erst nach einen Reset der Baugruppe wirksam.

Das kann durch einen Spannungsreset erfolgen oder über den Softwareeintrag „Zurücksetzten“.

Der betroffene Port ist jetzt im Register „Eingang“ nicht mehr verfügbar (ausgegraut) und wird im Register „Schaltausgänge“ als neuer Port angezeigt. Jetzt steht auch der neue GPIO-Port „Ausgang“ in der Makro-Ablaufsteuerung als Ausgang zur Verfügung und kann in einem Makro eingebunden werden.

Aktivlage

Bit 1 = 0 HIGH-, Bit 1 = 1 LOW-aktiv

Nur Eingang! Die Eingänge des GPIO-Bausteins werden gegen Masse geschaltet. Mit der Konfiguration HIGH-Aktiv wird beim Schliessen des Eingangs eine „0“ und beim Öffnen eine „1“ an den BiDiBus gemeldet. (Das entspricht dem elektrischen Zustand des Eingangs.) Mit der Konfiguration LOW-Aktiv wird beim Schliessen eine „1“ und beim Öffnen eine „0“ an den BiDiBus gemeldet. (Das entspricht der Funktionalität des Eingangs.)

Impulsbetrieb

Bit 2 = 0 Dauer-, Bit 2 = 1 Impulsbetrieb

Nur Ausgang! Im Dauerbetrieb wird ein Ausgang solange aktiv angesteuert, bis er einen Abschaltbefehl erhält. Ist der Impulsbetrieb konfiguriert, wird der Ausgang nach Ablauf der Impulszeit nicht mehr aktiv angesteuert. Der Impulsbetrieb wirkt auf die nächste Einstellung „Impuls-Ticks“.

Impuls-Ticks

Wert = 0…255, (0)

Hier wird die Länge eines Impulses eingestellt. Die Zeit wird in so genannten Ticks gemessen, ein Tick beträgt 20 ms.

Beachte: Wird der Ausgang innerhalb dieser konfigurierten Zeit wiederholt gestellt, wird auch die Zeit jedes Mal neu berechnet.

Die Voraussetzung dieser Funktion ist, dass im CV-Register „Konfiguration“ der Port als „Ausgang“ (Bit 0 = 0) definiert ist mit der Zusatzoption „Impulsbetrieb“ (Bit 2 = 1).


onecontrol/anwendungen_oc_odt_gpio.txt · Zuletzt geändert: 2018/05/29 12:58 von Michael