如何在Raspberry Pi 3 Compute模块上使用两个UART

Rol*_*olf 5 hardware raspberry-pi3

我正在一个项目中,该项目将Raspberry Pi 3计算模块集成到硬件设计中,在PCB上PCB可以访问计算模块上的两个串行端口:

  • 一个在GPIO 14/15上带有TX / RX的串行端口(模块的引脚51/53)
  • 一个在GPIO 31/31/32/33上带有CTS / RTS / TX / RX的串行端口(模块的引脚34/36/46/48)

据我了解,BCM2835中有一个完整的16650兼容UART,称为“ PL011”,还有一个微型UART,通常用于与内部蓝牙芯片进行通信。

引导Raspbian Jesse时,我看到该/dev/ttyAMA0设备似乎在GPIO引脚14/15上进行通信,并且根据我的阅读,该通信通过PL011全UART芯片进行。我试图创建一个/boot/config.txt具有以下设备树覆盖的文件:

dtoverlay=uart1,txd1_pin=32,rxd1_pin=33
enable_uart=1
Run Code Online (Sandbox Code Playgroud)

这似乎无法为我提供/dev/ttyAMA1设备。这似乎与/boot/overlays/README文件中的说明一致,该说明指出:

Name: Uart1
Info: Enable uart1 in place of uart0
Run Code Online (Sandbox Code Playgroud)

我确实找到了微型UART的有限驱动程序,该驱动程序固定为115200波特,这似乎是使用微型UART而不是完整UART的驱动程序。

我想要做的是:无需重新设计硬件,配置“PL011”全UART使用CTS / RTS / TX / RX端口,迷你UART使用TX / RX端口,让我可以在我的应用程序中使用两个串行端口。