Wiren Board 6.1: GPIO List: различия между версиями

Материал из Wiren Board
(Новая страница: «Статья описывает подключение встроенной периферии к сигналам процессора для '''версии Wir…»)
 
м (A.Degtyarev переименовал страницу Wiren Board 6.1:Список GPIO в Wiren Board 6.1: GPIO List без оставления перенаправления: Часть переводимой страницы Wiren Board 6.1:Список GPIO.)
 
(не показано 20 промежуточных версий 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||||Выход "открытый коллектор";
|-


[[Wiren Board 6.0.1:Список GPIO]]
<!--T:14-->
|}




=== Каналы АЦП === <!--T:15-->


=== GPIO на разъёме расширения MOD1 ===
<!--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"
| вывод sodim || GPIO
|GPIO number||вывод i.mx6UL || функция
|-
 
 
<!--T:19-->
|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|||  [[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
||GPIO3_IO26
|||LCD_DATA21||  [[Special:MyLanguage/RFM69H|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 === <!--T:20-->
 
<!--T:21-->
{| class="wikitable"
{| class="wikitable"
|вывод sodim
|вывод sodim
Строка 23: Строка 305:
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|-
|-
|30
|'''30'''
|GPIO1_IO24
|GPIO1_IO24
|
|
|H17
|H17
|UART3_TX
|UART3_TX_DATA
|TX
|TX
|
|uart tx
|-
|-
|32
|'''32'''
|GPIO1_IO25
|GPIO1_IO25
|
|
|H16
|H16
|UART3_RX
|UART3_RX_DATA
|RX
|RX
|
|uart rx
|-
|-
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
Строка 47: Строка 329:
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|-
|-
|34
|'''34'''
|GPIO1_IO26
|GPIO1_IO26
|
|
Строка 53: Строка 335:
|UART3_CTS_B
|UART3_CTS_B
|DE
|DE
|
|uart de
|-
|-
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
Строка 64: Строка 346:
|}
|}


=== GPIO на разъёме расширения MOD2 ===
 
=== GPIO на разъёме расширения MOD2 === <!--T:22-->
 
<!--T:23-->
{| class="wikitable"
{| class="wikitable"
|вывод sodim
|вывод sodim
|GPIO
|GPIO
|GPIO number
|GPIO number
|вывод imx287
|вывод imx6ul
|pinmux pad name
|pinmux pad name
|пин
|пин
Строка 84: Строка 369:
|
|
|-
|-
|194
|'''98'''
|GPIO3_IO21
|GPIO4_IO21
|
|
|C13
|E4
|LCD_DATA16
|CSI_DATA00
|TX
|TX
|uart tx
|MX6UL_PAD_CSI_DATA00__UART5_DCE_TX
|-
|'''49'''
|
|
|
|
|JTAG_MOD
|TX (muxed через 3k, 12k PD)
|spdif out
|
|
|-
|-
|192
|'''100'''
|GPIO3_IO22
|GPIO4_IO22
|
|
|B13
|E3
|LCD_DATA17
|CSI_DATA01
|RX
|RX
|
|
|
|MX6UL_PAD_CSI_DATA01__UART5_DCE_RX
|-
|-
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
Строка 111: Строка 405:
|
|
|-
|-
|52
|'''52'''
|GPIO1_IO09
|GPIO1_IO09
|
|
Строка 117: Строка 411:
|GPIO1_IO09
|GPIO1_IO09
|DE
|DE
|uart de, pwm, spdif in
|
|
|'''перепутан с MOD3, не работает как CTS!'''
|-
|-
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
Строка 130: Строка 424:
|}
|}


=== GPIO на разъёме расширения MOD3 ===
 
=== GPIO на разъёме расширения MOD3 === <!--T:24-->
 
<!--T:25-->
{| class="wikitable"
{| class="wikitable"
|вывод sodim
|вывод sodim
|GPIO
|GPIO
|GPIO number
|GPIO number
|вывод imx287
|вывод imx6ul
|pinmux pad name
|pinmux pad name
|пин
|пин
|функция
|функция
|
|
|
|-
|-
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|
|
|<nowiki>-</nowiki>
|
|
|
|
|3.3V
|3.3V
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|
|
|
|-
|-
|98
|194
|GPIO4_IO21
|GPIO3_IO21
|85
|
|
|E4
|LCD_DATA16
|CSI_DATA00
|TX
|TX
|uart tx
|
|
|
|MX6UL_PAD_CSI_DATA00__UART5_DCE_TX
|-
|-
|100
|192
|GPIO4_IO22
|GPIO3_IO22
|86
|
|
|E3
|LCD_DATA17
|CSI_DATA01
|RX
|RX
|uart rx
|
|
|
|MX6UL_PAD_CSI_DATA01__UART5_DCE_RX
|-
|-
|112
|112
|GPIO4_IO28
|GPIO4_IO28
|
|124
|D1
|D1
|CSI_DATA07
|CSI_DATA07
|MISO
|MISO
|spi miso
|MX6UL_PAD_CSI_DATA07__ECSPI1_MISO
|
|
|MX6UL_PAD_CSI_DATA07__ECSPI1_MISO
|-
|-
|106
|106
|GPIO4_IO25
|GPIO4_IO25
|
|121
|D4D
|D4D
|CSI_DATA04
|CSI_DATA04
|SCK
|SCK
|spi sck
|MX6UL_PAD_CSI_DATA04__ECSPI1_SCLK
|
|
|MX6UL_PAD_CSI_DATA04__ECSPI1_SCLK
|-
|-
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
Строка 193: Строка 496:
|5V
|5V
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|
|
|
|-
|-
|150
|150
|GPIO3_IO11
|GPIO3_IO11
|
|75
|A10
|A10
|LCD_DATA06
|LCD_DATA06
|DE
|DE
|uart de
|
|
|
|'''перепутан с MOD2, не работает как CTS!'''
|-
|-
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
Строка 211: Строка 516:
|GND
|GND
|<nowiki>-</nowiki>
|<nowiki>-</nowiki>
|
|
|
|-
|-
|110
|110
|GPIO4_IO27
|GPIO4_IO27
|
|123
|D2
|D2
|CSI_DATA06
|CSI_DATA06
|MOSI
|MOSI
|spi mosi
|MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI
|
|
|MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI
|-
|-
|108
|108
|GPIO4_IO26
|GPIO4_IO26
|
|122
|D3
|D3
|CSI_DATA05
|CSI_DATA05
|SS
|SS
|spi ss
|MX6UL_PAD_CSI_DATA05__ECSPI1_SS0
|
|
|MX6UL_PAD_CSI_DATA05__ECSPI1_SS0
|}
|}
</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