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文档。上传文档
查看更多
. 1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只好有一个主控。 总线上每个设施都有自己的一个addr,共7个bit,广播地点全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet。 1.1I2C位传输 数据传输:SCL为高电平常,SDA线若保持稳固,那么SDA上是在传输数据bit; 若SDA发生跳变,则用来表示一个会话的开始或结束(后边讲)数据改变:SCL为低电平常,SDA线才能改变传输的bit 1.2I2C开始和结束信号 开始信号:SCL为高电平常,SDA由高电平向低电平跳变,开始传递数据。 结束信号:SCL为高电平常,SDA由低电平向高电平跳变,结束传递数据。 1.3I2C应答信号 Master每发送完8bit数据后等候Slave的ACK。 即在第9个clock,若从IC发ACK,SDA会被拉低。 若没有ACK,SDA会被置高,这会惹起Master发生RESTART或STOP流程,以下所示: 1.4I2C写流程 写存放器的标准流程为: ;. . Master倡始START Master发送I2Caddr(7bit)和w操作0(1bit),等候ACK Slave发送ACK Master发送regaddr(8bit),等候ACK Slave发送ACK 6.Master发送data(8bit),即要写入存放器中的数据,等候ACK Slave发送ACK 第6步和第7步能够重复多次,即次序写多个存放器 Master倡始STOP 写一个存放器 写多个存放器 1.5I2C读流程 读存放器的标准流程为: Master发送I2Caddr(7bit)和w操作1(1bit),等候ACK Slave发送ACK Master发送regaddr(8bit),等候ACK Slave发送ACK Master倡始START Master发送I2Caddr(7bit)和r操作1(1bit),等候ACK Slave发送ACK ;. . Slave发送data(8bit),即存放器里的值 Master发送ACK 第8步和第9步能够重复多次,即次序读多个存放器 读一个存放器 读多个存放器 2.PowerPC的I2C实现 Mpc8560的CCSR中控制I2C的存放器共有6个。 2.1I2CADR地点存放器 CPU也能够是I2C的Slave,CPU的I2C地点有I2CADR指定 ;. . 2.2I2CFDR频次设置存放器 TheserialbitclockfrequencyofSCLisequaltotheCCBclockdividedbythedivider. 用来设置I2C总线频次 2.3I2CCR控制存放器 MEN:ModuleEnable.置1时,I2C模块使能 MIEN:ModuleInterruptEnable.置1时,I2C中止使能。 MSTA:Master/slavemode.1Mastermode,0Slavemode. 当1-0时,CPU倡始STOP信号当0-1时,CPU倡始START信号 MTX:Transmit/receivemodeselect.0Receivemode,1Transmitmode TXAK:Transferacknowledge.置1时,CPU在9thclock发送ACK拉低SDA RSTA:RepeatSTART.置1时,CPU发送REPEATSTART BCST:置1,CPU接收广播信息(信息的slaveaddr为7个0) 2.4I2CSR状态存放器 ;. . MCF:0Bytetransferisinprocess 1Bytetransferiscompleted MAAS:当CPU作为Slave时,若I2CDR与会话中Slaveaddr般配,此bit被置1 MBB:0I2Cbusidle 1I2Cbusbusy MAL:若置1,表示仲裁失败 BCSTM:若置1,表示接收到广播信息 SRW:WhenMAASisset,SRWindicatesthevalueoftheR/Wcommandbitofthecallingaddress,whichissentfrom themaster. 0Slavereceive,masterwritingtoslave 1Slavetransmit,masterreadingfromslave MIF:Moduleinterrupt.TheMIFbitissetwhenaninterruptispending,causingaprocessorinterruptrequest(provided I

文档评论(0)

130****1735 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档