iic通信原理_单片机通信协议

单片机通信协议

本期我们想介绍一下单片机的通信协议。什么是通信协议呢?通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。

然而,刚才的定义只是对广义的通信协议的介绍,单片机的通信协议一般只涉及电路板之间的数据传输。那么话不多说,我们一起来看看吧。

一、RS-232通信协议

RS232(异步传输标准接口),是目前最常用的通讯接口之一,也称串口或串行通讯接口。通常RS232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现。下图是DB-9的接口示意图。

0f3f1b22ce695df7bf3e89f23e998e10.png

而常用的串口,其实核心的引脚只有两个:发送数据TXD和接收数据RXD。串行通信,顾名思义,就是发送一串数据。数据一个一个的按照固定的时序从主机的TXD引脚处发送出去,由从机的RXD引脚处接收到。而异步又指什么呢?这是指发送和接收这两个过程不是遵循同一个时钟,主机发送后,从机可能经过一段时间后才接收到,不必与主机保持同步。

0ad0dc44e2f747ab7a25cfdd1658e371.png 5b3ca6d55c84cbaa81ac20f66a0db3fd.png

二、RS-485通信协议

RS232有一些缺点如接口的信号电平值较高(+/-12V),易损坏接口电路的芯片;传输速率较低;接口使用共地传输容易产生共模干扰;传输距离有限等等。而RS485可以与RS232互补,弥补这些不足。RS485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好;同时RS485的传输速率较高,并且传输长度可以达到2000米以上。图中列出了RS485通信电路原理图。

bb8fa20ddb822f73df414c4e59ce1e84.png

三、IIC通信协议

I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由 NXP(原 PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机。

其实I2C是一个串行总线的应用之一,I2C是由一条时钟线SCL(serial clock)和一条数据线SDA(serial data I/O)组成的同步串行两线通信方式。IIC总线上可以挂多个器件,而每个器件都有唯一的地址,这样可以标识通信目标。数据的通信的方式采用主从方式,主机负责主动联系从机,而从机则被动回应数据。

I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。SCL为高电平期间,数据线上的数据必须保持稳定,只有SCL信号为低电平期间,SDA状态才允许变化。

a28e2ee5a5fad7458f8f9486075134a2.png 6dd9e67f787a3790a03b87cb1d1ca31a.png

实际上,最基本的信号就是起始信号、终止信号、应答信号、非应答信号以及普通的信息信号。以上是前四个信号的时序图。具体的过程大概可以描述为这样:首先,由主机发送起始信号+从机地址+0,这表示主机开始向某个从机发送消息;随后从机需要将应答信号发送给主机回应,以表示自己准备好接收数据了;然后主机才能发送数据给从机,每个数据帧过后,从机必须发送应答信号给主机,主机才会继续发送数据给从机;最后,当从机发送非应答的时候,主机会发送终止信号表示自己停止发送数据,I2C总线变成空闲状态。

A表示answer 而表示not answer。S表示start,P表示pause

1ed9cf14359d309aa72547916838fa75.png

一、SPI通信协议

SPI是指串行外设接口(Serial Peripheral Interface),是Motorola公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。通常SPI要求4根线,分别是MOSI(master output slave input)、MISO(master input slave output)、SCLK(serial clock)、CS(chip select)。

当发送和接受数据的工作都准备好了,只要有时钟 SCLK,就发送数据,没有时钟就不发送,而且一个时钟周期发送一位(bit)数据,所以发送数据的快慢由时钟频率来控制。至于时钟和数据的相位没有特别严格的要求,SPI数据的变化是一个时钟周期一次,我们可以根据需求对时钟的极性和相位做调整,看看是在时钟上升沿还是下降沿来发送数据,还有停止发送时时钟的极性,是保持高电平还是低电平。另外在多机通信时, SPI 只是简单的通过一个片选信号(由CS线发送)来选择哪个设备占用总线,并不需要发送从机地址。

66a6f2d950295ef6677b37d976972644.png

它相较于I2C的最大优点就是通信简单,数据传输速率快,缺点也是显而易见,没有应答机制确认是否接收到数据。

除了这些通讯协议外,还有CAN通信等等。这些通讯方式各有优劣,熟练掌握运用这些通信协议,对于完成一个项目十分重要。另外提醒萌新,我们舞蹈机器人基地电子组的考核中会涉及51单片机的串口通信和IIC通信哟,感兴趣的同学可以提前学习,运用通信协议实现设备的信息交互哦。

967fd3e37f30e806d72b6cdf5317f590.png 关注西工大舞蹈机器人基地 获得基地最新资讯

f50428a6606796a82396f3898cdbb8a7.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值