文档详情

SPI、I2C、I2S总线学习笔记.doc

发布:2017-01-04约1.53万字共21页下载文档
文本预览下载声明
什么是 I2C总线 NXP 半导体(原 Philips半导体)于 20 多年前发明了一种简单的双向二线制串行通信总线,这个总线被称为 Inter-IC 或者 I2C 总线。目前 I2C 总线已经成为业界嵌入式应用的标准解决方案,被广泛地应用在各式各样基于微控器的专业、消费与电信产品中,作为控制、诊断与电源管理总线。多个符合 I2C 总线标准的器件都可以通过同一条 I2C总线进行通信,而不需要额外的地址译码器。由于 I2C是一种两线式串行总线,因此简单的操作特性成为它快速崛起成为业界标准的关键因素。 I2C总线的众多优秀特点 总线仅由 2根信号线组成 由此带来的好处有:节省芯片 I/O、节省 PCB 面积、节省线材成本,等等。 总线协议简单 I2C 总线的协议原文有好几十页,如果直接让初学者来看确实头大,但是并不意为着 I2C 总线协议本身就复杂。 本文撰写的目的就是服务于广大初学者,仅数页的正式内容,图文并茂,容易入门。相信读者认真看过之后,就能基本上掌握 I2C 总线的要领,为进一步操控具体的器件打下良好的基础。 协议容易实现 得益于简单的协议规范,在芯片内部,以硬件的方法实现 I2C 部件的逻辑是很容易的。对应用工程师来讲,即使 MCU内部没有硬件的 I2C总线接口,也能够方便地利用开漏的 I/O(如果没有,可用准双向 I/O代替)来模拟实现。 支持的器件多 NXP 半导体最早提出 I2C 总线协议,目前包括半导体巨头德州仪器(TI) 、 美国国家半导体 (National Semi) 、 意法半导体 (ST) 、 美信半导体 (Maxim-IC)等都有大量器件带有 I2C 总线接口,这为应用工程师设计产品时选择合适的 I2C 器件提供了广阔的空间。 总线上可同时挂接多个器件 同一条 I2C 总线上可以挂接很多个器件,一般可达数十个以上,甚至更多。器件之间是靠不同的编址来区分的,而不需要附加的 I/O 线或地址译码部件。 总线可裁减性好 在原有总线连接的基础上可以随时新增或者删除器件。用软件可以很容易实现 I2C 总线的自检功能,能够及时发现总线上的变动。 总线电气兼容性好 I2C 总线规定器件之间以开漏 I/O 互联,这样,只要选取适当的上拉电阻就能轻易实现 3V/5V逻辑电平的兼容,而不需要额外的转换。 支持多种通信方式 一主多从是最常见的通信方式。此外还支持双主机通信、多主机通信以及广播模式等等。 通信速率高 I2C 总线标准传输速率为 100kbps(每秒 100k 位) 。在快速模式下为400kbps。按照后来修订的版本,位速率可高达 3.4Mbps。 兼顾低速通信 I2C总线的通信速率也可以低至几kbps以下, 用以支持低速器件 (比如软件模拟的实现)或者用来延长通信距离。 有一定的通信距离 一般情况下,I2C 总线通信距离有几米到十几米。通过降低传输速率等办法,通信距离可延长到数十米乃至数百米以上。 I2C总线的信号线 I2C 总线只需要由两根信号线组成, 一根是串行数据线 SDA, 另一根是串行时钟线 SCL。在系统中,I2C 总线的典型接法如图 1 所示,注意连接时需要共地。 一般具有 I2C总线的器件其 SDA和 SCL 管脚都是漏极开路 (或集电极开路) 输出结构。因此实际使用时,SDA 和 SCL 信号线都必须要加上拉电阻 Rp(Pull-Up Resistor) 。上拉电阻一般取值 3~10KΩ。开漏结构的好处是: 当总线空闲时,这两条信号线都保持高电平,不会消耗电流。 电气兼容性好。上拉电阻接 5V电源就能与 5V逻辑器件接口,上拉电阻接 3V电源又能与 3V逻辑器件接口。 因为是开漏结构,所以不同器件的 SDA 与 SDA 之间、SCL 与 SCL 之间可以直接相连,不需要额外的转换电路。 I2C总线的基本概念 发送器(Transmitter) :发送数据到总线的器件 接收器(Receiver) :从总线接收数据的器件 主机(Master) :初始化发送、产生时钟信号和终止发送的器件 从机(Slave) :被主机寻址的器件 I2C 总线是双向传输的总线,因此主机和从机都可能成为发送器和接收器。如果主机向从机发送数据,则主机是发送器,而从机是接收器;如果主机从从机读取数据,则主机是接收器,而从机是发送器。不论主机是发送器还是接收器,时钟信号 SCL 都要由主机来产生。 5. I2C总线数据传送速率 I2C 总线的通信速率受主机控制,能快能慢。但是最高速率是有限制的,I2C 总线上数据的传输速率在标准模式(Standard-mode)下为 100kbps(每秒 100k 位) ,在快速模式
显示全部
相似文档