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

Материал из Wiren Board
м (A.Degtyarev переименовал страницу Wiren Board 5:Список GPIO в Wiren Board 5: GPIO List без оставления перенаправления: Часть переводимой страницы Wiren Board 5:Список GPIO.)
 
(не показано 16 промежуточных версий 3 участников)
Строка 1: Строка 1:
Статья описывает подключение встроенной периферии к сигналам процессора для '''финальной версии Wiren Board 5 (rev 5.NN)'''.
<languages/>
<translate>


Справочная информация по тестовым ревизиям:
<!--T:30-->
* [[Wiren Board 5: Список GPIO (rev 0.1)]]
Статья описывает подключение встроенной периферии к сигналам процессора для '''версии Wiren Board 5 (rev 5.3)'''.
{{Wbincludes: GPIO}}


=== Последовательные порты === <!--T:31-->
{| class="wikitable"
!Порт
!
|-
|/dev/ttyAPP0
|GSM/EDGE
|-
|/dev/ttyAPP1
|порт RS-485 на клеммниках "RS-485"
|-
|/dev/ttyAPP2
|порт UART на первом модуле расширения
|-
|/dev/ttyAPP3
|порт UART на втором модуле расширения
|-
|/dev/ttyAPP4
|порт RS-485 на клеммниках RS-485/CAN
|}


=== АЦП === <!--T:32-->


=== АЦП ===
<!--T:33-->
 
{| border="1"
{| border="1"
| клеммник || функция|| вывод sodim || GPIO ||вывод imx287 || комментарии
| клеммник || функция|| вывод sodim || GPIO ||вывод imx287 || комментарии
Строка 19: Строка 41:
| A4  || FET/'''ADC'''/DI || 105 || LRADC4 || D13 ||
| A4  || FET/'''ADC'''/DI || 105 || LRADC4 || D13 ||
|-
|-
| R1  || '''R'''/'''ADC'''/DI || 103 || LRADC0 ||D15 ||
| R1  || '''R'''/'''ADC'''/DI || 101 || LRADC6 || C14 ||
|-
|-
| R2 || '''R'''/'''ADC'''/DI || 101 || LRADC6 || C14 ||
|R2
|'''R'''/'''ADC'''/DI
|103
|LRADC0
|D15
|
|-
|-
|}
|}


=== GPIO на клеммниках ===  
=== GPIO на клеммниках === <!--T:34-->


<!--T:35-->
{| border="1"
{| border="1"
| клеммник || функция|| вывод sodim || GPIO ||вывод imx287 || комментарии
| клеммник || функция|| вывод sodim || GPIO ||вывод imx287 || комментарии
|-
|-


| A1 (in)  || FET/ADC/'''DI'''  ||  130 || 0-4 || T7 ||
<!--T:36-->
| A1 (in)  || FET/ADC/'''DI'''  ||  126 || 0-6 || U6 ||
|-
|-


| A2 (in)  || FET/ADC/'''DI''' || 128 || 0-5 || R7 ||
<!--T:37-->
| A2 (in)  || R/ADC/'''DI''' || 124 || 0-7 || T6 ||
|-
|-


| A3 (in)  || FET/ADC/'''DI'''  ||  126 || 0-6 || U6 ||
<!--T:38-->
| A3 (in)  || FET/ADC/'''DI'''  ||  122 || 0-28 || L9 ||
|-
|-


| A4 (in)  || FET/ADC/'''DI''' || 122 || 0-28 || L9 ||
<!--T:39-->
| A4 (in)  || R/ADC/'''DI''' || 106 || 0-27 || P7 ||
|-
|-


| R1 (in)  || R/ADC/'''DI''' || 124 || 0-6 || T6 ||
<!--T:40-->
| R2 (in)  || FET/ADC/'''DI''' || 130 || 0-4 || T7 ||
|-
|-


| R2 (in)  || R/ADC/'''DI''' || 106 || 0-27 || P7 ||
<!--T:41-->
| R1 (in)  || FET/ADC/'''DI''' || 128 || 0-5 || R7 ||
|-
|-


 
<!--T:42-->
 
|}
|}


=== GPIO для транзисторов  ===  
=== GPIO для транзисторов  === <!--T:43-->


<!--T:44-->
{| border="1"
{| border="1"
| клеммник || функция|| вывод sodim || GPIO ||вывод imx287 || комментарии
| клеммник || функция|| вывод sodim || GPIO ||вывод imx287 || комментарии
|-
|-


<!--T:45-->
| A1 (out)  || ADC/'''FET'''/DI || 104 || 0-26 || P6 ||Выход "открытый коллектор";  
| A1 (out)  || ADC/'''FET'''/DI || 104 || 0-26 || P6 ||Выход "открытый коллектор";  
|-
|-




<!--T:46-->
| A2 (out)  || ADC/'''FET'''/DI || 102 || 0-16 || N7 ||Выход "открытый коллектор";
| A2 (out)  || ADC/'''FET'''/DI || 102 || 0-16 || N7 ||Выход "открытый коллектор";
|-
|-


<!--T:47-->
| A3 (out)  || ADC/'''FET'''/DI || 100 || 0-24 || R6 ||Выход "открытый коллектор";  
| A3 (out)  || ADC/'''FET'''/DI || 100 || 0-24 || R6 ||Выход "открытый коллектор";  
|-
|-


<!--T:48-->
| A4 (out)  || ADC/'''FET'''/DI || 98 || 0-20 || N6 ||Выход "открытый коллектор";
| A4 (out)  || ADC/'''FET'''/DI || 98 || 0-20 || N6 ||Выход "открытый коллектор";
|-
|-


<!--T:49-->
|}
|}


Строка 78: Строка 117:
<!--T:29-->
<!--T:29-->
{| border="1"
{| border="1"
| вывод sodim || GPIO ||вывод imx287 || функция
| вывод sodim || GPIO  
|GPIO number||вывод imx287 || функция
|-
|-




| 86 || 3-20 ||  G7 || 1-wire   
<!--T:50-->
| 86 || 3-20  
|||  G7 || 1-wire   
|-
| 84 || 3-22
||| F7 || транзисторная подтяжка 1-wire к верху
|-
| 52 || 3-29 (PWM4)
|125|| E10||  irda out
|-
| 61 || 3-14 
|||L6 ||  3.3V rail shutdown irda in
|-
| 39 || 2-14 
|78||D1 ||  5V out
|-
| 45 || 2-15 
|79||E1 ||  irda in
|-
| 150 || 1-6
||| N2 ||  [[Special:MyLanguage/RFM69H|RFM69H]] IRQ
|-
| 132 || 0-3
||| U7 ||  [[Special:MyLanguage/RFM69H|RFM69H]] chip select
|-
|  152 || 1-5
||| M3 ||  [[Special:MyLanguage/RFM69H|RFM69H]] _DIO2
|-
|  92 || 0-17
||| N9 ||  SIM900R power FET (RESET)
|-
|  134 || 0-2
||| R8 ||  SIM900R power KEY
|-
|  148 || 1-7
|39 || P1 ||  SIM900R power status (input)
|-
| 37 || 2-13
||| C1 || watchdog input
|-
| 50 || PWM3
||| E9 || Buzzer
|-
|  80  || 3-26
||| E8 ||  Red LED
|-
|-
| 84 || 3-22 || F7 || транзисторная подтяжка 1-wire к верху
| 82  || 3-23
||| E7 ||  Green LED
|-
|-
| 52 || PWM4 || E10||   irda out
| 197  || 3-6
||| K5||  STAT1 (зарядка)
|-
|-
| 61 || 3-14  ||L6 ||  irda in
| 198  || 1-30
||| N1 ||  STAT2 (зарядка)
|-
|-
|  77  || 1-27
||| P5 ||  питание Wi-Fi (active low)
|-
<!--T:51-->
|}


=== GPIO на разъёме расширения MOD1 === <!--T:52-->


| 73 || 1-25|| K1 || 3.3V rail shutdown
<!--T:53-->
[[Файл:Shild.png|300px|thumb|right| Распиновка разъема под модули расширения]]
 
<!--T:54-->
{| border="1"
| вывод sodim || GPIO
|GPIO number||вывод imx287 || пин || функция
|-
|-
| 150 || 1-6 || N2 || [[Special:MyLanguage/RFM69H|RFM69H]] IRQ
 
<!--T:55-->
| || -  
||| -|| 3.3V || +3.3V
|-
|-
| 132 || 0-3 || U7 || [[Special:MyLanguage/RFM69H|RFM69H]] chip select
 
<!--T:56-->
|21  || 2-21
|85|| K7 || SDA || GPIO, I2C (soft)
|-
|-
152 || 1-5 || M3 || [[Special:MyLanguage/RFM69H|RFM69H]] _DIO2
|35 || 2-12
|76|| B1 || SCL|| GPIO, I2C (soft)
|-
|-
| 92 || 0-17 || N9 ||  SIM900R power FET (RESET)
 
 
<!--T:57-->
| 13 || 2-25
|89|| C2 ||  MOSI || GPIO, SPI3 MOSI, AUART4_RX
|-
|-
134 || 0-2 || R8 ||  SIM900R power KEY
| 15 || 2-26
|90|| B2 ||  MISO || GPIO, SPI3 MISO, AUART4_RTS
|-
|-
| 148 || 1-7 || P1 ||  SIM900R power status (input)
| 9 || 2-24
|88|| A2 ||  SCK || GPIO, SPI3 SCK, AUART4_TX
|-
|-
| 37 || 2-13 || C1 || watchdog output
 
<!--T:58-->
| -  ||  -
||| - || 5V || +5V
|-
|-
| 50 || PWM3 || E9 || Buzzer
| 42 ||3-11 
|107|| H7 ||  RTS || AUART2_RTS, GPIO,  I2C1_SDA, SAIF1_LRCLK
|-
|-
80 || 3-26 || E8 || Red LED
| - || -
||| -|| GND || GND
|-
|-
| 82 || 3-23 || E7 ||  Green LED
 
<!--T:59-->
| 30 ||3-
|105|| F5 ||  TX || AUART2_TX, GPIO
|-
|-
| 172  || 1-11 || R2||  STAT1 (зарядка)
| 32 || 3-8
|104|| F6  ||  RX || AUART2_RX, GPIO
|-
|-
174 || 1-10 || R1 || STAT2 (зарядка)
 
<!--T:60-->
|11 || 2-27  
|91|| D2 || CS || GPIO, SPI3 Slave Select 0
|-
|-


| 45 || 2-15 || E1 || переключение UART-CAN/RS-485. low - RS-485, high - CAN
 
 
<!--T:61-->
|}
 
=== GPIO на разъёме расширения MOD2 === <!--T:62-->
 
 
<!--T:63-->
{| border="1"
| вывод sodim || GPIO
|GPIO number||вывод imx287 || пин || функция
|-
|-
<!--T:64-->
| -  ||  -
||| -|| 3.3V || +3.3V
|-
|34  ||  0-22
|22|| M8 || SDA || GPIO, I2C SDA(soft), CAN0 TX
|-
|36  ||  0-23 
|23|| L8 || SCL || GPIO, I2C SCL(soft), CAN0 RX
|-
|14  ||  2-17
|81|| C3 || MOSI || GPIO, SPI MOSI (SSP2)
|-
|16  ||  2-18
|82|| B3 || MISO || GPIO, SPI MISO (SSP2)
|-
|10  ||  2-16
|80|| A3 || SCK || GPIO, SPI SCK (SSP2)
|-
| -  ||  -
||| - || 5V || +5V
|-
| 63  || 3-15 
|111|| K6 || RTS || AUART3_RTS, GPIO, CAN1_RX
|-
| -  ||  -
||| -|| GND || GND
|-
| 53 ||  3-13
|109|| L5 || TX || AUART3_TX, GPIO, CAN0_RX
|-
| 55 || 3-12 
|108|| M5 || RX || AUART3_RX, GPIO, CAN0_TX
|-
|12  ||  2-19
|83|| C4 || CS || GPIO, SPI Slave Select (SSP2)
|-
<!--T:65-->
|}
|}


