I2C串行总线的组成及工作原理

合集下载

I2C串行总线的组成及工作原理

I2C串行总线的组成及工作原理

I2C串行总线的组成及工作原理I2C是一种常用的串行通信协议,用于在电子设备之间进行数据传输。

它的全称是Inter-Integrated Circuit,即片间串行总线。

1. 主设备(Master Device):负责发起通信请求并控制整个传输过程的设备。

主设备通常是微控制器、处理器或其他智能设备。

2. 从设备(Slave Device):被主设备控制的设备。

从设备可以是各种外围设备,如传感器、存储器、显示器等。

3. SDA(Serial Data Line):用于数据传输的双向串行数据线。

主设备和从设备都可以发送和接收数据。

4. SCL(Serial Clock Line):用于同步数据传输的时钟线。

主设备产生时钟信号来同步数据传输。

5. VCC(Supply Voltage):提供电源电压给I2C总线上的设备。

6. GND(Ground):提供共地连接。

I2C总线的工作原理如下:1.初始化:主设备发起一次总线初始化,在I2C总线上产生一个启动信号。

启动信号表示I2C总线上有新的数据传输将开始。

2.寻址:主设备发送一个7位的设备地址到总线上指定要与之通信的从设备。

I2C总线上可以存在多个从设备,每个设备都有唯一的地址。

3.数据传输:主设备发送数据或者命令到从设备,或者从设备向主设备发送数据回复。

数据通过SDA线传输,时钟通过SCL线提供。

4.确认(ACK):数据传输完成后,每个接收设备都会回复一个确认信号,表示它已经成功接收数据。

主设备和从设备都可以发送确认信号。

5.停止:主设备发送一个停止信号来结束一次数据传输过程。

停止信号表示I2C总线上没有更多的数据传输。

I2C总线的工作原理是基于主从结构的,主设备控制数据传输的流程。

主设备通过发送启动信号来开始一个数据传输过程,并通过发送设备地址和数据来与特定的从设备进行通信。

通过SCL线的时钟同步,主设备和从设备可以准确地进行数据传输,避免了数据丢失和冲突。

I2C总线工作原理

I2C总线工作原理

I2C总线工作原理I2C是一种串行通信总线,常用于连接主控制器和外设设备之间。

I2C总线通过低速的串行数据传输,可同时连接多个设备,使用双线(SDA和SCL)来进行通信。

本文将详细介绍I2C总线的工作原理。

1.物理层:I2C总线包含两条线路:数据线(SDA)和时钟线(SCL)。

SDA线用于数据传输,而SCL线用于同步数据传输的时钟信号。

这两条线都由一个上拉电阻连接到正电源,以保持高电平状态。

当总线上的设备需要发送数据时,它将拉低SDA线上的电平。

在同一时间,SCL线上的电平将控制数据的传输速率。

2.起始信号和停止信号:I2C总线使用起始信号和停止信号来定义数据传输的开始和结束。

起始信号是由主控制器发送的,通常在主控制器要发送数据之前。

停止信号也是由主控制器发送的,在数据传输完成后。

起始信号由将SCL线保持高电平,SDA线从高电平跳变到低电平。

停止信号是在SCL线保持高电平,SDA线从低电平跳变到高电平。

3.地址和数据传输:在I2C总线上,每个设备都有一个唯一的7位地址,用于寻址特定的设备。

主控制器在发送数据之前,必须先向设备发送一个地址字节。

地址字节由起始信号之后的8个位组成(其中最高位为0用于读操作,1用于写操作)。

设备在成功接收到其地址之后,将向主控制器发送一个应答位。

4.字节传输:一旦设备的地址被成功接收,主控制器可以开始发送数据字节。

数据字节的传输遵循以下步骤:-主控制器发送一个数据字节-设备接收到数据字节并发送一个应答位-主控制器发送下一个数据字节-设备接收到数据字节并发送一个应答位-重复以上步骤,直到所有数据字节都被传输完成5.应答信号:每当主控制器发送一个应答请求时,设备都应该发送一个应答位来确认数据的接收情况。

应答位是一个低电平脉冲,由设备在接收到数据字节后发送。

如果设备成功接收到数据字节,则发送一个低电平的应答位。

若设备遇到错误或无法接收数据,则发送一个高电平的非应答位。

6.时钟同步:I2C总线的数据传输是由SCL线上的时钟信号进行同步的。

