В Raspberry Pi доступно несколько последовательных портов, каждый из которых управляется UART трансивером. На всех моделях (кроме Raspberry Pi 4) их 2 - UART0, UART1. В Raspberry Pi 4 в дополнение к этим UART трансиверам могут быть активированы ещё 4 - UART2, UART3, UART4, UART5 (для активации нужно прописать в конфиг /boot/config.txt - dtoverlay=uartX где x=2,3,4, enable_uart=1 для активациии UART0/1)

Типы UART в Raspberry Pi бывают 2х видов:

  • PL011 - полноценный UART во многом совместимый с форматой UART 16550 https://en.wikipedia.org/wiki/16550_UART
  • miniUART- UART с урезанным набором возможностей и некоторыми сложностями в использовании.

Таблица соответствия последовательных устройств и GPIO пинов - UART трансиверам

/dev/ttyS0	UART1 (MiniUART) TX - GPIO 14, RX - GPIO 15
/dev/ttyAMA0	UART0 (PL011) TX - GPIO 14, RX - GPIO 15 
/dev/ttyAMA1	UART2 (PL011) TX2 - GPIO 0, RX2 - GPIO 1
/dev/ttyAMA2	UART3 (PL011) TX3 - GPIO 4, RX3 - GPIO 5
/dev/ttyAMA3	UART4 (PL011) TX4 - GPIO 8, RX4 - GPIO 9
/dev/ttyAMA5	UART5 (PL011) TX5 - GPIO 12, RX5 - GPIO 15

Проверить какие выводы GPIO каким UART трансиверам соответствует можно командой

raspi-gpio funcs

Если активен Bluetooth, то TX/RX пинами GPIO14/GPIO15 управляет miniUART и подключенное к порту устройство доступно как /dev/ttyS0

Если отключить Bluetooth, прописав в конфиг /boot/config.txt - dtoverlay=disable-bt (также возможно потребуется выполнить команду sudo systemctl disable hciuart), то TX/RX пинами GPIO14/GPIO15 будет управлять PL011 UART и подключенное к порту устройство доступно как /dev/ttyAMA0

Тэги:

 

Автор:

Комментариев: 0

Ваш комментарий

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

© Сообщество пользователей RaspberryPi 2021