I2C总线串行扩充技术

上传人:油条 文档编号:10381721 上传时间:2017-09-02 格式:PDF 页数:19 大小:393.91KB
返回 下载 相关 举报
I2C总线串行扩充技术_第1页
第1页 / 共19页
I2C总线串行扩充技术_第2页
第2页 / 共19页
I2C总线串行扩充技术_第3页
第3页 / 共19页
I2C总线串行扩充技术_第4页
第4页 / 共19页
I2C总线串行扩充技术_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《I2C总线串行扩充技术》由会员分享,可在线阅读,更多相关《I2C总线串行扩充技术(19页珍藏版)》请在金锄头文库上搜索。

1、广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:387309251I2C 总线的串行扩充技术总线的串行扩充技术总线的串行扩充技术总线的串行扩充技术何立民教授摘要I2C总线具有十分完善的总线协议 可构成多主系统 在协议软件支持下 可自动处理总线上任何可能的运行状态 本篇主要介绍 I2C总线的虚拟技术 在单片机应用系统中 这种虚拟技术应用十分广泛 (本文节选自何立民教授新作本文节选自何立民教授新作 本文节选自何立民教授新作本文节选自何立民教授新作 单片机高级教程单片机高级教程 单片机高级教程单片机高级教程 在此对我的恩在

2、此对我的恩在此对我的恩在此对我的恩师何立民先生表示衷心感谢 师何立民先生表示衷心感谢 师何立民先生表示衷心感谢 师何立民先生表示衷心感谢 -周立周立周立周立 功功功功 1 9/9/20009/9/2000)一一一一 I2C 总线的串行外围扩展1 外围扩展示意I2C 总线为同步串行数据传输总线 用于单片机的外围扩展 其总线传输速率为 1 00kb/s改进后的规范为 400kb/s 总线驱动能力为 400pF图1为 I2C 总线外围扩展示意 图中表示出单片机应用系统常用的 I2C 总线外围通用器件 外围设备模块 接口以及其它单片机节点最常使用的通用外围器件有 SRAM E2PROM ADC/DAC

3、 RTC I/O 口 DTMF 等外围设备模块有 LED 驱动控制器构成的 LED 显示器 各种 LCD 驱动控制器构成的段式图形点阵 字符点阵液晶显示器等图1 I2C 总线外围扩展示意通过 I2C 总线通用 I/O 口器件可构成许多通用接口如键盘 码盘 打印机接口和 LCD接口等I2C 总线可构成多主系统 故 I2C 总线上可挂接一些带 I2C 总线接口 的单片机 因为带I2C 接口的单片机中 有支持多主功能的 SFR 除了图 1 中的通用外围器件外 Philips 公司还提供了许多视频 音像 通信系统中带 I2C 总线接口的专用外围器件 在通信 视频音像家电系统中 I2C 总线得到了广泛地

4、应用2 总线容量与驱动能力I2C 总线的外围扩展器件都是 CMOS 器件 总线有足够的电流驱动能力 因此总线上扩展的节点数不是由电流负载能力决定 而是由电容负载确定 I2C 总线上每个实际的节点器件的 I2C 总线接口都有一定的等效电容 等效电容的存在会造成总线传输的延迟而导致数据传输出错 通常 I2C 总线负载能力为 400pF 据此可计算出总线长度及节点数目的限制数广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:387309252量总线上的每个外围器件都有一个器件地址 总线上扩展外围器件时也要受器件地址限制3 总

5、线的电气结构I2C 总线为双向同步串行总线 因此 I2C 总线接口内部为双向传输电路 如图 2 所示总线端口输出为开漏结构 故总线上必须有上拉电阻 Rp 上拉电阻与电源电压 VDDSDA/SCL总线串接电阻 Rs 有关 可参考有关数据手册选择 通常可选 5-10k图 2 80C51 I2C 总线接口的电气结构4 总线节点的寻址方式挂接到总线上的所有外围器件 外设接口都是总线上的节点 在任何时刻总线上只有一个主控器件 主节点 实现总线的控制操作 对总线上的其它节点寻址 分时实现点一点的数据传送 因此 总线上每个节点都有一个固定的节点地址I2C 总线上的单片机都可以成为主节点 其器件地址由软件给定

6、 存放在 I2C 总线的地址寄存器件 称为主器件的从地址 在 I2C 总线的多主系统中 单片机作为从节点时其从地址才能意义I2C 总线上所有的外围器件都有规范的器件地址 器件地址由 7 位组成 它和1位方向位构成了 I2C 总线器件的寻址字节 SLA 寻址字节格式如下D7 DODA3 DA2 DA1 DA0 A2 A1 A0 R/W器件地址 DA3 DA2 DA1 DA0 是 I2C 总线外围接口器件固有的地址编码 器件出厂时 就已给定 例如 I2C 总线 E2PROM AT24CXX 的器件地址为 1 010 4 位 LED 驱动器SAA1064 的器件地址为 0111引脚地址 A2 A1

7、A0 是由 I2C 总线外围器件地址端口 A2 A1 A0 在电路中接电源或接地的不同 形成的地址数据数据方向 R/W 数据方向位规定了总线上主节点对从节点的数据传送方向 R 接收 W 发送二 主方式下的 I2C 总线虚拟技术1 I2C 总线虚拟技术1 多主应用的 I2C 总线I2C 总线软 硬件协议十分巧妙 它可以用于构成多主系统 系统中有多个 I2C 总线接口单片机时 会出现多主竞争的复杂状态 I2C 总线软 硬件协议 以及 I2C 总线单片广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:387309253机中的

8、 SFR 保证了多主竞争时的协调管理 I2C 总线提供的状态处理软件包能自动处理总线上出现的 26 种状态 在使用 I2C 总线时 将这些工具软件在程序存储器中定位后 利用这些软件编制出归一化操作命令 用于 I2C 总线应用程序设计中十分简单 方便 如果没有 I2C 总线接口的单片机 要构成多主系统的虚拟 I2C 总线 就必须在虚拟 I2C 总线中解决多主竞争状况 这几乎是不可能的 因此 在多主的 I2C 总线系统中 一定要使用带I2C 总线接口的单片机2 单片系统中的 I2C 总线虚拟在单主方式的 I2C 总线系统中 总线上只有一个单片机 其余都是带 I2C 总线的外围器件 由于总线上只有一

9、个单片机成为主节点 该单片机永远占据总线 不会出现总线竞争 主节点也不必有自己的节点地址 在这种情况下 单片机可以没有 I2C 总线接口 可以用两根 I/O 口线来虚拟 I2C 总线接口由于单片机应用系统绝大多数 I2C 总线都是单主系统 因此 I2C 总线的虚拟技术应用十分广泛 目前 包括许多视频 音像电器中 都采用了虚拟 I2C 总线技术3 主方式下的 I2C 的虚拟技术单主系统中 单片机节点不会成为从节点 故虚拟 I2C 总线只有主方式下的主发送和主接收两种操作方式主方式下的 I2C 总线虚拟 应按照 I2C 总线数据传送时序 主方式下的操作格式设计出主方式下的时序模拟子程序 主发送 /

10、主接收子程序 并将这些了程序归纳成虚拟 I2C 总线的软件包 在软件包的基础上给出归一化的 I2C 总线操作命令 使用者只须将虚拟 I2C总线软件包装入程序存储器中 利用归一化操作指令来设计相关的 I2C 总线应用程序2 I2C 总线时序1 I2C 总线上的数据传递时序I2C 总线上数据传递时序如图 3 所示 总线上传送的每一帧数据均为一个字节 但启动 I2C 总线后 传送的字节数没有限制 只要求每传送一个字节后 对方回应一个应答位在发送时 首先发送的是数据的最高位 每次传送开始有起始信号 结束时有停止信号在总线传送完一个字节后 可以通过对时钟线的控制 使传送暂停 例如 当某个外围器件接收 N

11、 个字节数据后 需要一段处理时间 以便继续接收以后的字节数据 这时可在应答信号后 使 SCL 变低电平 控制总线暂停 如果主节点要求总线暂停 也可使时钟线保持低电平 控制总线暂停图 3 I2C 总线的数据传送时序(2)总线上的时序信号I2C 总线为同步传输总线 总线信号完全与时钟同步 I2C 总线上与数据传送有关的信号有起始信号 S 终止信号 P 应答信号 A 以及位传送信号等如图 4 所示广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:387309254图 4 I2C 总线上的信号起始信号 S 在时钟 SCL 为高

12、电平时 数据线 SDA 出现由高电平向低电平变化时启动 I2C 总线终止信号 P 时钟 SCL 为高电平时 数据线出现由低到高的电平变化时 将停止I2C 总线数据传送应答信号 A I2C 总线上第 9 个时钟脉冲对应于答位 相应数据线上低电平时为应答 信号 A 高电平时为 非应答 信号 A数据位传送 在 I2C 总线启动后或应答信号后的第 1 -8 个时钟脉冲对应于一个字节的 8 位数据传送 脉冲高电平期间 数据串行转送 低电平期间为数据准备 允许总线上数据电平变换3 主方式下的数据操作格式I2C 总线的数据操作格式是以条块图解形式来表达 I2C 总线的一次完整的数据传送过程I2C 总线上一次

13、完整的数据传送如图 5 所示 其完整的数据操作包括起始 S 发送寻址字节 SLA R/W 应答 发送数据 应答 直到终止 P图 5 I2C 总线上一次完整的数据传送过程对于不同方式下的操作略有不同 如果图 5 中的时序过程表示成下述操作格式 I2C总线的数据传送过程便一目了然1 主发送的数据操作格式主节点向由寻址字节指定的外围器件节点发送 N 个字节数据 整个数据传送过程中数据传送方向不变 数据操作格式如下S SLAW A data1 A data2 A dataN-1 A dataN A P其中 :主节点发送 从节点接收主节点接收 从节点发送SLAW 寻址字节 写datal-dataN :写

14、入从节点的 N 个数据2 主接收的数据操作格式主节点要求被寻址的外围器件节点发送 N 个字节数据 数据操作格式如下S SLAR A data1 A data2 A dataN-1 A dataN A P其中 SLAR 寻址字节 读在主接收中第一个应答是从节点接收到寻址字节 SLAR 后发回的应答位 其余的应答位都是由主控器在接收到数据后向从节点发出的应答位(3)操作格式的应用特性操作格式是 I2C 总线的重要应用界面 对于具体外围器件的运行原理不同 其操作内容也不同 实际应用中要根据具体器件的运行原理列写出具体的操作格式广州周立功单片机发展有限公司 Tel 020 38730916 38730

15、917 38730976 38730977 Fax:387309255无论哪种工作方式 都是由主控器来启动总线 发送寻址字节和终止运行I2C 总线数据操作格式表示了 I2C 总线的一次完整的数据传送过程 它在 I2C 总线通用软件包的支持下自动完成 应用程序设计时只要按照归一化的操作指令准备好入口条件即可在 I2C 总线接口的外围器件中 器件内部有多个地址空间时 其读写操作都有地址自动加 1 功能 简化了 I2C 总线的外部寻址三 主方式下的虚拟 I2C 总线软件包为了在使用虚拟 I2C 总线时 有一个通用的傻瓜化界面 何立民教授设计了一个主方式下的虚拟 I2C 总线通用软件包 VIIC 并在

16、 VICC 基础上给出了归一化操作命令 使用虚拟 I2C 总线时 装入 VIIC 软件包后 在应用程序设计中 只须使用三条归一化操作命令1 总线时序及数据操作模拟1 典型信号的时序要求I2C 总线数据传送时 有起始位 S 终止位 P 发送 0 及应答位 A 发送 1及非应答位 A 等信号 按照典型 I2C 总线传送速率要求 这些信号时序如图 6 所示2 I2C 总线典型信号的模拟子程序对于 I2C 总线的典型信号 可以用指令操作来模拟其时序过程 设虚拟 I2C 总线的虚拟端口为 VSDA 数据线和 VSCL 时钟线 80C51 单片机的系统时钟为 6MHZ相应的单周期指令速度为 2 s 起始 STA 终止 STOP 发送应答位 MACK 发送非应答位 MNACK的模

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号