I2C总线原理介绍AT24C02内部原理介绍

I2C总线原理介绍AT24C02内部原理介绍

I2C总线原理介绍AT24C02内部原理介绍I2C总线原理介绍:I2C (Inter-Integrated Circuit)总线是一种用于在集成电路之间进行通信的串行通信总线协议。

它最初由飞利浦半导体公司(现在的NXP半导体)开发,旨在解决多个IC之间的通信问题。

I2C总线协议包括了两种设备,即主设备和从设备。

主设备负责控制总线及发送和接收数据,而从设备则依从主设备的控制。

主设备通过发送一个起始条件开始通信,并通过发送地址和数据进行控制。

从设备则根据主设备发送的地址和数据进行相应的响应。

1.双向通信:I2C总线允许主设备和从设备之间双向通信,即主设备可以发送数据给从设备,也可以从从设备接收数据。

2.多主模式:I2C总线支持多个主设备同时驱动总线,这可以实现多个主设备之间的协同工作。

3.硬件地址和数据传输:I2C总线使用7位或10位地址来寻址从设备,并以字节为单位传输数据。

4.起始和停止条件:I2C总线使用起始和停止条件来控制通信的开始和结束。

5.错误检测:I2C总线通过校验和来检测传输过程中的错误。

6.时钟同步:I2C总线使用时钟信号来同步主设备和从设备之间的通信。

AT24C02内部原理介绍:AT24C02是一种常见的I2C EEPROM (Electrically Erasable Programmable Read-Only Memory)芯片,用于存储数据。

它的内部原理如下:1.存储单元:AT24C02由256个8位字节构成,每个字节具有一个唯一的地址。

地址范围从0到255,可以存储共计2048位的数据。

2.寻址和读写:AT24C02通过I2C总线进行寻址和读写操作。

主设备发送启始条件和设备地址,然后发送要读取或写入的数据的地址,最后发送或接收实际数据。

3.数据传输:AT24C02的数据以字节为单位被写入和读取。

写入操作通过I2C总线将字节数据写入到指定地址处。

读取操作通过I2C总线将字节数据从指定地址读出。

I2C总线原理及应用实例

I2C总线原理及应用实例

I2C总线原理及应用实例I2C总线是一种串行通信总线,全称为Inter-Integrated Circuit,是Philips(飞利浦)公司在1982年推出的一种通信协议。

它可以用于连接各种集成电路(Integrated Circuits,ICs),如处理器、传感器、存储器等。

I2C总线的原理是基于主从架构。

主设备(Master)负责生成时钟信号,并发送和接收数据,从设备(Slave)通过地址识别和响应主设备的命令。

I2C总线使用两根线来传输数据,一根是时钟线(SCL),用于主设备生成的时钟信号;另一根是数据线(SDA),用于双向传输数据。

1. 主设备发送起始位(Start)信号,将SDA线从高电平拉低;然后通过SCL线发送时钟信号,用于同步通信。

2.主设备发送从设备的地址,从设备通过地址识别确定是否响应。

3.主设备发送要传输的数据到从设备,从设备响应确认信号。

4. 主设备可以继续发送数据,或者发送停止位(Stop)信号结束通信。

停止位是将SDA线从低电平拉高。

1.温度监测器:I2C总线可以连接到温度传感器上,通过读取传感器的输出数据,进行温度的监测和控制。

主设备可以设置警报阈值,当温度超过阈值时,可以触发相应的措施。

2.显示屏:很多智能设备上的显示屏都采用了I2C总线,如液晶显示屏(LCD)或有机发光二极管(OLED)等。

主设备通过I2C总线发送要显示的信息,并控制显示效果,如亮度、对比度、清晰度等参数。

3.扩展存储器:I2C总线可以用于连接外部存储器,如电子存储器(EEPROM)。

通过I2C总线,可以读取和写入存储器中的数据,实现数据的存储和传输。

4.触摸屏控制器:许多触摸屏控制器也使用了I2C总线,主要用于将触摸信号传输给主设备,并接收主设备的命令。

通过I2C总线,可以实现对触摸屏的操作,如单击、滑动、缩放等。

5.电源管理器:一些电源管理器也采用了I2C总线,用于控制和监测电池电量、充电状态、电压、电流等参数。

I2C总线——总结

I2C总线——总结

I2C总线——总结I2C总线是一种串行数据通信协议,用于连接集成电路之间进行通信。

