关于I2C(一):基本介绍

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/yinuoheqian123/article/details/102742742

        I2C——“I squared C”最初由飞利浦公司在上世纪80年代研制,目的在于为把控制器连接到电视机上的外设芯片提供一种低成本的方式。I2C采用简单的两线设计,统设备之间通信的一项全球标准。它采用简单的两线设计,广泛用于领先芯片制造商生产的各种芯片中,如 I/O 、模数转换器、数模转换器、 温度传感器、微控制器和微处理器,芯片制造商则包括 :Analog Devices, Atmel, Infineon, Cyprus, 英特尔 , 飞利浦 , Silicon Laboratories, STMicroelectronics, 德 州仪器 , Xicor 等等。

        I2C只要求两条总线线路,一条串行数据线SDA和一条串行时钟线SCL,是一个真正的多主机总线,串行8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。连接到相同总线的IC数量只受到总线的最大电容400pF限制。

        I2C总线是一个多主机总线,可以有多个控制器连接在总线上,主从机关系由即刻的数据传输方向决定,传输数据的过程如下:

A控制器(主机)发送信息到B控制器(从机):

A寻址B——>A发送数据到B——>A终止传输

A控制器(主机)接收信息到B控制器(从机):

A寻址B——>A从B接收数据——>A终止传输

总线上连接一个以上的微控制器时,有可能多个控制器同时尝试初始化传输数据,因此为了避免产生混乱,利用仲裁来决定主机,即如果多个控制器尝试发送信息到总线,在其他控制器都产生“0”的情况下,首先产生“1”的控制器将丢失仲裁。

对于数据的有效性,SDA线上的数据必须在时钟的高电平周期保持稳定,数据线的高低电平状态只有在SCL线的时钟信号为低电平时才能改变。

                                  

扫描二维码关注公众号,回复: 7634952 查看本文章

对于起始和停止条件,SCL高电平,SDA由高电平向低电平切换时表示起始条件,SCL为高电平,SDA由低电平向高电平切换表示停止条件。

                      

       起始和停止条件一般由主机产生。总线在起始条件后被认为处于忙的状态 。 在停止条件的某段时间后 ,总线被认为再次处于空闲状态。如果产生重复起始Sr 条件而不产生停止条件 总线会一直处于忙的状态 此时的起始条件 S 和重复起始 Sr 条件在功能上是一样的 。 因此在本文档的剩余部分 符号 S 将作为一个通用 的术语既表示起始条件又表示重复起始条件 除非有特别声明的 Sr 。

猜你喜欢

转载自blog.csdn.net/yinuoheqian123/article/details/102742742
I2C