iic协议,飞利浦_第1页
iic协议,飞利浦_第2页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

1、竭诚为您提供优质文档 /双击可除第 1 页共 23 页iic协议,飞利浦篇一:iic 总线协议iic 总线协议i2c 协议是单片机与其它芯片常用的通讯协议,由于只 需要两根线,所以很好使用。1.i2c 总线的特点(1) 只要求两条总线线路一条串行数据线sda 条串行时钟线 scl(2) 每个连接到总线的器件都可以通过唯一的地址和一 直存在的简单的主机/从机关系软件设定地址;主机可以作 为主发送器或主机接收器(3) 它是一个真正的多主机总线,如果两个或更多主机 同时初始化数据传输可以通过冲突检测和仲裁防止数据被 破坏(4) 串行的 8 位双向数据传输位速率在标准模式下可达100kbit/s 快速

2、模式下可达 400kbit/s高速模式下可达.4mbit/s(5)片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整(6)连接到相同总线的 ic 数量只受到总线的最大电容400pF 限制i2c 协议总线信号时序分析1. 数据的有效性:sda 线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态只有在scl 线的时钟信号是低电平时才能改变。如图 3.1i2c 总线的位传输所示。图 1.i2c 总线的位传输2. 起始和停止条件当 scl 线是高电平时,sda 线从高电平向低电平切换,这个情况表示起始条件。当 scl 线是高电平时,sda 线由低电平向高电平切换表示停止条件。如图 3.2

3、i2c 起始和停止条件所示。图 3.2 起始和停止条件3. 总线空闲状态sda 和 scl 两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高;4. 数据传输与应答信号 ack发送到 sda 线上的数据必须是 8 位的。每次传输可以发送的数据不受限制。每个字节后必须在时钟的第9 个脉冲期间释放数据总线(sda 为高),由接收器发送一个 ack(把数第 2 页共 23 页据总线的电平拉低)来表示数据成功接收。如图3.3i2c 总线响应。图 3.3i2c 总线响应首先传输的是数据的最高位(msb)。如果从机要完成一 些其他功能后(例如一个内部中断服务程序)才能

4、接收或发 送下一个完整的数据字节,可以使时钟scl 保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释 放时钟线 scl 后,数据传输继续。如图3.4i2c 总线数据传输所示。图 3.4i2c 总线数据传输4.地址格式数据的传输遵循如图 4.1 完整的数据传送所示,在起始 条件之后,发送一个 7 位的从机地址, 紧接着第 8 位是数据 方向 (R/w) , 0-表示发送数据 (写) ,1-表示接收数据(读)。 数据传输一般由主机产生的停止位( p)终止。但是如果主 机仍希望在总线上通讯,它可以产生重复起始条件(sr),和寻址另一个从机,而不是首先产生一个停止条件。在这种 传输中

5、,可能有不同的读/写格式结合。如图 3.5i2c 总线完 整的数据传输。图 3.5i2c 总线完整的数据传输c 程序#include第 3 页共 23 页第4页共 23 页#defineuintunsignedint#defineucharunsignedchar sbitsda=p2A4;sbitscl=p2A5;ucharnackFlag;*voiddelay()延时_nop_();_nop_();_nop_();_nop_();_nop_();*voidstartiic()sda=1;启动 iic 总线第5页共 23 页scl=1;delay();sda=O;delay();scl=0;

6、*voidstopiic()停止 iic 总线scl=1;delay();sda=1;delay();scl=0;*voidack_iic()主器件为发送方,主控器发送完数据后,主控器件等待从器件的应答第6页共 23 页ucharerrtime=200;sda=1;scl=1;nackFlag=O;while(sda)errtime-;if(errtime=O)stopiic();nackFlag=1;return;scl=0;*voidsendiic(ucharnum)/主控器件发送数据到iic 总uchari;for(i=0;iscl=O;delay();sda=numscl=1;dela

7、y();num delay();*ucharreceiveiic(void)/ 主控器件接收 iic 总线传来的数据uchari,datax=O;sda=1;for(i=0;idataxscl=0;delay();scl=1;第 7 页共 23 页第8页共 23 页delay(); datax|=sda;scl=0; returndatax;*voidsendackiic(void)/主器件为接收方,从器件发送完数据后,从器件等待主器件的应答信号sda=0;delay();scl=1;delay();scl=0;下一贴iic 总线协议,at24c08 储存器iic 总线(interintegr

8、atedcircuitbus):是 philips公司推出的串行总线标准(为二线制)。总线上扩展的外围器件及外设接口通过总线寻址,是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。i2c 总线工作原理串行数据线 sda 和串行时钟线 scl 构成的,可发送和接收数据。篇二:iic 协议使用iic 协议使用i2c 总线串行接口应用设计i2c 是一种较为常用的串行接口标准,具有协议完善、支持芯片较多和占用 i/o 线少等优点。 i2c 总线是 philips 公司为有效实现电子器件之间的控制而开发的一种简单的 双向两线总线。现在,i2c 总线已经成为一个国际标准,在 超过 100 种不同的

9、ic 集成电路上实现,得到超过50 家公司的许可,应用涉及家电、通信、控制等众多领域,特别是在 aRm 嵌入式系统开发中得到广泛应用。1 实例说明本实例介绍 i2c 总线接口在 aRm 中的应用,以及它在 aRm平台中的 i/o 交互拓展能力。在 aRm 嵌入式系统开发中,系统和外围设备的信息交换 能力非常重要。传统的方式多采用地址和数据总线来完成, 但是由于嵌入式系统总线资源的限制,利用有限的i/o 接口和足够的通信速度来扩展多功能的外围器件就显得十分必 要。i2c 总线正好可以满足这一嵌入式系统设计的需要。在第10页共 23 页第 9 页共 23 页 嵌入式系统中应用 i2c 总线,可以在

10、很大程度上简化系统结 构,模块化系统电路,而 i2c 总线上各节点独立的电气特性 也可以使整个系统具有最大的灵活性。2i2c 设计原理2.112g 主从模式i2c 采用两根 i/o 线:一根时钟线(scl 串行时钟线), 一根数据线(sda串行数据线),实现全双工的同步数据通信。 i2c 总线通过 scl/sda 两根线使挂接到总线上的器件相互进 行信息传递。aRm 通过寻址来识别总线上的存储器、led 驱动器、i/o扩展芯片及其他 i2c 总线器件,省去了每个器件的片选线, 因而使整个系统的连接极其简洁。总线上的设备分为主设备 (aRm 处理器)和从设备两种,总线支持多主设备,是一个多 主总

11、线,即它可以由多个连接的器件控制。典型的系统构建 如图 15-1 所示。每一次i2c总线传输都由主设备产生一个起始信号, 采 用同步串行传送数据,数据接收方每接收一个字节数据后都 回应一个应答信号。一次 i2c 总线传输传送的字节数不受限 制,主设备通过产生停止信号来终结总线传输。数据从最高 位开始传送,数据在时钟信号高电平时有效。通信双方都可 以通过拉低时钟线来暂停该次通信。2.2i2c 工作原理sda 和 scl 都是双向线路,各通过一个电流源或上拉电 阻连接到正的电源电压。当总线空闲时这两条线路都是高电 平,连接到总线的器件输出必须是漏极开路或集电极开路才 能执行线与的功能。i2c 总线

12、上数据的传输速率在标准模式 下可达 100kb/s,在快速模式下可达 400kb/s,在高速模式 下可达 3.4mb/so连接到总线的接口数量由总线电容是400pF的限制决定。第11页共 23 页图 15-2(a)显示了 i2c 总线上的数据稳定规则,scl 为 高电平时 sda 上的数据保持稳定,scl 为低电平时允许 sda 变化。如果 scl 处于高电平时,sda 上产生下降沿,则认为 是起始位,sda 上的上升沿认为是停止位。通信速率分为常 规模式(时钟频率 100khz)和快速模式(时钟频率 400khz)。 同一总线上可以连接多个带有i2c 接口的器件,每个器件都有一个唯一的地址,

13、既可以是单接收的器件,也可以是能够 接收发送的器件。图 15-2(b)显示了 i2c 总线的起始位和停止位。每次数据传输都是以一个起始位开始,而以停止位结束。 传输的字节数由aRm 控制和决定,没有限制。最高有效位将 首先被传输,接收方收到第8 位数据后会发出应答位。数据传输通常分为两种:主设备发送从设备接收和从设备发送主 设备接收。这两种模式都需要主机发送起始位和停止位,应 答位由接收方产生。从设备地址一般是1 或 2 个字节,用于区分连接在同一 i2c 上的不同器件。3i2c 硬件电路设计3.1i2c 串口存储器在嵌入式系统中会用到各种带i2c 接口的芯片,这里以i2c 串口存储器 csl24wc256 为例,说明 i2c 电路在 aRm 嵌入 式系统中的应用。csl24wc256 是美国 callalxst公司的一款芯片,是一个256k 位支持 i2c 总线数据传送协议的串行 cmos 串口存储器, 可用电擦除,可编程自定时写周期(包括自动擦除时间不超过 10ms,典型时间为 5ms),具有 64 字节数据的页面写能力。串行存储器一般具有两种写入方式, 一种是字节写入方式,另一种是页写入方式。允许在一个写周期内同时对1 个字

温馨提示

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

评论

0/150

提交评论