#10 STM32MP135 | 📡 UART5, RS232, RS422, RS485 и CAN
Автор: KONTAKT`S
Загружено: 2026-02-05
Просмотров: 5
Описание:
Покупал плату тут https://megabonus.com/y/2gf31
===
https://github.com/AIDevelopersMonste...
===
Практика работы в Linux и реальные отличия интерфейсов
В этом видео мы разбираем последовательные интерфейсы платы ECB10-135A5M5M-I (STM32MP135) с практической точки зрения:
как они реализованы аппаратно, чем отличаются и как с ними работать в Linux.
🔧 Аппаратная архитектура (ключевой момент)
🔹 USART через UIO
На плате используется один аппаратный USART, выведенный через UIO-разъём.
В Linux доступен как стандартное устройство:
/dev/ttySTM*
Именно этот USART является источником данных для всех режимов.
🔹 RS232 / RS422 / RS485 — аппаратный выбор режима
Физический интерфейс выбирается джампером на плате:
RS232 — однотактные уровни
RS422 — дифференциальный point-to-point
RS485 — дифференциальная шина (half-duplex)
📌 ПО и драйвер не знают, какой режим выбран
📌 В Linux устройство остаётся тем же
📌 Меняется только физический уровень сигнала
🐧 Примеры работы в Linux (USART / RS232 / RS422 / RS485)
🔹 Проверка наличия порта
ls -l /dev/ttySTM*
🔹 Проверка, какой USART активен
cat /proc/tty/driver/stm32-usart
🔹 Базовая настройка порта
(подходит для RS232 / RS422 / RS485)
stty -F /dev/ttySTM1 115200 raw -echo -crtscts
115200 — скорость
raw — без обработки
-crtscts — без аппаратного flow control
(для RS485 обычно обязательно)
🔹 Передача данных
echo "HELLO USART" /dev/ttySTM1
🔹 Приём данных
cat /dev/ttySTM1
(или в другом терминале / на другом устройстве)
🔹 Тест петли (RX ↔ TX замкнуты)
echo "LOOPBACK TEST" /dev/ttySTM1
cat /dev/ttySTM1
Если текст вернулся — USART и физический уровень работают.
🔹 Работа через minicom
minicom -D /dev/ttySTM1 -b 115200
Полезно для:
отладки
ручного тестирования
проверки внешних устройств
🔌 Особенности RS485
Для RS485 важно помнить:
Передача и приём по одной линии
Направление управляется трансивером (DE/RE)
В Linux это прозрачно, если управление сделано аппаратно
📌 Если связи нет:
проверь джампер
проверь терминацию
проверь, что на линии только один передатчик
🚗 CAN в Linux (SocketCAN)
CAN — это уже шина с протоколом, а не просто UART.
🔹 Проверка интерфейса
ip link show can0
🔹 Настройка скорости
ifconfig can0 down
ip link set can0 type can bitrate 1000000
ifconfig can0 up
🔹 Приём данных
candump can0
🔹 Передача данных
cansend can0 123#11.22.33.44
🔹 Loopback-тест (без железа)
ifconfig can0 down
ip link set can0 type can bitrate 1000000 loopback on
ifconfig can0 up
candump can0
cansend can0 123#DE.AD.BE.EF
Если кадр появился — драйвер и CAN-контроллер работают.
🎯 Главное, что нужно запомнить
USART — логический интерфейс
RS232 / RS422 / RS485 — физические уровни одного USART
Режим выбирается джампером, а не программой
CAN — отдельная интеллектуальная шина с аппаратной логикой
В Linux всё доступно стандартными средствами (tty, stty, minicom, can-utils)
📘 Плата и документация:
https://github.com/AIDevelopersMonste...
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: