querdenker engineering
qdGate

Systemreferenz

Gerätespezifische Konfigurationen, Flashdaten und elektrische Schnittstellenwerte des qdGate.

Zuletzt geändert: 16. September 2026

Diese Seite enthält die gerätespezifischen Werte für das qdGate.

Build-Konfigurationen

Für das qdGate stehen derzeit folgende Buildroot Defconfigs zur Verfügung:

ZweckDefconfig
Entwicklungqdcorex_qdgate-dhcor-stm32mp1-develop_defconfig

Flashlayout

Das vollständige Flashlayout für das qdGate ist:

flash_layout_emmc.tsv

Die Datei beschreibt die zu flashenden Artefakte einschließlich TF-A, OP-TEE, U-Boot, Partitionstabelle und der Images für die Partitionen und wird vom Tool stm32programmer zum programmieren des Flashs verwendet.

Versorgung

ParameterWert
Versorgungsspannung24 V DC
Versorgungsstrom für die Inbetriebnahmemin. 200 mA

Schnittstellenübersicht

SchnittstelleRichtungZugriff / AnschlussReferenz
Debug-UARTEingang und AusgangInterne Debug-SchnittstelleDebug-Schnittstelle
USB ClientEingang und AusgangUSB-C-
EthernetEingang und AusgangLAN 1 / LAN 2-
Digitale IOsEingang und AusgangGPIO / libgpiodGPIO-Line-Namen und Signalpegel
Analoge EingängeEingangLinux IIOAnaloge Eingänge
I2Cbidirektionaler BusLinux-Gerät oder ServiceI2C und SPI
SPIEingang und AusgangLinux-Gerät oder ServiceI2C und SPI
RS485Eingang und AusgangLinux-Gerät oder ServiceRS485
LTE-ModemEingang und AusgangQMI und GPIOLTE-Modem

Schnittstellen- und Hardwaredetails

Debug-UART

ParameterWert
Signalpegel3,3-V-TTL-UART
Übertragung115200 Baud, 8N1

RS-485

RS485-KanalAnschlussSoC-UARTLinux-Gerätepfad
RS485-1X2UART5/dev/ttySTM4
RS485-2X12UART7/dev/ttySTM1

Ethernet

ParameterWert
Standards10BASE-T, 100BASE-T, 1000BASE-T

USB

SchnittstelleElektrische Eigenschaften
USB HostVersorgung angeschlossener Geräte bis 700 mA
USB ClientUSB-C, unter anderem für den DFU-Modus

Digitale IOs

BetriebsartSignalzustandPegel / Bedeutung
AusgangLow (0)0 V
AusgangHigh (1)Versorgungsspannung an X1
EingangoffenHigh / 1
Einganggegen GND geschaltetLow / 0

Keine externe Spannung an DIO-Eingänge anlegen

Die DIO-Eingänge dürfen nicht mit einer externen Versorgung oder einem aktiv getriebenen Spannungspegel beschaltet werden. Verwende ausschließlich einen potentialfreien Kontakt oder einen Ausgang, der die Leitung gegen GND ziehen kann.

Analoge Eingänge

Die analogen Messwerte des qdGate werden über das Linux-IIO-Subsystem als Rohwerte bereitgestellt. Die Zuordnung der Linux-IIO-Geräte und Kanäle ist:

SignalMessgrößeMessbereichIIO-GerätKanalSysfs-Rohwert
Analog 1Spannung*0–10 V/sys/bus/iio/devices/iio:device02in_voltage2_raw
Analog 1Strom*4–20 mA/sys/bus/iio/devices/iio:device03in_voltage3_raw
Analog 2Spannung*0–10 V/sys/bus/iio/devices/iio:device16in_voltage6_raw
Analog 2Strom*4–20 mA/sys/bus/iio/devices/iio:device17in_voltage7_raw
TemperatursensorTemperatur−20–100 °C/sys/bus/iio/devices/iio:device01in_voltage1_raw

* Die Messart wird über den zugehörigen GPIO umgeschaltet. Siehe Umschaltung zwischen Spannungs- und Strommessung.

Onboard Temperatursensor

Der verbaute Temperatursensor ist ein TDK NTCGS163JF103FT8 mit 10 kΩ bei 25 °C. Für eine genaue Temperaturberechnung ist die R-T-Kennlinie des Herstellers für genau diesen Typ zu verwenden. Für die im Schaltplan gezeigte Beschaltung ergeben sich daraus folgende nominale Werte:

TemperaturNTC-WiderstandADC-Spannung
100 °C0,975 kΩ266,515 mV
25 °C10 kΩ1,500 V
0 °C27,28 kΩ2,195 V
−20 °C67,79 kΩ2,614 V

Der IIO-Rohwert ist zuvor mit *_scale in die ADC-Spannung U_ADC umzurechnen. Aus der Spannung kann der NTC-Widerstand für die Beschaltung mit einem 10-kΩ-Pull-up gegen 3,0 V näherungsweise berechnet werden:

U_ADC = U_mV / 1000       (U_ADC in V)
R_NTC = 10000 × U_ADC / (3,0 − U_ADC) Ω

Für eine direkte Umrechnung von mV in °C kann zwischen benachbarten Tabellen- punkten näherungsweise interpoliert werden. Für eine höhere Genauigkeit sind die Werte aus der Herstellerkennlinie zu verwenden.

Umschaltung zwischen Spannungs- und Strommessung

