发 帖  
原厂入驻New

[经验] IIC笔记

2020-1-10 10:48:08  5848 STM32 单片机
分享
3
第1章 IIC
1. IIC是什么?
2. IIC跟串口的区别
3. IIC的通讯协议
4. IIC通讯协议的基本信号
1.1 IIC的介绍
IIC是一个数据总线,一种通讯协议,通讯接口
IIC的接线2根:数据线和时钟线,分别是SDASCL.
由于只有一根数据线,可以发送和接收数据,属于半双工通讯方式。
1.1.1 IIC的描述
IICinter integrated circuit集成电路总线)。IIC是飞利浦公司发明的一种应用于芯片与芯片之间(板间通信,低速通信,抗干扰性差)进行数据交互的一种串行同步半双工(有时钟总线,只有一根数据总线)通信协议
1.1.2 IICUSART的区别
相同点:  都是一种通讯接口、通讯协议、通讯总线,抗干扰差。
不同点:
通讯方式: IIC是同步通讯、半双工            USART是同步和异步(常用)、全双工
通讯速率:IIC 100KHz400KHZ3.4MHz                                 USART波特率9600115200
应用场合:IIC是用在板间通讯,短途设备通讯         USART可以用在板与其它设备通讯
数据线:  IIC一根数据线:SDA                                                     USART: 两根数据线,TX RX
数据位:  IIC的数据位:8位               USART数据位:5~8位,常用8位数据位
串口
IIC
同步异步
有同步和异步
同步
接线
GNDRXTX
SCKSDA
一对一通信
一(主机)对多(从机)通信
通信速度
波特率(9600,115200
100KHz400KHZ3.4MHz(比串口快一点)
应用场合
板间通信,短途设备通信
板间通信
数据位
5~8
8
低速通信,抗干扰性差
1.1.3 IIC的接线
1.png
   
1. 一个主机控制多个从机
2. 时钟线只能是主机控制
3. 由于SDA既要输入也要输出,所以配置为开漏输出,并且外接上拉电阻
1.2 IIC通讯时序
2.png
1) IIC通信需要起始条件和结束条件;
2) 一个时钟周期发送一个二进制位,高位在前;
3) 在发送完一个字节的数据后,有一个应答位(应答和非应答);
1.2.1 通讯协议的基本信号
1.起始信号:SCL为高电平,SDA由高变低,产生一个起始信号
2.停止信号:当SCL为高电平,SDA由低变高,产生一个停止信号
3.数据传输:所有的数据准备都应该在SCL为低电平期间
4. 应答信号:在第9个时钟的高电平期间,SDA为低电平表示应答,SDA为高电平表示非应答。
            需要IO的切换(SCL为低电平,SDA为高电平
5. 起始信号和停止信号都是主机发送,从机不能发送。
1.3 总线时序
3.png
1.3.1 基本时序编写
1. 起始信号函数
2. 结束信号函数
3. 发送字节函数,同时接收是否有应答
4. 接收字节函数,同时发送应答

相关经验

xiaojw1986 2020-3-18 19:21:54
厉害,受益非浅,学习了
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表