如何更好地去掌握I2C通信?

1
i2c通信理解
很多朋友在进行iic通信协议开发的时候比较迷茫,可能长时间没有用了,就有所忘却,也算正常,不过如果重新围着通信时序图看来看去,那还是比较麻烦的,比如iic的起始电平条件、停止电平条件、以及数据保持即更新条件等等:
虽然每个器件对iic通信的波形要求不是太相同,但iic的通信时序容忍度非常高,基本上相关参数和驱动都是通用的。 iic数据的传输过程,在scl通信同步时钟节拍的控制下,主机发送数据主动使得总线电平发生变化,供从机检测接收,而当从机接收到数据以后接着主动的拉低sda来作为应答信号通知主机,如果没有拉低则表示非应答。
之前很多朋友都不太理解iic的主机是怎么检测到从机应答的,似乎从sda线上的波形看都好像是主机发送出来的,所以在进行通信波形解析的时候注意一下。
2
iic数据帧
对于通信的应用,重要的并不是所谓的电平变化,而更多的是要了解如何传递数据帧,掌握好数据帧的传递过程和方式。
而不同厂商的数据帧稍微有所差异,比如7位地址、8位地址和10位地址,但总体上大同小异,大家可以参考对应的芯片手册进行学习,这里以最常用的7地址位跟大家介绍:
iic是一种主从通信方式,通信发起者为主机,主要熟悉三种数据帧传递过程:
1、单次或连续向从机写数据
至于通信数据域内的数据含义,由通信双方共同约定即可,也就是协议的制定。
2、单次或连续向从机读数据
读数据的过程主机发送的读写标志位发生变化,在数据部分从机主动控制总线发送数据给主机,然后主机来进行应答,刚好与iic写数据相反。
3、通讯过程读写切换
在通信过程中需要进行读写切换时不需要发送停止,而是应答以后重新发一次起始和从机地址及读写状态,接着进行下面的数据处理即可。
最后再啰嗦一下 : 对于iic总线不要忘记通信io上拉,同时注意电平上的匹配,不然可能会损坏芯片~


L-com诺通推出新型高增益8端口MIMO扇形天线
校准示波器的具体步骤
东芝发布眼镜式可穿戴终端“Wearvue™ TG-1”
实测报告:针对海外市场的AI测温 人脸识别算法该如何选型
集成函数发生器8038的工作原理,8038管脚图
如何更好地去掌握I2C通信?
中国联通正式与三家企业达成了互联网电信增值业务合作
创辅助安全历史最高分纪录!极氪001中保研碰撞测试获最高评价
双端口双极性电源
DSP大功率超声波焊接电源发生器
功耗:获取有关电源应用和电路设计技巧以更少的成本系统电源保护
小米净水器开箱评测:净化效果显著 价格合理
金属-氧化半导体外效晶体管和隔热双极晶体管的特性和使用
受到打击的PCB行业怎么样了
华为p10、p10plus售价高也是有道理的!手机单反双合体,每一拍都是大片!
eSIM加持Apple Watch Series 6火力全开
OPPO Reno5系列三款机型入网,全系支持65W快充
荧光棒原理是什么
深度解读企业级SSD的可靠性意义
ZYNQ中断使用入门基础教程