ACHTUNG! Diese Seite wird nicht mehr länger gepflegt. Wechselt auf die englischsprachige Seite für eine aktuelle Anleitung (Link unten links).

Netzer GPIO

Netzer IO

Für die Funktionalität muss das IO Projekt (base oder pro) auf den Netzer geladen werden.

Überblick

Hier ist ein Überblick über die 13 verfügbaren Netzer-Pins.

Netzer Name ID Pinleiste PIC Pin Strombelastbarkeit Ausgang Maximale Eingangsspannung Beschreibung und zusätzliche Funktionen
SPI_INT j JP1 RC2 25 mA 5,5 V PWM- und Impulsausgang
SPI_CLK k JP1 RC3 25 mA 5,5 V Takt des SPI- oder I2C-Moduls - RTS-Ausgang für Asynchrone serielle Schnittstelle (UART) (Ab Version 1.5)
SPI_MI l JP1 RC4 25 mA 5,5 V Dateneingang des SPI-Moduls, Datenleitung des I2C-Moduls - CTS-Eingang für Asynchrone serielle Schnittstelle (UART) (Ab Version 1.5)
SPI_MO m JP1 RC5 25 mA 5,5 V Datenausgang des SPI-Moduls
SPI_CS i JP1 RF7 2 mA 5,5 V GPIO
RX h JP2 RC7 25 mA 5,5 V Empfangsleitung UART
TX g JP2 RC6 25 mA 5,5 V Sendeleitung UART
IO0 a JP2 RB0 25 mA 5,5 V Interrupt-Eingang, Flankenzähler und Impulstrigger
IO1 b JP2 RB1 25 mA 5,5 V Interrupt-Eingang und Flankenzähler
IO2 c JP2 RB2 25 mA 5,5 V Interrupt-Eingang und Flankenzähler
IO3 d JP1 RD1 8 mA 5,5 V PWM- und Impulsausgang
IO4 e JP1 RA2 2 mA 3,3 V ADC-Eingang
IO5 f JP1 RA3 2 mA 3,3 V ADC-Eingang

Alle Pins des Netzers können frei über das Webinterface als digitaler Eingang oder Ausgang konfiguriert werden. Die ID wird als Kürzel auf den Webseiten sowie im GPIO-Server, der Kommandoschnittstelle und seriellen Server verwendet.

Sollte der serielle Server aktiv sein, sind einige IOs nicht schreibbar, aber immer lesbar. Je nach Modus betrifft das verschiedene IOs. Die GPIO-Hauptseite informiert über IOs, die vom seriellen Server benutzt werden.

Jeder IO-Pin hat eine eigene Konfigurationsseite, die über die GPIO-Hauptseite erreichbar ist. Darüber kann die Signalrichtung konfiguriert werden, aber auch neue Funktionen wie PWM, Impuls, Flankenzähler und ADC eingestellt werden.

Webseiten

Allgemeine Konfiguration

Allgemeine Konfiguration

Das automatische Neuladen stellt ein, nach wieviel Sekunden die GPIO-Hauptseite automatisch neugeladen werden soll (bei Überwachung von bestimmten Eingängen). Das Neuladen wird browserseitig angestossen, der Browser muss das Refresh also unterstützen (schaut dazu in die Browser-Dokumentation).

GPIO Hauptseite

GPIO Hauptseite

Die GPIO Hauptseite ermöglicht den schnellen Überblick und Zugriff auf alle IOs. Digitale Signale werden in Form einer Checkbox oder eines Balls dargestellt (Javascript muss aktiviert sein). Eingänge sind ausschliesslich lesbar. PWM-/Impuls-Werte werden in Form eines Textfeldes dargestellt, können also direkt geändert werden.

Von der Hauptseite kann durch Auswahl der entsprechenden ID in der „Konfigurieren“-Box auf eine der IO Konfigurationsseiten gewechselt werden.

Digitale Ausgänge

Jeder Netzer-Pin kann als digitaler Ausgang konfiguriert werden. Eine logische '0' entspricht dem Spannungspegel 0 V, eine logische '1' dem Spannungspegel 3,3 V. Die maximale Strombelastbarkeit ist der Tabelle im Überblick zu entnehmen.

Weitere elektrische Daten sind dem Datenblatt des Netzer-Controllers zu entnehmen.

Auf der IO-Konfigurationsseite kann der Startwert festgelegt werden, der nach Neustart des Netzers angenommen wird.

Der Ausgang ist über die GPIO-Hauptseite und über den GPIO-Server oder die Kommandoschnittstelle schreib- und lesbar.

Digitale Eingänge

Jeder Netzer-Pin kann als digitaler Eingang konfiguriert werden. Es ist dabei die maximal zulässige Eingangsspannung zu beachten (siehe IO-Tabelle im Überblick). Weitere elektrische Daten sind dem Datenblatt des Netzer-Controllers zu entnehmen.

Um eine Beschädigung des Netzers zu verhindern, sollten Eingänge möglichst nicht offen bleiben, sondern immer durch eine Spannungsquelle oder durch Pullup- oder Pulldownwiderstand auf definierten Spannungsniveau gehalten werden.

Für jeden digitalen Eingang kann konfiguriert werden, ob bei auftretenden Änderungen am Pin (steigende, fallende oder beide Flanken) direkt eine Nachricht an den GPIO-Server oder die Kommandoschnittstelle gesendet werden soll.

Flankenzähler

Konfigurationsdialog für Flankenzähler

IO0, IO1 und IO2 sind mit Flankenzählern ausgestattet. Es werden je nach Einstellung steigende oder fallende Flanken gezählt. Die Zählrichtung (dekrementieren oder inkrementieren) ist konfigurierbar. Der Zähler ist 15 Bit breit. Überläufe werden registriert und auf der jeweiligen IO-Seite angezeigt. Durch die Reset-Checkbox kann der Zählerwert zurückgesetzt werden. Auf Zählerwert und das Überlaufflag kann alternativ mit GPIO-Server oder Kommandoschnittstelle zugegriffen werden.

Der Filter ermöglicht das Entprellen von beispielsweise Taster- oder Relaiskontakten und kann zwischen 1 ms und 250 ms in Stufen eingestellt werden.

Handelt es sich um eine externe Signalquelle, die gezählt werden soll, wird der Pin als digitaler Eingang konfiguriert. Es können aber auch Ausgangsflanken gezählt werden, beispielsweise, wie oft der GPIO-Server bereits ein Signal geschrieben hat.

Impulstrigger

Neben der normalen digitalen Funktion kann IO0 Interrupts auslösen. Auf den Interrupt ist ein Flankenzähler installiert. Weiterhin kann eine Flanke an diesen Pin dazu verwendet werden, Impulse an IO3 oder SPI_INT auszulösen.

Für das Auslösen der Flanke muss der IO0 Flankentrigger aktiviert sein. Je nach Einstellung wird der Impuls bei negativen oder positiven Flanken ausgelöst. Der Flankenzähler muss hingegen für die Impulserzeugung nicht unbedingt aktiv sein. Für externe Trigger-Signale muss IO0 als digitaler Eingang konfiguriert sein.

PWM- und Impulsgenerator

IO3 und SPI_INT können für das Generieren von PWM- oder Impulssignalen verwendet werden. Folgende Abbildung zeigt beispielhaft den Konfigurationsdialog für IO3.

 Konfigurationsdialog für PWM und Impulsausgänge

Einige der Einstellungen betreffen sowohl IO3 als auch SPI_INT:

  • PWM-Frequenz
  • Impulsmodus
  • Impulseinheit

PWM

Kontinuierliche PWM-Signale werden über einen 10-Bit-Wert (0..1023) eingestellt. Dieser Wert gibt das Tastverhältnis des Signals wieder. Der Wert selbst wird über die GPIO-Hauptseite oder mittels des GPIO-Servers oder der Kommandoschnittstelle geschrieben und gelesen.

Der PWM-Startwert ist die Default-Einstellung direkt nach Neustart des Netzers.

Der PWM-Wert beeinflusst die Länge der ersten Halbwelle im Verhältnis zur zweiten. Je nach Polarität (Logik) des Signals wird beispielsweise bei einem PWM-Wert=1023 eine Gleichspannung von 0 V (Logik=0) oder 3,3 V (Logik=1) erzeugt.

Die PWM-Frequenz schliesslich beeinflusst direkt die Länge der beiden Halbwellen. Es werden die Werte 40 kHz, 10 kHz und 2,5 kHz unterstützt.

Impuls

Im Impulsmodus können einzelne oder auch kontinuierliche Impulsfolgen generiert werden. Der Impulswert ist 16 Bit breit, hat aber einen Minimalwert von 100, der nicht unterschritten werden kann. Der Wert selbst wird über die GPIO-Hauptseite oder mittels des GPIO-Servers oder der Kommandoschnittstelle geschrieben oder gelesen. Die Impulslänge ist intern gepuffert, so dass das Ausgangssignal bei Änderungen keine unzulässigen Zustände annimmt.

Die Logik bezieht sich auf die Polarität des Impulses. 0-Logik bedeutet, der Impuls ist 0, danach nimmt der Pin den 1-Zustand an. 1-Logik bedeutet, der Impuls ist 1, danach nimmt der Pin den 0-Zustand an.

Der Startwert ist die Default-Einstellung direkt nach Neustart des Netzers.

Wird der Impuls getriggert, wird ein Impuls der Länge (Aktueller Impulswert * Impulseinheit) am Pin generiert. Es können die Einheiten 100 ns, 200 ns, 400 ns und 800 ns eingestellt werden.

Modus Einzelimpuls Immer dann, wenn ein neuer Impulswert geschrieben wird, wird der Impuls getriggert.

Modus Trigger von IO0 Immer dann wenn an IO0 eine zuvor konfigurierte Flanke auftritt, wird der Impuls getriggert.

Modus Kontinuierlich Analog zur PWM wird ein Impulsstrom am Pin generiert. Getriggert wird immer dann, wenn ein interner Zähler überläuft. Die Zeitdauer des Zählers beträgt (65556*Impulseinheit). Für IO3 und SPI_INT wird der selbe interne Zähler verwendet, so dass beide Signale immer in Phase sind.

ADC

IO4 und IO5 können Spannungen zwischen 0  und 3,3 V messen. Folgende Abbildung zeigt beispielhaft den Konfigurationsdialog für IO4. ADC Konfigurationsseite

Der Messwert ist 10 Bit (0..1023) breit. Er kann über die GPIO-Hauptseite oder den GPIO-Server oder die Kommandoschnittstelle abgefragt werden.

Der ADC wird nach dem Neustart des Netzers automatisch kalibriert. Beide Kanäle teilen sich den selben ADC. Der ADC wird immer erst aktiviert, wenn ein Auslesevorgang angestossen wird. Der Auslesevorgang dauert ca. 2,5 µs.


Andere Sprachen
Übersetzungen dieser Seite:
QR-Code
QR-Code Netzer GPIO (erstellt für aktuelle Seite)