欢迎光临
我们一直在努力

全志 T527 UART 调试指南:从电平标准到收发验证

全志 T527 UART 调试指南:从电平标准到收发验证

从 BSP 工程师视角梳理 UART、TTL、RS-232、RS-485 以及 T527 平台的调试方法。

机器狗生产车间封面

1. 调试前:先理解 UART

UART(Universal Asynchronous Receiver/Transmitter)是通用异步收发传输器。数据按位串行传输,属于异步通信,同时支持全双工:发送和接收可以同时进行。

USART 比 UART 多了同步通信能力,但多数工程会把 USART 当作 UART 使用。开发板或产品上,UART 接口通常标为 serial 或 COM。

容易混淆的几个概念:

  • UART / COM:更偏向控制器或物理接口的称呼;
  • TTL / RS-232 / RS-485:规定电气特性和电平标准;
  • UART 串口在嵌入式中的典型用途是打印调试信息(如 uart0)和连接 GPS、蓝牙等模块。

2. UART 帧格式

一次 UART 传输通常包含以下部分:

字段作用
起始位 发送逻辑 0,表示一帧开始
数据位 通常为 5~8 位,常见配置为 8 位
校验位 可选,用于检测传输错误
停止位 标记字符结束

常见波特率有 9600、19200 和 115200。波特率表示每秒传输的 bit 数,双方必须使用一致的串口参数。

UART 波形与帧格式

3. UART 如何发送一个字节?

以字符 A 为例:它的 ASCII 值是 0x41,二进制表示为 01000001。发送过程可以概括为:

  • 双方约定波特率和帧格式;
  • UART 将线路从空闲高电平拉低,保持 1 bit 时间,发出起始位;
  • 发送端按约定顺序驱动 TxD 数据位;
  • 接收端在对应采样时刻读取 RxD 电平;
  • 数据位、校验位和停止位完成后,一帧传输结束。
  • UART 收发数据路径

    在芯片内部:

    • 发送:CPU 将数据写入内存映射寄存器/FIFO,UART 移位器逐位发送,完成后产生中断。
    • 接收:UART 逐位采样并移入接收移位器,再写入 FIFO 和内存,完成后产生中断。

    UART 电平标准

    4. TTL、RS-232、RS-485 有什么区别?

    4.1 TTL

    TTL 通常只需 TxD、RxD 和 GND 三根线:

    • ARM TxD → PC RxD;
    • PC TxD → ARM RxD;
    • 双方共地。

    TTL 电平简单,但抗干扰能力弱、传输距离短,容易在复杂环境中出现数据不可靠。

    4.2 TTL 转 RS-232

    TTL 转 RS-232 电路

    RS-232 使用单端信号,典型规定为:

    • 逻辑 1:-5 V ~ -15 V;
    • 逻辑 0:+5 V ~ +15 V。

    常见转换芯片有 MAX232、SP3232。它适合设备调试和短距离连接。

    4.3 TTL 转 RS-485

    TTL 转 RS-485 电路

    RS-485 使用差分信号:

    • 逻辑 1:B 线电压高于 A 线(通常 B-A ≥ 200 mV);
    • 逻辑 0:A 线电压高于 B 线(通常 A-B ≥ 200 mV)。

    差分传输能抑制共模干扰,适合工业环境和多设备联网。常见转换芯片包括 CA-IS3082WX、MAX485。

    TTL、RS-232、RS-485 对比

    4.4 三种标准对比

    特性TTLRS-232RS-485
    本质 芯片级电平 短距离点对点标准 中远距离总线标准
    信号 0~5 V 单端 ±3~±15 V 单端 A/B 差分
    抗干扰
    典型距离 ≤ 1 m ≤ 15 m ≤ 1200 m
    节点 点对点 点对点 最多 32 节点(可扩展)
    典型场景 板载芯片间通信 调试、短距离连接 工业总线、多设备联网

    T527 UART 硬件设计

    5. T527 硬件设计要点

    在 RS-485 自动收发电路中,IS3082WX 的 DE(Driver Output Enable)和 nRE(Receiver Output Enable)控制发送与接收方向。

    5.1 发送

    RS-485 发送路径

  • 将 DE 置高;
  • UART 通过 TxD 发送数据;
  • 转换芯片把 TxD 转成 A/B 差分信号;
  • 发送结束后将 DE 置低。
  • 5.2 接收

    RS-485 接收路径

  • 将 nRE 置低;
  • 转换芯片根据 A/B 电压差驱动 RO;
  • RO 接入 UART 的 RxD。
  • RS-485 自动收发控制

    若 DE 和 nRE 共用一个控制引脚,可简化为:发送时 DE 高 → 发送 → DE 低;接收时无需额外切换。

    T527 UART 软件配置

    6. 软件配置与驱动路径

    T527 平台可从 BSP 驱动路径开始检查:

    bsp/drivers/uart/sunxi-uart.c

    根据硬件连接分别核对 TTL、RS-232 和 RS-485 的设备树/引脚复用配置,尤其注意 UART 引脚是否配置为正确的复用功能。

    UART 调试流程

    7. 调试流程

    7.1 查看系统初始化的串口

    系统启动后,先确认内核实际初始化了哪些串口:

    dmesg | grep tty

    如果输出与设备树和硬件连接一致,再进入收发功能验证。

    7.2 TTL / RS-232 短接测试

    UART 回环测试

    下面以 ttyAS4 为例,设置 raw 模式、关闭回显并配置为 115200-8N1:

    # 设置 raw 模式并关闭回显
    stty -F /dev/ttyAS4 -echo raw

    # 115200 波特率,8 数据位,无校验
    stty -F /dev/ttyAS4 ispeed 115200 ospeed 115200 cs8 -parity

    # 后台读取串口
    cat /dev/ttyAS4 &

    # 发送测试数据
    echo 123456 > /dev/ttyAS4

    TTL 与 RS-232 可以通过短接 TxD/RxD 做基础回环验证。

    7.3 RS-485 对接测试

    RS-485 是差分对,不能通过简单短接完成验证,可以用两路串口对接:

    # 配置 UART6
    stty -F /dev/ttyAS6 -echo raw
    stty -F /dev/ttyAS6 ispeed 115200 ospeed 115200 cs8 -parity

    # 配置 UART7
    stty -F /dev/ttyAS7 -echo raw
    stty -F /dev/ttyAS7 ispeed 115200 ospeed 115200 cs8 -parity

    UART6 发送、UART7 接收:

    cat /dev/ttyAS7 &
    echo 123456 > /dev/ttyAS6

    反向验证:

    cat /dev/ttyAS6 &
    echo 123456 > /dev/ttyAS7

    8. 调试总结

    从 BSP 工程师角度看,UART 的基础收发可以归结为 TX/RX 两根数据线,最容易出问题的是引脚复用和电平标准。完成配置后,按“查看 tty → 确认参数 → 短接或对接 → 收发验证”的顺序排查,通常能快速定位问题。

    赞(0)
    未经允许不得转载:171主机测评 » 全志 T527 UART 调试指南:从电平标准到收发验证
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址