Wiren Board 6.1: GPIO List: различия между версиями
Lexszero (обсуждение | вклад) |
м (A.Degtyarev переименовал страницу Wiren Board 6.1:Список GPIO в Wiren Board 6.1: GPIO List без оставления перенаправления: Часть переводимой страницы Wiren Board 6.1:Список GPIO.) |
||
(не показано 18 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
Статья описывает подключение встроенной периферии к сигналам процессора для '''версии Wiren Board 6 (ревизии 6.1)'''. | Статья описывает подключение встроенной периферии к сигналам процессора для '''версии Wiren Board 6 (ревизии 6.1)'''. | ||
{{Wbincludes: GPIO}} | |||
=== GPIO на клеммниках === <!--T:3--> | |||
<!--T:4--> | |||
{| border="1" | |||
| клеммник || функция|| GPIO | |||
|||вывод i.mx6UL || комментарии | |||
|- | |||
<!--T:5--> | |||
| W1 (in) || '''1-wire'''/DI ||GPIO1_IO11 | |||
|11||P14||по-умолчанию 1-wire | |||
|- | |||
<!--T:6--> | |||
| W2 (in) ||1-wire/'''DI''' | |||
||GPIO4_IO12 | |||
|108||A3|| | |||
|- | |||
<!--T:7--> | |||
|} | |||
=== | === GPIO для транзисторов (A1-A4) === <!--T:8--> | ||
<!--T:9--> | |||
{| border="1" | |||
| клеммник || функция|| GPIO | |||
|GPIO number||вывод i.mx6UL || комментарии | |||
|- | |||
<!--T:10--> | |||
| '''A1 (out)''' || ADC/'''FET'''/DI ||GPIO3_15 | |||
|79||||Выход "открытый коллектор"; | |||
|- | |||
<!--T:11--> | |||
| '''A2 (out)''' || ADC/'''FET'''/DI ||GPIO3_16 | |||
|80||||Выход "открытый коллектор"; | |||
|- | |||
<!--T:12--> | |||
| '''A3 (out)''' || ADC/'''FET'''/DI ||GPIO3_17 | |||
|81||||Выход "открытый коллектор"; | |||
|- | |||
<!--T:13--> | |||
| '''A4 (out)''' || ADC/'''FET'''/DI ||GPIO3_18 | |||
|82||||Выход "открытый коллектор"; | |||
|- | |||
<!--T:14--> | |||
|} | |||
=== Каналы АЦП === <!--T:15--> | |||
<!--T:16--> | |||
{| class="wikitable" | |||
!клеммник | |||
!Канал АЦП | |||
!Делитель | |||
!Итоговая формула (без делителя) | |||
!V макс. измеряемое | |||
!комментарии | |||
|- | |||
|'''A1''' | |||
|4 | |||
| rowspan="4" |88k7, 12k | |||
| rowspan="4" | | |||
| rowspan="4" | | |||
| rowspan="4" | | |||
|- | |||
|'''A2''' | |||
|2 | |||
|- | |||
|'''A3''' | |||
|1 | |||
|- | |||
|'''A4''' | |||
|3 | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|'''Vin''' | |||
|8 | |||
|88k7, 12k | |||
| | |||
| | |||
| | |||
|- | |||
|'''5Vout''' | |||
|5 | |||
|33k, 12k | |||
| | |||
| | |||
| | |||
|} | |||
=== Ножки для внутреннего использования === <!--T:17--> | |||
<!--T:18--> | |||
{| border="1" | {| border="1" | ||
| вывод sodim || GPIO | | вывод sodim || GPIO | ||
Строка 11: | Строка 121: | ||
<!--T:19--> | |||
|84||GPIO1_IO13 | |84||GPIO1_IO13 | ||
|13|||| транзисторная подтяжка 1-wire к верху | |13|||| транзисторная подтяжка 1-wire к верху | ||
|- | |- | ||
|77 | |77 | ||
Строка 29: | Строка 131: | ||
|транзисторная подтяжка 1-wire к верху (W2) | |транзисторная подтяжка 1-wire к верху (W2) | ||
|- | |- | ||
||| | |36||GPIO1_IO27 | ||
||||| | |27|||| 5V out | ||
|- | |||
|176 | |||
||GPIO3_IO14 | |||
|78 | |||
|LCD_DATA09||| [[Special:MyLanguage/RFM69H|RFM69H]] IRQ | |||
|- | |- | ||
| | |178 | ||
| | ||GPIO3_IO13 | ||
|||LCD_DATA08|| [[Special:MyLanguage/RFM69H|RFM69H]] _DIO2 | |||
|- | |- | ||
||| | |180 | ||
|| | |GPIO3_IO28 | ||
| | |||
|LCD_DATA23 | |||
|RFM69 MISO | |||
|- | |- | ||
||| | |182 | ||
|| | |GPIO3_IO27 | ||
| | |||
|LCD_DATA22 | |||
|RFM69 MOSI | |||
|- | |- | ||
||| | |186 | ||
|| | |GPIO3_IO25 | ||
| | |||
|LCD_DATA20 | |||
|RFM69 SCK | |||
|- | |- | ||
||| | |184 | ||
||||| [[Special:MyLanguage/RFM69H|RFM69H]] | ||GPIO3_IO26 | ||
|||LCD_DATA21|| [[Special:MyLanguage/RFM69H|RFM69H]] chip select | |||
|- | |- | ||
| | |102||GPIO4_IO23 | ||
| | |119|||| SIM900R power FET (RESET) | ||
|- | |- | ||
|164||GPIO3_IO20 | |164||GPIO3_IO20 | ||
|84|| | |84|||| SIM900R power KEY | ||
|- | |- | ||
|166||GPIO3_IO19 | |166||GPIO3_IO19 | ||
|83|| | |83|| | ||
|| SIM900R power status (input) | || SIM900R power status (input) | ||
|- | |- | ||
| | |188 | ||
| | |GPIO3_IO24 | ||
|88 | |||
| | |||
|SIM slot select (low: 1, high: 2) | |||
|- | |- | ||
| | |23||GPIO2_IO19 | ||
| | |51||SD1_DATA1 | ||
|| watchdog input | |||
|- | |- | ||
| | |162||PWM1_OUT | ||
| | ||||| Buzzer | ||
|- | |- | ||
| | |80|| | ||
| | ||||| Red LED | ||
|| | |||
|- | |- | ||
|82|| | |||
||| | ||| | ||
|| Green LED | |||
|- | |- | ||
||| | |69 | ||
|| | | | ||
| | |||
| | |||
|2nd ethernet LED | |||
|- | |- | ||
||| | |65||GPIO1_IO18 | ||
||||| | |18|||| STAT1 (BATTERY_CHARGING) | ||
|- | |- | ||
| | |67||GPIO1_IO19 | ||
||||| | |19|||| STAT2 (BATTERY_PRESENT) | ||
|- | |- | ||
| | |152||GPIO3_IO10 | ||
||||| питание Wi-Fi (active low) | |||
|- | |- | ||
|29 | |29 | ||
|GPIO2_IO16 | |||
| | | | ||
| | |||
|i2c для RTC, SDA | |||
|- | |||
|31 | |||
|GPIO2_IO17 | |||
| | | | ||
| | | | ||
|i2c для RTC | |i2c для RTC, SCL | ||
|- | |- | ||
| | |144 | ||
|GPIO3_IO12 | |||
| | | | ||
|PAD_LCD_DATA07 | |||
|i2c для EEPROM1, SDA | |||
|- | |||
|142 | |||
|GPIO3_IO03 | |||
| | | | ||
|PAD_LCD_VSYNC | |||
|i2c для EEPROM1, SCL | |||
|- | |||
|160 | |||
|GPIO3_IO06 | |||
| | | | ||
|i2c для | |PAD_LCD_DATA01 | ||
|i2c для EEPROM2, SDA | |||
|- | |- | ||
| | |158 | ||
| | |GPIO3_IO07 | ||
| | | | ||
| | |PAD_LCD_DATA02 | ||
|i2c для EEPROM2, SCL | |||
|- | |||
|75 | |||
|GPIO4_IO11 | |||
|107 | |||
| | |||
|питание USB | |питание USB | ||
|- | |- | ||
|154 | |||
|GPIO3_IO09 | |||
|73 | |||
| | | | ||
|V_OUT_ON | |||
|- | |||
|156 | |||
|GPIO3_IO08 | |||
|72 | |||
| | |||
|V_OUT_ST | |||
|- | |||
|102 | |||
|GPIO4_IO23 | |||
|119 | |||
|PAD_CSI_DATA02 | |||
|RS-485-1 failsafe bias | |||
|- | |||
|190 | |||
|GPIO3_IO23 | |||
|87 | |||
|PAD_LCD_DATA18 | |||
|RS-485-2 failsafe bias | |||
|- | |||
|40 | |||
|GPIO1_IO23 | |||
|23 | |||
|PAD_UART2_RTS_B | |||
|CAN transciever power | |||
|} | |} | ||
=== GPIO на разъёме расширения MOD1 === | |||
=== GPIO на разъёме расширения MOD1 === <!--T:20--> | |||
<!--T:21--> | |||
{| class="wikitable" | {| class="wikitable" | ||
|вывод sodim | |вывод sodim | ||
Строка 165: | Строка 346: | ||
|} | |} | ||
=== GPIO на разъёме расширения MOD2 === | |||
=== GPIO на разъёме расширения MOD2 === <!--T:22--> | |||
<!--T:23--> | |||
{| class="wikitable" | {| class="wikitable" | ||
|вывод sodim | |вывод sodim | ||
|GPIO | |GPIO | ||
|GPIO number | |GPIO number | ||
|вывод | |вывод imx6ul | ||
|pinmux pad name | |pinmux pad name | ||
|пин | |пин | ||
Строка 191: | Строка 375: | ||
|CSI_DATA00 | |CSI_DATA00 | ||
|TX | |TX | ||
|uart tx | |uart tx | ||
|MX6UL_PAD_CSI_DATA00__UART5_DCE_TX | |MX6UL_PAD_CSI_DATA00__UART5_DCE_TX | ||
|- | |- | ||
Строка 240: | Строка 424: | ||
|} | |} | ||
=== GPIO на разъёме расширения MOD3 === | |||
=== GPIO на разъёме расширения MOD3 === <!--T:24--> | |||
<!--T:25--> | |||
{| class="wikitable" | {| class="wikitable" | ||
|вывод sodim | |вывод sodim | ||
|GPIO | |GPIO | ||
|GPIO number | |GPIO number | ||
|вывод | |вывод imx6ul | ||
|pinmux pad name | |pinmux pad name | ||
|пин | |пин | ||
Строка 253: | Строка 440: | ||
|- | |- | ||
|<nowiki>-</nowiki> | |<nowiki>-</nowiki> | ||
| | | | ||
| | | | ||
| | |||
| | | | ||
|3.3V | |3.3V | ||
Строка 284: | Строка 471: | ||
|112 | |112 | ||
|GPIO4_IO28 | |GPIO4_IO28 | ||
| | |124 | ||
|D1 | |D1 | ||
|CSI_DATA07 | |CSI_DATA07 | ||
Строка 294: | Строка 481: | ||
|106 | |106 | ||
|GPIO4_IO25 | |GPIO4_IO25 | ||
| | |121 | ||
|D4D | |D4D | ||
|CSI_DATA04 | |CSI_DATA04 | ||
Строка 314: | Строка 501: | ||
|150 | |150 | ||
|GPIO3_IO11 | |GPIO3_IO11 | ||
| | |75 | ||
|A10 | |A10 | ||
|LCD_DATA06 | |LCD_DATA06 | ||
Строка 334: | Строка 521: | ||
|110 | |110 | ||
|GPIO4_IO27 | |GPIO4_IO27 | ||
| | |123 | ||
|D2 | |D2 | ||
|CSI_DATA06 | |CSI_DATA06 | ||
Строка 344: | Строка 531: | ||
|108 | |108 | ||
|GPIO4_IO26 | |GPIO4_IO26 | ||
| | |122 | ||
|D3 | |D3 | ||
|CSI_DATA05 | |CSI_DATA05 | ||
Строка 352: | Строка 539: | ||
| | | | ||
|} | |} | ||
</translate> |
Текущая версия на 11:08, 6 сентября 2022
Статья описывает подключение встроенной периферии к сигналам процессора для версии Wiren Board 6 (ревизии 6.1).
Введение
Эта статья предназначена, в первую очередь, для разработчиков стороннего ПО для контроллеров 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 | вывод i.mx6UL | комментарии | |
W1 (in) | 1-wire/DI | GPIO1_IO11 | 11 | P14 | по-умолчанию 1-wire |
W2 (in) | 1-wire/DI | GPIO4_IO12 | 108 | A3 |
GPIO для транзисторов (A1-A4)
клеммник | функция | GPIO | GPIO number | вывод i.mx6UL | комментарии |
A1 (out) | ADC/FET/DI | GPIO3_15 | 79 | Выход "открытый коллектор"; | |
A2 (out) | ADC/FET/DI | GPIO3_16 | 80 | Выход "открытый коллектор"; | |
A3 (out) | ADC/FET/DI | GPIO3_17 | 81 | Выход "открытый коллектор"; | |
A4 (out) | ADC/FET/DI | GPIO3_18 | 82 | Выход "открытый коллектор"; |
Каналы АЦП
клеммник | Канал АЦП | Делитель | Итоговая формула (без делителя) | V макс. измеряемое | комментарии |
---|---|---|---|---|---|
A1 | 4 | 88k7, 12k | |||
A2 | 2 | ||||
A3 | 1 | ||||
A4 | 3 | ||||
Vin | 8 | 88k7, 12k | |||
5Vout | 5 | 33k, 12k |
Ножки для внутреннего использования
вывод sodim | GPIO | GPIO number | вывод i.mx6UL | функция |
84 | GPIO1_IO13 | 13 | транзисторная подтяжка 1-wire к верху | |
77 | GPIO4_IO16 | 112 | транзисторная подтяжка 1-wire к верху (W2) | |
36 | GPIO1_IO27 | 27 | 5V out | |
176 | GPIO3_IO14 | 78 | LCD_DATA09 | RFM69H IRQ |
178 | GPIO3_IO13 | LCD_DATA08 | RFM69H _DIO2 | |
180 | GPIO3_IO28 | LCD_DATA23 | RFM69 MISO | |
182 | GPIO3_IO27 | LCD_DATA22 | RFM69 MOSI | |
186 | GPIO3_IO25 | LCD_DATA20 | RFM69 SCK | |
184 | GPIO3_IO26 | LCD_DATA21 | RFM69H chip select | |
102 | GPIO4_IO23 | 119 | SIM900R power FET (RESET) | |
164 | GPIO3_IO20 | 84 | SIM900R power KEY | |
166 | GPIO3_IO19 | 83 | SIM900R power status (input) | |
188 | GPIO3_IO24 | 88 | SIM slot select (low: 1, high: 2) | |
23 | GPIO2_IO19 | 51 | SD1_DATA1 | watchdog input |
162 | PWM1_OUT | Buzzer | ||
80 | Red LED | |||
82 | Green LED | |||
69 | 2nd ethernet LED | |||
65 | GPIO1_IO18 | 18 | STAT1 (BATTERY_CHARGING) | |
67 | GPIO1_IO19 | 19 | STAT2 (BATTERY_PRESENT) | |
152 | GPIO3_IO10 | питание Wi-Fi (active low) | ||
29 | GPIO2_IO16 | i2c для RTC, SDA | ||
31 | GPIO2_IO17 | i2c для RTC, SCL | ||
144 | GPIO3_IO12 | PAD_LCD_DATA07 | i2c для EEPROM1, SDA | |
142 | GPIO3_IO03 | PAD_LCD_VSYNC | i2c для EEPROM1, SCL | |
160 | GPIO3_IO06 | PAD_LCD_DATA01 | i2c для EEPROM2, SDA | |
158 | GPIO3_IO07 | PAD_LCD_DATA02 | i2c для EEPROM2, SCL | |
75 | GPIO4_IO11 | 107 | питание USB | |
154 | GPIO3_IO09 | 73 | V_OUT_ON | |
156 | GPIO3_IO08 | 72 | V_OUT_ST | |
102 | GPIO4_IO23 | 119 | PAD_CSI_DATA02 | RS-485-1 failsafe bias |
190 | GPIO3_IO23 | 87 | PAD_LCD_DATA18 | RS-485-2 failsafe bias |
40 | GPIO1_IO23 | 23 | PAD_UART2_RTS_B | CAN transciever power |
GPIO на разъёме расширения MOD1
вывод sodim | GPIO | GPIO number | вывод imx287 | pinmux pad name | пин | функция |
- | - | - | 3.3V | - | ||
30 | GPIO1_IO24 | H17 | UART3_TX_DATA | TX | uart tx | |
32 | GPIO1_IO25 | H16 | UART3_RX_DATA | RX | uart rx | |
- | 5V | - | ||||
34 | GPIO1_IO26 | H15 | UART3_CTS_B | DE | uart de | |
- | GND | - |
GPIO на разъёме расширения MOD2
вывод sodim | GPIO | GPIO number | вывод imx6ul | pinmux pad name | пин | функция | |
- | - | - | 3.3V | - | |||
98 | GPIO4_IO21 | E4 | CSI_DATA00 | TX | uart tx | MX6UL_PAD_CSI_DATA00__UART5_DCE_TX | |
49 | JTAG_MOD | TX (muxed через 3k, 12k PD) | spdif out | ||||
100 | GPIO4_IO22 | E3 | CSI_DATA01 | RX | MX6UL_PAD_CSI_DATA01__UART5_DCE_RX | ||
- | 5V | - | |||||
52 | GPIO1_IO09 | M15 | GPIO1_IO09 | DE | uart de, pwm, spdif in | ||
- | GND | - |
GPIO на разъёме расширения MOD3
вывод sodim | GPIO | GPIO number | вывод imx6ul | pinmux pad name | пин | функция | ||
- | 3.3V | - | ||||||
194 | GPIO3_IO21 | 85 | LCD_DATA16 | TX | uart tx | |||
192 | GPIO3_IO22 | 86 | LCD_DATA17 | RX | uart rx | |||
112 | GPIO4_IO28 | 124 | D1 | CSI_DATA07 | MISO | spi miso | MX6UL_PAD_CSI_DATA07__ECSPI1_MISO | |
106 | GPIO4_IO25 | 121 | D4D | CSI_DATA04 | SCK | spi sck | MX6UL_PAD_CSI_DATA04__ECSPI1_SCLK | |
- | 5V | - | ||||||
150 | GPIO3_IO11 | 75 | A10 | LCD_DATA06 | DE | uart de | ||
- | GND | - | ||||||
110 | GPIO4_IO27 | 123 | D2 | CSI_DATA06 | MOSI | spi mosi | MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI | |
108 | GPIO4_IO26 | 122 | D3 | CSI_DATA05 | SS | spi ss | MX6UL_PAD_CSI_DATA05__ECSPI1_SS0 |