单片机几种通信协议(1)

总述

 通信的目的是,将一个设备的数据传送到另一台设备,实现硬件的扩展,而通信协议则是通信过程中遵守的规则典范,通信双方按照通信协议进行数据收发

USART串口通信

  • 波特率:串口通信的速率
  • 起始位:标志一个数据帧的开始,固定为低电平
  • 数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
  • 检验位:用于数据验证,根据数据位计算得来
  • 停止位:用于数据帧间隔,固定为高电平

 由于串口是异步通信,故需要通信双方来约定一个通信速率,比如我每隔1秒发送一位数据,那你也就得每隔1秒接收一位数据。假设当你接收的速率过快,那么你就会重复接收某些位数据。当你接受的速率过慢,那么你就会错过接收某些数据。

        当我们在发送数据的时候,我们必须要先发送一个起始位,这个起始位必须是低电平,用来打破空闲状态的高电平,使得其产生一个下降沿信号,这里的下降沿就相当于一个标志,高速接收设备,这一帧数据要开始传输,你要准备好接收数据了。同理,也就是为什么要有一个停止位,用来告诉设备我传输完数据了。可以准备开始下一帧数据的传输了,这也就是为什么要将停止位置为高电平。

        起始位固定为0,产生下降沿,表示传输数据开始。停止位固定为1,产生上升沿,表示传输数据结束。

        在串口中,使用一种叫奇偶检验的数据验证方法,奇偶检验可以用来判断数据是不是传输错误了。如果数据出错,可以选择丢弃或者要求重传。校验可以选择三种方式,无校验,奇校验、偶校验。

无校验:就是不需要对数据进行校验,如上图的左边所示。起始位、数据位、停止位三部分。
奇校验、偶校验:如上图的右边所示。起始位、数据位、校验位、停止位四部分。
如果使用奇校验,那么包括校验位在内的9位数据会出现奇数个1。如果使用偶校验,那么包括校验位在内的9位数据会出现偶数个1。

IIC通信

IIC主要特点:

通常我们为了方便把IIC设备分为主设备和从设备,基本上谁控制时钟线(即控制SCL的电平高低变换)谁就是主设备。**

IIC主设备功能:主要产生时钟,产生起始信号和停止信号

IIC从设备功能:可编程的IIC地址检测,停止位检测

IIC的一个优点是它支持多主控(multimastering), 其中任何一个能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

支持不同速率的通讯速度,标准速度(最高速度100kHZ),快速(最高400kHZ)

SCL和SDA都需要接上拉电阻 (大小由速度和容性负载决定一般在3.3K-10K之间) 保证数据的稳定性,减少干扰。

IIC是半双工,而不是全双工 ,同一时间只可以单向通信

为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是漏极开路(OD)输出或集电极开路(OC)输出。

IIC物理层总结:
I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,SCL和SDA被上拉电阻Rp拉高,使SDA和SCL线都保持高电平。

I2C通信方式为半双工,只有一根SDA线,同一时间只可以单向通信,485也为半双工,SPI和uart通信为全双工。

主机和从机的概念:

主机就是负责整个系统的任务协调与分配,从机一般是通过接收主机的指令从而完成某些特定的任务,主机和从机之间通过总线连接,进行数据通讯。

发布主要命令的称为主机

接受命令的称为从机

I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。

开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值