Здравствуйте!
Для контроллера WB5 ищу модуль расширения WBE-DI-DR-3, может у кого-то завалялся?
Здравствуйте!
Для контроллера WB5 ищу модуль расширения WBE-DI-DR-3, может у кого-то завалялся?
Также рассматриваю возможность “прикрутить” модуль WBE2-DI-DR-3 через самодельный переходник к пятой модели контроллера. Совместимы ли эти модули на аппаратном уровне? На внешний вид схемотехники модулей практически не отличаюся.
да, совместимы
По-моему у нас остались ещё на складе. Позвоните пожалуйста в рабочее время по телефону или напишите запрос на почту. Контакты - решения для автоматизации
Я сначала так и сделал, утверждают что на складе таких модулей нет.
Прикрутил модуль для WB6 к WB5. Вот что получилось
модуль WBE2-DI-DR-3 с самопальным переходником
вот так всё это безобразие располагается в корпусе контроллера
но вот проблема все равно осталась, теперь программная
Коллеги, отреагируйте плиз на мою проблему, что не так с настройкой модуля, куда дальше копать? Может отдельную тему мне создать по этому вопросу?
Покажите версии
dpkg -s wb-hwconf-manager
Package: wb-hwconf-manager
Status: install ok installed
Priority: extra
Section: misc
Installed-Size: 365
Maintainer: Evgeny Boger boger@contactless.ru
Architecture: all
Version: 1.38.3
Depends: ucf, wb-utils (>= 2.1.2), wb-configs (>= 1.63), perl, jq, tcc, device-tree-compiler (>= 1.6.0-1), linux-image-wb6 (>= 4.9+wb20201021233713) | linux-image-wb2 (>= 4.9+wb20200925234629), mqtt-tools (>= 1.1.1), wb-mqtt-dac (>= 1.1), wb-rules-system (>= 1.6.8)
Breaks: wb-homa-adc (<< 1.14.2), wb-mqtt-confed (<< 1.0.2), wb-mqtt-homeui (<< 1.6.1)
Conffiles:
/etc/init.d/wb-hwconf-manager 5d64ded12deba13b2aa7843f4a6986d0
/etc/wb-configs.d/02wb-hwconf-manager 57b22000bd3e5e02eefaec1705662f8f
Description: Provides infrastructure for hardware re-configuration via Device Tree overlays
Давайте проверим аппаратно:
https://wirenboard.com/wiki/Работа_с_GPIO
То есть можно прочитать состояния именно GPIO.
root@wirenboard-AIAMG5BX:~# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/80018000.pinctrl:gpio@0, 80018000.pinctrl:gpio@0:
...
gpio-22 ( |sysfs ) in lo IRQ
gpio-23 ( |sysfs ) in lo IRQ
...
gpiochip2: GPIOs 64-95, parent: platform/80018000.pinctrl:gpio@2, 80018000.pinctrl:gpio@2:
...
gpio-84 ( |sysfs ) in lo IRQ
...
направление
root@wirenboard-AIAMG5BX:~# cat /sys/class/gpio/gpio22/direction
in
контакт незаземлен
root@wirenboard-AIAMG5BX:~# cat /sys/class/gpio/gpio22/value
0
контакт заземлен
root@wirenboard-AIAMG5BX:~# cat /sys/class/gpio/gpio22/value
0
для gpio23 и gpio84 ситуация аналогичная.
ЗЫ. кстати, на страничке GPIO для MOD-2 O3 указано с ошибкой, хотя может быть это значение неактуально для моей ревизии контроллера, в любом случае кмк нужно или поправить или дополнить страничку.
На мой взгляд тот факт, что логические уровни программно не меняются, не удивителен, потому что они не меняются и аппаратно (практически не меняются, подключал осцилограф к RX, TX, RTS), происходит аппаратный конфликт выхода модуля и присутствующих напряжений на вышеуказанных пинах.
У вас WB5 какой ревизии?
gpio по ревизиям описаны здесь:
https://wirenboard.com/wiki/GPIO
Похоже что gpio неверно настроены
вывод sodim | GPIO | GPIO number | вывод imx287 | pinmux pad name | пин | функция |
---|---|---|---|---|---|---|
- | - | - | 3.3V | +3.3V | ||
34 | 0-22 | 22 | M8 | MX28_PAD_GPMI_RDY2 | SDA | GPIO, I2C SDA(soft), CAN0 TX |
36 | 0-23 | 23 | L8 | MX28_PAD_GPMI_RDY3 | SCL | GPIO, I2C SCL(soft), CAN0 RX |
14 | 2-17 | 81 | C3 | MX28_PAD_SSP2_MOSI | MOSI | GPIO, SPI MOSI (SSP2) |
16 | 2-18 | 82 | B3 | MX28_PAD_SSP2_MISO | MISO | GPIO, SPI MISO (SSP2) |
10 | 2-16 | 80 | A3 | MX28_PAD_SSP2_SCK | SCK | GPIO, SPI SCK (SSP2) |
- | - | - | 5V | +5V | ||
63 | 3-15 | 111 | K6 | MX28_PAD_AUART3_RTS | RTS | AUART3_RTS, GPIO, CAN1_RX |
- | - | - | GND | GND | ||
53 | 3-13 | 109 | L5 | MX28_PAD_AUART3_TX | TX | AUART3_TX, GPIO, CAN0_RX |
55 | 3-12 | 108 | M5 | MX28_PAD_AUART3_RX | RX | AUART3_RX, GPIO, CAN0_TX |
23 | 2-20 | 84 | D3 | MX28_PAD_SSP2_SS1 | CS | GPIO, SPI Slave Select (SSP2) |
А вот такая конфигурация (выжимка) в /etc/wb-homa-gpio.conf
{
"name": "MOD2_IN1",
"gpio": 22,
"direction": "input",
"inverted": false
},
{
"name": "MOD2_IN2",
"gpio": 23,
"direction": "input",
"inverted": false
},
{
"name": "MOD2_IN3",
"gpio": 84,
"direction": "input",
"inverted": false
}
поменял номера пинов на 109, 108 и 111 соответственно, теперь:
Так, а эти же номера GPIO еще где-то используются? Возможно - они сконфигурированы как выходы.
Так, значит в /usr/share/wb-hwconf-manager/slots/wb55-mod2.def стоят неверные?
root@wirenboard-AIAMG5BX:~# cat /usr/share/wb-hwconf-manager/slots/wb55-mod2.def
#define SLOT_ALIAS mod2
#define SLOT_RX (AUART3_RX, 3, 12)
#define SLOT_TX (AUART3_TX, 3, 13)
#define SLOT_RTS (AUART3_RTS, 3, 15)
#define SLOT_SDA (GPMI_RDY2, 0, 22)
#define SLOT_SCL (GPMI_RDY3, 0, 23)
#define SLOT_MOSI (SSP2_MOSI, 2, 17)
#define SLOT_MISO (SSP2_MISO, 2, 18)
#define SLOT_SCK (SSP2_SCK, 2, 16)
#define SLOT_CS (SSP2_SS1, 2, 20)
#define SLOT_I2C_PINCTRL &mod2_i2c_pins_gpio
#define SLOT_CS_GPIO_PINCTRL &mod2_cs_pins_gpio
#define SLOT_UART_GPIO_PINCTRL &mod2_uart_pins_gpio
#define SLOT_SSP_ALIAS &ssp2
#define SLOT_SPI_PINCTRL &spi2_pins_a_nocs &mod2_cs_pins_spi
#define SLOT_SPI_REG 1
#define SLOT_UART_ALIAS &auart3
#define SLOT_CAN_PINCTRL &can0_pins_a &mod2_uart_pins_gpio
#define SLOT_CAN_ALIAS &can0
похоже что значения в этом def файле нормальные
Походу дело в подключении модуля
root@wirenboard-AIAMG5BX:~# cat /usr/share/wb-hwconf-manager/modules/wbe-di-dr-3.dtso
...
pinctrl-0 = <SLOT_I2C_PINCTRL SLOT_CS_GPIO_PINCTRL>
...
в WB6 модуль WBE2-DI-DR-3 подключается к TX, RX, RTS, а в WB5 к SDA, SCL, CS - проверю эти пины, отпишусь
Дело действительно оказалось в неправильном подключении модуля (не к тем пинам подключил выходы).
Для тех кому вдруг понадобиться костылять такое же подключение модуля WBE2-DI-DR-3 к WB5 в помощь следующая табличка