GPIOChip¶
Einleitung¶
Der GPIOChip Funktionsblock ist ein Service Interface Function Block zur Ansteuerung von GPIO-Chips unter Linux-Systemen. Er ermöglicht den Zugriff auf GPIO-Lines über das Linux GPIO Character Device Interface (/dev/gpiochipX) und unterstützt verschiedene Betriebsmodi für das Lesen und Schreiben von GPIO-Signalen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
- INIT: Service Initialisierungs-Ereignis mit den zugehörigen Daten QI, VALUE, ChipNumber, LineNumber, ReadWriteMode, BiasMode und ActiveLow
Ereignis-Ausgänge¶
- INITO: Initialisierungsbestätigung mit QO und STATUS
- IND: Indikation vom Resource mit QO und STATUS
Daten-Eingänge¶
- QI (BOOL): Event Input Qualifier
- VALUE (WSTRING): Receiver IX/QX block name
- ChipNumber (UINT): ID des /dev/gpiochipX Devices (Initialwert: 0)
- LineNumber (UINT): ID der GPIO-Line innerhalb des ausgewählten Chips (Initialwert: 0)
- ReadWriteMode (UINT): Lese-/Schreibmodus der Line (0=read, 1=write push/pull, 2=open drain, 3=open source) (Initialwert: 0)
- BiasMode (UINT): Bias-Modus der Line (0=none, 1=pull up, 2=pull down) (Initialwert: 0)
- ActiveLow (BOOL): True, wenn logisch 1 niedriger Spannung entspricht (Initialwert: 0)
Daten-Ausgänge¶
- QO (BOOL): Event Output Qualifier
- STATUS (WSTRING): Service Status
Adapter¶
Keine Adapter-Schnittstellen vorhanden.
Funktionsweise¶
Der GPIOChip FB initialisiert bei Empfang des INIT-Ereignisses eine Verbindung zu einem spezifischen GPIO-Chip und einer definierten GPIO-Line. Die Konfiguration umfasst den Betriebsmodus (Lesen/Schreiben), den Bias-Modus und die Polaritätseinstellung (ActiveLow). Nach erfolgreicher Initialisierung bestätigt der Block mit INITO+, bei Fehlern mit INITO- und einem entsprechenden STATUS.
Technische Besonderheiten¶
- Unterstützt verschiedene GPIO-Betriebsmodi: Lesen, Schreiben (Push/Pull), Open Drain und Open Source
- Konfigurierbare Bias-Einstellungen: None, Pull-Up, Pull-Down
- Aktiv-Niedrig Modus für invertierte Logik
- Linux GPIO Character Device Interface basiert
- Automatische Fehlerbehandlung mit Statusrückmeldung
Zustandsübersicht¶
Der Funktionsblock durchläuft folgende Zustände: 1. Nicht initialisiert: Ausgangszustand vor INIT 2. Initialisierung: Während der GPIO-Chip Konfiguration 3. Bereit: Nach erfolgreicher Initialisierung (INITO+) 4. Fehler: Bei Initialisierungsfehlern (INITO-)
Anwendungsszenarien¶
- Ansteuerung von GPIO-Pins in Embedded Linux Systemen
- Hardware-nahe E/A-Operationen in Automatisierungssystemen
- Schnittstelle zu externen Sensoren und Aktoren
- Prototyping und Entwicklung von IoT-Geräten
- Industrielle Steuerungsanwendungen
⚖️ Vergleich mit ähnlichen Bausteinen¶
Im Vergleich zu einfachen digitalen I/O-Blöcken bietet GPIOChip erweiterte Funktionen wie konfigurierbare Bias-Modi, verschiedene Schreibmodi und direkten Zugriff auf das Linux GPIO-Subsystem. Er ist spezifisch für Linux-Systeme mit GPIO-Chip Unterstützung ausgelegt.
Fazit¶
Der GPIOChip Funktionsblock stellt eine leistungsfähige Schnittstelle zur GPIO-Hardwaresteuerung unter Linux bereit. Durch die umfangreiche Konfigurierbarkeit und das standardisierte Service Interface eignet er sich ideal für anspruchsvolle Embedded-Anwendungen, die direkten Hardwarezugriff erfordern.