网站首页 > 编程文章 正文
【I2C概述】
I2C,又称IIC是Inter-Integrated Circuit缩写,是Philips(现为NXP)上世纪80年代提出的专门用于芯片间通信的片间总线。
【I2C接口信号】
如表1所示,I2C接口总共包含两根信号线。
【I2C应用框图】
图1为I2C典型的应用框图,图中MCU A/MCU B可以通过仲裁获得主设备权限,EEPROM,ADC为从设备。I2C支持如表2所示4种速率模式
【I2C字节传输格式】
I2C同之前讲的UART/SPI接口一样也是以字节为基本单位进行传输。不同的是,I2C的传输过程中包含了主从之间的握手。
如图2所示,I2C一次字节传输中由主机产生9个SCL脉冲,前8个脉冲时主机或者从机通过数据线SDA由高到低的bit序发送数据,所有数据跳变必须发生在SCL为低电平时。最后1个脉冲用于主从之间握手,数据接收方(主机或者从机)通过控制SDA产生握手信号,如果数据接收正常则接收方将SDA拉低给出ACK指示,否则释放SDA(高电平)给出NACK指示。
在一次字节传输前有START字符代表字节传输开始,之后有STOP字符代表字节传输结束。SCL为高电平时,如果SDA从高到低跳变则为START字符,如果SDA从低到高跳变则为STOP字符。
【I2C数据传输格式】
上一节提到的I2C字节传输格式是I2C数据传输的原子操作。对于一次完整的数据传输,由多个字节传输组成。I2C数据传输有3种情形:写传输,读传输,混合传输。
写传输:如图3所示。在主机发出START之后的第1次字节传输中,主机发送7bit从机地址,1bit写指示(0)。被寻址的从机在收到第1次字节传输后回复ACK。之后主机根据需要进行多次的字节传输,向对应从机写数据。从机每一次字节传输均需要回复ACK。当主机数据发送完毕后,发出STOP指示(图中的P)告知从机本次写传输完成。
读传输:如图4所示。在主机发出START之后的第1次字节传输中,主机发送7bit从机地址,1bit读指示(1)。被寻址的从机在收到第1次字节传输后回复ACK,并接管数据线向主机传递数据,主机每收到一字节数据则向从机回复一次ACK。最后一次字节传输时,主机回复NACK并且发出STOP告知从机读传输完成。
混合传输:对同一个从机进行读写混合传输。
I2C总线下所有从机地址必须唯一,且从机地址存在特殊的保留地址,比如7’b0000 000为广播地址。所有I2C设备需要强制支持7bit地址,可选支持10bit地址。关于保留地址定义,以及10bit地址的传输格式,感兴趣的同学可以参考I2C协议文档,此处不再赘述。
【后记】
手头上最新的I2C协议版本是在2014年发布的UM10204(I2C-bus specification and user manual) Rev.6版本,如有需要的同学留言或私信我。
I2C总线上拉阻值的选择,取决于I2C总线速率以及负载电容的大小,具体计算方式可以参考协议文档。I2C总线有很多变种,如
CBUS/SMBUS/PMBUS/IPMI/ATCA/DDC总线,这些协议均在I2C基础上做一些特殊的命令扩展,通常情形下这些总线可以兼容支持I2C设备。I2C协议还定义了Ultra Fast Mode速率可以提高至5Mbit/s,但该模式应用较少本文并未涉及。
- 上一篇: 你敢信吗!酷冷至尊1100W电源不需要风扇
- 下一篇: 赛灵思FPGA原理图设计3-参考板电源时序探究
猜你喜欢
- 2025-05-11 GD32 MCU 常见外设介绍 I2C 模块介绍
- 2025-05-11 带来极致静音体验:酷冷至尊新款1100W电源采用被动散热
- 2025-05-11 CUI 的3 kW 白金前端Ac-Dc电源瞄准以太网供电(PoE)应用
- 2025-05-11 STM32单片机详细教学(二):STM32系列单片机的介绍
- 2025-05-11 赛灵思FPGA原理图设计3-参考板电源时序探究
- 2025-05-11 你敢信吗!酷冷至尊1100W电源不需要风扇
- 2025-05-11 慧易芯受邀出席“申威产品发布暨申威产业联盟发展大会”
- 2025-05-11 Vicor 最新 270V—28V DCM5614 以 96% 的效率提供 1300W 的功率
- 2025-05-11 1100W电源不需要风扇!酷冷至尊做到了
- 2025-05-11 基于STM32和GPRS的无线油井监控器*
你 发表评论:
欢迎- 最近发表
-
- 数据不丢失 从Windows 11的DEV版降级到正式版
- Win11学院:在Windows11 25905预览版中如何启用Dev Drive
- DEVC++的卸载(devcon卸载驱动)
- win11 dev 开发版 升级攻略完整版
- 最新Windows11+Windows10系统各种版本永久激活密钥以及下载链接
- 想学Python,却还记不住语法?神仙书籍 python背记手册双手奉上
- 如何用Python语言开发大型服务器程序
- 30天Python 入门到精通(python零基础入门到精通)
- 入门扫盲:9本自学Python PDF书籍,让你避免踩坑,轻松变大神!
- 学好Python需要看的4本书推荐(学python好用的书)
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)