1 / 5
文档名称:

I2c总线协议.docx

格式:docx   大小:79KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

I2c总线协议.docx

上传人:2105194781 2020/9/5 文件大小:79 KB

下载得到文件列表

I2c总线协议.docx

相关文档

文档介绍

文档介绍:,一条数据线SDA,—条时钟线SCL。SDA传输数据是大端传输,每次传输8bit,即一字节。支持多主控(multimastering),任何时间点只能有一个主控。总线上每个设备都有自己的一个addr,共7个bit,,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet。I2C位传输数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit;若SDA发生跳变,则用来表示一个会话的开始或结束(后面讲)数据改变:SCL为低电平时,SDA线才能改变传输的bit数据有效改变物据1DZ//和结束信号开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据严一一1SDA/!/ISCAi i1 Li 11 JSCLi "7 \[s;\r-J/\.\SCLI3 1k_, hi i开始条件http://wiijiiji7criijP11,rq结東务件I2C应答信号Master每发送完8bit数据后等待Slave的ACK。即在第9个clock,若从IC发ACK,SDA会被拉低。若没有ACK,SDA会被置高,这会引起Master发生RESTART或STOP流程,如下所示:Iscl"^”阳帀莎石两厲厲丽歹阪而回冋回回何网wI、_r< CallingaddressSTAFSTI2C写流程写寄存器的标准流程为:Master发起STARTMaster发送I2Caddr(7bit)和w操作0(1bit),等待ACKSlave发送ACKMaster发送regaddr(8bit),等待ACKSlave发送ACKMaster发送data(8bit),即要写入寄存器中的数据,等待ACKSlave发送ACK第6步和第7步可以重复多次,即顺序写多个寄存器Master发起STOP写一个寄存器SDALINESTARTDEVICEADDRESSWRITEWORDADDRESSDATASTOPMSBMSBACKR/(n)ACKR/:Master发送I2Caddr(7bit)和w操作1(1bit),等待ACKSlave发送ACKMaster发送regaddr(8bit),等待ACKSlave发送ACKMaster发起STARTMaster发送I2Caddr(7bit)和r操作1(1bit),等待ACKSlave发送ACKSlave发送data(8bit),即寄存器里的值Master发送ACK第8步和第9步可以重复多次,即顺序读多个寄存器读一个寄存器SDALNESTARTDEV(CEADDRESSWRITEWORDADDRESSnDEVICEADDRESSreadMSBMSBACKR/wLSBLSBMSBACKLSBDATAnDUMMYWRITEFigure5*RandomRead读多个寄存器DEVICEADDRESSSDALINEHackrLAAAc c cK