IIC总线协议及ADCPCF8951汇总
- 格式:ppt
- 大小:578.00 KB
- 文档页数:11
IIC(Inter-Integrated Circuit)协议,即集成电路总线协议,是一种两线制的串行通信总线,使用多主从架构。
IIC协议主要应用于数据量不大且传输距离短的场合,如主板、嵌入式系统或手机连接低速周边设备。
常见的传输速率有100kb/s、300kb/s和3.4Mkb/s。
IIC协议的传输格式以8bit为一个基本传输单位,包含地址、片选、读写和数据信号。
其基本时序如图所示,SCL为输入的时钟信号,SDA既可作为数据的输入信号,也可作为数据的输出信号。
在IIC总线协议中,数据的传输过程包括以下几个步骤:
1. START信号:表示数据传输的开始。
在SCL线为高电平的情况下,SDA线由高变低,即视为START开始。
2. 数据传输:在START信号之后,数据按照预定的格式进行传输。
数据线SDA上的电平变化表示数据的传输方向和状态。
3. STOP信号:表示数据传输的结束。
在SCL线为高电平的情况下,SDA线由低变高,即视为STOP结束。
标题:具有I2C总线接口的A/D芯片PCF8591及其应用2009-05-28 04:03:27摘要:I2C总线是Philips公司推出的新型单片机系统。
它采用串行总线,主控器与外围器件仅靠两条线进行信息传输,一条称为时钟线(SCL),另一条位数据线(SDA)。
I2C总线单片机系统较通用单片机系统电路简单。
由普通CPU芯片同I2C专用器件组成的系统为模拟I2C系统,它性能稳定,价格较低,目前已得到广泛应用.本文介绍了具有I2C接口的A/D芯片PCF8591的引脚图及应用电路,并在暖水锅炉温度记录仪中得到应用。
关键词:I2C总线A/D转换器件地址控制字节1 引言I2C总线是Philips公司推出的串行总线,整个系统仅靠数据线(SDA)和时钟线(SCL)实现完善的全双工数据传输,即CPU与各个外围器件仅靠这两条线实现信息交换。
I2C总线系统与传统的并行总线系统相比具有结构简单、可维护性好、易实现系统扩展、易实现模块化标准化设计、可靠性高等优点。
在一个完整的单片机系统中,A/D转换芯片往往是必不可少的。
PCF8591是一种具有I2C 总线接口的A/D转换芯片。
在与CPU的信息传输过程中仅靠时钟线SCL和数据线SDA就可以实现。
2 芯片介绍PCF8591是具有I2C总线接口的8位A/D及D/A转换器。
有4路A/D转换输入,1路D/A模拟输出。
这就是说,它既可以作A/D转换也可以作D/A转换。
A/D转换为逐次比较型。
引脚图如图1所示。
结构图如图2所示。
电源电压典型值为5V。
AIN0~AIN3:模拟信号输入端。
A0~A3:引脚地址端。
VDD、VSS:电源端。
(2.5~6V)SDA、SCL:I2C总线的数据线、时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时EXT接地。
AGND:模拟信号地。
AOUT:D/A转换输出端。
VREF:基准电源端。
图2PCF85913 应用3.1 器件总地址PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址、引脚地址和方向位组成。
iic协议手册IIC(Inter-Integrated Circuit)是一种串行通信协议,被广泛应用于数字集成电路之间的通信。
本手册将详细介绍IIC协议的基本原理、通信模式、信号电平和传输速度等关键要点。
一、基本原理IIC协议最早由飞利浦公司(现在的恩智浦半导体)于1982年推出,用于解决集成电路之间的通信问题。
它基于两根双向线路:SDA(串行数据线)和SCL(串行时钟线),实现了高效率的数据传输和设备间的通信。
二、通信模式1. 主从模式:IIC通信中,通常会有一个主设备(Master)和多个从设备(Slave)。
主设备负责发起通信,从设备则被主设备控制并传输数据。
2. 单主模式:只能有一个主设备,但可以连接多个从设备。
主设备可以通过发送地址来选择特定的从设备进行通信。
3. 多主模式:允许多个主设备同时存在,并通过总线仲裁机制(bus arbitration)来解决竞争冲突。
三、信号电平1. 逻辑低电平:0V至0.3V之间。
2. 逻辑高电平:0.7VDD至VDD之间(VDD为供电电压)。
3. 电压标准:IIC协议定义了标准模式、快速模式和高速模式,对应的电压标准分别为3.3V和5V。
用户在使用时需根据实际情况选择合适的电压标准。
四、传输速度IIC协议的传输速率可通过调整时钟频率进行控制,最高速度取决于总线电容和负载。
根据不同的模式,IIC协议可以达到的最高传输速率分别为100kbps(标准模式)、400kbps(快速模式)和3.4Mbps(高速模式)。
五、通信过程IIC通信包括起始条件、地址传输、数据传输和停止条件等多个环节。
以下是一种简单的通信过程示例:1. 主设备发送起始条件:SCL线为高电平时,SDA线由高电平跳变为低电平。
2. 主设备发送从设备地址:主设备发送从设备的7位地址,包括读/写位。
从设备通过比较地址选择响应。
3. 数据传输:根据读/写位选择需要读取或写入的数据。
4. 停止条件:主设备通过将SDA线由低电平跳变为高电平,产生停止条件。
IIC总线工作原理IIC(Inter-Integrated Circuit)总线是一种串行通信接口标准,广泛应用于各种电子设备之间的通信。
它在数字电路领域中被普遍使用,因为它具有简单、易于实现和低功耗的特点。
IIC总线可以用于连接各种外设,如传感器、存储器、显示屏等,实现它们之间的数据传输和控制。
首先,IIC总线的起始信号是一个高电平到低电平的时钟信号(SCL),它表示通信的开始。
当SCL为高电平时,数据线(SDA)处于空闲状态,并且可以连接多个设备。
当SCL为低电平时,表示通信成功开始。
当起始信号发送后,接下来是地址和数据传输阶段。
在这个阶段,主设备(通常是控制器)会发送一个7位的地址码给从设备(如传感器)。
地址码用于指示从设备编号,这样主设备就能识别目标设备。
此外,还有一个位用于指示读取(R)或写入(W)操作。
主设备发送完地址码后,从设备会发送一个应答信号(ACK)来确认接收到地址码。
如果从设备正常工作,它会拉低SDA线来发送ACK信号。
如果没有设备响应地址码,主设备会发送停止信号来终止通信。
一旦主设备发送了起始信号和地址码,接下来就是数据传输阶段。
在数据传输阶段,主设备将发送或接收以字节为单位的数据。
数据线的电平发送者由主设备和从设备的电平决定。
主设备将每个字节分成8个位,依次在SDA上发送,并根据SCL时钟信号来同步数据传输。
在每个字节发送之后,接收者会回复一个ACK信号来确认已接收到数据。
主设备可以选择继续发送更多字节,或者发送停止信号来结束通信。
最后,通信的最后阶段是停止信号。
停止信号也是一个高电平到低电平的时钟信号,它表示通信的结束。
停止信号发出后,SDA和SCL两条线都回到高电平状态,表示通信已经结束。
总的来说,IIC总线的工作原理是基于起始信号、地址和数据传输,以及停止信号。
起始信号用于表示通信开始,地址和数据传输用于实现主设备和从设备之间的数据传输,而停止信号表示通信结束。
通过这种方式,IIC总线可以实现简单、高效的串行通信,广泛应用于各种电子设备之间的连接和通信。
iic协议讲解IIC(Inter-Integrated Circuit,即I2C)是一种串行通信协议,由飞思卡尔公司(现在是恩智浦公司)于1982年首次推出。
它通过两根信号线(SCL和SDA)进行通信,并且允许多个设备共享同一对信号线。
IIC协议使用主从结构,其中一个设备充当主设备,控制通信的起止,而其他设备充当从设备,等待主设备的命令或请求。
以下是IIC协议的一些关键概念和基本通信流程:1. 帧格式:IIC通信是基于字节的,每个数据传输都是1个字节。
每个字节由8个位组成,其中最高位是读或写位,指示主设备是发送数据还是请求数据。
2. 起始信号和停止信号:通信开始前,主设备发送一个起始信号(S)来指示通信的开始,结束时发送一个停止信号(P)来指示通信的结束。
3. 寻址:主设备通过发送设备地址来选择要与之通信的从设备。
每个从设备都有一个唯一的地址,可以是7位或10位。
在7位寻址模式下,可以有最多128个从设备。
4. 数据传输:主设备可以发送数据给从设备,也可以请求从设备发送数据给主设备。
数据传输是通过在SCL线上的时钟脉冲上的时钟信号同步进行的。
5. 硬件确认:每个字节的传输后,接收到字节的设备都会返回一个ACK或NACK信号,以表示是否成功接收到字节。
ACK (ACKnowledge)表示成功接收到字节,而NACK(Not ACKnowledge)则表示接收出错。
6. 速度:IIC协议支持不同的传输速度,通常有标准模式(100 Kbps)和快速模式(400 Kbps)。
一些设备还支持更高的速度,如高速模式(3.4 Mbps)和超高速模式(5 Mbps)。
总的来说,IIC协议是一种简单、灵活且可靠的通信协议,广泛应用于各种电子设备之间的通信,如传感器、存储器和外围设备等。
它的主要优点是只需两根线来进行通信,并且可以连接多个设备,节省了电路复杂度和空间。
I2C总线协议详解简介:I2C(Inter-Integrated Circuit)是一种由PHILIPS公司开发的两线式串行总线,用于衔接微控制器及其外围设备。
I2C总线产生于在80年月,最初为音频和视频设备开发,如今主要在服务器管理中用法,其中包括单个组件状态的通信可随时监控内存、硬盘、网络、系统温度等多个参数,增强了系统的平安性,便利了管理。
I2C总线特点I2C总线最主要的优点是其容易性和有效性。
因为接口挺直在组件之上,因此I2C总线占用的空间十分小,削减了板的空间和芯片管脚的数量,降低了互联成本。
总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。
I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够举行发送和接收的设备都可以成为主总线。
一个主控能够控制信号的传输和时钟频率。
固然,在任何时光点上只能有一个主控。
I2C总线工作原理总线的构成及信号类型I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。
在CPU与被控IC之间、IC与IC之间举行双向传送,最高传送速率100kbps。
各种被控制电路均并联在这条总线上,但就像电话机一样惟独拨通各自的号码才干工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。
CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量打算该调节的类别(如对照度、亮度等)及需要调节的量。
这样,各控制电路虽然挂在同一条总线上,却彼此自立,互不相关。
I2C总线在传送数据过程*有三种类型信号,它们分离是:开头信号、第1页共4页。
IIC 总线原理及其在51 单片机中的简单应用
1. IIC 总线基本概念
1.1 总线概述
IIC 总线是PHLIPS 公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。
1.2 总线结构
IIC 总线是由数据线SDA 和时钟线SCL 构成的串行总线,可发送和接收数据。
在CPU 与被控IC 之间、IC 与IC 之间可以进行双向传送,最高传送速率100kbps。
各种被控制电路均并联在这两条总线上。
2. IIC 总线协议
2.1 数据传输中的主/从机
在多主机系统中,可能同时有几个主机企图启动总线传送数据。
为了避免混乱,IIC 总线要通过总线仲裁,以决定由哪一台主机控制总线。
连在每一个总线上的电路和模块都有一个唯一地址,它们彼此之间只有简单的。
PCF8591和iic总线详细资料PCF8591和iic总线详细资料(⼀)、PCF85911、引脚说明ANI0~ANI3 为模拟信号输⼊端,不使⽤的输⼊端应接地A0~A2 地址输⼊端GND、VCC 地和电源端(+5V)SDA 为I2C数据输⼊与输出端SCL 为I2C时钟输⼊端EXT 内外部时钟选择端,使⽤内部时钟时接地,使⽤外部时钟时接+5VOSC 外部时钟输⼊、内部时钟输出端,不使⽤时应悬空AGND 模拟信号地VREF 基准电压输⼊端AOUT D/A转换后的电压输出端2、功能说明PCF8591是具有I2C总线接⼝的8位A/D及D/A转换器,具有4路A/D输⼊,1路D/A 输出。
PCF8591采⽤典型的I2C总线接⼝器件寻址⽅法,即总线地址由器件地址(1001)、引脚地址(由A0~A2接地或+5V来确定,接地代表0;接+5V代表1)、⽅向位(即R/W)组成。
因此,在I2C总线系统中最多可接8个这样的器件。
R/W=1表⽰读操作,R/W=0表⽰写操作。
本例将A0~A2接地,则读地址为91H;写地址为90H。
地址字节:由器件地址、引脚地址、⽅向位组成,它是通信时主机发送的第⼀字节数据。
控制字节:⽤于控制PCF8951的输⼊⽅式、输⼊通道、D/A转换等,是通信时主机发A/D输⼊⽅式选择说明:3(⼆)、I2C总线1、I2C总线数据位的传输它通过2根线:串⾏数据线(SDA)和串⾏时钟线(SCL)组成。
连接到总线上的每⼀个器件都有⼀个唯⼀的地址,⽽且都可以作为⼀个发⽣器或接收器,SDA和SCL都是双向线路,分别通过⼀个电阻连接到电源(+5V)端。
前提是连接到总线上的器件的SDA和SCL端必须是漏极或集电极开路型。
I2C总线上的数据传输速率在标准模式下可达100Kb/s,快速模式可达400Kb/s,⾼速模式下可达3.4Mb/s。
连接到总线的器件数量只由总线的电容(400PF)限制决定。
I2C总线上每传输⼀个数据位必须产⽣⼀个时钟脉冲,I2C总线上数据传输的有效性要求SDA线上的数据必须在时钟线SCL的⾼电平期间保存稳定,数据线的改变只能在时钟线为低电平期间。
PCF8591应用程序<上一节下一节>分享到:QQ空间新浪微博腾讯微博豆瓣人人网在线学习编程开发,零基础到精通教程任你挑:北风网PCF8591 的通信接口是I2C,那么编程肯定是要符合这个协议的。
单片机对PCF8591 进行初始化,一共发送三个字节即可。
第一个字节,和EEPROM 类似,是器件地址字节,其中7 位代表地址,1 位代表读写方向。
地址高4 位固定是0b1001,低三位是A2,A1,A0,这三位我们电路上都接了GND,因此也就是0b000,如图17-5 所示。
图17-5 PCF8591 地址字节发送到PCF8591 的第二个字节将被存储在控制寄存器,用于控制PCF8591 的功能。
其中第3 位和第7 位是固定的0,另外6 位各自有各自的作用,如图17-6 所示,我逐一介绍。
图17-6 PCF8591 控制字节控制字节的第6 位是DA 使能位,这一位置1 表示DA 输出引脚使能,会产生模拟电压输出功能。
第4 位和第5 位可以实现把PCF8591 的4 路模拟输入配置成单端模式和差分模式,单端模式和差分模式的区别,我们在17.5 节有介绍,这里大家只需要知道这两位是配置AD输入方式的控制位即可,如图17-7 所示。
图17-7 PCF8591 模拟输入配置方式控制字节的第2 位是自动增量控制位,自动增量的意思就是,比如我们一共有4 个通道,当我们全部使用的时候,读完了通道0,下一次再读,会自动进入通道1 进行读取,不需要我们指定下一个通道,由于A/D 每次读到的数据,都是上一次的转换结果,所以同学们在使用自动增量功能的时候,要特别注意,当前读到的是上一个通道的值。
为了保持程序的通用性,我们的代码没有使用这个功能,直接做了一个通用的程序。
控制字节的第0 位和第1 位就是通道选择位了,00、01、10、11 代表了从0 到3 的一共4 个通道选择。
发送给PCF8591 的第三个字节D/A 数据寄存器,表示D/A 模拟输出的电压值。
iic协议格式摘要:IIC协议格式简介1.IIC协议概述2.IIC协议的基本格式3.IIC协议的数据传输过程4.IIC协议的优点和应用领域正文:IIC协议格式简介IIC(Inter-Integrated Circuit),又称为I2C(Inter IC),是一种串行双向通信总线,它是由Philips公司于1980年代研发的。
IIC协议主要用于在微处理器和外围设备之间进行低速通信,例如存储器、LCD驱动器、传感器等。
它具有简单、成本低、扩展性强等优点,因此在嵌入式系统和电子设备中得到了广泛应用。
IIC协议的基本格式IIC协议的基本格式包括:起始信号、数据传输、应答信号、停止信号。
1.起始信号:SDA线上的数据从高电平到低电平变化,表示数据传输的开始。
2.数据传输:在SDA线上传输数据,数据是8位的,可以传输一个字节或多个字节。
3.应答信号:在数据传输过程中,每个字节的数据发送后,接收方会发送一个应答信号。
应答信号是SDA线上的数据从低电平到高电平变化。
4.停止信号:SDA线上的数据从低电平到高电平变化,表示数据传输的结束。
IIC协议的数据传输过程IIC协议的数据传输过程分为三个阶段:写数据、读数据和应答。
1.写数据:主设备将数据写入到从设备。
首先,主设备发送起始信号,然后发送数据,接着发送停止信号。
从设备收到数据后,会发送应答信号。
2.读数据:主设备从从设备读取数据。
首先,主设备发送起始信号,然后发送从设备的地址和读数据命令,接着发送停止信号。
从设备收到命令后,会发送应答信号,然后发送数据。
主设备收到数据后,会发送应答信号,最后发送停止信号。
3.应答:在数据传输过程中,每个字节的数据发送后,接收方会发送一个应答信号。
应答信号是SDA线上的数据从低电平到高电平变化。
IIC协议的优点和应用领域IIC协议具有以下优点:1.只需要两根信号线即可实现通信。
2.设备地址唯一,便于识别。
3.支持多主设备,扩展性强。
实用分享:IIC总线通用手册IIC (也称I2C)即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。
这种方式简化了信号传输总线接口。
随着规模集成电路技术的发展,把CPU和一个单独工作系统所需的ROM、RAM、I/O端口、A/D、D/A等外围电路集成在一个单片内制作成的单片机或微控制器月俩月方便。
目前,世界上许多公司生产的单片机,品种很多。
其中包括各种字长的CPU,这种容量的ROM、RAM以及功能各异的I/O接口电路等等,但是,单片机的品种规格依旧有限,所以只能选用某种单片机来进行扩展。
扩展的方法有两种:一种是并行总线,另一种是串行总线。
由于串行总线的连线少,结构简单,往往不用专门的母版和插座就可以直接用导线连接各个设备。
因此,采用串行线可大大简化系统的硬件设计。
PHILIPS公司在十几年前推出了I2C串行总线,利用该总线实现多主机系统所需的裁决和高低速设备同步等功能。
因此,这是一种高性能的串行总线。
【I2C总线的特点】I2C总线最主要的优点是其简单性和有效性。
由于接口直接在组件上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。
总线的长度可高达25英尺,并且能够以10KBPS的最大传输速率支持40个组件,I2C总线的另一个优点是,它支持多主控,其中任何能够进行发射和接受的设备都可以成为主总线,一个主控能够控制信号的传输和时钟频率。
当然,在任何时间点上只能有一个主控。
【I2C总线的双向信号线】I2C总线只有两根双向信号线。
一根是数据线SDA,另一根是时钟线SCL。
连接到相同总线的IC数量,受总线最大电容400PF的限制。
I2C总线通过上拉电阻接正电源。
iic知识点总结fpgaFPGA是一种可编程逻辑器件,用于实现可重复使用的硬件电路。
FPGA的设计可以采用不同的方法,具体包括了RTL(Register Transfer Level)、HDL(Hardware Description Language)、Schematic Design和高层次综合。
iic通信协议是一种串行总线协议,用于在芯片之间进行短距离的数据传输。
iic通信协议在FPGA系统中应用广泛。
本文将对FPGA系统中iic通信协议的相关知识点进行总结。
1. iic协议基础iic协议包括了两条线路:串行数据线(SDA)和串行时钟线(SCL)。
SDA用于传输数据,SCL用于同步数据传输。
iic协议的传输速率可以设置为100Kbit/s、400Kbit/s、1Mbit/s和3.4Mbit/s等。
iic协议支持两种通信方式:主机模式和从机模式。
在主机模式下,主机设备控制总线的时钟信号,并负责传输数据。
在从机模式下,从机设备接收主机设备传输的数据,并提供ACK信号以表示数据已被接收。
iic协议的传输流程包括了起始信号、地址信号、数据传输和停止信号。
起始信号表明一次数据传输的开始,停止信号表明一次数据传输的结束。
地址信号用于指定从机设备的地址。
数据传输是以字节为单位进行的,主机设备将数据传输到从机设备,并等待从机设备提供ACK信号。
如果从机设备不能正确接收数据,则会发送NACK信号并终止传输。
4. FPGA中iic协议的实现在FPGA中,可以使用Verilog或VHDL语言实现iic协议。
实现iic协议需要实现iic 接口模块,包括了读写命令的生成、起始信号和停止信号的生成、时钟速率的控制等。
需要注意的是,在FPGA中,iic协议的实现需要考虑多种因素,例如数据传输速率、总线线长、阻抗匹配等。
因此,在实现iic协议时,需要综合考虑这些因素,以确保数据传输的可靠性和稳定性。