UART
Rockchip 平台 UART 基于16550A 串口标准,扩展引脚 UART 信息如下
| 主板 | SOC | 平台 | 拓展引脚 |
|---|---|---|---|
| K1 | RK3568 | Rockchip | UART X4 |
| K1B | RK3568 | Rockchip | UART X2 |
| K3 | RK3562 | Rockchip | UART X3 |
| K7 | RK3576 | Rockchip | UART X5 |
| K7C | RK3576 | Rockchip | UART X4 |
| K8 | RK3588 | Rockchip | UART X5 |
Allwinner 平台 UART 兼容 16550 UARTs,扩展引脚 UART 信息如下:
| 主板 | SOC | 平台 | 拓展引脚 |
|---|---|---|---|
| K2B | H618 | Allwinner | UART X2 |
| K2C | H618 | Allwinner | UART X2 |
| K4B | T113 | Allwinner | UART X3 |
| K5C | A133 | Allwinner | UART X1 |
相关术语介绍
| 术语 | 说明 |
|---|---|
| UART | Universal Asynchronous Receiver/Transmitter |
| Console | 控制台,Linux 内核中用于输出调试信息的 TTY 设备 |
| TTY | TeleType/TeleTypewriters ,原指电传打字机,现在泛指和计算机串行端口连接的终端设备。TTY 设备还包括虚拟控制台,串口以及伪终端设备 |
| /dev/ttyS | 普通串口设备名称 |
| /dev/ttySA | Allwinner 平台串口名称 |
| /dev/ttyUSB | USB 转串口设备 |
硬件连接
UART 通信至少需要 3 根线即可工作(全双工通信):
-
TXD(Transmit Data):发送数据端,设备通过此线向外发送数据。
-
RXD(Receive Data):接收数据端,设备通过此线接收外部数据。
-
GND(Ground):地线,用于保证两个设备的电平参考一致(共地)。
两个设备之间的 UART 需要交叉连接 RX TX,GND 直连,VCC 直连(可选)。

DTS 配置
使能 UART 设备 0 为例,dts 中添加以下节点:
驱动路径
Rockchip 平台 UART 使用 8250 串口驱动:
drivers/tty/serial/8250/8250_core.c
drivers/tty/serial/8250/8250_dw.c
drivers/tty/serial/8250/8250_dma.c
drivers/tty/serial/8250/8250_port.c
drivers/tty/serial/8250/8250_early.c
Allwinner 平台 UART 使用专属串口驱动:
longan/kernel/linux-4.9/drivers/tty/serial/sunxi-uart.c
longan/kernel/linux-4.9/drivers/tty/serial/serial_core.c
stty 测试
主板配置 UART 设备 5,输入输出波特率为 115200 ,8 位数据位:
向 UART 设备 5 发送数据 kickpi :
抓取 UART 设备 5 接收到的数据:
硬件使用示例
以 K7 主板为例,介绍如何连接开发板 UART 引脚。
1. 查看主板扩展引脚图以及实际物理位置。
Note
由图可知 K7 配备五路 UART 和一路 DEBUG UART,UART8 位于引脚 17 和引脚 19。
DEBUG UART 仅用于 DEBUG 调试,不用于其他功能。

2. 查看扩展引脚电压图,可知 UART8 的电源域为 1.8V。

3. 连接相同电源域的设备。
Warning
UART 连接,TX RX 电源域必须一致!
4. UART8 电源域为 1.8V,使用两块开发板 UART8 进行连接,RX 和 TX 交叉连接,GND 直连。

RS485转换模块
RS485通讯使用芯片 UART,本章节介绍 UART转RS485模块接线(建议从KICKPI官方购买此模块)。
接线方式
RS485模块 VCC 可以使用 3.3V/5V 供电。
Warning
RS485 模块只能在3.3V电平的 UART 口使用。
Note
4PIN端连接开发板UART口接线方式为(上下对应):
主板: RX TX GND VCC
模块:RXD TXD GND VCC
3PIN端连接RS485设备,接线方式为(上下对应):
模块: A GND B
RS485 设备: A GND B

RS232转换模块
RS232通讯使用芯片UART,本章节将介绍UART转RS232模块接线(建议从KICKPI官方购买此模块)。
接线方式
RS232模块VCC可以使用3.3V/5V 供电。
Warning
RS232模块只能在3.3V电平的UART使用。
Note
4PIN端连接开发板UART,接线方式为(上下对应):
主板: TX RX GND VCC
模块:RXD TXD GND VCC
3PIN端连接RS232设备,接线方式为(上下对应):
模块: RXD GND TXD
RS232 设备: TXD GND RXD