=== GPIO на разъёме расширения (левый) ===  
=== GPIO на разъёме расширения ввода-вывода === <!--T:66-->
 
 
<!--T:67-->
{| border="1"
{| border="1"
| вывод sodim || GPIO ||вывод imx287 || пин || функция
| вывод sodim || GPIO ||вывод imx287 || пин || функция
|-
|-
|21 || 2-21 || K7 || SDA || GPIO, I2C (soft)
|44 || 3-10 || H6 || INT || Прерывание
|-
|-
|35  || 2-12 || B1 || SCL|| GPIO, I2C (soft)
| 46 || 3-25  || D8 || I2C0_SDA || I2C0 аппаратный
|-
|-
|11  || SPI3_SS0 / 2-27 || D2 || IRQ || GPIO, SPI Slave Select
| 48 || 3-24 || C7 || I2C0_SCL || I2C0 аппаратный
|-
|-
|}
<!--T:68-->
См. также [[Special:MyLanguage/Работа с GPIO|Работа с GPIO]]


=== Радио модуль === <!--T:69-->
<!--T:70-->
Подключен по SPI1.
<!--T:71-->
{| border="1"
| вывод sodim || GPIO ||вывод imx287 || пин || функция
|-
|94  ||  0-21 || N8 || RFM69_MOSI || MOSI
|-
| 138 ||  0-0  || U8 || RFM69_MISO || MISO
|-
| 96 ||  0-25  || P8 || RFM69_SCK || SCK
|-
| 132 ||  0-3  || U7 || RFM69_CS || CS
|-
| 150 ||  1-6  || N2 || IRQ_RFM69 || Прерывание
|-
| 152 ||  1-5  || M3 || RFM69_DIO2 ||
|-
|}
|}