它由Phillips公司于1982年首次提出,并在随后的几十年中得到广泛应用和发展。

I2C总线采用两根线(SDA和SCL)进行通信,具有简单、高效的特点,适用于较短距离的通信。

首先,I2C总线的架构包括两个主要组成部分:主设备和从设备。

主设备通常是微控制器或其他控制器,负责发起和控制通信。

从设备是主设备的外围设备,例如传感器、电池芯片、存储器等。

主设备通过发送信号来控制从设备,并接收从设备发送的响应信号。

在I2C通信中,数据以字节为单位传输,每个字节都包含8位。

通信的起始由主设备发起,并发送设备地址标识。

从设备必须匹配该地址才能进入通信状态。

在通信过程中,主设备发送读取或写入指令,然后发送或接收数据。

每个数据字节都由从设备发送确认信号,以确保数据的准确接收。

除了基本的读写操作,I2C总线还支持一些高级功能,例如时钟同步、主从模式切换和热插拔功能。

这些功能使得I2C总线适用于各种应用场景,包括电子设备、通信系统、工业控制和汽车电子等。

然而,尽管I2C总线具有许多优点,但也存在一些限制和挑战。

首先,I2C总线在传输速度方面不如其他通信协议(如SPI和CAN)。

其次,长距离传输可能受到电压下降、信号失真和干扰等因素的影响。

此外,I2C总线的主设备需要额外的控制逻辑和处理能力,这可能增加系统的复杂性和成本。

综上所述,I2C总线是一种非常常用和实用的串行通信协议。

它具有简单、高效的特点,适用于较短距离的设备间通信。

通过多主机配置和高级功能支持,I2C总线可以满足各种应用的需求。

然而,需要根据具体的应用场景和要求来选择合适的通信协议,以确保系统的性能和可靠性。

i2c的工作原理

i2c的工作原理

i2c的工作原理1. 引言i2c是一种串行通信接口,被广泛应用于各种电子设备之间的通信。

本文将详细介绍i2c的工作原理。

2. i2c的概述i2c是Inter-Integrated Circuit的缩写,最早由飞利浦公司(现在的恩智浦公司)在1980年代开发并推出。

它采用2根传输线(即SDA和SCL),用于在多个设备之间进行数据传输。

i2c具有简单、低成本、高可靠性的特点,非常适合中小规模的系统集成。

3. i2c的物理层i2c的物理层采用比特传输技术,即通过不同电平来表示不同的值。

在i2c中,SDA线是串行数据线,SCL线是串行时钟线。

这两根线通过上拉电阻连接到VCC,通常在3V到5V之间。

3.1 时钟同步i2c通信采用主从模式,由一个主设备控制通信的起始和停止。

主设备通过控制SCL线的电平变化来同步通信。

当主设备将SCL线拉低时,通信开始;当主设备释放SCL线时,通信停止。

所有的从设备在SCL线上都能感知到这些时钟变化。

3.2 数据传输i2c的数据传输通过在SDA线上传输二进制数据来实现。

每个数据位都在SCL时钟的边沿传输,当时钟从低电平变为高电平时,数据被采样。

4. i2c的工作机制i2c的工作机制可以分为地址传输阶段和数据传输阶段。

4.1 地址传输阶段在i2c通信开始时,主设备首先发送一个地址和读/写位,用于指定要访问的从设备。

地址是从设备在总线上的唯一标识。

读/写位用于指示主设备是要将数据发送给从设备还是从从设备读取数据。

4.2 数据传输阶段在地址传输阶段之后,主设备和从设备可以进行数据传输。

数据传输可以分为两种模式:主设备发送数据和主设备读取数据。

4.2.1 主设备发送数据在主设备发送数据时,它将数据逐位地发送到SDA线上,并由SCL线上的时钟同步。

1.主设备拉低SDA线,将第一个数据位(即最高位)发送到总线上。

2.主设备通过改变SCL线的电平来同步通信。

3.从设备在SCL线的上升沿采样数据位。

I2C总线

