Coo1Runner-Ⅱ器件I2C接口协议

发布者:SHow111time最新更新时间:2011-12-22 关键字:Coo1Runner-Ⅱ  I2C接口协议 手机看文章 扫描二维码
随时随地手机看文章
  这里将说明I2C的主要通信协议,更详细的说明和时序图请参考I2C规范文档。
  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)。
关键字:Coo1Runner-Ⅱ  I2C接口协议 引用地址:Coo1Runner-Ⅱ器件I2C接口协议

上一篇:SPI-4接口的时钟方案
下一篇:CoolRunner-II IrDA部分接口

小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved