首页 i2c基础知识

i2c基础知识

举报
开通vip

i2c基础知识IIC基础知识讲师:杨坚IIC位传输与应答IIC协议简介IIC读写IO口模拟IIC接口线少,控制方式简单,器件封装形式小,通信速率较高等背景优点随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROM、RAM、I/O端口、A/D、D/A等外围电路集成在一个单片内而制成的单片机或微控制器愈来愈方便。IIC:一种串行同步总线。简介IIC即Inter-IntegratedCircuit,这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS...

i2c基础知识
IIC基础知识讲师:杨坚IIC位传输与应答IIC 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 简介IIC读写IO口模拟IIC接口线少,控制方式简单,器件封装形式小,通信速率较高等背景优点随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROM、RAM、I/O端口、A/D、D/A等外围电路集成在一个单片内而制成的单片机或微控制器愈来愈方便。IIC:一种串行同步总线。简介IIC即Inter-IntegratedCircuit,这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS),IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。IIC工作原理:I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。SCL为高电平时,若SDA由高电平向低电平跳变,则用来表示一个会话的开始;SCL为高电平时,若SDA由低电平向高电平跳变,则用来表示一个会话的结束;数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA线上是在传输数据bit数据改变:SCL为低电平时,SDA线才能改变传输的bit电平IIC位传输示意图:接收器件收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以将SCL线拉成低电平,从而使主机处于等待状态。直到接收器件准备好接收下一个字节时,再释放SCL线使之为高电平,从而使数据传送可以继续进行。IIC应答:主机每发送完8bit数据后等待从机的应答(ACK)在第9个clock,若从机发出ACK,SDA会被拉低。若没有ACK,SDA会被置高,这会引起主机发生RESTART或STOP 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 ;这段信号是干嘛?有什么作用?IIC总线寻址:7位和10位(了解即可,很少使用)第一个字节的最低位是“0”,表示主机会写信息到被选中的从机;“1”表示主机会向从机读信息,当发送了一个地址后,系统中的每个器件都在起始条件后将头7位与它自己的地址比较,如果一样,器件会判定它被主机寻址,至于是从机接收器还是从机发送器,都由R/W位决定的。第一个字节的头7位组成了从机地址最低位(LSB)是第8位,它决定了传输的方向每次发送8位(一个字节)数据起始应答终止从机地址:由固定部分和可编程部分组成。从机的7位寻址位前四位是固定位,后三位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。Master发起START Master发送I2C addr(7bit)和w操作0(1bit),等待ACKSlave发送ACK Master发送reg addr(8bit),等待ACK Slave发送ACK Master发送data(8bit),即要写入寄存器中的数据,等待ACK Slave发送ACK 第6步和第7步可以重复多次,即顺序写多个寄存器Master发起STOPIIC写流程:Master发送I2C addr(7bit)和w操作1(1bit),等待ACK Slave发送ACK Master发送reg addr(8bit),等待ACK Slave发送ACK Master发起START Master发送I2C addr(7bit)和r操作1(1bit),等待ACK Slave发送ACK Slave发送data(8bit),即寄存器里的值 Master发送ACK第8步和第9步可以重复多次,即顺序读多个寄存器IIC读流程:voidI2C_Start(void){SetClock(1);SetData(1);I2C_Delay(DELAY_TIME);SetData(0);I2C_Delay(DELAY_TIME);SetClock(0);I2C_Delay(DELAY_TIME);}voidI2C_Stop(void){SetData(0);SetClock(1);I2C_Delay(DELAY_TIME);SetData(1);}IO口模拟IIC开始和结束:SCL为低电平时,改变SDA,这样做可以确保不会引起start或者stop!这里最好是对换一下如:右边i2c_stop。voidWriteI2CByte(unsignedcharucData){inti;for(i=0;i<8;i++){if(ucData&0x80)SetData(1);elseSetData(0);SetClock(1);I2C_Delay(DELAY_TIME);SetClock(0);I2C_Delay(DELAY_TIME);ucData<<=1;}}unsignedcharReadI2CByte(void){unsignedcharucRead=0,i;BOOLbTemp;for(i=0;i<8;i++){SetClock(1);I2C_Delay(HALF_DELAY_TIME);bTemp=GetData();I2C_Delay(HALF_DELAY_TIME);SetClock(0);I2C_Delay(DELAY_TIME);if(bTemp==1){ucRead=ucRead<<1;ucRead=ucRead|0x01;}elseucRead=ucRead<<1;}returnucRead;}IO口模拟IIC读byte和写byte:这里可以添加上GetData(),设置SDA为输入模式,如果有设置模式的函数,可以使用该函数替代。intI2CWrite(U8address,U8*buffer,intlength){U8ack_temp=1,i=0;I2C_Start();WriteI2CByte(address);ack_temp=CheckWriteAck(address);if(ack_temp==FALSE){I2C_Stop();return-1;}for(i=0;i
本文档为【i2c基础知识】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
夕夕资料
拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.
格式:ppt
大小:2MB
软件:PowerPoint
页数:0
分类:生产制造
上传时间:2021-06-23
浏览量:0