Bei Analog 1 und Analog 2 wird die Messart über den jeweils zugehörigen GPIO-Umschalter gewählt. Der Umschalt-GPIO muss während der Messung auf dem gewünschten Pegel gehalten werden:

Analoger EingangUmschalt-GPIOLow (0)High (1)
Analog 1AIN1_SELECT_CURRENTSpannungsmessungStrommessung
Analog 2AIN2_SELECT_CURRENTSpannungsmessungStrommessung

Erst nach dem Umschalten und einer ausreichenden Einschwingzeit darf der zugehörige IIO-Kanal gelesen werden. Beim Zugriff mit gpioset ist darauf zu achten, dass die Leitung nicht unmittelbar nach dem Setzen wieder freigegeben wird.

Beispiel für das Lesen der Rohwerte:

cat /sys/bus/iio/devices/iio:device2/in_voltage2_raw  # Analog 1, Spannung
cat /sys/bus/iio/devices/iio:device2/in_voltage3_raw  # Analog 1, Strom
cat /sys/bus/iio/devices/iio:device1/in_voltage6_raw  # Analog 2, Spannung
cat /sys/bus/iio/devices/iio:device1/in_voltage7_raw  # Analog 2, Strom
cat /sys/bus/iio/devices/iio:device2/in_voltage1_raw  # Temperatursensor

Die allgemeine Vorgehensweise für IIO-Zugriffe und die Umrechnung von Rohwerten ist unter Analoge Eingänge beschrieben.

GPIO-Line-Namen und Signalpegel

Der Linux-Device-Tree des qdGate vergibt über gpio-line-names sprechende Namen für die verwendeten GPIO-Leitungen, die nachfolgend aufgelistet sind.

Für die Kommandozeilennutzung wird der Line-Name mit gpiofind in den aktuell zugehörigen /dev/gpiochipX-Controller und Offset aufgelöst. Die gpiochipX-Nummer ist laufzeitabhängig. Beispiele für gpioget, gpioset und gpiomon stehen unter Digitale IOs.

DIO 1

Line-NameHinweisGPIO-ControllerOffset
DIO1Digitaler IO 1gpiog4
DIO1_OEAusgangsfreigabe für DIO 1gpiof5
DIO1_OUTPUT_FAULT_NAusgangsfehler von DIO 1, active-low gemäß Namenskonventiongpiof2

DIO 2

Line-NameHinweisGPIO-ControllerOffset
DIO2Digitaler IO 2gpioh8
DIO2_OEAusgangsfreigabe für DIO 2gpioe4
DIO2_OUTPUT_FAULT_NAusgangsfehler von DIO 2, active-low gemäß Namenskonventiongpioe9

DIO 3

Line-NameHinweisGPIO-ControllerOffset
DIO3Digitaler IO 3gpiod0
DIO3_OEAusgangsfreigabe für DIO 3gpioi2
DIO3_OUTPUT_FAULT_NAusgangsfehler von DIO 3, active-low gemäß Namenskonventiongpioi7

DIO 4

Line-NameHinweisGPIO-ControllerOffset
DIO4Digitaler IO 4gpioa0
DIO4_OEAusgangsfreigabe für DIO 4gpioa3
DIO4_OUTPUT_FAULT_NAusgangsfehler von DIO 4, active-low gemäß Namenskonventiongpioc15

LTE

Line-NameHinweisGPIO-ControllerOffsetPegel / Bedeutung
LTE_RESETReset des LTE-Modemsgpioe11active-low: 0 = Reset, 1 = Normalbetrieb
LTE_POWERStromversorgung des LTE-Modemstca64083active-high: 0 = aus, 1 = ein
LTE_SIM_SELECTAuswahl der LTE-SIMtca640850 = Slot 1, 1 = Slot 2
LTE_SIM1_CDCard-Detect für SIM 1tca64081active-high: 1 = SIM-Karte vorhanden, 0 = nicht vorhanden
LTE_SIM2_CDCard-Detect für SIM 2tca64082active-low: 0 = SIM-Karte vorhanden, 1 = nicht vorhanden
LTE_MODEM_SIM_CDCard-Detect des Modemstca64084abhängig von der Konfiguration des Modems

Analoge Eingänge

Line-NameHinweisGPIO-ControllerOffset
AIN1_SELECT_CURRENTStromauswahl für analogen Eingang 1gpioe14
AIN2_SELECT_CURRENTStromauswahl für analogen Eingang 2gpioh9

Bedienung

Line-NameHinweisGPIO-ControllerOffset
UI_USER_BUTTONBenutzer-Tastergpioa1

Beispiele mit qdGate-Line-Namen

Die Line-Namen können direkt über gpiofind für die libgpiod-Werkzeuge aufgelöst werden:

# Zustand des Benutzer-Tasters lesen
gpioget $(gpiofind "UI_USER_BUTTON")

# DIO1 setzen und den Zustand bis zur Eingabe halten
gpioset --mode=wait $(gpiofind "DIO1")=1

# Auf einen steigenden Ausgangsfehler von DIO1 warten
gpiomon --rising-edge $(gpiofind "DIO1_OUTPUT_FAULT_N")

Die Schreibweise mit n kennzeichnet in den Signalnamen üblicherweise ein active-low-Signal. Sie ersetzt jedoch nicht die Prüfung der tatsächlichen GPIO-Flags und der elektrischen Beschaltung.