Wiren Board 7.2: Peripherals: различия между версиями
Строка 205: | Строка 205: | ||
|- | |- | ||
| SoM Eth1 CRS || 15 || | | SoM Eth1 CRS || 15 || | ||
|- | |||
| Eth1 RST || 237 || | |||
|- | |- | ||
| CAN_TX || 16 || | | CAN_TX || 16 || | ||
|- | |- | ||
| CAN_RX || 17 || | | CAN_RX || 17 || | ||
|- | |||
| CAN TXRX ON || 139 || | |||
|- | |||
| CAN/UART RX ALT || 229 || | |||
|- | |- | ||
| SoM PMIC_SCK || 32 || | | SoM PMIC_SCK || 32 || | ||
Строка 216: | Строка 222: | ||
| BUZZER || 35 || | | BUZZER || 35 || | ||
|- | |- | ||
| Red LED || 41 || [[Control_led_indicator_WB | Управление индикатором]] | | Red LED || 41 || rowspan="2"| [[Control_led_indicator_WB | Управление индикатором]] | ||
|- | |- | ||
| Green LED || 42 | | Green LED || 42 | ||
|- | |- | ||
| W1-UP || 45 || | | W1-UP || 45 || | ||
Строка 241: | Строка 247: | ||
|- | |- | ||
| SoM Wi-Fi ON || 67 || | | SoM Wi-Fi ON || 67 || | ||
|- | |||
| SoM Wi-Fi CMD || 192 || | |||
|- | |||
| SoM Wi-Fi CLK || 193 || | |||
|- | |||
| SoM Wi-Fi D0 || 194 || | |||
|- | |||
| SoM Wi-Fi D1 || 195 || | |||
|- | |||
| SoM Wi-Fi D2 || 196 || | |||
|- | |||
| SoM Wi-Fi D3 || 197 || | |||
|- | |- | ||
| SoM BT ON || 68 || | | SoM BT ON || 68 || | ||
|- | |- | ||
| | | SoM BT TX || 198 || | ||
|- | |||
| SoM BT RX || 199 || | |||
|- | |||
| SoM BT reserved || 200 || | |||
|- | |||
| SoM BT reserved || 201 || | |||
|- | |- | ||
| SoM eMMC CMD || 70 || | | SoM eMMC CMD || 70 || | ||
Строка 313: | Строка 337: | ||
|- | |- | ||
| V_OUT ON || 130 || | | V_OUT ON || 130 || | ||
|- | |||
| RS-485-1 Termination || 134 || | |||
|- | |||
| RS-485-1 Failsafe || 136 || | |||
|- | |||
| RS-485-2 Termination || 133 || | |||
|- | |||
| RS-485-2 Failsafe || 135 || | |||
|- | |||
| RS-485-2 TX || 202 || | |||
|- | |||
| RS-485-2 RX || 203 || | |||
|- | |||
| microSD D1 || 160 || | |||
|- | |||
| microSD D0 || 161 || | |||
|- | |||
| microSD CLK || 162 || | |||
|- | |||
| microSD CMD || 163 || | |||
|- | |||
| microSD D3 || 164 || | |||
|- | |||
| microSD D2 || 165 || | |||
|- | |||
| microSD CD || 69 || | |||
|- | |||
| SoM Eth0 RXD3 || 232 || | |||
|- | |||
| SoM Eth0 RXD2 || 233 || | |||
|- | |||
| SoM Eth0 RXD1 || 234 || | |||
|- | |||
| SoM Eth0 RXD0 || 235 || | |||
|- | |||
| SoM Eth0 TXD3 || 238 || | |||
|- | |||
| SoM Eth0 TXD2 || 239 || | |||
|- | |||
| SoM Eth0 TXD1 || 240 || | |||
|- | |||
| SoM Eth0 TXD0 || 241 || | |||
|- | |||
| SoM Eth0 RXCK || 242 || | |||
|- | |||
| SoM Eth0 RXERR || 243 || | |||
|- | |||
| SoM Eth0 RXDV || 244 || | |||
|- | |||
| SoM Eth0 MDC || 245 || | |||
|- | |||
| SoM Eth0 MDIO || 246 || | |||
|- | |||
| SoM Eth0 TXEN || 247 || | |||
|- | |||
| SoM Eth0 TXCK || 248 || | |||
|- | |||
| SoM Eth0 CRS || 249 || | |||
|- | |||
| SoM LCD Backlight ON || 251 || | |||
|- | |- | ||
|} | |} |
Версия 13:22, 21 мая 2022
Это черновик страницы. Последняя правка сделана 21.05.2022 пользователем A.Degtyarev.
Введение
Эта статья предназначена, в первую очередь, для разработчиков стороннего ПО для контроллеров Wiren Board.
Самый простой и удобный способ работы с железом контроллера — через MQTT, связываясь с сервисами wb: wb-mqtt-gpio, wb-mqtt-adc, wb-mqtt-gpio и т.п. Сервисы wb- позволяют работать с железом через унифицированный интерфейс MQTT и скрывают аппаратные различия между аппаратными ревизиями контроллеров.
Работа в обход стандартных сервисов wb- обычно используется, когда программное обеспечение выполняется на разных Linux-контроллерах разных вендоров, и работа через соответсвующие интерфейсы ядра уже реализована в ПО. Данная статья содержит описание периферии, нужное для работы с ней через стандартные интерфейсы ядра. При работе с ядерными интерфейсами не забудьте отключить соответствующий сервис wb-.
Большая часть периферии, описанной в этой статье, описана также в ноде /wirenboard в Devicee Tree контроллера. Сервисы wb-mqtt-gpio, wb-mqtt-adc и т.д. берут описание периферии именно оттуда, считывая описание каждый раз при старте контроллера. Этот способ является предпочтительным и для стороннего ПО, чтобы сохранить совместимость с прошлыми и будущими аппаратными ревизиями оборудования.
Работа с GPIO в Linux
GPIO (General-purpose input/output — ввод/вывод общего назначения) — контакт электрической схемы, который может принимать одно из двух логических состояний — единицу или ноль. Пользователь может устанавливать и считывать состояние GPIO.
В разных устройствах высокий логический уровень может представляться разным напряжением — следите за этим. В контроллерах Wiren Board логическая единица — это 3.3 В.
ВНИМАНИЕ: не подключайте напрямую к GPIO контроллера сигналы с напряжением больше 3.3 В! Если нужно подключить устройство, которое выдает сигнал с более высоким напряжением — используйте схемы согласования. В некоторых случаях, если напряжение сигнала не больше 5 В, то можно согласовать сигналы через резистор на 20 кОм.
Подробно про работу с GPIO читайте в статье Работа с GPIO. Также рекомендуем прочитать соответствующий раздел документации к ядру Linux.
Для других версий контроллера смотрите Таблицы GPIO разных версий контроллера.
Посмотреть таблицу GPIO можно командой cat /sys/kernel/debug/gpio
, или в разделе ниже.
GPIO на клеммниках
Функция | GPIO number | Примечание | |
---|---|---|---|
Выходы A1-A3, D1 | |||
A1 OUT | 109 | Выход «открытый коллектор» | |
A2 OUT | 108 | Выход «открытый коллектор» | |
A3 OUT | 107 | Выход «открытый коллектор» | |
D1 OUT | 106 | Выход «открытый коллектор» | |
Входы A1-A3, D1 (1 — нет сигнала) | |||
A1 IN | 231 | ||
A2 IN | 230 | ||
A3 IN | 227 | ||
D1 IN | 228 | ||
Onewire | |||
W1 | 226 | 1-wire/DI | |
W2 | 271 | 1-wire/DI |
Реализация UART
Название порта в Linux | Альтернативное имя порта в Linux | Разъём на контроллере | Примечание |
/dev/ttymxc0 | /dev/ttyCONSOLE | Debug-uart контроллера (micro-usb) | Настройки по умолчанию: 115200-8-N-1 |
/dev/ttymxc1 | /dev/ttyRS485-1 | Подписан RS-485, клеммники A и B | Неизолированный порт, установлен терминатор |
/dev/ttymxc3 | /dev/ttyRS485-2 | Подписан RS-485, клеммники A/L и B/H (этот порт может использоваться и как CAN) | Неизолированный порт, установлен терминатор, мультиплексирован с CAN |
/dev/ttymxc2 | /dev/ttyMOD1 | UART на модуле расширения MOD1 | |
/dev/ttymxc4 | /dev/ttyMOD2 | UART на модуле расширения MOD2 | |
/dev/ttymxc5 | /dev/ttyMOD3 | UART на модуле расширения MOD3 | |
/dev/ttymxc6 | /dev/ttyMOD4 | UART на модуле расширения MOD4 | |
/dev/ttymxc7 | /dev/ttyGSM | UART на модуле расширения WBC (разъём GSM/3G/4G-модема) | Для появления нужно выставить какой-либо из модемов в wb-hardware.conf |
Сигналы на модулях расширения
Функция | GPIO number | Примечание |
---|---|---|
MOD1 | ||
MOD1 RTS | 36 | |
MOD1 TX | 226 | |
MOD1 RX | 227 | |
MOD2 | ||
MOD2 RTS | 84 | |
MOD2 TX | 268 | |
MOD2 RX | 269 | |
MOD3 | ||
MOD3 RTS | 138 | |
MOD3 TX | 266 | |
MOD3 RX | 267 | |
MOD4 | ||
MOD4 RTS | 270 | |
MOD4 TX | 224 | |
MOD4 RX | 225 | |
MOD4 SPI MOSI | 64 | |
MOD4 SPI MISO | 65 | |
MOD4 SPI CLK | 66 | |
MOD4 SPI CS | 87 | |
GSM (WBC) | ||
GSM Status | 121 | Modem power status (input) |
GSM PWRKEY | 122 | Modem PWRKEY (output) |
GSM ON | 123 | On/OFF 5 V |
SIM_SELECT | 34 | SIM slot select (low: 1, high: 2) |
Каналы АЦП
клеммник | Канал АЦП | Делитель |
---|---|---|
A1 | 88k7, 10k | |
A2 | ||
A3 | ||
Vin | 200k, 12k | |
5Vout | 33k, 12k |
Ножки для внутреннего использования
Функция | GPIO number | Примечание |
---|---|---|
SoM Eth1 RXD3 | 0 | |
SoM Eth1 RXD2 | 1 | |
SoM Eth1 RXD1 | 2 | |
SoM Eth1 RXD0 | 3 | |
SoM Eth1 TXD3 | 4 | |
SoM Eth1 TXD2 | 5 | |
SoM Eth1 TXD1 | 6 | |
SoM Eth1 TXD0 | 7 | |
SoM Eth1 RXCK | 8 | |
SoM Eth1 RXERR | 9 | |
SoM Eth1 RXDV | 10 | |
SoM Eth1 MDC | 11 | |
SoM Eth1 MDIO | 12 | |
SoM Eth1 TXEN | 13 | |
SoM Eth1 TXCK | 14 | |
SoM Eth1 CRS | 15 | |
Eth1 RST | 237 | |
CAN_TX | 16 | |
CAN_RX | 17 | |
CAN TXRX ON | 139 | |
CAN/UART RX ALT | 229 | |
SoM PMIC_SCK | 32 | |
SoM PMIC_SDA | 33 | |
BUZZER | 35 | |
Red LED | 41 | Управление индикатором |
Green LED | 42 | |
W1-UP | 45 | |
W2-UP | 131 | |
EEPROM-2 SDA | 46 | |
EEPROM-2 SCL | 47 | |
EEPROM-1 SDA | 48 | |
EEPROM-1 SCL | 49 | |
WBIO SCL | 50 | |
WBIO SDA | 51 | |
DEBUG UART TX | 54 | |
DEBUG UART RX | 55 | |
SoM Wi-Fi ON | 67 | |
SoM Wi-Fi CMD | 192 | |
SoM Wi-Fi CLK | 193 | |
SoM Wi-Fi D0 | 194 | |
SoM Wi-Fi D1 | 195 | |
SoM Wi-Fi D2 | 196 | |
SoM Wi-Fi D3 | 197 | |
SoM BT ON | 68 | |
SoM BT TX | 198 | |
SoM BT RX | 199 | |
SoM BT reserved | 200 | |
SoM BT reserved | 201 | |
SoM eMMC CMD | 70 | |
SoM eMMC CLK | 71 | |
SoM eMMC D0 | 72 | |
SoM eMMC D1 | 73 | |
SoM eMMC D2 | 74 | |
SoM eMMC D3 | 75 | |
SoM eMMC D4 | 76 | |
SoM eMMC D5 | 77 | |
SoM eMMC D6 | 78 | |
SoM eMMC D7 | 79 | |
SoM eMMC RST | 88 | |
SoM Wi-Fi HOST_WAKE | 80 | |
SoM BT WAKE | 81 | |
SoM BT HOST_WAKE | 82 | |
RS-485-1 RTS | 83 | |
RS-485-2 RTS | 85 | |
LVDS D0 P | 96 | |
LVDS D0 N | 97 | |
LVDS D1 P | 98 | |
LVDS D1 N | 99 | |
LVDS D2 P | 100 | |
LVDS D2 N | 101 | |
LVDS DCK P | 102 | |
LVDS DCK N | 103 | |
LVDS D3 P | 104 | |
LVDS D3 N | 105 | |
Pushbutton | 110 | |
WBMZ Status | 115 | vin |
USB0 ID | 116 | usb0_id_det |
USB0 ON | 128 | |
Watchdog out | 117 | |
Wi-Fi ON | 120 | |
5Vout ON | 129 | |
V_OUT ON | 130 | |
RS-485-1 Termination | 134 | |
RS-485-1 Failsafe | 136 | |
RS-485-2 Termination | 133 | |
RS-485-2 Failsafe | 135 | |
RS-485-2 TX | 202 | |
RS-485-2 RX | 203 | |
microSD D1 | 160 | |
microSD D0 | 161 | |
microSD CLK | 162 | |
microSD CMD | 163 | |
microSD D3 | 164 | |
microSD D2 | 165 | |
microSD CD | 69 | |
SoM Eth0 RXD3 | 232 | |
SoM Eth0 RXD2 | 233 | |
SoM Eth0 RXD1 | 234 | |
SoM Eth0 RXD0 | 235 | |
SoM Eth0 TXD3 | 238 | |
SoM Eth0 TXD2 | 239 | |
SoM Eth0 TXD1 | 240 | |
SoM Eth0 TXD0 | 241 | |
SoM Eth0 RXCK | 242 | |
SoM Eth0 RXERR | 243 | |
SoM Eth0 RXDV | 244 | |
SoM Eth0 MDC | 245 | |
SoM Eth0 MDIO | 246 | |
SoM Eth0 TXEN | 247 | |
SoM Eth0 TXCK | 248 | |
SoM Eth0 CRS | 249 | |
SoM LCD Backlight ON | 251 |