I2C串行扩展总线bus.pptVIP

  • 6
  • 0
  • 约1.93千字
  • 约 18页
  • 2018-08-11 发布于江苏
  • 举报
I2C串行扩展总线 第九章 * 思考题及习题 1、 I2C总线的优点是什么? 2、 I2C总线的传输时序是怎样的?起始信号和终止信号是如何定义的?数据位的有效性是如何规定的?应答是如何进行的? 3、 I2C总线的数据传送方向如何控制? 4、 I2C总线的寻址方式如何? 5、具备I2C总线接口的E2PROM芯片有哪几种型号?容量如何?寻址方法如何?芯片地址及读写控制字怎样设置? 6、AT24C系列芯片的读写格式如何? I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 通过并行总线的存储器扩展 89C51 P1.0 P1.1 AT24C16 1 2 3 4 8 7 6 5 A0 A1 GND A2 GND WP VCC SCL SDA +VCC 通过I2C串行总线的存储器扩展 串行E2PROM的扩展: ATMEL公司的AT24C系列: AT24C01:128字节(128×8位); AT24C02:256字节(256×8位); AT24C04:512字节(512×8位) AT24C08:1K字节(1K×8位); AT24C16:2K字节(2K×8位); AT24CXX引脚排列 AT24CXX内部结构图 1 0 1 0 AT24C01/02 A2 A1 A0 R/W 1 0 1 0 A2 A1 P0 R/W AT24C04 AT24C08 AT24C16 1 0 1 0 1 0 1 0 P1 P0 R/W A2 P1 P0 P0 P2 R/W I2C总线协议:传输时序 1.起始和终止信号 SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。 2.数据位的有效性规定 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。 I2C总线协议:数据传送格式 1.字节传送与应答 每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位 2.数据帧格式 I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在总线的一次数据传送过程中,可以有以下几种组合方式: 1. 主机向从机发送数据,数据传送方向在整个传送过程中不变: 2.主机在第一个字节后,立即由从机读数据 3.在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向位正好反相。 总线的寻址 I2C总线协议有明确的规定:采用7位的寻址字节(寻址字节是起始信号后的第一个字节) 主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/位将自己确定为发送器或接收器。 从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。 写操作过程 传送数据时,单片机首先发送一个字节的被写入器件的存储区的首地址,收到存储器器件的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。 AT24C系列器件片内地址在接收到每一个数据字节地址后自动加1,在芯片的“一次装载字节数”(不同芯片字节数不同)限度内,只需输入首地址。装载字节数超过芯片的“一次装载字节数”时,数据地址将“上卷”,前面的数据将被覆盖。 当要写入的数据传送完后,单片机应发出终止信号以结束写入操作。写入n个字节的数据格式 : 读操作过程 单片机先发送该器件的7位地址码和写方向位“0”(“伪写”),发送完后释放SDA线并在SCL线上产生第9个时钟信号。被选中的存储器器件在确认是自己的地址后,在SDA线上产生一个应答信号作为相应。 然后,再发一个字节的要读出器件的存储区的首地址,收到应答后,单片机要重复一次起始信号并发出器件地址和读方向位(“1”),收到器件应答后就可以读出数据字节,每读出一个字节,单片机都要回复应答信号。当最后一个字节数据读完后,单片机应返回以“非应答”(高电平),并发出终止信号以结束读出操作。 *

文档评论(0)

1亿VIP精品文档

相关文档