高效可编程I2C从设备.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
介绍 2 2 2 设备间的低速串行通信大多采用I C总线形式。有各种各样的I C接口的从设备,但具有可编程的I C从设备确较少。 2 2 举例来说,微控制器就是一种可编程的I C从设备。使用微控制器来模拟I C从设备并不困难;但近来这种方式受价 格和低功耗等因素的限制。新一代低成本、低功耗的微处理器 2 可以很容易地嵌入到可编程I C从设备中。 典型的I2C系统由一个主控设备和多个从设备组成。此系统可以分解成很多子系统,每个子系统可以由专用的低成 本的微控制器控制。每个子系统都和更高速度(通常也会更贵)主控连接。这种方法允许工程师并行开发数个子系统, 这些子系统和主控设备相连时仅再需少量的开发活动。图 1 给出了此系统的典型结构,每个微控制器控制各自的子 系统,所有的微控制器连接到一个I2C主控设备。 假定一个系统由一个线性位置传感器,一个由马达驱动的线性划片,以及基于传感器反馈信号对马达控制的代码。 将此控制代码集成到单个主控设备的软件中并不很容易,但很容易将其集成到子系统的微控制器中去。对线性划片 进行定位时,主控制器可以通过向某个I2C寄存器写入 8bit或 16bit定位数据来实现。这种做法的一个额外优点是, 因为仅和数字控制接口进行交互,子系统的设计者无需担心其它实时系统工作时会占用微控制器的资源。 2 图 1 工程师可以并行开发多个可编程的I C从设备,从而加快开发速度。 2 I C背景 通过I2C接口进行数据传输仅需两根线(不包括地线)和数据包控制协议。不管数据的流向如何,数据传送总是由主控 2 2 设备发起。每次数据传输都是以I C-START条件开头,以I C-STOP条件结尾(如图 2) 。 2 图 2 I C数据的传输总是以START作为数据帧的开始,以STOP标志作为数据帧的结束。 数据以字节为单位进行串行传输。典型地,第一个传输的字节是 7bit 的从设备地址,其后是 R/W 控制 bit(可能的例 外是 10bit 的地址和高速模式前缀). 后续数据的传输方向由 R/Wbit 位决定。所有的数据字节后面都带有 ACK 应答 bit 位,ACK bit 不仅作为数据完整性指示,同时也是流控手段。 图 3 数据线的状态变换只能发生在 SCL 低电平状态,否则会和 START/STOP 条件混淆。 为避免数据和起始条件的混淆,SDA 线上数据变换总是发生在 SCL 低电平处。 典型的I2C数据帧格式为,一位起始位,7bit的从设备地址,1bit R/W标志,以字节为单位的数据串,一个停止位。 2 图 4 典型的I C总线数据传输格式,一个START位,一个STOP位,一些字节宽度的数据。   总线接口电路 I2C从设备需要一直监视总线是否出现START和STOP条件,如果检测到此条件并检测到相应的从设备地址,则此 从设备就要作出响应。通过GPIO进行不断查询的方式来检测SDA/SCL总线会一直占用微控制器的资源,比较好的 方法是采用中断方式。即便如此,依然会占用相当的处理器资源。比如I2C主控发送不同的从设备地址时,所有的 微控制器都要进行响应,无论使用轮询还是采用中断方式。因此为了尽量将微处理器资源分配给其它任务以使系统 的效率最大化,可以采用硬件的方式来检测START和STOP位。 2 2 图 5 I C-START 和 I C-STOP条件检测电路。 见图 5 所示,硬件接口由如下器件组成:两个D触发器、两个MOSFET、两个缓冲器、一个反相器。该硬件接口负 责START和STOP条件检测。所以,微控制器无需再在此条件的检测上耗费资源。此电路符合I

文档评论(0)

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

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

1亿VIP精品文档

相关文档