lpc100系列单片机I2C学习笔记.docVIP

  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文档。上传文档
查看更多
lpc100系列单片机I2C学习笔记

I2C总线上可能存在以下两种类型的数据传输方式: 由主发送器向从接收器传输数据。主机发送的第一个字节是从机地址。接下来是数据字节数。从机每接收一个字节后返回一个应答位; 由从发送器向主接收器传输数据。由主机发送第一个字节(从机地址)。然后从机返回一个应答位。接下来是由从机发送数据字节到主机。主机接收到所有字节(最后一个字节除外)后返回一个应答位。接收到最后一个字节后,主机返回“非应答”位,主机设备产生所有的串行时钟脉冲及起始和停止条件。以停止或重复起始条件结束传输。由于重复起始条件也是下一次串行传输的开始,因此不释放I2C总线 I2C 接口是字节导向型,有4个操作模式:主发送模式、主接收模式、从发送模式及从接收 快速模式配置: 快速模式Plus支持 1Mbit/sec 的传输速率与 NXP 半导体现在所提供的I2 C 产品通信。要使用快速模式 Plus,就必须正确配置 IOCONFIG 寄存器块中的I2C管脚。在快速模式 Plus中,可选择的速率在 400KHz 以上,高达 1MHz。 时钟控制: I2C总线接口(PCLK_I2C)的时钟由系统时钟提供。这个时钟可通过 AHBCLKCTRL寄存器的位 5 来禁止,以节省功耗。 I2C的几个概念 发送器:本次传送中发送数据(不包括地址和命令)到总线的器件; 接收器:本次传送中从总线接收数据(不包括地址和命令)的器件; 主 机:初始化发送、产生时钟信号和终止发送的器件,可以是发送器或接收器。主机通常是微控制器; 从 机:被主机寻址的器件,它可以是发送器或接收器。 I2C 总线是一个多主机的总线,即,总线上可以连接多个能控制总线的器件。当 2个以上控制器件同时发动传输时,只能有一个控制器件能真正控制总线而成为主机,并使报文不被破坏,这个过程叫仲裁。与此同时,能够同步多个控制器件所产生的时钟信号。 SDA 和 SCL 都是双向线路。连接到总线的器件的输出级必须是漏极开路或集电极开路,都通过一个电流源或上拉电阻连接到正的电源电压,这样才能够实现“线与”功能。当总线空闲时这2条线路都是高电平。 在标准模式下,总线数据传输的速度为 0 ~ 100Kbit/s;在高速模式下,可达 0 ~ 400Kbit/s。总线速率越高,总线上拉电阻要越小。100Kbit/s总线速率,通常使用 5.1K。 I2C总线上的位传输 I2C总线上每传输一个数据位必须产生一个时钟脉冲。 (1)数据的有效性 SDA线上的数据必须在时钟线SCL的高电平期间保持稳定,数据线的电平状态只有在SCL线的时钟信号为低电平时才能改变,如图 3.所示。在标准模式下,高低电平宽度必须不小于 4.7μs。 (2)起始和停止信号 在I2C总线中,唯一违反上述数据有效性的是起始(S)和停止(P)信号,如图 3.4所示。 起始信号(重复起始信号):在 SCL线为高电平时,SDA 线从高电平变为低电平; 停止信号:在 SCL 线为高电平时,SDA 线由低电平变为高电平。 起始和停止信号一般由主机产生。起始信号指示一次传送的开始,在起始信号处于忙状态。停止信号指示一次传送的结束,发送完停止信号后,经过一段时间总线将再次处于空闲状态。重复起始信号既作为上次传送的结束,也作为下次传送的开始。 数据传输 (1)字节格式 发送到SDA线上的每个字节必须为 8 位。每次传输可以发送的字节数量不受限制。每个字节后必须跟一个应答位。首先传输的是数据的最高位(MSB)(见图 3.5所示)。 相应的应答时钟脉冲由主机产生。在应答的时钟脉冲期间,发送器释放SDA线(高)。在应答的时钟脉冲期间,接收器必须将SDA线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。如图 3.5中时钟信号SCL的第 9 位。 一般说来,地址匹配的从机(可继续接收下一个字节的接收器)将产生一个应答位。如果作为发送器的主机在发送完一个字节后,没有收到应答位(或收到一个非应答位),或者作为接收器的主机没有发送应答位(或发送一个非应答位),那么主机必须产生一个停止信号或重复起始信号来结束本次传输 若从机(接收器)不能接收更多的数据字节,将不产生这个应答位;主机(接收器)在接收完最后一个字节后不产生应答,通知从机(发送器)数据传输结束。 传输协议 主机产生起始信号后,发送的第一个字节为寻址字节,该字节的头7位(高 7 位)为从机地址,最低位(LSB)决定了报文的方向,“0”表示主机写信息到从机,“1”表示主机读从机中的信息,如图 3.6所示。当发送了一个地址后,总线上的每个器件都将头 7位与它自己的地址比较。如果一样,器件就会应答主机的寻址,至于是从机接收器还是从机发送器都由R/W 位决定。 从机地址由一个固定部分和一个可编程部分构成。例如,某些器件有 4 个固定的位

文档评论(0)

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

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

1亿VIP精品文档

相关文档