IIC串行协议及器件课件_第1页
IIC串行协议及器件课件_第2页
IIC串行协议及器件课件_第3页
IIC串行协议及器件课件_第4页
IIC串行协议及器件课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章

I2C串行协议及I2C器件应用11.1I2C串行总线通信协议11.2I2C串行总线典型器件主讲内容11.3I2C串行总线的应用第11章I2C串行协议及I2C器件应用11.1I

11.1I2C串行总线通信协议

I2C是Philips公司推出的在器件间实现同步串行数据传输的标准总线。以其连接简单、节省I/O口线、缩减空间等特点而得以广泛应用。如I2C的RAM、E2PROM、LCD、LED、A/D、D/A、时钟等器件。I2C串行总线的主要特征如下:1)两条传输线:一条串行数据线(SDA),一条串行时钟线(SCL)。2)总线模式多:主发送模式、主接收模式、从发送模式、从接收模式。3)器件唯一寻址:I2C总线上器件都有唯一地址,主机可对各从机寻址。4)检测和仲裁:冲突检测和仲裁机制保证数据传输完整性和稳定性。5)传输速率高:标准模式、快速模式和高速模式的传输率分别是100k、400k、3.4Mbps。6)漏极开路:总线要接上拉电阻。连接到总线上的IC数量仅受到最大电容400pF的限制。11.1.1I2C串行总线的基本特征11.1I2C串行总线通信协议I2C是Phil11.1I2C串行总线通信协议

I2C接口传输具有线“与”功能。SDA和SCL两条线,均为双向I/O口,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平,连接总线器件的输出极必须是集电极或漏极开路。

I2CSDA上的数据仅在SCL为低电平时才能改变。当SCL为高电平时,SDA的改变表示“开始”和“停止”状态。

在时钟高电平期间,数据线上必须保持稳定的逻辑电平。只有在时钟线低电平时,才允许数据线的电平变化。

I2C总线是一个半双工、多主器件的总线。总线上发送数据的发送器(也叫主器件)与接收数据的接收器(也叫从器件)取决于当时数据传送的方向。当一个器件发送数据时,其它被寻址器件均作为接收器。11.1.2.I2C传输接口的特性11.1I2C串行总线通信协议★I2C接口传11.1I2C串行总线通信协议

★完整的时序过程由起始信号、器件地址信号、应答信号ACK、字节数据信号和停止信号等几部分组成。

11.1.3I2C的时序

11.1I2C串行总线通信协议★完整的时序过程11.1I2C串行总线通信协议(1)起停信号定义I2C协议中,起始信号(S)和停止信号(P)都由主器件产生。起始信号定义:当SCL线为高电平时,SDA由高到低的负跳变;在总线上出现了起始信号,就认为总线处于工作状态。停止信号定义:当SCL线为高电平时,SDA由低到高的正跳变;总线上出现停止信号,被认为总线是处在不忙或空闲状态。1起始和停止信号11.1I2C串行总线通信协议(1)起停信号定义1起11.1I2C串行总线通信协议

(2)起停信号的检测

●连接到总线上的设备具有I2C硬件接口,检测起、停信号由硬件自动完成。

●连接到总线上的设备没有I2C硬件接口,检测起、停信号必须由软件检测跳变。START_IC:CLRSCL;SCL由高变低,因为SCL低电平时才允许SDA更改

NOP;加入空指令延时以确保信号可靠

NOP

SETBSDA;SDA先高

NOP

NOP

SETBSCL;SCL高,起始条件建立时间大于4.7us

ACALLDS4.7uS

CLRSDA;SDA低,起始条件锁定时大于4us

ACALLDS4uS

CLRSCL;SCL低,钳住总线,准备发数据

NOP

RET图11-3启动信号时序11.1I2C串行总线通信协议(2)起停信号的检测ST11.1I2C串行总线通信协议

(2)起停信号的检测

STOP_IC:CLRSCL;SCL低

NOP

CLRSDA

NOP

NOP

SETBSCL;发送结束条件的时钟信号ACALLDS4.7uS;结束总线时间大于4us(取4.7us)

SETBSDA;结束总线

ACALLDS4.7uS;保证终止和起始空闲大于4.7us

NOPRET图11-4停止信号时序11.1I2C串行总线通信协议(2)起停信号的检测11.1I2C串行总线通信协议2器件地址A0A1A20101如24C02的地址格式如下WR●器件地址具有唯一性,发送器发出起始信号后,必须紧跟发送一个字节(8位)器件地址信号;●地址信号用SLAVE表示。SLAVE是7位的器件地址位D7~D1,D0位是数据传送方向位,用表示读/写选择位;●SLAVE由一个4位固定部分和3位可编程部分组成。固定部分为器件的标识,表明了器件的类型,出厂时固定的。可编程部分为器件的引脚地址,视硬件接线而定。WRWR11.1I2C串行总线通信协议2器件地址A0A1A11.1I2C串行总线通信协议表7-3常用外围器件的节点地址1001A2A1A001110A1A00100A2A1A01010A2A1A01010A2A1A01011A2A1A01010A2A1A011.1I2C串行总线通信协议表7-3常用外围器件的

