news 2026/3/12 19:34:18

串口通信的仿真与分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
串口通信的仿真与分析

串口是串行接口的简称,串行接口是采用串行通信方式的接口。串行通信是一种将需要传输的数据由低位到高位一位一位地在一条传输线上逐个传输的通信方式。

一、串行通信的数据格式

首先来了解一下串行通信的数据格式,如下图所示,串行通信的一帧数据由起始位、数据位、校验位以及停止位组成。

起始位:低电平,标志着一帧数据的开始;

数据位:数据内容,可选择为5、6、7、8位;

校验位:用于确保传输数据的正确性,提供了一种简单的错误检测机制,可分为奇校验和偶校验。

校验位的常见类型

校验位用于对数据进行简单的差错检验,常见模式有:

  • 无校验- 不添加校验位。

  • 奇校验- 校验位被设置为01,使得数据位+校验位1的总个数为奇数

    • 例:数据1011001(有4个1,偶数个),为使其为奇数,校验位应为1,最终发送1011001+1

  • 偶校验- 校验位被设置为01,使得数据位+校验位1的总个数为偶数

    • 例:同上数据1011001(4个1),已是偶数,校验位应为0

  • 标志位- 校验位恒为1

  • 空位- 校验位恒为0

注意:通信双方(单片机和上位机)的校验位设置必须完全一致,否则会导致帧错误,无法正常解析数据。

停止位:高电平,标志着一帧数据的结束。

二、异步串行通信的波特率

串行通信可以分为两种形式:同步串行通信和异步串行通信

同步串行通信:通信双方在同一时钟控制下同步传输数据;

异步串行通信:通信双方使用各自的时钟控制数据传输。

对于异步串行通信来说,虽然没有同步时钟,但是通信双方必须约定并遵循同样的设置,这就需要异步串行通信中一个重要的参数来设置,该参数即波特率

波特率即串口通信的速率,它表示每秒传输二进制数据的位数,单位是bps,即位/秒,常用的波特率有9600、19200、38400、57600和115200等。

以115200的波特率为例,即一秒传输115200个二进制数据位,那么每一位的持续时间

因此,在通信双方约定波特率为115200的情况下,只要发送方发送的每位比特位的持续时间为8.68us,那么正常情况下接收方就能准确无误地解析数据。

三、实验测试

接下来利用实验来简单验证一下上述分析:波特率为115200,一位停止位,八位数据位,无奇偶校验位,发送数据为10110101,每组发送间隔100us。

1、仿真测试

仿真测试结果如下图所示,可以看出,发送的二进制数据依次为0101011011,每个比特位持续时间为8680ns,数据发送间隔为117360-2×8680=100000ns,均符合设计要求。

2、输出波形测试

下载程序,测试对应引脚的输出波形,如下图所示,可以看出与仿真结果基本相符。

3、通信测试

通过上位机的串口调试助手接收发送的数据,通过下图所示的结果可以看出,接收到的数据为0xB5,对应的二进制数据为0b10110101,与发送端发送数据相符,通信成功。

四、数据分析

上位机正确解析出的数据是0xB5,包含的是起始位和停止位的完整串口帧数据。

以下是详细解析:

串口帧结构分析(假设8N1格式:1位起始位 + 8位数据位 + 1位停止位)

帧组成比特序列(从左到右为发送顺序)说明
起始位0标志一帧的开始,固定为低电平。
数据位(LSB First)1 0 1 0 1 1 0 1实际传输的数据,低位在前(Bit0 到 Bit7)。
停止位1标志一帧的结束,固定为高电平。

将数据位10101101LSB First规则还原为正常字节:

  • 发送顺序(LSB First): Bit0 → Bit7 =10101101

  • 正常顺序(MSB First): Bit7 → Bit0 =10110101

  • 转换为十六进制:1011 0101=0xB5

0101011011物理线缆上的完整波形。串口调试助手在接收时,会自动剥离起始位和停止位,并根据LSB First(串口标准约定)的规则,将中间8位数据10101101重组为正确的字节0xB5

所以,上位机显示0xB5是完全正确的。我们在分析串口数据的时候要特别注意串口通信比特顺序帧结构这两个关键点,注意:这是无奇偶校验的数据帧,如果加上校验位通常数据帧结构为11位,校验位紧接在数据位之后。

以最常见的配置为例,完整的串口数据帧传输顺序如下:

  1. 起始位- 固定1位,逻辑0

  2. 数据位- 通常为5-9位(最常用8位),从最低位(LSB)开始发送。

  3. 校验位- 可选的1位,紧接在数据位之后。

  4. 停止位- 1位、1.5位或2位(最常用1位),逻辑1.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/12 15:21:23

农业物联网Agent通信安全加固(零信任架构落地实践)

第一章:农业物联网Agent通信安全加固(零信任架构落地实践)在现代农业物联网系统中,大量分布在田间地头的传感器与控制设备(即Agent)持续采集环境数据并执行远程指令。这些Agent通常资源受限且部署环境开放&…

作者头像 李华
网站建设 2026/3/9 20:15:36

三相维也纳Vienna架构SVPWM整流器Matlab仿真模型探究

三相维也纳Vienna架构SVPWM整流器Matlab仿真模型文件。 PF大于0.99,THD小于3%, 输入380V输出800V纹波小于1v,功率30kw,SVPWM,羊角波马鞍波合成,中点电位平衡小于1v, 正负序分离锁相环PLL,三相输入电压不平衡处理&#…

作者头像 李华
网站建设 2026/3/8 21:51:58

Fluent 中 UDF 并行版实现振荡 3D 等直机翼气弹运动计算

Fluent计算振荡3d三维等直机翼(截面naca0012)气弹运动的算例case及用户自定义函数udf并行版 航空航天,船舶航海,土木工程必备 直升机旋翼,风力机叶片,压气机叶片颤振研究神器在航空航天、船舶航海以及土木工程领域&…

作者头像 李华
网站建设 2026/3/12 6:54:15

【三甲医院都在用的AI康复引擎】:方案实时调优的4个核心算法揭秘

第一章:医疗康复Agent方案调整的核心挑战在医疗康复领域,智能Agent的引入显著提升了患者个性化治疗的效率与精准度。然而,随着临床需求的动态变化和数据环境的复杂化,调整Agent方案面临多重核心挑战。数据异构性与隐私保护的平衡 …

作者头像 李华
网站建设 2026/3/11 5:36:28

探索Comsol中有损金属的高品质因子

Comsol有损金属的高品质因子。在科研和工程领域,我们常常会与各种复杂的物理现象和材料特性打交道。今天咱们就来唠唠Comsol里有损金属的高品质因子,这可是个相当有趣又实用的话题。 什么是高品质因子? 简单来说,高品质因子&#…

作者头像 李华