=== GPIO на разъёме расширения (правый) ===


=== FFC-разъём расширения  === <!--T:72-->


<!--T:73-->
'''Разъём не напаян на устройствах в стандартной комплектации'''
<!--T:74-->
{| border="1"
{| border="1"
| вывод sodim || GPIO ||вывод imx287 || пин || функция
| вывод sodim || GPIO ||вывод imx287 || пин || функция
|-
|-
|34 ||  0-22 || M8 || SDA || GPIO, I2C SDA(soft), CAN TX
 
<!--T:75-->
|-  ||  - || - || 1 || +3.3V
|-
|-  ||  - || - || 2 || +3.3V
|-
|-  ||  - || - || 3 || +3.3V
|-
| 76  || 4-11 || G1 || 4 || GPIO, ENET0_TXD2
|-
| 74  || 4-12 || G2 || 5 || GPIO, ENET0_TXD3
|-
| 72 || 4-10 || J2 || 6 || GPIO, ENET0_RXD3
|-
| 70  || 4-9 || J1 || 7 || GPIO, ENET0_RXD2
|-
| 68 || 4-15 || J3 || 8 || GPIO, ENET0_CRS
|-
| 66 ||  4-14|| J4 || 9 || GPIO, ENET0_COL
|-
| 64  || 4-16 || E2 || 10 || GPIO, ENET_CLK
|-
|-
|36 || 0-23 || L8 || SCL || GPIO, I2C SCL(soft), CAN RX
| 62 || 4-13 || F3 || 11 || GPIO, ENET0_RX_CLK
|-
|-
|12  ||  2-19 || C4 || IRQ || GPIO, SPI Slave Select
| 60  || 4-5  || E3 || 12 || GPIO, ENET0_TX_CLK
|-
| 58  || 4-0 || G4 || 13 || GPIO, ENET0_MDC
|-
| 56 || 4-1 || H4 || 14 || GPIO, ENET0_MDIO
|-
|-  ||  - || - || 15 || GND
|-
|-  ||  - || - || 16 || GND
|-
|-


<!--T:76-->
|}
|}


<!--T:77-->
Справочная информация по тестовым ревизиям:
* [[Wiren Board 5: Список GPIO (rev 5.1)]]


См. также [[Special:MyLanguage/Работа с GPIO|Работа с GPIO]]
</translate>
</translate>

Текущая версия на 10:37, 6 сентября 2022

Другие языки:

Статья описывает подключение встроенной периферии к сигналам процессора для версии Wiren Board 5 (rev 5.3).

Введение

Эта статья предназначена, в первую очередь, для разработчиков стороннего ПО для контроллеров 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, или в разделе ниже.

Последовательные порты

Порт
/dev/ttyAPP0 GSM/EDGE
/dev/ttyAPP1 порт RS-485 на клеммниках "RS-485"
/dev/ttyAPP2 порт UART на первом модуле расширения
/dev/ttyAPP3 порт UART на втором модуле расширения
/dev/ttyAPP4 порт RS-485 на клеммниках RS-485/CAN

АЦП

клеммник функция вывод sodim GPIO вывод imx287 комментарии
A1 FET/ADC/DI 111 LRADC1 C9
A2 FET/ADC/DI 109 LRADC2 C8
A3 FET/ADC/DI 107 LRADC3 D9
A4 FET/ADC/DI 105 LRADC4 D13
R1 R/ADC/DI 101 LRADC6 C14
R2 R/ADC/DI 103 LRADC0 D15

GPIO на клеммниках

клеммник функция вывод sodim GPIO вывод imx287 комментарии
A1 (in) FET/ADC/DI 126 0-6 U6
A2 (in) R/ADC/DI 124 0-7 T6
A3 (in) FET/ADC/DI 122 0-28 L9
A4 (in) R/ADC/DI 106 0-27 P7
R2 (in) FET/ADC/DI 130 0-4 T7
R1 (in) FET/ADC/DI 128 0-5 R7

GPIO для транзисторов

клеммник функция вывод sodim GPIO вывод imx287 комментарии
A1 (out) ADC/FET/DI 104 0-26 P6 Выход "открытый коллектор";
A2 (out) ADC/FET/DI 102 0-16 N7 Выход "открытый коллектор";
A3 (out) ADC/FET/DI 100 0-24 R6 Выход "открытый коллектор";
A4 (out) ADC/FET/DI 98 0-20 N6 Выход "открытый коллектор";

GPIO для внутреннего использования

вывод sodim GPIO GPIO number вывод imx287 функция
86 3-20 G7 1-wire
84 3-22 F7 транзисторная подтяжка 1-wire к верху
52 3-29 (PWM4) 125 E10 irda out
61 3-14 L6 3.3V rail shutdown irda in
39 2-14 78 D1 5V out
45 2-15 79 E1 irda in
150 1-6 N2 RFM69H IRQ
132 0-3 U7 RFM69H chip select
152 1-5 M3 RFM69H _DIO2
92 0-17 N9 SIM900R power FET (RESET)
134 0-2 R8 SIM900R power KEY
148 1-7 39 P1 SIM900R power status (input)
37 2-13 C1 watchdog input
50 PWM3 E9 Buzzer
80 3-26 E8 Red LED
82 3-23 E7 Green LED
197 3-6 K5 STAT1 (зарядка)
198 1-30 N1 STAT2 (зарядка)
77 1-27 P5 питание Wi-Fi (active low)

GPIO на разъёме расширения MOD1

Распиновка разъема под модули расширения
вывод sodim GPIO GPIO number вывод imx287 пин функция
- - - 3.3V +3.3V
21 2-21 85 K7 SDA GPIO, I2C (soft)
35 2-12 76 B1 SCL GPIO, I2C (soft)
13 2-25 89 C2 MOSI GPIO, SPI3 MOSI, AUART4_RX
15 2-26 90 B2 MISO GPIO, SPI3 MISO, AUART4_RTS
9 2-24 88 A2 SCK GPIO, SPI3 SCK, AUART4_TX
- - - 5V +5V
42 3-11 107 H7 RTS AUART2_RTS, GPIO, I2C1_SDA, SAIF1_LRCLK
- - - GND GND
30 3-9 105 F5 TX AUART2_TX, GPIO
32 3-8 104 F6 RX AUART2_RX, GPIO
11 2-27 91 D2 CS GPIO, SPI3 Slave Select 0

GPIO на разъёме расширения MOD2

вывод sodim GPIO GPIO number вывод imx287 пин функция
- - - 3.3V +3.3V
34 0-22 22 M8 SDA GPIO, I2C SDA(soft), CAN0 TX
36 0-23 23 L8 SCL GPIO, I2C SCL(soft), CAN0 RX
14 2-17 81 C3 MOSI GPIO, SPI MOSI (SSP2)
16 2-18 82 B3 MISO GPIO, SPI MISO (SSP2)
10 2-16 80 A3 SCK GPIO, SPI SCK (SSP2)
- - - 5V +5V
63 3-15 111 K6 RTS AUART3_RTS, GPIO, CAN1_RX
- - - GND GND
53 3-13 109 L5 TX AUART3_TX, GPIO, CAN0_RX
55 3-12 108 M5 RX AUART3_RX, GPIO, CAN0_TX
12 2-19 83 C4 CS GPIO, SPI Slave Select (SSP2)

GPIO на разъёме расширения ввода-вывода

вывод sodim GPIO вывод imx287 пин функция
44 3-10 H6 INT Прерывание
46 3-25 D8 I2C0_SDA I2C0 аппаратный
48 3-24 C7 I2C0_SCL I2C0 аппаратный

См. также Работа с GPIO

Радио модуль

Подключен по SPI1.

вывод sodim GPIO вывод imx287 пин функция
94 0-21 N8 RFM69_MOSI MOSI
138 0-0 U8 RFM69_MISO MISO
96 0-25 P8 RFM69_SCK SCK
132 0-3 U7 RFM69_CS CS
150 1-6 N2 IRQ_RFM69 Прерывание
152 1-5 M3 RFM69_DIO2


FFC-разъём расширения

Разъём не напаян на устройствах в стандартной комплектации

вывод sodim GPIO вывод imx287 пин функция
76 4-11 G1 4 GPIO, ENET0_TXD2
74 4-12 G2 5 GPIO, ENET0_TXD3
72 4-10 J2 6 GPIO, ENET0_RXD3
70 4-9 J1 7 GPIO, ENET0_RXD2
68 4-15 J3 8 GPIO, ENET0_CRS
66 4-14 J4 9 GPIO, ENET0_COL
64 4-16 E2 10 GPIO, ENET_CLK
62 4-13 F3 11 GPIO, ENET0_RX_CLK
60 4-5 E3 12 GPIO, ENET0_TX_CLK
58 4-0 G4 13 GPIO, ENET0_MDC
56 4-1 H4 14 GPIO, ENET0_MDIO

Справочная информация по тестовым ревизиям: