5.2 TI Precision Labs - I2C: Protocol Overview

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • 5.2 TI Precision Labs - I2C: Protocol Overview
  • 登录
大家好,欢迎观看TI 高精度实验室 推出的 I²C 协议概述。 在本视频中,我们将讨论如何在最基本的 层面实施此协议。 我们将讨论一些用于实施 I²C 的 关键设计参数。 内部 IC 接口简称 I²C, 创建于 1982 年,旨在利用简单、 稳健的低成本协议在 IC 之间 进行通信,同时尽可能减少引脚数量。 随着外设部件的种类日益增多, I²C 能够给系统设计人员带来的好处 显而易见,于是 I²C 接口迅速普及起来, 在作为一项标准公布之后, 很快得到了广泛应用。 很多器件都会使用 I²C 通信接口,因此系统设计人员可以创造无限可能, 唯一能够限制设计能力的只有他们 自身的创造力。 这里我们只列举几种可以使用的器件: IO 扩展器、温度传感器、光传感器、存储器、 键盘扫描仪、压力传感器、湿度传感器、 ADC、DAC 以及多种采用 I²C 协议的 其他器件。 I²C 总线是双向接口, 利用一个称为主器件的控制器 与从器件进行通信。 物理 I²C接口由 串行时钟线 SCL 和串行数据线 SDA 组成。 SDA 和 SCL 线都必须通过上拉电阻器 连接到 VCC。 除非被主器件成功寻址,否则 从器件无法传输数据。 I²C 总线上的每个器件都有 一个特定的器件地址,用于区分 同一个 I²C 总线上的其他器件。 I²C 与器件之间的通信由 主器件发送一个启动条件而开始, 并由主器件发送一个停止条件而终止。 在 SCL 为高电平时在 SDA 线上进行的 从高到低转换定义了启动条件。 当主器件通过产生一个启动条件 控制了总线时,除非停止条件 释放总线,否则所有其他主器件 都无法控制总线。 在 SCL 为高电平时在 SDA 线上进行的 从低到高转换定义了停止条件。 在启动条件与停止条件之间, 必须执行数据通信。 I²C 标准以八位格式—— 有时称为字节——定义了所有 I²C 数据事务,最高有效位 MSB 位于数据帧的开头, 最低有效位 LSB位于数据帧的末尾, 后面跟随确认 ACK 或未确认 NACK。 必须注意的是,在这些图中, 我们看到的显示为正方形的位 利用颜色编码来表明是主器件还是从器件 在控制此位的生成。 灰色的位或正方形表示由主器件控制, 而白色的位表示由从器件控制。 通过从位 1 到位 9重复时钟模式来 同时发送多个字节,其中的 第九个位是 ACK 或 NACK。 发送数据传输之后, 需要启动一个停止条件或 重复启动条件来确定要 释放总线还是主器件要 启动一个新的事务。 在 SCL 的每个时钟脉冲期间 传输一个数据位。 SDA 线上的一个字节由 8 位组成。 一个字节可以是器件地址、寄存器 地址或者写入到从器件或从从器件读取的数据。 在启动条件与停止条件之间, 可以从主器件向从器件传输任意数量的数据字节。 在时钟周期的高相位,SDA 线 上的数据必须保持稳定。 此处展示了一个发送1、0、1、0、1、0、1、0 的示例, 以十六进制表示为 AA,包含一个 ACK。 当 SCL 为高电平时,会将数据线中的 变化视为控制指令, 例如启动和停止。 数据的每个字节,包括地址字节, 后面都跟随一个来自接收器的 ACK 位。 ACK 位允许接收器向 发送器告知它已成功收到字节, 可以发送另一个字节了。 在接收器可以发送 ACK 之前, 发送器必须释放 SDA 线。 要发送 ACK 位,接收器必须在 ACK/NACK 相关时钟周期, 即周期 9 的低相位期间拉低 SDA 线。 当 SDA 线在 ACK/NACK相关时钟周期期间 保持高电平时,将被视为 NACK。 必须考虑设置时间和保持时间。 有几个条件会导致生成 NACK。 条件一,接收器正在执行某个 实时功能,且未准备好开始与 主器件进行通信,因此无法接收或发送数据。 条件二,在传输期间, 接收器收到了它无法理解的数据或指令。 条件三,在传输期间,接收器无法再接收 更多的数据字节。 条件四,主接收器已读取数据, 并通过 NACK 向从器件表明了这种情况。 下面是主器件与从器件进行通信 以便向从器件写入数据或从从器件 读取数据时的一般步骤。 下面是主器件要向从器件发送 或写入数据时的步骤。 步骤一,主发送器发送一个启动条件 并寻找从接收器的地址。 步骤二,主发送器向从接收器发送数据。 步骤三,主发送器利用一个停止条件 终止传输。 下面是主器件要从从器件接收或读取数据时的 步骤。 步骤一,主接收器发送一个启动条件 并寻找从发送器的地址。 步骤二,主接收器向寄存器发送一个 请求以读取从发送器。 步骤三,主接收器从从发送器 接收数据。 步骤四,主接收器利用一个停止条件 终止传输。 用于生成读取和写入事务的位和 条件模式的定义如下所示。 灰色方框表示它由主器件控制。 白色方框表示它由从器件控制。 灰色/白色方框表示位既可以 由主器件控制,也可以由从器件控制。 条件分为三种。 条件一是启动条件,条件二是堆栈条件, 条件三是重复启动条件。 地址位由字母 A 表示。寄存器地址 位由字母 B表示。数据位由 字母 D 表示。 读取/写入位既可以是写入, 显示为负 W并在此位为 0 时 执行;也可以是读取,显示为 R 并在 此位为 1 时执行。 第九个位始终为两种可能: 确认,显示为 A或 ACK,值为 0;或者 未确认,显示为负 A 或 NACK,值为 1。 下面是一个向从器件写入 两个字节时的位和条件模式。 主器件在总线上生成一个启动条件。 主器件生成一个7 位的从器件地址 以及最后一个位,即读取/写入位。 在本例中,此位是一个写入位,被 设置为 0,表示为负 W。 假设总线上存在一个具有此地址的从器件, 则此从器件会生成 ACK。 随后,主器件会发送 8 个连续寄存器位 或曰字节,从器件随后会 生成一个 ACK 以确认收到这些位。 接下来,主器件会发送第二组连续位, 也就是第二个字节,从器件会随即 再次确认,以告知主器件 它已收到此字节。 然后,主器件会生成停止条件 以终止此事务。 下面是一个从从器件读取 两个字节的位和条件模式。 主器件在总线上生成一个启动条件。 主器件生成7 位的从器件地址 以及最后一个位,即读取/写入位。 在本例中,此位是一个读取位,被 设置为 1,表示为字母 R。 假设总线上存在一个具有此地址的从器件, 则此从器件会生成一个 ACK。 随后,从器件会发送 8 个连续寄存器位 或曰一个字节,主器件随后会 生成一个 ACK 以确认收到这些位。 接下来,从器件会发送第二组连续位, 也就是第二个字节,但主器件将不确认,即 NACK, 告知从器件它已接收完这些数据。 然后,主器件会生成停止条件 以终止此事务。 这两种模式代表主器件与 从器件之间进行的最基本读取和写入事务。 “I²C 示例 - 内部寄存器的读取/写入” 培训视频中介绍了更为复杂的 读取/写入事务或模式。 本视频到此结束。 谢谢观看。 请尝试完成测验以
课程介绍 共计4课时,29分25秒

[高精度实验室] 接口 : (5) I2C 总线

Precision Labs I2C 总线 高精度实验室 TIPL

在本系列课程中,我们讨论 I2C 总线中的信号传输采用的协议。讨论漏极开路信号的概念,以及上拉电阻和负载电容对信号时钟的影响。

推荐帖子

电子基础知识:什么是DSP及DSP技术详解
数字信号处理(DigitalSignalProcessing,简称DSP)一门涉及许多学科而又广泛应用于许多领域的新兴学科。 20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是(DSP)利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、...
jioeio DSP 与 ARM 处理器
【求助】IAR汇编语句"BR"的用法
以下是一段汇编代码,有个中语句不明白,请指教. ;--------------------------------------------------------------- RSEG DATA_CON EVEN T×× DW T××_1 DW T××_2 DW T××_3 . ...
john86 微控制器 MCU
IPTV应用中的TPS解决方案
在“TPS打造IPTV新蓝海”一文中,一种全新的技术方案浮出水面:TPS,该技术方案的神奇之处在于,可以在一周之内、零成本地将互联网视频业务复制到IPTV业务,而且两套业务可以由原班人马同时运营,丝毫不增加运营成本。   很多运营商朋友看了可能会觉得不可思议,因为用户认证、费率计算、VOD接口等各环节都是非常复杂的,需要多方合作,协同开发才能实现。花费一年时间能才够开通也并不奇怪,一周之内零成本...
hutgh 模拟与混合信号
[灌水][转帖]学计算机的和酒 幽默一下
大家喝的是啤酒,这时你入座了...... 你给自己倒了杯可乐,这叫低配置。 你给自已倒了杯啤酒,这叫标准配置。 你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。 你给自己倒了杯可乐,还滴了几滴醋,不仅颜色跟啤酒一样,而且不冒热气还有泡泡,这叫超级木马。 你的同事给你倒了杯白酒,这叫推荐配置。 人到齐了,酒席开始了。 你先一个人喝了一小口,这叫单元测试。 你跟旁边的人说哥们咱们随意,这叫交*测...
wanzi DSP 与 ARM 处理器
分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved