串口使用系列学习之什么是串口

本文详细介绍了串口通信的基础概念和技术细节,包括串行通信的原理、USART的作用、RS-232接口的功能及接线方式,并阐述了软件协议中波特率、起始位与停止位等关键参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

定义

  • 是一种非常通用设备通信的协议,全称串行通信接口或串行通讯接口(通常指COM接口);
  • 是一种常用于电子设备间通讯的全双工扩展接口,串口按位(bit)发送和接收字节,是采用串行通信方式的扩展接口;
  • 是一种常用于电子设备间通讯的全双工扩展接口。

传输

  串行通信,串口通讯的技术基础,指一位一位地按顺序传送数据。其特点是线路简单,只需一对传输线,即可实现双向通信,大大降低成本。适用于远距离通信,但速度较慢。

USART

  串行收发模块,串口的现实载体,负责实现串行通讯,被集成到各种计算机设备中。其中,应用最广的是 USART(Universal Synchronous/Asynchronous Receiver/Transmitter) —— 通用同/异步串行接收/发送器。
如:RS-232 D型9针连接器
在这里插入图片描述
各编号线名称以及相应的说明,如下表所示:

脚位简写意义信号说明
1DCDData Carrier Detect数据载波检测(DCD)调制解调器通知电脑有载波被侦测到。
2RXDReceiver Data接受数据(RD、RXD)接收数据。
3TXDTransmit Data发送数据(TD、TXD)发送数据。
4DTRData Terminal Ready数据终端准备(DTR)电脑告诉调制解调器可以进行传输。
5GNDGround公共接地地线。
6DSRData Set Ready数据准备好(DSR)调制解调器告诉电脑一切准备就绪。
7RTSRequest To Send请求发送(RTS)电脑要求调制解调器将数据提交。
8CTSClear To Send清除发送(CTS)调制解调器通知电脑可以传数据过来。
9RIRing Indicator振铃指示(RI)调制解调器通知电脑有电话进来。

接线方式

  RTS/CTS最初是设计为电传打字机和调制解调器半双工协作通信的,每次它只能一方调制解调器发送数据。终端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管 RTS /CTS是通过硬件达到握手,但它有自己的优势。

1、RS232的标准连线法

在这里插入图片描述

  当 A端的设备准备好后,发出 DTR(数据设备就绪)信号, 传至 B端的 RI(响铃)和 DSR(通讯设备就绪)。 这样,只要 A准备好(DTR),B端就会产生呼叫(RI)并准备好(DSR)。

  注意到 A端的RTS(请求发送)、CTS(允许发送)和 B端的 CD(载波检测)连在一起, 则说明 A一旦请求发送(RTS)将立即得到允许(CTS), 并使 B端检测到载波信号(CD)。 A端的 TXD与 B端的 RXD相连,A发送,B接收。

2、RS232的简化连线法

在这里插入图片描述

  原来 RTS和 CTS是用来询问和回答是否可以传输数据。 但在这种连接方式下,就成了纯粹告诉对方自己是否可以进行通讯。 此时 RTS和 DTR都可以用来对数据流进行控制。

  A端的 DTR(数据设备就绪)发出信号, 当 B端准备好后,B端的 DTR(数据设备就绪)向 A端的 DSR(通讯设备就绪)发出信号。 接下来就可以通过 RTS(请求发送)和 DTR(允许发送)来控制通信。

3、进一步简化(也就是以 RTS /CTS为主)

  从上面的流程可以看到,硬件流控制主要是 RTS /CTS和 DTR /DSR来控制,但是,人嘛,能懒就懒,因此现在很多时候都只是用 RTS /CTS告诉对方自己是否可以进行通讯,而直接跳过了 DTR /DSR的就绪状态检测

  在使用 RTS /CTS时,它们都是低电平有效,因此,一般在上位机中一旦打开串口,RTS会拉置高电平,然后等待数据发送,使得低电平有效

软件协议

  在RS-232的通讯中,定义了信号的软件协议标准。双方必须按照约定,以一致的通讯速率、包格式进行交互,否则将会出现数据异常。
在这里插入图片描述

1 波特率

  每秒钟传送的码元个数(注意: 不是bit位个数),严格来说,波特率描述的是单位时间内调制(数模转换)信号的能力,而不是传输速率。
拓展:
  码元,是指信息传输通道中,携带数据信息的模拟信号单元。通过不同的调制(数模转换)方式,一个码元符号可能负载多个bit位信息,所以不能说“一个码元等于一个bit”。当采用“两相调制”处理时,比特率等于波特率;
  串口的传输速率,一般由比特率(单位时间内传输的二进制代码的有效位(bit)数) 来进行衡量。

2 起始位与停止位

  每个通讯的串口数据包,都是从起始位开始,结束于停止位。起始位是一个逻辑0的数据位;而停止位可由0.5、1、1.5 或 2 个逻辑1的数据位表示,只要双方约定一致即可。

3 有效数据

  紧跟着起始位之后,便是串口数据包的主体内容,也称为有效数据,有效数据的长度可以是5、6、7、8个数据位,通讯开始前需要双方约定。

4 校验位

  校验位是一个可选的数据位,紧跟在有效数据之后,用来校验,以防止因外部干扰而导致的传输偏差。校验方法有奇校验(odd)、偶校验(even)、0校验(space)、1校验(mark)以及无校验(noparity)。

  奇校验:令传输的数据(有效数据和校验位)中1的个数为奇数(例如:某个串口数据包中,有效数据共有偶数个位为1,则校验位取“1”,使整体1的个数为奇数)
偶校验:与奇校验相反;
0校验:无论主体数据是什么,校验位保持为0;
1校验:无论主体数据是什么,校验位保持为1。

参考文章:
串口是什么
你真的了解串口 (Serial)吗?
UART串口流控制(Flow control)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunkingYang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值