11.1I2C串行总线通信协议

3

应答与非应答信号

(1)应答信号与非应答信号定义图11-5应答与非应答信号接收器收到地址字节或一个字节数据后都要产生一个应答信号ACK。在第9个时钟周期时将SDA线拉低,表示收到一个8位数据。

发送器必须在这一时钟位上释放数据线SDA,使其处于高电平状态,以便接收器输出ACK应答信号,表示继续接收;若接收器输出高电平则为非应答信号(/ACK),表示结束接收。发送器接收数据时,它收到最后一个数据后,须向接收器发送一个非应答信号,使接收器释放SDA线,发送器产生终止信号,停止数据传送。11.1I2C串行总线通信协议3应答与非应

11.1I2C串行总线通信协议

3

应答与非应答信号

(2)应答信号时序ACK在接收方,每收到一字节后便将SDA电平拉低,应答完成后,SCL=0,SDA=1。具体时序如下:MACK_IC:CLRSCL

NOP

CLRSDA;在第9个SLC脉冲,将SDA置0

NOP

NOP

SEIBSCL;保持数据时间,即SCL为高时间大于ACALLDS4.7us

CLRSCL

NOPNOP

SETBSDA;在SDA高或低的任何前提下,应答完成后,SCL=0,SDA=1

NOPRET图11-6应答信号ACK时序

11.1I2C串行总线通信协议3应答与非应

11.1I2C串行总线通信协议

3

应答与非应答信号

(3)非应答信号时序/ACKMNACK_IC:CLRSCLNOPNOPSETB SDA ;将SDA置1NOPNOPSETB SCLACALLDS4.7uSNOP;保持数据时间,即SCL为高时间大于4.7usCLRSCLNOP

SETBSDA

NOPRET图11-7非应答信号时序11.1I2C串行总线通信协议3应答与非应

11.1I2C串行总线通信协议

4数据字节信号字节数位:数据字节数没有限制,但是每字节必须是8位长度;

发送次序:先发送最高位,每字节数据后必跟一位应答脉冲ACK;

等待状态:接收器不能接收下一个字节时,可以把SCL线拉成低电平,迫使发送器处于等待状态。

图为多字节数据传输过程的完整时序。

图11-8数据传输时序

连续写的两个字节之间最好是有10ms的延时。当然,也可以进行页写(PAGEWRITE),即一次性连续写8个字节,但采用页写方式时每个字节后要有一个应答信号。11.1I2C串行总线通信协议4数据

11.1I2C串行总线通信协议

