Schnittstellen und Services
Hardware-Schnittstellen und zugehörige Systemdienste in eigenen Programmen nutzen.
Dieses Kapitel beschreibt zwei mögliche Ebenen für die Arbeit mit den Schnittstellen: die Hardwarebeschreibung über den Device Tree und den Zugriff aus dem Userspace. Welche Ebene sinnvoll ist, hängt vom Gerät, dem verwendeten Treiber und dem gewünschten Integrationsgrad ab.
Anbindung
Der Device Tree beschreibt und aktiviert die Hardware. Der Userspace greift anschließend über Geräte oder Services darauf zu.
Die konkreten Beispiele stehen in den jeweiligen Schnittstellenkapiteln. Die gerätespezifischen Pegel und elektrischen Parameter stehen in der jeweiligen Systemreferenz.
Übersicht der Schnittstellen
Die folgende Tabelle gibt einen ersten Überblick über Signalrichtung und elektrische Pegel. Werte in eckigen Klammern müssen noch mit den freigegebenen Hardwaredaten ergänzt werden.
| Schnittstelle | Richtung | Signal- oder Eingangspegel | Zugriff aus dem Userspace |
|---|---|---|---|
| Digitale IOs | Eingang und Ausgang | [GPIO-PEGEL], Active-Low/Active-High [FESTLEGEN] | /dev/gpiochip* mit libgpiod |
| Analoge Eingänge | Eingang | [MESSBEREICH], [EINHEIT], [MAXIMALE-EINGANGSSPANNUNG] | Linux IIO unter /sys/bus/iio/devices/ bzw. /dev/iio:deviceX |
| I2C | bidirektionaler Bus | [I2C-LOGIKPEGEL] | /dev/i2c-* oder freigegebener Service |
| SPI | Eingang und Ausgang | [SPI-LOGIKPEGEL] | /dev/spidev* oder freigegebener Service |
| RS485 | Eingang und Ausgang | differentiell, [VERSORGUNGS-UND-SIGNALPEGEL] | [RS485-GERÄT] oder freigegebener Service |
| LTE-Modem | Eingang und Ausgang | [MODEM-SCHNITTSTELLENPEGEL] | [MODEM-SERVICE] oder [MODEM-GERÄT] |
Die Pegelangaben beschreiben die elektrische Schnittstelle und sind nicht mit dem logischen Zustand eines Signals gleichzusetzen. Für jede Schnittstelle sollten zusätzlich zulässige Spannungsbereiche, maximale Ströme, Richtungssteuerung, Terminierung und Schutzbeschaltung dokumentiert werden.