首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
  • GM-3568JHF

    • 一、简介

      • GM-3568JHF 简介
    • 二、快速开始

      • 00 前言
      • 01 环境搭建
      • 02 编译说明
      • 03 烧录指南
      • 04 调试工具
      • 05 软件更新
      • 06 查看信息
      • 07 测试命令
      • 08 应用编译
      • 09 源码获取
    • 三、外设与接口

      • 01 USB
      • 02 显示与触摸
      • 03 以太网
      • 04 WIFI
      • 05 蓝牙
      • 06 TF-Card
      • 07 音频
      • 08 串口
      • 09 CAN
      • 10 RTC
    • 四、应用开发

      • 01 UART读写案例
      • 02 按键检测案例
      • 03 LED灯闪烁案例
      • 04 MIPI屏幕检测案例
      • 05 读取 USB 设备信息案例
      • 06 FAN 检测案例
      • 07 FPGA FSPI 通信案例
      • 08 FPGA DMA 读写案例
      • 09 GPS调试案例
      • 10 以太网测试案例
      • 11 RS485读写案例
      • 12 FPGA IIC 读写案例
      • 13 PN532 NFC读卡案例
      • 14 TF卡读写案例
    • 五、QT开发

      • 01 ARM64交叉编译器环境搭建
      • 02 QT 程序加入开机自启服务
    • 六、RKNN_NPU开发

      • 01 RK3568 NPU 概述
      • 开发环境搭建
    • 七、FPGA开发

      • ARM与FPGA通讯
      • FPGA开发手册
    • 八、其他

      • 01 根目录文件系统的修改
      • 02 系统自启服务
    • 九、资料下载

      • 资料下载

08 串口

1 串口接口概述

GM-3568JHF 开发板基于瑞芯微 RK3568J 芯片设计,提供了丰富的串口接口,支持多种串行通信协议和应用场景。串口是嵌入式系统中最常用的通信接口之一,广泛应用于设备调试、数据传输、工业控制等领域。

1.1 串口接口配置

开发板上从 RK3568J 出来的串口总共有6个:

串口类型数量接口形式电气标准应用场景
RS2321个DB9 连接器RS232 电平工业设备通信
RS4852个端子接口RS485 差分工业总线通信
TTL2个排针接口3.3V TTL调试、传感器通信
TypeC Debug1个Type-C 接口USB 转 TTL系统调试

1.2 串口电气标准介绍

RS232 标准

  • 电压范围: ±3V 到 ±15V
  • 逻辑电平: 正电压表示逻辑 0,负电压表示逻辑 1
  • 传输距离: 最大 15 米(9600bps)
  • 连接方式: 单端信号传输
  • 抗干扰: 抗干扰能力一般

RS485 标准

  • 电压范围: ±1.5V 到 ±6V
  • 逻辑电平: 差分信号传输
  • 传输距离: 最大 1200 米(9600bps)
  • 连接方式: 双线差分传输(A+、B-)
  • 抗干扰: 抗干扰能力强,适合工业环境

TTL 标准

  • 电压范围: 0V 到 3.3V

  • 逻辑电平: 高电平 3.3V,低电平 0V

  • 传输距离: 一般小于 3 米

  • 连接方式: 单端信号传输

  • 应用: 主要用于板级通信和调试

  • RS232:1个

  • RS485:2个

  • TTL:2个(其中有一个在 40PIN 接口上,该串口可以接树莓派拓展板做 RS485 使用)

UART
  • TypeC(Debug):1个(该接口为 USB 转 TTL 接口,接上 TypeC 后可直接使用)
UART_7

2 连接串口

不同的接口,对应的连接方式也不一样,下面是不同串口的接法

2.1 TTL

以 USB 转 TTL 工具为例:

UART_5
  • TXD -- RXD
  • RXD -- TXD
  • GND -- GND

2.2 RS232

以 USB 转 232 工具为例:

因为是标准的 232 接口所以直接连接即可

UART_2

2.3 RS485

以 USB 转 485 工具为例:

USB 转 485-A -> 开发板-A

USB 转 485-B -> 开发板-B

如图所示:

UART_3
UART_4

2.4 串口通讯测试

使用板卡上的 TTL 串口进行实验,对应的设备文件为 /dev/ttyS4 。 对 tty 的设备文件直接读写就可以控制设备通过串口接收或发送数据,下面我们使用板卡配合 Windows 下的串口调试助手。

提示

RS485 串口已在驱动层添加自动切换方向的功能,通讯时与普通串口一样

查询串口参数修改波特率

使用 stty 工具查询串口参数

# 在开发板的终端执行如下命令
root@linaro-alip:/# stty -F /dev/ttyS4
speed 9600 baud; line = 0;
-brkint -imaxbel

使用 stty 工具修改串口参数

# 设置通讯速率,其中 ispeed 为输入速率,ospeed 为输出速率
root@linaro-alip:/# stty -F /dev/ttyS4 ispeed 115200 ospeed 115200
root@linaro-alip:/# stty -F /dev/ttyS4
speed 115200 baud; line = 0;
-brkint -imaxbel

与 PC 通讯

PC 端配置好串口调试助手后,在板卡端使用如下命令测试串口发送数据:

1)发送数据:

# 在板卡上的终端执行如下指令
# 使用 echo 命令向终端设备文件写入字符串 "Hello!"
echo Hello! > /dev/ttyS4

PC 上的串口调试助手会接收到内容

UART_6

2)接收数据:

测试接收数据,可以使用 microcom 工具:

# 在板卡上的终端执行如下指令
# 使用 microcom 命令读取终端设备文件,-s 参数可以设置波特率
busybox microcom -s 115200 /dev/ttyS4
Hello World! #PC 发送过来的数据
# microcom 命令会等待
# 使用串口调试助手发送字符串
# 板卡的终端会输出接收到的内容

3 故障排除

3.1 串口设备无法打开

问题现象: 提示 "Permission denied" 或设备不存在

解决方案:

# 检查设备节点是否存在
ls -l /dev/ttyS*

# 检查设备权限
sudo chmod 666 /dev/ttyS4

# 将用户添加到 dialout 组
sudo usermod -a -G dialout $USER

3.2 数据传输错误

可能原因:

  • 波特率不匹配
  • 数据位、停止位、校验位配置错误
  • 硬件连接问题

排除步骤:

# 检查串口配置
stty -F /dev/ttyS4 -a

# 设置正确的串口参数
stty -F /dev/ttyS4 115200 cs8 -cstopb -parenb

3.3 RS485 通信问题

注意事项:

  • 确保 A、B 线连接正确
  • 检查终端电阻配置
  • 验证地线连接
# RS485 测试命令
echo "test" > /dev/ttyS1  # 发送到 RS485 端口 1
cat /dev/ttyS2           # 从 RS485 端口 2 接收

3.4 串口冲突

解决方案:

# 查看串口使用情况
lsof /dev/ttyS*

# 终止占用串口的进程
sudo fuser -k /dev/ttyS4
在 GitHub 上编辑此页
上次更新:
贡献者: jxc, zsl
Prev
07 音频
Next
09 CAN