Перейти к основному содержимому

UART

UART2

UART2 на платах с процессором RK356x во многих программных платформах и операционных системах по умолчанию назначается системной последовательной консолью. Он может использоваться загрузчиком и операционной системой для вывода диагностических сообщений и отладочной информации на различных этапах загрузки и работы системы.
UART2 также может использоваться как обычный последовательный порт для обмена данными с ПК через USB-UART преобразователь.
При подключении модуля ELTAY RM66 к базовой плате ELTAY BASE BOARD CM4 UART2 доступен на выводах 8/10 GPIO разъема, а также на отдельной контактной группе (TX/RX/GND).

внимание

UART2 может использоваться загрузчиком и системой для вывода отладочной информации до и во время загрузки Linux, даже если в запущенной системе интерфейс перенастроен как пользовательский последовательный порт.
Полностью отключить вывод сообщений в UART2 до загрузки ядра Linux средствами операционной системы невозможно: часть сообщений формируется встроенным ROM-кодом SoC и загрузчиком (SPL/U-Boot) и выводится до передачи управления ядру. Для полного отключения таких логов требуется пересборка и перепрошивка загрузчика с отключенной отладочной консолью на соответствующих этапах загрузки.

Подключение платы к ПК

примечание

Для тестирования работы интерфейса использовалась операционная система Orangepi CM4 1.0.6 Ubuntu Focal Server Linux 5.10.160.

  1. Сборку ELTAY RM66+ELTAY BASE BOARD CM4 подключить к USB-UART преобразователю (3.3V TTL) следующим образом:

    ELTAY BASE BOARD CM4USB-UART
    TX (вывод 8)RX
    RX (вывод 10)TX
    GNDGND
  2. USB-UART преобразователь подключить к ПК. С помощью любой терминальной программы (PuTTY / TeraTerm / minicom и т.п.) подключиться к появившемуся COM порту.

  3. Подать питание на микрокомпьютер. Дождаться загрузки системы и подключиться к плате по SSH для выполнения команд и контроля работы UART (для работы требуется сетевое подключение по Wi-Fi или Ethernet).

Подключение overlay-файла

Для использования UART2 в качестве обычного последовательного порта (а не как отладочной консоли) необходимо подключить overlay-файл.

Overlay-файлы в используемой ОС находятся в каталоге /boot/dtb/rockchip/overlay/.
Для включения UART2 на процессоре RK356x используется overlay-файл rk356x-uart2-m0.dtbo.
Команда для проверки наличия нужного файла:

ls -la /boot/dtb/rockchip/overlay/rk356x-uart2-m0.dtbo

Подключение overlay-файлов производится в файле конфигурации /boot/orangepiEnv.txt. Для подключения файла необходимо:

  1. Подключиться к микрокомпьютеру и открыть файл /boot/orangepiEnv.txt для редактирования:
    sudo nano /boot/orangepiEnv.txt
  2. Убедиться, что присутствует строка описания префикса для overlay-файлов:
    overlay_prefix=rk356x
    Если строка отсутствует, нужный overlay-файл в следующем пункте следует добавлять вместе с указанием префикса, как в названии файла - rk356x-uart2-m0.
  3. Добавить overlay uart2-m0 в параметр overlays конфигурационного файла:
    overlays=uart2-m0
    Если overlays уже содержит значения, название нового файла необходимо добавить в конец через пробел:
    overlays=spi1 i2c3 uart2-m0
  4. Сохранить изменения в файле и перезагрузить устройство:
    sudo reboot

Проверка работы

Открытие порта

После загрузки микрокомпьютера необходимо определить доступное устройство:

ls -la /dev/ttyS*

Обычно используется /dev/ttyS2.

Для настройки и открытия порта используется команда

sudo stty -F /dev/ttyS2 115200 raw -echo

со следующими настройками

  • скорость 115200 бод
  • 8N1 - длина данных 8 бит, паритетность отключена, 1 стоп-бит
  • Flow control: None

Проверка передачи (ELTAY RM66 → ПК)

Для передачи данных от микрокомпьютера к ПК можно использовать команду

echo "UART2 TEST OK" | sudo tee /dev/ttyS2 > /dev/null

При этом в терминальной программе, открытой на ПК для COM порта, должна появиться строка UART2 TEST OK.

Проверка приёма (ПК → ELTAY RM66)

Для просмотра данных, принимаемых микрокомпьютером по UART, можно выполнить прямое чтение из соответствующего символьного устройства:

sudo cat /dev/ttyS2

Для отправки данных с ПК необходимо ввести какие-либо данные в терминальной программе, подключенной к COM порту. Введенные данные должны сразу же отобразиться в терминале SSH как принятые микрокомпьютером.

Для остановки прямого чтения устройства на микрокомпьютере - Ctrl+C.