UART、RS232、RS485、IIC的通信原理介绍

一、 UART

1. UART概念

在这里插入图片描述

2. 并行通信和串行通信

并行通信就是一次性的传输8位数据,串行通信是一位一位的传输数据。优缺点自行搜索吧。

在这里插入图片描述
在这里插入图片描述

3. 单工通信和双工通信

在这里插入图片描述

4. 波特率

在这里插入图片描述

5. 通信格式

在这里插入图片描述

5.1 起始位作用:

数据线空闲的时候规定是高电平,如果发送0xFF,则发送的为1111 1111,如果没有起始位,则无法判断什么时候开始发送的,无法区分是空闲状态还是发送的数据。所以规定发送数据之前先发送一个低电平。

5.2 数据位

数据位 低电平代表0,高电平代表1,规定从数据的低位开始发送。可以发送5-8为数据(一个字节)。如果要发送多个字节,必须一个字节一个字节的发送,当一个字节发送完成后,必须重新发送起始位,然后再发送另一个字节。(原因后面解释,但同步通信的可以连续发送多个字节,如II2C等)

5.3 校验位

校验位是防止接收的数据有误,有奇偶校验,校验和,CRC循环冗余校验等方法。想了解的自行百度吧。

5.4 停止位

停止位表示串口发送一次数据或者接收一次数据的结束。

6. 波特率

在这里插入图片描述

当发送01和0011时,怎么区别呢,这就要体现出波特率的作用了。波特率时代表每秒发送的bit,如果波特率知道了,就能计算出发送1bit需要的时间。当接收数据时,开始计时,如果低电平的时间是1bit的时间,就代表接收了一个0,如果低电平的时间是2bit的时间,就代表接收了两个0,以此区别01还是0011。
为什么发送多个字节,必须一个字节一个字节的发送,当一个字节发送完成后,必须重新发送起始位,然后再发送另一个字节。
因为采用的是异步通信,发送方和接收方的时间是不一致的,两者之间会有误差。比如发送1bit需要1s,但是接收方只计算得到了0.9s,随着发送次数的累加,当接收了10个数据时,只计算得到了9s,这时会认为只有9个数据,就造成了误差。如果当一个字节发送完成后,必须重新发送起始位,这时候会重新计时,然后再发送另一个字节,不会造成累计误差。

在这里插入图片描述
在这里插入图片描述

二、RS232

在这里插入图片描述

232连接图

在这里插入图片描述
在这里插入图片描述

三、RS485

在这里插入图片描述

RS485使用差分信号,减少了噪声信号的干扰

延长了通信距离

信号电平较低,不易破坏其他芯片

电平与TTL电平兼容

同一总线上可以连接多个从机

在这里插入图片描述
在这里插入图片描述

四、IIC

4.1 IIC总线介绍


在这里插入图片描述

4.2 IIC总线通信协议

在这里插入图片描述
在这里插入图片描述

4.2.1 IIC的起始信号和结束信号

只有主机有权限发起一次通信或者结束一次通信。

4.2.2 IIC的数据传输与应答

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 IIC的时序(主机向从机发送数据,从机向主机发送数据,主机先向从机发送数据,然后从机再向主机发送数据)

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值