- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.8 I2C接口 I2C总线规范——传输协议 主机发送数据到从机 I2C总线规范——传输协议 主机读取从机数据 复合格式 4.8 I2C接口 寄存器描述 4.8 I2C接口 使用I2C接口的注意要点 4.8 I2C接口 I2C应用示例 * SCL SDA CPU A CPU B LCD驱动器 E2PROM ADC 概述 I2C总线是Philips推出的串行传输总线,它以2根连线实现了完善的半双工同步数据传送,可以极方便地构成多机系统和外围器件扩展系统。 在数据传送过程中,必须确认数据传送的开始和结束,这通过起始和结束信号识别。 起始信号 结束信号 SDA SCL S P S 从器件地址 R/W … 第一字节 发送起始信号后传送的第一字节数据具有特别的意义,其中前七位为从机地址,最后一位为读写方向位(0表示写,1表示读)。 总线时序 总线时序 I2C总线数据传送时,每传送一个字节数据后都必须有应答信号(A)。主控器接收数据时,如果要结束通信时,将在停止位之前发送非应答信号( )。 SDA SCL 应答信号 非应答信号 A A 4.8 I2C接口 主机 从机 主机发送起始信号,开始数据传输 对从机进行寻址,同时R/W = 0 发送应答信号 发送1字节数据 发送应答信号 发送1字节数据 发送停止信号,结束数据通信 主机 从机 发送停止信号,结束数据通信 主机发送起始信号,开始数据传输 对从机进行寻址,同时R/W = 1 发送应答信号 发送1字节数据 发送应答信号 发送1字节数据 发送应答信号 发送非应答信号 发送停止信号,结束数据通信 再次发送起始信号 对从机进行寻址,同时R/W = 1 发送应答信号 发送应答信号 发送1字节数据 发送应答信号 发送非应答信号 主机发送起始信号,开始数据传输 对从机进行寻址,同时R/W = 0 发送1字节数据 主机 从机 发送应答信号 发送应答信号 发送应答信号 发送1字节数据 发送1字节数据 I2C接口包含7个寄存器。 0xE001C018 NA 只清零 I2C控制清零寄存器 I2CONCLR 0xE001C014 0x04 读/写 SCL占空比寄存器低半字 I2SCLL 0xE001C010 0x04 读/写 SCL占空比寄存器高半字 I2SCLH 0xE001C00C 0 读/写 I2C从地址寄存器 I2ADR 0xE001C008 0 读/写 I2C数据寄存器 I2DAT 0xE001C004 0xF8 只读 I2C状态寄存器 I2STAT 0xE001C000 0 读/置位 I2C控制置位寄存器 I2CONSET 地址 复位值 访问 描述 名称 寄存器描述——I2C控制置位寄存器 I2CONSET寄存器用于置位I2C通信的相关标志位,该寄存器只能对某位置位,而不能清零,清零通过I2CONCLR寄存器完成。 NA 用户程序不要向该位写入1 保留 7 0 I2C接口使能 I2EN 6 0 起始标志 STA 5 0 停止标志 STO 4 0 I2C中断标志 SI 3 0 应答标志 AA 2 NA 用户程序不要向这些位写入1 保留 1:0 复位值 描述 功能 位 寄存器描述——I2C控制清零寄存器 I2CONCLR寄存器与I2CONSET寄存器的功能相反,它用于清零I2C通信的相关标志位,该寄存器只能对某位清零,而不能置位。 NA 用户程序不要向该位写入1 保留 7 NA I2C接口使能 I2EN 6 NA 起始标志 STA 5 NA 停止标志 STO 4 NA I2C中断标志 SI 3 NA 应答标志 AA 2 NA 用户程序不要向这些位写入1 保留 1:0 复位值 描述 功能 位 寄存器描述——I2C状态寄存器 I2STAT寄存器包含了I2C接口的状态代码,它是一个只读寄存器。一共有26种可能存在的状态代码。当代码为0xF8时,无可用的相关信息,SI位不会置位。所有其它25种状态代码都对应一个已定义的I2C状态。当进入其中一种状态时,SI位将置位。 I2C处理程序就是根据该寄存器反映的状态来进行相应的处理。 1 状态位 状态 7 : 3 0 这3个位总是为0 状态 2 : 0 复位值 描述 功能 位 寄存器描述——I2C数据寄存器 I2DAT寄存器包含要发送或刚接收的数据。当它没有处理字节的移位时,CPU可对其进行读写。该寄存器只能在SI置位时访问。在SI置位期间,I2DAT中的数据保持稳定。I2DAT中的数据移位总是从右至左进行:第一个发送的位是MSB(位7),在接收字节时,第一个接收到的位存放在I2DAT的MSB。 0 发送/
文档评论(0)