- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 四年级上册语文知识竞赛试卷及答案.pdf VIP
- 食材食品分拣区作业管理.docx VIP
- 李鲁-卫生事业管理(第二版)第17章医学科教管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第16章中医药管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第15章药品监督管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第14章妇幼卫生管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第12章公共卫生管理.pptx VIP
- 《国际贸易(第三版)》课后参考答案 李丹 崔日明.pdf VIP
- 李鲁-卫生事业管理(第二版)第11章医政管理.pptx VIP
- 李鲁-卫生事业管理(第二版)第9章卫生信息管理.pptx VIP
原创力文档


文档评论(0)