嵌入式开发中i2c协议是怎么玩的?波形

科技 科技 1629 人阅读 | 0 人回复

<
关于嵌进式开拓的伴侣来讲,I2C和谈其实是再熟习不外了,有太多的器件,采取的皆是经由过程I2C去停止响应的设置。明天,我们就职意聊聊那个I2C和谈。
 
I2C和谈中最主要的一面是I2C地点。那个地点有7位战10位两种情势。7位可以暗示127个地点,而正在实践利用中根本上没有会挂载云云多的设置,所以许多装备的地点皆采取7位,所以本文接下去的分析皆是基于此。
 
I2C另有一个很主要的观点,便是“主—从”。关于从装备来讲,它是啥皆没有干的,更没有会主动收收数据;而主装备,则是起到掌握感化,统统皆是从它开端。
 
除GND之外,I2C有两根线,别离是SDA战SCL,一切的装备皆是接到那两根线上。那末,那些装备怎样明白数据是收收给它们呢?那便得依托前里所道到的地点了。装备I2C的地点是牢固的,好比0x50,0x60等等。由于只能有127个地点,地点抵触是很常睹的,所以普通装备城市有一个地点挑选PIN,好比推下工夫为0x50,接天为0x60。假如不管推下仍是接天,皆战此外芯片有抵触,那该怎样办呢?谜底是:凉拌,出法子。碰到这类情况,只能换芯片了。
 
我们去看I2C和谈中的数据传输时序图:
 
145051mtawrbygwt2b0kz6.jpg

SCL是时钟,SDA启载的是数据。当SDA从1变动到0,而SCL仍是1时,暗示开端数据传输。接下去的7位,便是装备的地点。松接着的是读写标记,其为1时是读与,为0则是写。假如I2C总线上存正在着战恳求的地点相对应的装备,则从装备会收收一个ACK旌旗灯号告诉主装备,能够收收数据了。接到ACK旌旗灯号后,主装备则收收一个8位的数据。当传输终了以后,SCL连结为1,SDA从0变更到1时,标明传输完毕。
 
从那个时序图中能够看到,SCL很主要,并且哪一个时钟沿是干吗的,皆是肯定好的。好比,前里7个肯定是地点,第8个是读写标记,数据传输必需是8位,必需接个ACK旌旗灯号等等。
 
前里的时序图并出有标明数据传输的标的目的,我们如今看看写操纵的数据流背:
145051auc9yy995xzw59rw.jpg

网格的是主装备收收的,红色格子是从装备收收的。从图示中能够看到,关于写操纵,从装备皆只是收收ACK停止确认罢了。
 
而读操纵的数据流背,便有所不同,如图:
145051tokavej77kq79vk7.png

 
这时候间,从装备除收收ACK之外,松随着的另有数据。
 
我们用示波器去查察波形图,以便于大白。
 
将示波器的X战Y别离接到SDA战SCL,获得波形并阐发如图:
145052h88ql0tysyslsl0h.jpg

 
从图中可知时序以下:


  • 由主机倡议,正在SCL为下电平常,SDA由下到低切变,构成开端旌旗灯号;
  • 接着是7位地点战一名读写标记,那里7位地点为0111100,即0x3c,恰是我们代码中设置的地点ID;最初一名为0暗示写操纵;
  • 接着鄙人一个时钟,主机以下电仄形态开释SDA,这时候从机呼应,将SDA推低了;
  • 接着是两个8位数据00101110取呼应,即0x2E,恰是“.”号的ASCII码,契合预期输出;
  • 另有此外数据战最初的截至位,图中被截失落了。
从图中可知,纵背一格是200mV,则SDA战SCL的电仄大要便是350mV;因为旌旗灯号笔上设置了旌旗灯号x10,因而实践电仄该当大要是3.5V(实际上该当是3.3V)。横背一格是25us,10个时钟周期大要用了4格,即4x25us=100us,均匀每一个时钟周期是10us,可算出传输频次为1/10us=100,000/s,即100k bps。
 
既有读又有写的波形图:
145052bvlb22l32zl423eo.jpg

I2C是由2根线停止操纵的,一个是主控时序SCL,另外一根主控数据SDA
关于操纵次要分红读写,读写的两个操纵有部门是类似的
而时序的操纵次要分为:START,DATA,ACK,STOP,NOACK

免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则