




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章I2C串行协议及I2C器件应用 11 1I2C串行总线通信协议 11 2I2C串行总线典型器件 主讲内容 11 3I2C串行总线的应用 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接口传输具有线 与 功能 SDA和SCL两条线 均为双向I O口 通过上拉电阻接正电源 当总线空闲时 两根线都是高电平 连接总线器件的输出极必须是集电极或漏极开路 I2CSDA上的数据仅在SCL为低电平时才能改变 当SCL为高电平时 SDA的改变表示 开始 和 停止 状态 在时钟高电平期间 数据线上必须保持稳定的逻辑电平 只有在时钟线低电平时 才允许数据线的电平变化 I2C总线是一个半双工 多主器件的总线 总线上发送数据的发送器 也叫主器件 与接收数据的接收器 也叫从器件 取决于当时数据传送的方向 当一个器件发送数据时 其它被寻址器件均作为接收器 11 1 2 I2C传输接口的特性 11 1I2C串行总线通信协议 完整的时序过程由起始信号 器件地址信号 应答信号ACK 字节数据信号和停止信号等几部分组成 11 1 3I2C的时序 11 1I2C串行总线通信协议 1 起停信号定义I2C协议中 起始信号 S 和停止信号 P 都由主器件产生 起始信号定义 当SCL线为高电平时 SDA由高到低的负跳变 在总线上出现了起始信号 就认为总线处于工作状态 停止信号定义 当SCL线为高电平时 SDA由低到高的正跳变 总线上出现停止信号 被认为总线是处在不忙或空闲状态 1起始和停止信号 11 1I2C串行总线通信协议 2 起停信号的检测 连接到总线上的设备具有I2C硬件接口 检测起 停信号由硬件自动完成 连接到总线上的设备没有I2C硬件接口 检测起 停信号必须由软件检测跳变 START IC CLRSCL SCL由高变低 因为SCL低电平时才允许SDA更改NOP 加入空指令延时以确保信号可靠NOPSETBSDA SDA先高NOPNOPSETBSCL SCL高 起始条件建立时间大于4 7usACALLDS4 7uSCLRSDA SDA低 起始条件锁定时大于4usACALLDS4uSCLRSCL SCL低 钳住总线 准备发数据NOPRET 图11 3启动信号时序 11 1I2C串行总线通信协议 2 起停信号的检测 STOP IC CLRSCL SCL低NOPCLRSDANOPNOPSETBSCL 发送结束条件的时钟信号ACALLDS4 7uS 结束总线时间大于4us 取4 7us SETBSDA 结束总线ACALLDS4 7uS 保证终止和起始空闲大于4 7usNOPRET 图11 4停止信号时序 11 1I2C串行总线通信协议 2器件地址 如24C02的地址格式如下 11 1I2C串行总线通信协议 表7 3常用外围器件的节点地址 11 1I2C串行总线通信协议 3应答与非应答信号 1 应答信号与非应答信号定义 图11 5应答与非应答信号 接收器收到地址字节或一个字节数据后都要产生一个应答信号ACK 在第9个时钟周期时将SDA线拉低 表示收到一个8位数据 发送器必须在这一时钟位上释放数据线SDA 使其处于高电平状态 以便接收器输出ACK应答信号 表示继续接收 若接收器输出高电平则为非应答信号 ACK 表示结束接收 发送器接收数据时 它收到最后一个数据后 须向接收器发送一个非应答信号 使接收器释放SDA线 发送器产生终止信号 停止数据传送 11 1I2C串行总线通信协议 3应答与非应答信号 2 应答信号时序ACK 在接收方 每收到一字节后便将SDA电平拉低 应答完成后 SCL 0 SDA 1 具体时序如下 MACK IC CLRSCLNOPCLRSDA 在第9个SLC脉冲 将SDA置0NOPNOPSEIBSCL 保持数据时间 即SCL为高时间大于ACALLDS4 7usCLRSCLNOPNOPSETBSDA 在SDA高或低的任何前提下 应答完成后 SCL 0 SDA 1NOPRET 图11 6应答信号ACK时序 11 1I2C串行总线通信协议 3应答与非应答信号 3 非应答信号时序 ACK MNACK IC CLRSCLNOPNOPSETBSDA 将SDA置1NOPNOPSETBSCLACALLDS4 7uSNOP 保持数据时间 即SCL为高时间大于4 7usCLRSCLNOPSETBSDANOPRET 图11 7非应答信号时序 11 1I2C串行总线通信协议 4数据字节信号字节数位 数据字节数没有限制 但是每字节必须是8位长度 发送次序 先发送最高位 每字节数据后必跟一位应答脉冲ACK 等待状态 接收器不能接收下一个字节时 可以把SCL线拉成低电平 迫使发送器处于等待状态 图为多字节数据传输过程的完整时序 图11 8数据传输时序 连续写的两个字节之间最好是有10ms的延时 当然 也可以进行页写 PAGEWRITE 即一次性连续写8个字节 但采用页写方式时每个字节后要有一个应答信号 11 1I2C串行总线通信协议 1 向IC卡写一字节数据 WR BYTE WR BYTE MOVR2 08 一字节8位数据CLRSCLNOPNOPWR BYTE1 RLCA A 8 CMOVSDA C 改变SDA上的数据NOPSETBSCL 拉高SCL 4 7uSACALLDS4 7uSCLRSCLNOPNOPDJNZR2 WR BYTE1 依次发8位 图11 9字节写时序图 SETBSDANOPNOPSETBSCLCLRF0NOPNOPMOVC SDA 回读IC卡的确认信号JCWR BYTE2SETBF0 有应答位WR BYTE2 NOP 非应答CLRSCLNOPRET 11 1I2C串行总线通信协议 2 从IC卡读取一字节数据 RD BYTE RD BYTE MOVR2 08SETBSDA 设备SDA为读状态CLRA 清空A寄存器NOPNOPRD BTYE1 SETBSCL 时钟线为高 接收数据位NOPNOPMOVC SDA 读取一位数据到进位位 图11 10字节读时序图 RLCA 左移数据到ACC 0CLRSCL 将SCL拉低时间大于4 7usACALLDS4 7uSDJNZR2 RD BYTE1 依次读出8位数据到A中RET 读数据是无应答信号的需要注意的是 读数据的器件不是通过确认状态来应答的 而是随后产生一个停止状态 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串行数据 开漏极驱动 A2 A1 A0 器件 页面寻址 器件地址 1010A2 A1 A0 11 2两线串行总线典型器件 1 AT24系列存贮器 I2C串行接口的EEPROM 11 2两线串行总线典型器件 1 AT24系列存贮器 I2C串行接口的EEPROM 11 2两线串行总线典型器件 2 SLE4442 2线同步协议 ISO7816 加密卡 还有射频卡 13 56M非接触IC卡符合ISO14443TYPEA ISO7816标准 ISO7816两线同步协议与I2C协议不相同 SLE4442德国西门子SIMENS公司逻辑加密存储卡 具有2K位的存储容量和完全独立的可编程代码存储器PSC 单 5V电压供电 目前国内应用较多的一种IC卡芯片 2线连接协议 串行接口满足ISO7816同步传送协议 每字节擦除 写入编程时间为2 5ms 至少10000次的擦写 数据保持10年 芯片引脚SLE4442的触点安排见下图 11 2两线串行总线典型器件 3 PCF8563 I2C串行接口的实时日历时钟 RTC PCF8563 I2C时钟芯片 1302 DS1302 可慢速充电实时时钟 含实时时钟 日历和31字节非易失静态RAM 实时时钟 日历可对秒 年计数 具有闰月闰年校正 可采用24或12小时格式 31字节的RAM可以用来临时保存一些重要数据 通信仅需3根线 1 RST 复位 2 I O 数据 和 3 SCLK 时钟 宽工作电源电压范围 2 0V 5 5V 2 5V时耗电小于300nA 3线接口 TTL兼容 封装形式 DIP8和SOP8 可完全兼容DALLAS的DS1302 HYM1302DIP8 SOP83 线31字节 高性能 低功耗带RAMRTC HYM1307DIP8 SOP8I2C56字节 PCF8563 pdf 11 2两线串行总线典型器件 IC卡门锁电路之一 11 2两线串行总线典型器件 IC卡门锁电路之二 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总线 2 I2C总线的典型应用24xx系列的E2PROM存储器是应用比较广泛的I2C总线器件之一 24C04内部组织为512 8位 16字节页写 例7 4 24C04与8051的接口电路如图 8051通过I2C总线接口对24C04进行多字节写操作的程序流程图如图 试编写多字节写程序 图7 2324C04多字节写操作流程图 流程图 11 3I2C在单片机系统中的应用 11 3I2C在单片机系统中的应用 24C04写入多字节子程序 SCLBITP3 2 定义时钟线SDABITP3 3 定义数据线START LCALLSTAR 调起始信号MOVR2 08H 8字节 括地址 MOVDPTR TAB 定义数据指针LOOP MOVA 00HMOVCA A DPTRLCALLSEND 发送字节数据LCALLACKC 接收应答信号JCLOOPINCDPTRDJNZR2 LOOP LCALLSTOP 调停止信号RETTAB DB0A0H 10H 01H 02H 03H 04H 05H 06HSTAR CLRSCL 起始信号SETBSDAACALLDELAYSETBSCLACALLDELAYCLRSDAACALLDELAYCLRSCLRETSTOP CLRSCL 停止信号CLRSDA 11 3I2C在单片机系统中的应用 ACALLDELAYSETBSCLACALLDELAYSETBSDAACALLDELAYRET 发送一个字节子程序SEND MOVR0 08HCLRCSEND0 RLCAMOVSDA CSETBSCLACALLDELAYCLRSCLDJNZR0 SEND0SETBSDARE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑施工现场智能照明系统的应用
- 推动高校思政教育内涵式发展的策略及实施路径
- 2025年新能源产业大数据精准营销策略评估报告
- 长尾词洞察2025年海洋能发电在海岛供电中的储能技术应用
- 三年级生命与健康知识传授计划
- 工会职工技能竞赛范文
- 六年级下册语文渐进式复习计划
- 2025小学语文新课标学习困难应对心得体会
- 小班教学数字教案课件
- 宠物介绍课件教学反思
- GB/T 3690-2017织物芯输送带全厚度拉伸强度、拉断伸长率和参考力伸长率试验方法
- GB/T 18743-2002流体输送用热塑性塑料管材简支梁冲击试验方法
- GB 28241-2012液压机安全技术要求
- 企业降本增效培训课件
- 八大员培训计划
- 托幼机构消毒课件
- 河北省危险性较大建设工程安全专项施工方案论证审查专家库
- 部编版一年级上册道德与法治全册教案
- 五年级语文阅读理解十篇(含答案)
- 焊研威达埋弧焊机小车A系列说明书
- 静脉血栓栓塞症抗凝治疗微循环血栓防治专家共识
评论
0/150
提交评论