用户工具

站点工具


标准:bus:uart:start

串口-UART

UART是Universal Asynchronous Receiver-Transmitter通用异步收发器的缩写。

信号及连接

UART设备有两种DCE(Data Communication Equipment)和 DTE(Data Terminal Equipment)。路由器、Modem或者通讯模块一般为DCE,而打印机、计算机等终端一般为DTE。DCE和DTE、DCE和DCE、DTE和DTE之间都可以连接,但需要注意其信号定义及信号流向。

以常见的DCE和DTE连接为例,UART信号定义如下表所示1)

8线、4线、2线(不包括GND线)的连接图如下。无需硬件流控(RTS CTS),用2线连接,需要硬件流控则用4线或8线连接。

硬件流控的流程如下2)

  • 发送数据:发送器首先将RTS置为有效以通知接收器它有数据要发送,然后等待接收器将CTS置为有效。一旦RTS和CTS均置为有效,发送器就开始发送数据。发送器从LSb开始每次发送一位。发送器发送完成后,会立即发送停止信号并将RTS置为无效。只要接收器将CTS置为无效,发送器就会暂停发送。
  • 接收数据:当接收器检测到发送器已将RTS信号置为有效时,会通过将CTS信号置为有效进行响应。当接收器检测到起始位后,会开始读取线路中传入的数据,然后将该数据存入移位寄存器中。当移位寄存器已满时,接收器会将数据推入FIFO寄存器中。接收器所连接的系统后续会负责清空FIFO寄存器。如果FIFO和移位寄存器均已满,接收器会将CTS置为无效,以便为系统留出更多的时间来读取寄存器,从而避免丢失数据。
DCE DTE 特性 信号方向
名称 描述 输入输出 名称 描述 输入输出
UART_RX 数据接收端 DI TXD 数据发送端 DO DTE 发送串行数据,DCE接收 DTE→DCE
UART_TX 数据发送端 DO RXD 数据接收端 DI DCE发送,DTE 接收串行数据 DCE→DTE
UART_CTS 清除发送 DI RTS 请求发送 DO DTE通知 DCE 请求发送,DCE切换到接收 DTE→DCE
UART_RTS 请求发送 DO CTS 清除发送 DI DCE通知 DTE 请求发送,DTE切换到接收 DCE→DTE
UART_DTR DTE就绪 DI DTR DTE就绪 DO DTE准备就绪,通知DCE DTE→DCE
UART_DSR DCE就绪 DO DSR DCE就绪 DI DCE通知DTE 准备就绪 DCE→DTE
UART_DCD 载波检测 DO DCD 载波检测 DI DCE通知DTE,数据链路已连接 DCE→DTE
UART_RING 振铃指示 DO RING 振铃指示 DI DCE通知 DTE 有远程呼叫或短信息 DCE→DTE

硬件设计注意事项

上拉电阻

UART起始位(Start bit)为高电平拉低到低电平,即空闲时需要保持高电平。

一般在Tx和Rx线上都加一个上拉电阻,以保证空闲状态的高电平,避免起始位识别错误3)

来自UART的电流倒灌

当两个通讯的UART设备,一个设备断电,另一个设备仍在工作,则工作设备Tx或Rx等线上的电流,可能倒灌进未工作设备导致异常。可以通过加二极管或电压转换芯片等来隔离4)

电平转换

  • TTL 1.8/3.3/5V之间的电平转换:用三极管(400KHz以下)、MOS管(1MHz以下)搭建转换电路,或直接用转换芯片(参考 Voltage Translation Buying Guide
  • TTL和RS232之间的电平转换:MAX3221等芯片
  • TTL和RS485之间的电平转换:MAX485等芯片

协议

UART协议帧结构如下,详见DreamSourceLab:UART协议分析 > 2.协议规范

当两个设备需要通过UART协议进行通讯时,它们需要同时约定好以下内容:

  • 每一位信号的时间长度T(波特率 = 1/T,最大波特率921600)
  • 帧结构中每一项的具体位数
  • 是否有校验位,以及校验位的机制(奇/偶/..)

不同物理层的实现

常用的物理层有:TTL/CMOS电平1.8V/3.3V/5.0、RS232(单端)、RS485(差分),电平差异如下图,具体差异见DreamSourceLab:UART协议分析 > 1.2.不同的物理层实现

测试

串口的测试有两种仪器,逻辑分析仪和示波器,软件工程师看协议推荐用逻辑分析仪,硬件工程师看信号推荐用示波器。

具体详见DreamSourceLab:UART协议分析 > 3.1. 示波器vs逻辑分析仪

逻辑分析仪测试详见DreamSourceLab:UART协议分析 > 3. 使用逻辑分析仪分析UART通讯

UART通讯中的信号错误,详见TI:UART Protocol Overview

终端工具

Tera Term

Tera Term是一个免费且开源的SSH和Telnet客户端,它被广泛用于各种操作系统。

Tera Term的主要功能:

  • SSH和Telnet支持:Tera Term支持安全外壳(SSH)和Telnet协议,允许用户安全地连接到远程服务器。
  • 键盘宏:Tera Term允许用户创建和使用键盘宏,这可以自动化重复性任务并提高效率。
  • 脚本支持:Tera Term支持脚本功能,允许用户创建和运行自定义脚本,以进一步自动化任务和扩展Tera Term的功能。
  • 日志记录:Tera Term具有内置的日志记录功能,允许用户记录会话和调试连接问题。
  • 会话管理:Tera Term允许用户管理多个会话,方便地在不同的远程服务器之间切换。
  • 可自定义性:Tera Term高度可自定义,允许用户更改界面、创建自定义菜单和添加插件。

Tera Term的介绍详见Tera Term:功能强大的SSH和Telnet客户端

Tera Term下载地址SOURCEFORGE: Tera Term

脚本示例:temperatuer_query.zip

SSCOM

SSCOM免费,功能简单,方便易用,如下图。

SSCOM下载地址大虾电子网:下载SSCOM5.13串口调试软件

SecureCRT

SecureCRT功能强大,但收费,可免费试用一段时间。

官方网址VANDYKE:SecureCRT

评论

请输入您的评论. 可以使用维基语法:
A U G N H
 
标准/bus/uart/start.txt · 最后更改: 2025/09/16 18:53 由 hwwiki