串口学习笔记

串行接口(Serial port) 又称”串口”, 主要用于串行式逐位数据传输.

串口曾经被广泛用于连接计算机和终端设备和各种外部设备. 常说的串口连接 通常特指那些与 RS-232 标准兼容的硬件或者调制解调器的接口.

某些计算机使用一个叫做 UART 的集成电路来作为串口设备. 这个集成电路可以进行 字符和异步串行通讯序列之间的转换, 并且可以自动地处理数据的时序. 而某些低端 设备则会让 CPU 直接通过输出针来传送数据. 这种技术叫做 bit-banging. 串口, RS-232 和 UARTs 基本上总是在同一个语境中出现.

DTE 和 DCE

DTE(Data Terminal Equipment. DTE 通过 DCE(例如, 调制解调器) 连接到一个 数据网络上, 并且通常使用 DCE 产生的时钟信号, 包括计算机, 终端, 串口打印机等设备.

DCE(Data Communication Equipment), 通常只有调制解调器(MODEM)和某些交换机 COM 口是DCE.

从一方面看 DCE 负责在传输介质或网络上收发比特, 一次一个比特. 在另一方面看, DCE 必须与 DTE 相互交互. 一般来说, 这要求对数据和控制信息进行交换, 这是通过一套交换电路的线路完成的.

DCE 提供时钟频率, DTE 不需要, 而当连接串口时, 必须有一台设备提供时钟频率.

RS-232

RS-232 标准最初是远程通信连接数据终端设备 DTE(Data Terminal Equipment) 与数据通信设备 DCE(Data Communication Equipment) 而制定的. 因此这个标准的制定, 并未考虑计算机系统的应用要求. 但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了   其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。

接口信号

RS-232C 规标准接口有25条线, 4条数据线, 11条控制线, 3条定时线, 7条备用和 未定义线, 常用的只有9根, 它们是:

联络控制信号线

DSR
数据装置准备好(Data set ready-DSR), 有效时 ON 状态,表明 MODEM 处于可以使用的状态.
DTR
数据终端准备好(Data set ready-DTR), 有效时 ON 状态, 表明数据终端可以使用.

这两个信号有时连到电源上, 一上电就立即有效. 这两个设备状态信号有效, 只表示设备本身可用, 并不说明通信链路可以开始进行通信了, 能否开始进 行通信要由下面的控制信号决定:

RTS

请求发送(Request to send-RTS), 用来表示 DTE 请求 DCE 发送数据, 即当终端要发送数据时, 使该信号有效(ON状态), 向 MODEM 请求发送. 它用来控制 MODEM 是否要进入发送状态.

CTS

允许发送(Clear to send-CTS), 用来表示 DCE 准备好接收 DTE 发来的数据, 是对请求发送信号 RTS 的响应信号. 当 MODEM 已准备好接收终 端传来的数据, 并向前发送时, 使该信号有效, 通知终端开始沿发送数据线 TxD 发送数据. 在全双工系统中, 因配置双向通道, 故不需要 RTS/CTS 联络信号, 使其变高.

RLSD

接收线信号检出(Received Line detection-RLSD), 用来表示 DCE 已接通通信链路, 告知 DTE 准备接收数据. 当本地的 MODEM 收到由通信 链路另一端(远地)的 MODEM 送来的载波信号时, 使 RLSD 信号有效, 通知终端准备接收, 并且由 MODEM 将接收下来的载波信号解调成数字两数据后, 沿接收数据线 RxD 送到终端, 此线也叫做数据载波检出 (Data Carrier dectection-DCD)线.

RI
振铃指示(Ringing-RI), 当 MODEM 收到交换台送来的振铃呼叫信号时, 使该信号有效(ON 状态), 通知终端, 已被呼叫.

数据发送与接收线

TXD

发送数据(Transmitted data-TxD), 通过 TxD 终端将串行数据发送到 MODEM, (DTE→DCE).

RXD
接收数据(Received data-RxD), 通过 RxD 线终端接收从 MODEM 发来的串行数据, (DCE→DTE).

地线

有两根线 SG, PG: 信号地和保护地信号线, 无方向.

通信规则

控制信号线何时有效, 何时无效的顺序表示了接口信号的传送过程. 例如, 只有当 DSR 和 DTR 都处于有效(ON)状态时, 才能在 DTE 和 DCE 之间进行传送操作. 若 DTE 要发送数据, 则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态 的回答后, 才能在 TxD 线上发送串行数据. 这种顺序的规定对半双工的通信线路特别有用, 因为半双工的通信才能确定 DCE 已由接收方向改为发送方向, 这时线路才能开始发送.

UART

未完待续

http://www.lammertbies.nl/comm/info/serial-uart.html

Resources

串口通讯—RS-232-C详解

Linux串口编程详解

Serial UART information

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