IIC通讯协议解析

2019-05-08 16:35:35 来源:互联网
标签:
MCU   IIC

IIC,两根线,SCL时钟线,SDA数据线。一个主机master,一个或多个从机slave。

 

主机通常就是MCU,从机会有一个地址,这个地址通常前4位是器件本身固定的,5-7位可以硬件选择,最后一位通常是WP位,一般此位低电平表示正常读写,此位高电平表示读保护,只能读。如常用的EEPROM 24C02,地址高四位是1010,5-7位硬件连接决定,即是将其A0-A2引脚接地为000,这样设备地址是0xA0或者0xA1(读)。

 

IIC的指令:

默认下(无数据传输):SCL=1,SDA=1;

 

Start:当SCL=1时,SDA由1向0跳变;

 

Stop:当SCL=1时,SDA由0向1跳变;

 

数据位:当SCL由0向1跳变时,由发送方控制SDA,此时SDA为有效数据,不可改变SDA;当SCL保持为0时,SDA上的数据可改变。也就是说,不管是主机发从机,还是从机发主机,只要想发送或者读取数据,必须有一个scl上升的过程,此时SDA数据有效,数据来自于发送方。

 

地址位:定义同数据位,但只由Master发给Slave;

 

应答位(ACK):发送SDA=0,可以是主机主动发送,也可以是从机发送主机接收。

 

否应答位(NACK):发送SDA=1,可以是主机主动发送,也可以是从机发送主机接收。

 

注意:

1,SCL一直由Master控制。

 

2,Start和Stop,只能由Master发出。

 

3,地址的8位传送完毕后,成功配置地址的Slave设备必须发送“ACK”。否则否则一定时间之后Master视为超时,将放弃数据传送,发送“Stop”。

 

4,当写数据的时候,Master每发送完8个数据位,Slave设备如果还有空间接受下一个字节应该回答“ACK”,Slave设备如果没有空间接受更多的字节应该回答“NACK”,Master当收到“NACK”或者一定时间之后没收到任何数据将视为超时,此时Master放弃数据传送,发送“Stop”。

 

5,当读数据的时候,Slave设备每发送完8个数据位,如果Master希望继续读下一个字节,Master应该回答“ACK”以提示Slave准备下一个数据,如果Master不希望读取更多字节,Master应该回答“NACK”以提示Slave设备准备接收Stop信号。

 

6,当Master速度过快Slave端来不及处理时,Slave设备可以拉低SCL不放(SCL=0将发生“线与”)以阻止Master发送更多的数据。此时Master将视情况减慢或结束数据传送。

 

在实际应用中,并没有强制规定数据接收方必须对于发送的8位数据做出回应,尤其是在Master和Slave端都是用GPIO软件模拟的方法来实现的情况下,编程者可以事先约定数据传送的长度,slave不检查NACK,有时可以起到减少系统开销的效果。但是如果slave方是硬件i2c要求一定要标准的NACK,master方是GPIO软件模拟i2c并没有正确的发送NACK,就会出现“slave收不到stop”导致i2c挂死。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
工程师自己动手用32位MCU打造的3D打印机,飞一样的感觉?
工程师自己动手用32位MCU打造的3D打印机,飞一样的感觉?

32位平台是3D打印的未来。最新版本的marlin已经移植到了STM32板上了,工作一切正常,运行平稳,还有BLTouch。

MCU系列产品势头强劲,辉芒微电子正式吹响进军号角

辉芒微电子作为MCU领域迅速崛起的新势力,屡屡带给业界惊喜。继超高性价比的Flash/EEPROM-base IO型MCU和ADC型MCU系列产品在消费类应用市场广受好评之后,近日正式推出其全新研发的Touch + LED MCU FT62F08X,正式吹响进军触摸控制面板小家电应用市场的号角。

MCU市场领域需求提高,杰发科技搞了大动作?

捷豹路虎的工程师Tomar曾在公开演说中提到,该公司的汽车通常配备超过70个ECU(电子控制单元,其核心部件为MCU)。从全球市场来看,汽车电子是MCU最大的应用,在汽车领域,MCU的应用范围较广,既可用于车载信息娱乐产品,也可用于雨刷、车窗、电动座椅等车身控制领域。

瑞萨电子发布RX72T系列MCU 为工业机器人伺服控制带来更丰富的微控制器选择

全球领先的半导体解决方案供应商瑞萨电子株式会社(TSE:6723)今日宣布推出32位电机控制微控制器(MCU)RX72T系列产品,配备专用硬件加速器IP,以执行机器人和其它工业设备中电机控制所需的复杂、高速运算。

市占不足5%,AIoT/工业/汽车等行业能否给国产MCU带来机会?

根据市场分析机构IC Insights预测,2018年,全球的MCU将成长18%,出货数量达到近306亿,MCU营收预期将增长11%,达到186亿美元的历史新高水平。预计2019年将持续增长9%,达到204亿美元。但和很多其他集成电路产品一样,这个市场的领先厂商全部都是外商。

更多资讯
物联网操作系统爆发期已至?国产供应商RT-Thread看好哪些市场
物联网操作系统爆发期已至?国产供应商RT-Thread看好哪些市场

“如今在RTOS方面,特别是物联网存在很多碎片化的应用,需要有操作系统来把整个碎片化的系统做很好的梳理,能够把底层和应用层做很好的架构建设,这是我的理解。”近日,在谈及意法半导体生态圈内,活跃于物联网操作系统领域的合作伙伴RT-Thread时,意法半导体微控制器事业部中国区高级经理曹锦东如是说。

华为操作系统的生态能做起来吗?
华为操作系统的生态能做起来吗?

前几天,美国商务部的工业和安全局(BIS)把华为公司加入其Entity List(实体清单)。华为面临着美国供应商“断供”的巨大压力。

Android真的是开源免费的项目吗?谷歌禁止华为完全推翻了这个言论

路透社的独家消息称,Google已经暂停与华为在Android领域的合作。报道称,华为下一代安卓智能手机也将不能使用包括Play Store、Gmail和YouTube等应用程序服务。

担心政府侵犯隐私,ACLU向亚马逊施压禁止向政府出售面部识别软件

针对亚马逊向美国执法部门出售面部识别技术的做法,美国公民自由联盟(American Civil Liberties Union)正在向亚马逊施加压力。

中国操作系统二十年

发生了什么?究竟又是什么影响了国产操作系统的发展?可能是技术、可能是人才、也可能是时机,迄今为止,仍然无一定论。