Wiren Board 5: GPIO List: различия между версиями
Fizikdaos (обсуждение | вклад) |
м (A.Degtyarev переименовал страницу Wiren Board 5:Список GPIO в Wiren Board 5: GPIO List без оставления перенаправления: Часть переводимой страницы Wiren Board 5:Список GPIO.) |
||
(не показано 45 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
<!--T:30--> | |||
Статья описывает подключение встроенной периферии к сигналам процессора для '''версии 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 || комментарии | ||
|- | |- | ||
| 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 на клеммниках === <!--T:34--> | |||
| | <!--T:35--> | ||
{| border="1" | |||
| клеммник || функция|| вывод sodim || GPIO ||вывод imx287 || комментарии | |||
|- | |- | ||
| | <!--T:36--> | ||
| A1 (in) || FET/ADC/'''DI''' || 126 || 0-6 || U6 || | |||
|- | |- | ||
| | <!--T:37--> | ||
| A2 (in) || R/ADC/'''DI''' || 124 || 0-7 || T6 || | |||
|- | |- | ||
| | <!--T:38--> | ||
| A3 (in) || FET/ADC/'''DI''' || 122 || 0-28 || L9 || | |||
|- | |- | ||
| | <!--T:39--> | ||
| A4 (in) || R/ADC/'''DI''' || 106 || 0-27 || P7 || | |||
|- | |- | ||
<!--T:40--> | |||
| R2 (in) || FET/ADC/'''DI''' || 130 || 0-4 || T7 || | |||
|- | |||
| | <!--T:41--> | ||
| R1 (in) || FET/ADC/'''DI''' || 128 || 0-5 || R7 || | |||
|- | |- | ||
=== GPIO | <!--T:42--> | ||
|} | |||
=== 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 ||Выход "открытый коллектор"; | |||
|- | |- | ||
| | |||
<!--T:46--> | |||
| A2 (out) || ADC/'''FET'''/DI || 102 || 0-16 || N7 ||Выход "открытый коллектор"; | |||
|- | |- | ||
| | <!--T:47--> | ||
| A3 (out) || ADC/'''FET'''/DI || 100 || 0-24 || R6 ||Выход "открытый коллектор"; | |||
|- | |- | ||
| | <!--T:48--> | ||
| A4 (out) || ADC/'''FET'''/DI || 98 || 0-20 || N6 ||Выход "открытый коллектор"; | |||
|- | |- | ||
<!--T:49--> | |||
|} | |||
=== GPIO для внутреннего использования === <!--T:28--> | |||
| | <!--T:29--> | ||
{| border="1" | |||
| вывод sodim || GPIO | |||
|GPIO number||вывод imx287 || функция | |||
|- | |- | ||
| | <!--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 | |||
|- | |||
| 82 || 3-23 | |||
||| E7 || Green LED | |||
|- | |- | ||
| 197 || 3-6 | |||
||| K5|| STAT1 (зарядка) | |||
| | |||
|- | |- | ||
| | | 198 || 1-30 | ||
||| N1 || STAT2 (зарядка) | |||
|- | |- | ||
| | | 77 || 1-27 | ||
||| P5 || питание Wi-Fi (active low) | |||
|- | |- | ||
<!--T:51--> | |||
|} | |||
=== GPIO на разъёме расширения MOD1 === <!--T:52--> | |||
<!--T:53--> | |||
[[Файл:Shild.png|300px|thumb|right| Распиновка разъема под модули расширения]] | |||
<!--T:54--> | |||
{| border="1" | {| border="1" | ||
| | | вывод sodim || GPIO | ||
|GPIO number||вывод imx287 || пин || функция | |||
|- | |||
<!--T:55--> | |||
| - || - | |||
||| -|| 3.3V || +3.3V | |||
|- | |- | ||
| | <!--T:56--> | ||
|21 || 2-21 | |||
|85|| K7 || SDA || GPIO, I2C (soft) | |||
|- | |||
|35 || 2-12 | |||
|76|| B1 || SCL|| GPIO, I2C (soft) | |||
|- | |- | ||
| | <!--T:57--> | ||
| 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 | |||
|- | |||
<!--T:58--> | |||
| - || - | |||
||| - || 5V || +5V | |||
|- | |||
| 42 ||3-11 | |||
|107|| H7 || RTS || AUART2_RTS, GPIO, I2C1_SDA, SAIF1_LRCLK | |||
|- | |||
| - || - | |||
||| -|| GND || GND | |||
|- | |- | ||
| | <!--T:59--> | ||
| 30 ||3-9 | |||
|105|| F5 || TX || AUART2_TX, GPIO | |||
|- | |||
| 32 || 3-8 | |||
|104|| F6 || RX || AUART2_RX, GPIO | |||
|- | |- | ||
| | <!--T:60--> | ||
|11 || 2-27 | |||
|91|| D2 || CS || GPIO, SPI3 Slave Select 0 | |||
|- | |- | ||
<!--T:61--> | |||
|} | |} | ||
=== GPIO | === GPIO на разъёме расширения MOD2 === <!--T:62--> | ||
<!--T: | <!--T:63--> | ||
{| border="1" | {| 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--> | |||
|} | |||
<!--T: | === GPIO на разъёме расширения ввода-вывода === <!--T:66--> | ||
<!--T: | <!--T:67--> | ||
| | {| border="1" | ||
| вывод sodim || GPIO ||вывод imx287 || пин || функция | |||
|- | |- | ||
| | |44 || 3-10 || H6 || INT || Прерывание | ||
|- | |- | ||
| 46 || 3-25 || D8 || I2C0_SDA || I2C0 аппаратный | |||
|- | |||
| 48 || 3-24 || C7 || I2C0_SCL || I2C0 аппаратный | |||
|- | |||
|} | |||
<!--T:68--> | |||
См. также [[Special:MyLanguage/Работа с GPIO|Работа с GPIO]] | |||
<!--T: | === Радио модуль === <!--T:69--> | ||
<!--T:70--> | |||
Подключен по SPI1. | |||
<!--T:71--> | |||
<!--T: | {| 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 || | ||
|- | |- | ||
|} | |||
=== | === FFC-разъём расширения === <!--T:72--> | ||
<!--T: | <!--T:73--> | ||
'''Разъём не напаян на устройствах в стандартной комплектации''' | |||
<!--T: | <!--T:74--> | ||
{| border="1" | {| border="1" | ||
| | | вывод sodim || GPIO ||вывод imx287 || пин || функция | ||
|- | |- | ||
| | |||
<!--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 | |||
|- | |||
| 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 | |||
|- | |||
|- || - || - || 15 || GND | |||
|- | |||
|- || - || - || 16 || GND | |||
|- | |- | ||
<!--T:76--> | |||
|} | |||
<!--T: | <!--T:77--> | ||
Справочная информация по тестовым ревизиям: | |||
* [[Wiren Board 5: Список GPIO (rev 5.1)]] | |||
</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 |
Справочная информация по тестовым ревизиям: