Coo1Runner-Ⅱ器件I2C接口协议
出处:fjg9701 发布于:2008-09-18 10:03:46
I2C总线包括两个信号线,即SDA和SCL。所有通信都发生在这两个信号线上,连接到同一条总线上的设备数目受限于的总线电容。SDA和SCL都是双向的,通过上拉电阻连接到系统电源。总线空闲时,这两个总线保持高电平。在总线上的I2C设备的输出数据阶段,必须是漏极开路或是集电极开路以实现线与功能。
每个设备都有的地址,可以工作在发送模式或接收状态,也可以被配置为主设备或从设务。方设备启动总线数据传输,并产生时钟信号,总线上任何其他设备都会被视为从设备。I2C协议同时还具有仲裁机制,如果多台主设备同时申请控制总线,只有一台设备成功获取总线而不会丢失数据。
数据传输开始于一个START命令,结束于一个STOP命令。SDA在时钟SOL低电平时变化,高电平时保持稳定。START被定义为当SOL为高电平时,SDA由高到低的跳变;STOP被定义为当SOL为高时,SDA由低到高的跳变,如图所示。

如图 I2C总线的—次数据传输
每个数据包包含8位数据,后跟一个ACK位。因此数据传输共需要9个SOL,首先传输MSB。发送设备在ACK周期释放SDA,接收设备必须在过程中驱动SDA为低。如果从设备没有将SDA驱动为低,则表明其不能够接收数据,主设备将产生一个STOP状态以退出本次传输;如果主设备没有将SDA驱动为低,则表明从设备发送的是一个字节。标准I2C通信包含4部分,即起始位、从地址、数据传输和停止位。I2C协议规定了两种地址格式,即7位和10位,本设计为7位。起始位之后是7位地址,第8位是读写位,“0”为写;“1”为读。仅仅与地址相匹配的从设备在第9个SOL发一个ACK到SDA,将SDA拉低。
一旦地址匹配成功,主从之间数据传输就会建立,读/写位决定数据传输方向。主设备发一个STOP命令终止传输。然而,主设备在没有发出STOP之前也可能产生一个START信号,此情况被定义为重复开始(Repeat START)。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是氢氧燃料电池,氢氧燃料电池的知识介绍2025/8/29 16:58:56
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52









