vxworks6.6—PPC8377I2C驱动V1.0.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vxworks6.6—PPC8377I2C驱动V1.0.doc

I2C接口及其驱动 在大多数情况下,这两个I2C接口完全相同,因此作为一个一般的控制器来介绍。必要时标出这两个接口的不同之处。 IC间(IIC或I2C)总线是一种两线制——串行数据(SDA)和串行时钟(SCL)——双向串行总线,在本设备与其他设备之间提供一种简单有效的数据交换方法,例如与微控制器、EEPROM、实时时钟设备、A/D转换器和LCD等。I2C接口的结构图如图所示。 1.概述 两线制I2C总线将设备之间的互联最小化。同步、多主控I2C总线允许将其他设备连接到总线上,以进行扩展和系统开发。总线包括冲突检测和仲裁功能,防止当两个或多个主控设备试图同时控制总线时发生数据错误。 2.特性 每个I2C总线接口包括以下特性: ? 两线制接口 ? 多主控操作 ? 仲裁丢失中断,具有从主设备到从设备的自动模式切换。 ? 调用地址标识中断 ? START与STOP信号的产生与检测 ? 确认位的产生与检测 ? 总线忙检测 ? 软件可编程的时钟频率 ? 软件可选择的确认位 ? 总线上尖峰信号的片上滤波 操作模式 该设备上的I2C单元有以下几种操作模式: ? 主设备模式。 I2C总线驱动SDAn信号线。它不能使用它自己的从设备地址作为调用地址。I2C不能同时作为主设备和从设备。 ? 从设备模式。 I2C总线不驱动SDAn信号。这个模块必须在检测到I2C主设备发来的START 状态前启用。 ? 中断驱动的逐字节的数据传输。 当成功获得从设备地址(并且SCLn回到零状态)时,数据传输以逐字节的方式进行,数据传输的方向由调用主机发出的R//W位决定。每个数据字节的后面必须跟一个确认位,该位由接收设备发出。在一个数据传输会话期间可以传送多个字节。 ? 引导定序器模式。 I2C1控制器支持引导定序器模式。在I2C模块初始化之后,可以使用该模式初始化设备中的配置寄存器。使用复位配置字高端中的BOOTSEQ选择引导定序 器模式。注意,硬编码的复位配置字高端值是引导定序器模式禁止的。I2C2控制器不支持该模式。 ? 复位配置装入(只限I2C1)。 在这个模式下,当设备上的其余部分都处于复位状态时(/HRESET有效),I2C1接口用一个特定调用地址从EEPROM装入复位配置字。一旦将复位配置字锁定到设备中,就复位I2C1,直到/HRESET无效。在/HRESET无效后,就可以根据复位配置字中的BOOTSEQ,使用引导定序器模式初始化该设备。 另外,为I2C接口定义了下面三种状态: ? START状态。 该状态标志一个新的数据传输的开始(每次数据传输包含多个字节)并唤醒所有的从设备。 ? 重复的START状态。 所产生的无STOP状态的START状态,以终止前一个数据传输。 ? STOP状态。 主设备通过产生一个STOP状态终止传输并释放总线。 4.I2C接口信号说明 信号名称 空闲状态 I/O 状态含义 串行时钟(SCL1,SCL2) 高 I 当I2C模块空闲或作为一个从设备时,将SCLn默认为一个输入信号。该单元使用SCLn同步SDAn上的输入数据。当检测到SCLn为低时,认为总线忙。 O 作为主设备时,I2C模块在发送时驱动SCLn和SDAn。作为从设备时,I2C模块驱动为调整数据的速度,将SCLn驱动为无效。 串行数据 (SDA1, SDA2) 高 I 当I2C模块空闲或在接收模式下,将SDAn默认为一个输入信号。该单元在SDAn上接收来自其他I2C设备的数据。当检测到SDAn为低时,认为总线忙。 O 作为主设备或从设备时,I2C模块在SDAn上驱动数据,与SCLn同步。 5.内存映射/寄存器定义 功能说明 I2C单元缺省时始终作为从设备接收器,除非显式地将其设定为主设备或从设备发送器。如果选择了引导定序器模式,则在引导序列完成之后,I2C接口作为从设备接收器工作。 事务处理协议 一个标准的I2C传输由以下部分组成: ? START状态 ? 从设备目标地址发送 ? 数据传输 ? STOP状态 下图显示了使用I2C协议调用地址、数据字节和新调用地址的这四个部分的交互关系。下面几个小节详细表述了该协议。 START状态 当I2C总线空闲时(SDAn与SCLn都为高电平),主设备可以通过发送一个START状态启动一次传输。如上图所示,将START状态定义为:当SCLn为高时,SDAn从高电平到低电平的跳变。这个状态指示一个新的数据传输的开始。每一次数据传输可以包括几个字节,并唤醒所有的从设备。利用软件写来置位I2CnCR[MSTA]就可以启动START状态。 从设备地址发送 紧跟START状态

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档