当前位置:首页 > 单片机 > 单片机
[导读]I2C(Inter-Integrated Circuit)总线是Philips公司推出的一种双向二线制同步串行总线,仅用两根线即可实现器件之间的数据传送。目前很多芯片集成了I2C总线接口,如CYGNAL公司的C805IF0XX系列单片机、实时日历时钟芯片PCF8563及数字温度传感器LM75等。本节将首先介绍I2 C总线的引脚功能和时序;然后,介绍I2 C总线接口的实时时钟芯片PCF8563的引脚功能和使用方法;最后,给出AT89C51单片机扩展PCF8563的实例。

I2C(Inter-Integrated Circuit)总线是Philips公司推出的一种双向二线制同步串行总线,仅用两根线即可实现器件之间的数据传送。目前很多芯片集成了I2C总线接口,如CYGNAL公司的C805IF0XX系列单片机、实时日历时钟芯片PCF8563及数字温度传感器LM75等。

I2C总线的引脚功能时序

1.I2C总线的引脚功能

如图6-7所示,I2C总线通过两根线将多个芯片(包括MCU)连接在一起,其中,SDA和SCL都是双向传输线,分别用于传输数据和时钟信号。这两个引脚必须经过上拉电阻与正电源相接,如图6-8所示。另外,在总线空闲时,SDA和SCL都是高电平。

图6-7 I2C总线接口扩展示意图

图6-8 I2C总线接口电气结构图

需要注意,在图6-7中并没有指出从机或主机,这是因为I2C是一种多主机的总线,可以有多个主机,且主从关系可以根据任务要求而更改。当有个多个主机时,I2C总线可以通过内部的竞争检测和仲裁电路进行仲裁处理,以保证数据正确传输。另外,主机是产生时钟信号并初始化数据传输的器件,只有带CPU的器件才能成为主机。每个器件都有一个唯一的地址编号,被主机通过地址编号寻址访问的器件是从机。

2.I2C总线的引脚时序

I2C总线的数据传输过程由主机控制。在该过程中,主机的操作可以分为以下几个步骤:①发送启动信号;②传输从机地址,并确认数据传输方向(主机输出从机输入,或主机输入从机输出);③与从机之间进行数据传输(发送或读取);④发送停止信号。I2C总线信号的时序由主机产生和控制,下面分别进行介绍。

(1)启动信号和停止信号的时序

启动信号和停止信号分别用于确定数据传输的开始和结束。如图6-9所示,当SCL为高电平时,若SDA引脚出现下降沿,则产生启动信号;反之,当SCL为高电平,而SDA引脚出现上升沿时,则产生停止信号。

图6-9启动信号与停止信号的引脚时序

a)启动信号b)停止信号

(2)数据传送时序

数据传送过程中,如图6-10所示,当SCL为高电平时,SDA引脚上的信号是被传送的数据位(低电平为“0”,高电平为“1”),必须保持稳定;若要更改被传送的数据位,则必须先令SCL为低电平。可见,I2C总线仅在SCL为高电平时传送数据。

图6-10数据传输过程中的引脚时序

(3)响应信号时序

I2C总线以字节为单位传送数据和地址。传送时高位在前、低位在后。每发送完一个字节后,发送方都要求接收方返回一个响应信号。响应信号有两种,分别是应答信号ACK和非应答信号ACK,其时序如图6-11所示,下面分析该时序。

图6-11响应信号的引脚时序

a)应答信号ACK b)非应答信号ACK

1)若主机为发送方,则发送完一个字节后,需要从机进行应答。此时,主机在SCL引脚产生一个时钟脉冲(高电平),并将SDA引脚设置为高电平(即释放对总线的控制)。接收方若需继续接收下一个数据,则主动将SDA引脚设置为低电平。即产生如图6-11a所示的ACK信号。主机检测到ACK信号后将继续发送下一个数据。若接收方不需要接收下一个数据,则不更改SDA引脚状态,使其保持高电平。即产生如图6-11b所示的ACK信号。主机检测到ACK信号后,将产生如图6-9b所示的停止信号,并结束发送。

2)若主机为接收方,则接收完一个字节数据后,主动产生一个应答信号。如果主机希望接收新数据,则该应答信号为ACK信号。检测到ACK信号的从机将发送下一个数据。如果主机不需要接收新数据,则应答信号为ACK信号。从机检测到ACK信号后,将停止发送、释放SDA线(即使其为高电平)。之后,主机可以发送停止信号,结束本次数据传输。

3.I2C总线的数据帧格式

如前所述,I2C总线传输数据之前除了发送启动信号外,还要发送从机地址,并确认数据传输方向。具体方法是,主机发送启动信号后,接着再向从机发送一个字节数据。如图6-12所示,该数据的高7位是从机的地址;最低位(第0位)R W代表数据的传输方向,0表示主机是发送方(向从机写数据),1表示主机是接收方(读从机的数据)。

没有I2C总线接口的单片机,如MCS-51单片机等,可以利用自身的并行I/O引脚模拟产生I2C总线时序,以实现对I2C总线接口器件的扩展。例如,在图6-13中,8051单片机用P1.0和P1.1模拟I2C总线的SDA和SCL引脚。

图6-12 I2C总线的从机地址格式

图6-13引脚模拟I2C总线

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