I2C总线
I2C总线
双向二线制同步串行总线
01 工作原理
03 数据传输
目录
02 特征 04 模式
基本信息
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上 的器件之间传送信息。
主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器 件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件, 则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据, 首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负 责产生定时时钟和终止数据传送。
6、连接到总线的外部上拉器件必须调整以适应快速模式I2C总线更短的最大允许上升时间。对于负载最大是 200pF的总线,每条总线的上拉器件可以是一个电阻,对于负载在200pF~400pF之间的总线,上拉器件可以是一个 电流源(最大值3mA)或者是一个开关电阻电路。
高速模式
高速模式(Hs模式)器件对I2C总线的传输速度有巨大的突破。Hs模式器件可以在高达3.4Mbit/s的位速率 下传输信息,而且保持完全向下兼容快速模式或标准模式(F/S模式)器件,它们可以在一个速度混合的总线系 统中双向通讯。
Hs模式传输除了不执行仲裁和时钟同步外,与F/S模式系统有相同的串行总线协议和数据格式。
高速模式下I2C总线规范如下:
1、Hs模式主机器件有一个SDAH信号的开漏输出缓冲器和一个在SCLH输出的开漏极下拉和电流源上拉电路。 这个电流源电路缩短了SCLH信号的上升时间,任何时候在Hs模式,只有一个主机的电流源有效;

I2C总线的结构与工作原理

I2C总线的结构与工作原理

I 2C 总线的结构与工作原理2.1 概述2.1.1 I 2C 总线在单片机应用系统设计中的意义现代消费类产品、通讯类产品、仪器仪表、工业测控系统中,逐渐形成了以一个或多个单片机组成的智能系统,这些系统硬件结构都有相似之处:1. 单片机电路已日趋简单化和标准化。

通常是由单片机(MICROCONTROLLER!序存储器(EPRO M数据存储器(SRAM构成的三片体系,或采用有在片程序存储器的单片机与数据存储器构成的二片体系,以及单片机与通用外围接口器件(PSD)构成的最简单体系。

2. 都有一些外围通用电路,如EEPROMI/O 口、A/D、D/A、日历时钟等外围器件和键盘、LED/LCD显示器、打印机接口等外围设备模块等。

3. 面对系统特殊应用的一些电路,如无线电、电视、音像系统中的数字协调、编码、解码、图象处理、频率合成、音调控制、立体声处理等。

在上述的一些电路中,除与单片机直接相关的程序存储器、并行扩展的数据存储器外,单片机对许多外围电路之间主要是实现控制功能,而且许多外设并不要求很高的数据传送速度。

为了简化系统,提高系统的可靠性,缩短产品开发周期,增加硬件结构的灵活性,Philips 公司推出了一种高效、可靠、方便的串行扩展总线I2C总线。

在单片机应用系统中推广I 2C总线后将会大大改变单片机应用系统结构性能、对单片机的应用开发带来以下好处:可最大限度地简化结构。

二线制的I2C串行总线使得各电路单元之间只需最简单的连接,而且总线接口都集成在器件中,不需另加总线接口电路。

电路的简化省去了电路板上大量走线,减少电路板面积,提高了可靠性,降低了成本。

可实现电路系统的模块化、标准化设计。

在I2C总线上各单元电路除了个别中断引线外,相互之间没有其他连线,用户常用的单元电路基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。

标准I 2C总线模块的组合开发方式大大地缩短了新品的开发周期。

I2C总线各节点具有独立的电器特性,各节点单元电路能在相互不受影响的情况下,甚至在系统供电情况下,接入或撤除。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.1.2
I2C总线的数据传送
一、数据位的有效性规定
I2C总线进行数据传送时,时钟信号为高电平期间,数据 线上的数据必须保持稳定,只有在时钟线上的信号为低电 平期间,数据线上的高电平或低电平状态才允许变化。
二、起始和终止信号
SCL线为高电平期间,SDA线由高电平向低电 平的变化表示起始信号;SCL线为高电平期间, SDA线由低电平向高1
2、应用 闭环控制系统 用于远程数据采集的低功耗转换器 电池供电设备 在汽车、音响和TV应用方面的模拟数据采集
I2C起始
SCL 线是高电平时,SDA 线从高电平向低电平切换,这个 情况表示起始条件;
#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();}
接收字节
unsigned char iic_recbyte(void) { unsigned char da; unsigned char i; for(i=0;i<8;i++) { SCL = 1; somenop; da <<= 1; if(SDA) da |= 0x01; SCL = 0; somenop; } return da; }
控制字节
D5,D4 模拟量输入选择: 00为四路单数入; 01为三路差分输入; 10 为单端与差分配合输入;11为模拟输出允许有效
读字节(AD)操作流程 在进行数据操作时: 首先是主控器发出起始信号; 然后发出寻址字节(写); 被控器做出应答后; 然后发出控制字节(写); 被控器做出应答后;
然后发出寻址字节(读); 被控器做出应答后; 主控器从被控器读出第一个数据字节,主控器发出应答; 主控器从被控器读出第二个数据字节,主控器发出应答; …… 主控器从被控器读出第n个数据字节,主控器发出非应答信号; 主控器发出停止信号。
四、总线的寻址 I2C总线协议有明确的规定:采用7位的寻址字 节(寻址字节是起始信号后的第一个字节)。 (1)寻址字节的位定义
D7~D1位组成从机的地址。D0位是数据 传送方向位,为“0”时表示主机向从机写数 据,为“1”时表示主机由从机读数据。
主机发送地址时,总线上的每个从机都将这7 位地址码与自己的地址进行比较,如果相同, 则认为自己正被主机寻址,根据R/T位将自己 确定为发送器或接收器。 从机的地址由固定部分和可编程部分组成。 在一个系统中可能希望接入多个相同的从机, 从机地址中可编程部分决定了可接入总线该类 器件的最大数目。如一个从机的7位寻址位有 4位是固定位,3位是可编程位,这时仅能寻 址8个同样的器件,即可以有8个同样的器件 接入到该I2C总线系统中。
8.2 80C51单片机I2C串行总线器件的接口 8.2.1 总线数据传送的模拟
主机可以采用不带I2C总线接口的单片机,如 80C51、AT89C2051等单片机,利用软件实现I2C 总线的数据传送,即软件与硬件结合的信号模拟。 一、典型信号模拟 为了保证数据传送的可靠性,标准的I2C总线的数 据传送有严格的时序要求。I2C总线的起始信号、终 止信号、发送“0”及发送“1”的模拟时序 :
下面讲基于IIC的集AD与DA一体的
—— PCF8591
1、概述
PCF8591
单电源供电 工作电压:2.5 V ~ 6 V 待机电流低 I2C总线串行输入/输出 通过3个硬件地址引脚编址 采样速率取决于I2C总线速度 4个模拟输入可编程为单端或差分输入 自动增量通道选择 模拟电压范围:VSS~VDD 片上跟踪与保持电路 8位逐次逼近式A/D转换 带一个模拟输出的乘法DAC
void iic_start(void) { SDA = 1; _nop_(); SCL = 1; somenop; SDA = 0; somenop; SCL = 0; }
I2C停止
SCL 线是高电平时,SDA 线由低电平向高电平切换,这个 情况表示停止条件。
void iic_stop(void) { SDA = 0; _nop_(); SCL = 1; somenop; SDA = 1; }
a、主机向从机发送数据,数据传送方向在整 个传送过程中不变:
注:有阴影部分表示数据由主机向从机传送,无阴影部分则 表示数据由从机向主机传送。 A表示应答, A非表示非应答(高电平)。S表示起始信号, P表示终止信号。。
b、主机在第一个字节后,立即从从机读数据
c、在传送过程中,当需要改变传送方向时, 起始信号和从机地址都被重复产生一次,但 两次读/写方向位正好反相。
起始和终止信号都是由主机发出的,在起始信号产生后, 总线就处于被占用的状态;在终止信号产生后,总线就处 于空闲状态。
连接到I2C总线上的器件,若具有I2C总线的硬件接口,则 很容易检测到起始和终止信号。
接收器件收到一个完整的数据字节后,有可能需要完成 一些其它工作,如处理内部中断服务等,可能无法立刻接收 下一个字节,这时接收器件可以将SCL线拉成低电平,从而 使主机处于等待状态。直到接收器件准备好接收下一个字节 时,再释放SCL线使之为高电平,从而使数据传送可以继续 进行。
PCF8591是单片、单电源低功 耗8位CMOS数据采集器件,具有4 个模拟输入、一个输出和一个串行 I2C总线接口。3个地址引脚A0、 A1和A2用于编程硬件地址,允许 将最多8个器件连接至I2C总线而不 需要额外硬件。器件的地址、控制 和数据通过两线双向I2C总线传输。
器件功能包括多路复用模拟输 入、片上跟踪和保持功能、8位模 数转换和8位数模拟转换。最大转 换速率取决于I2C总线的最高速率。
每个接到I2C总线上的器件都有唯一的地址。 主机与其它器件间的数据传送可以是由主机发送 数据到其它器件,这时主机即为发送器。由总线 上接收数据的器件则为接收器。 在多主机系统中,可能同时有几个主机企图启 动总线传送数据。为了避免混乱, I2C总线要通 过总线仲裁,以决定由哪一台主机控制总线。
在80C51单片机应用系统的串行总线扩展中, 我们经常遇到的是以80C51单片机为主机,其它 接口器件为从机的单主机情况。
主机在接收到一个字节后, 向从机作出应答
主机等待从机应答
void iic_ack(bit ackbit) { if(ackbit) SDA = 0; //应答 else SDA = 1; //非应答 somenop; SCL = 1; somenop; SCL = 0; }
当主机接收数据时,它收到最后一 个数据字节后,必须向从机发出一 个结束传送的信号。这个信号是由 对从机的“非应答”来实现的。然 后,从机释放SDA线,以允许主机 产生终止信号。
(2)数据帧格式 I2C总线上传送的数据信号是广义的,既包括地址 信号,又包括真正的数据信号。
在起始信号后必须传送一个从机的地址(7位), 第8位是数据的传送方向位(R/T),用“0”表示主 机发送数据(T),“1”表示主机接收数据(R)。 每次数据传送总是由主机产生的终止信号结束。但 是,若主机希望继续占用总线进行新的数据传送, 则可以不产生终止信号,马上再次发出起始信号对 另一从机进行寻址。 在总线的一次数据传送过程中,可以有以下几种 组合方式:
iic_sendbyte(0x90);
控制字节
控制字节用于实现器件的各种功能 如模拟信号由哪几个通道输入等 控 制字节存放在控制寄存器中 总线操作时为主控器发送的第二字节其格 式如下所示。
iic_sendbyte(0x03);
其中: D1D0两位是A/D通道编号: 00:通道0;01:通道1;10: 通道2;11:通道 3 D2:自动增量选择(有效位为1),每次A/D转换后通道号将 自动增加 D5,D4 模拟量输入选择: 00为四路单数入; 01为三路差分输入; 10 为单端与差分配合输入;11为模拟输出允许有效 D6:模拟输出使能,即DA使能
写字节(DA)操作流程 在进行数据操作时: 首先是主控器发出起始信号; 然后发出寻址字节(写); 被控器做出应答后; 然后发出控制字节(写); 被控器做出应答后;
主控器向被控器写入第一个数据字节,被控器回一个应答; 主控器向被控器写入第二个数据字节,被控器回一个应答;
……
主控器发出停止信号。
应答响应
PCF8591
3、引脚图 • AIN0~AIN3:模拟信号输入端。 • A0~A3:引脚地址端。 • VDD、VSS:电源端。(2.5~6V) • SDA、SCL:I2C 总线的数据线、时钟线。 • OSC:外部时钟输入端,内部时钟输出端。 • EXT:内部、外部时钟选择线,使用内部时 钟时 EXT 接地。 • AGND:模拟信号地。
bit iic_waitack(void) { SDA = 1; //P2.1作为输入口 somenop; SCL = 1;//拉高,准备检测SDA电平 somenop; //要大于4us if(SDA) //检测应答信号 { SDA=1 //无应答 SCL = 0; iic_stop();//主机终止IIC return 0; //返回0,退出 } else //有应答 { SCL = 0; return 1; //返回1,退出 } }
I2C串行总线概述
I2C总线是PHLIPS公司推出的一种串行总线,是具备多 主机系统所需的包括总线裁决和高低速器件同步功能的高 性能串行总线。
I2C总线只有两根双向信号线。一根是数据线SDA,另 一根是时钟线SCL。
I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均 为高电平。连到总线上的任一器件输出的低电平,都将使总 线的信号变低,即各器件的SDA及SCL都是线“与”关系。
I2C串行总线的组成及工作原理
结合AD/DA芯片PCF8591
I2C串行总线的组成及工作原理
采用串行总线技术可以使系统的硬件设计大大简化、系统 的体积减小、可靠性提高。同时,系统的更改和扩充极为容 易。 常用的串行扩展总线有: I2C (Inter IC BUS)总线, 如PCF8591,AT24C02 单总线(1-WIRE BUS), 如温度传感器18B20 SPI(Serial Peripheral Interface)总线, 如串行口 Microwire/PLUS等。 本课仅讨论I2C串行总线。
相关文档
最新文档