(1)向IC卡写一字节数据(WR_BYTE

WR_BYTE:MOVR2,#08;一字节8位数据

CLRSCL

NOP

NOPWR_BYTE1:RLCA;A.8->C

MOVSDA,C;改变SDA上的数据

NOP

SETBSCL;拉高SCL>=4.7uS

ACALLDS4.7uS

CLRSCL

NOP

NOP

DJNZR2,WR_BYTE1;依次发8位

图11-9字节写时序图

SETBSDANOPNOP

SETBSCLCLRF0NOPNOPMOVC,SDA;回读IC卡的确认信号JCWR_BYTE2SETBF0;有应答位WR_BYTE2:NOP;非应答CLRSCLNOPRET11.1I2C串行总线通信协议(1)向IC

11.1I2C串行总线通信协议

(2)从IC卡读取一字节数据(RD_BYTE

RD_BYTE:

MOVR2,#08

SETBSDA

;设备SDA为读状态

CLRA ;清空A寄存器NOPNOPRD_BTYE1:SETBSCL;时钟线为高,接收数据位

NOPNOP

MOVC,SDA

;读取一位数据到进位位

图11-10字节读时序图

RLCA;左移数据到ACC.0CLRSCL

;将SCL拉低时间大于4.7usACALLDS4.7uSDJNZR2,RD_BYTE1;依次读出8位数据到A中RET;读数据是无应答信号的需要注意的是:读数据的器件不是通过确认状态来应答的,而是随后产生一个停止状态。11.1I2C串行总线通信协议(2)从IC

11.2两线串行总线典型器件1.AT24系列存贮器

—I2C串行接口的EEPROM

目前用于IC卡的通用存贮器芯片多为EEPROM,其常用的协议主要有两线串行连接协议(I2C)和三线串行链接协议,其中比较常用的是ATMEL公司生产的AT24系列芯片。

AT24系列主要有AT24C01/02/04,非加密卡工艺:采用CMOS工艺制造,内置有高压泵,2V~5V的低电压工作。封装:8脚DIP封装;IC卡封装。

IC卡封装对触点数目,位置,信号名称和功能都有明确规定,以保证兼容性.其中:C1(VCC)为电源;C2(RST)复位信号;C3(CLK)时钟脉冲;C4(RFU)待用;C5(GND)接地端;C6(VPP)编程电压,用于对EPROM编程;C7(I/O)数据输入输出端;C8(RFU)待用.有些系统中IC卡的C4和C8未用,可见卡上仅有六个触点.引脚:SCL串行时钟;SDA串行数据,开漏极驱动;(DIP封装)

A2、A1、A0:器件/页面寻址,器件地址:1010A2、A1、A011.2两线串行总线典型器件1.AT24系列

11.2两线串行总线典型器件1.AT24系列存贮器

—I2C串行接口的EEPROM11.2两线串行总线典型器件1.AT24系列

11.2两线串行总线典型器件1.AT24系列存贮器

—I2C串行接口的EEPROM11.2两线串行总线典型器件1.AT24系列

11.2两线串行总线典型器件2.SLE4442—2线连接协议(ISO7816)加密卡(磁生电供电)还有射频卡:13.56M非接触IC卡符合ISO14443TYPEA+ISO7816标准ISO7816协议与IIC协议不相同!SLE4442德国西门子SIMENS公司逻辑加密存储卡。具有2K位的存储容量和完全独立的可编程代码存储器PSC。单+5V电压供电,目前国内应用较多的一种IC卡芯片。2线连接协议(串行接口满足ISO7816同步传送协议每字节擦除/写入编程时间为2.5ms。至少10000次的擦写,数据保持10年。芯片引脚SLE4442的触点安排见下图

11.2两线串行总线典型器件2.SLE44

11.2两线串行总线典型器件3.PCF8563—I2C串行接口的实时日历时钟PCF8563I2C时钟芯片见教材;HYM1302高性能、低功耗带RAM实时时钟芯片

HYM1302(DS1302)可慢速充电实时时钟,含实时时钟/日历和31字节非易失静态RAM。实时时钟/日历可对秒,分,时,日,周,月,和年进行计数,对于小于31天的月,月末的日期自动进行调整,还具有闰年校正的功能。时钟可以采用24小时格式或带AM(上午)/PM(下午)的12小时格式。31字节的RAM可以用来临时保存一些重要数据。通信仅需3根线:(1)RST(复位),(2)I/O(数据线)和(3)SCLK(串行时钟)。宽工作电源电压范围:2.0V~5.5V;2.5V时耗电小于300nA;3线接口,TTL兼容封装形式:DIP8和SOP8;可完全兼容DALLAS的DS1302。11.2两线串行总线典型器件3.PCF856

11.3I2C在单片机系统中的应用新近推出的增强型高性能单片机大都片内自带标准I2C总线接口。MCS-51系列单片机片内无I2C总线接口,则可以使用I/O口软件模拟I2C总线。1.MCS-51与I2C器件的连接

使用单片机I/O口模拟I2C总线时,只需两条I/O口线即可,在软件中分别定义成SCL和SDA。模拟I2C接口时,要软件模拟I2C串行总线的通信时序。图7-21I/O口模拟I2C总线11.3I2C在单片机系统中的应用新近

2.I2C总线的典型应用

24xx系列的E2PROM存储器是应用比较广泛的I2C总线器件之一。24C04内部组织为512×8位,16字节页写。

【例7-4】24C04与8051的接口电路如图,8051通过I2C总线接口对24C04进行多字节写操作的程序流程图如图。试编写多字节写程序。图7-2324C04多字节写操作流程图流程图¤

11.3I2C在单片机系统中的应用2.I2C总线的典型应用【例7-4

11.3I2C在单片机系统中的应用

24C04写入多字节子程序:

SCLBITP3.2;定义时钟线

SDABITP3.3;定义数据线START:LCALLSTAR;调起始信号

MOVR2,#08H;8字节(括地址)

MOVDPTR,#TAB;定义数据指针LOOP:MOVA,#00HMOVCA,@A+DPTRLCALLSEND;发送字节数据

LCALLACKC;接收应答信号

JCLOOP;JC什么意思??INCDPTRDJNZR2,LOOP

LCALLSTOP;调停止信号

RETTAB:DB0A0H,10H,01H,02H,03H,04H,05H,06HSTAR:CLRSCL;起始信号

SETBSDAACALLDELAYSETBSCLACALLDELAYCLRSDAACALLDELAYCLRSCLRETSTOP:CLRSCL;停止信号

CLRSDA11.3I2C在单片机系统中的应用24C0

11.3I2C在单片机系统中的应用

ACALLDEL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论