模拟I2C协议.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模拟I2C协议

模拟I2C协议 在现代电子系统中,有为数众多的IC需要相互之间以及与外界的通信。为了简化电路的设计,Philips公司开发了一种用于内部IC控制的简单的双向两线串行总线I2C(Intel-Integrated Circuit bus)VHD/Verilog HDL模拟I2C协议,以及编写TestBench仿真和测试程序的方法。 4.1 I2C总线解析 下面先对I2C协议中有关数据格式和时序的内容进行介绍,这里没有涉及的地方请参考THE I2C-SPECIFICATION VERSION2.1 JANUARY 2000. 4.1.1 I2C总线概述 I2C协议作为一个串行总线标准尽管没有并行总线的数据吞吐能力,但是它的以下特点使其有着广泛的应用。 只需要两条总线——串行数据线SDA和串行时钟线SCL; 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主/从节点关系软件设定地址,主节点可以发送数据或接收数据; 是真正的多主总线,当两个或更多主节点同时初始化数据传输时,可以通过冲突检测和仲裁防止数据被破坏; 串行的8位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s; 片上的滤波器可以滤去总线数据线上的毛刺波,保证数据完整; 连接到相同总线的IC数量只受到总线的最大电容(400pF)限制。 总线不仅仅是互连的线,还包含系统通信的所有格式和过程。I2C总线结构上的特点保证了其应用时的简洁,另外其完备的协议避免了所有混乱、数据丢失和妨碍信息的可能性。 4.1.2 I2C协议的基本概念 I2C总线支持任何IC生产过程(NMOS、CMOS和双极性)。串行数据线SDA和串行时钟线SCL在连接到总线的器件间传递信息。每个器件都有一个唯一的地址作为识别的标志(无论是微控制器、LCD驱动器存储器还是键盘接口),并且都可以发送数据和接收数据。很明显LCD驱动器只需要接收数据,而存储器需要接收和发送数据。图4-1所示的是一个高性能集成电视的例子。 PLL芯片 TSA5512 颜色解码器 TDA9160A 图像增强器 TDA4670 视频处理器 TDA4685 SCL SDA 微控制器 PCB83C528 非失效内存 PCF8582E 立体声解码器 TDA9840 HI-FI音频处理器 TDA9860 文本处理芯片 SAA52XX 图4-1 高性能集成电视 从图4-1可以看到,应用I2C总线是非常方便的。用通俗的话讲I2C总线的硬件设计工作就是连接SDA和SCL两条线,依靠I2C协议完成软件工作。在I2C协议中应理解如下的概念。 主/从节点 主节点负责初始化总线的数据传输,并产生允许传输的时钟信号。此时任何被寻址的器件都被认为是从节点。当有多个主节点在总线上传输数据时,每个主节点产生自己的时钟信号。挂接到总线上的所有外围器件、外设接口都是总线上的节点。 总线上节点的寻址方式 在任何时刻总线上只有一个主控器件(主节点)实现总线的控制操作,对总线上的其他节点寻址,可分时实现点-点的数据传送。因此总线上每个节点都有一个固定的节点地址。 I2C总线上主节点的地址由软件给定,此地址存放在I2C总线的地址寄存器中。I2C总线上所有的外围器件都有规范的器件地址。器件地址由7位数字组成,它和1位方向位构成了I2C总线器件的寻址字节SLA(Slave address)。器件地址是I2C总线外围接口器件固有的地址编码,器件出厂时就已给定。数据方向位规定了总线上主节点对从节点的数据传送方向。 4.1.3 I2C协议的时序要求 1.总线上数据传递时序 I2C总线上数据传递时序如图4-2所示,具体步骤如下。 首先主节点器件发送一个起始信号。 接下来主节点器件发送从节点地址和读写方式,一共8位。其中从节点地址7位,读写方式1位。 与传输地址一致的从节点器件应答(即ACK)。 开始数据传输,传输数据数量不限。每个字节(八位)后面跟接收数据方的应答位。例如主节点器件读取从节点数据,从节点发送数据,主节点应答;主节点器件写数据到从节点,主节点发送数据,从节点应答。 数据传输结束,主节点器件发送一个终止信号结束整个过程。 采用I2C总线后对传送的字节数没有限制,只要求每传送一个字节后对方回应一个应答位。在发送时首先发送的是数据的最高位(MSB,Most Singnificant Bit)。每次传送开始有起始信号,结束时有停止信号。在总线传送完一个字节后,可以通过对时钟线(SCL)的控制使传送暂停。例如当某个外围器件接收N个字节数据后需要一段处理时间以使继续接收以后的字节数据,这时可在应答信号后使SCL变为低电平控制总线暂停。如果主节点要求总线暂停也可使时

文档评论(0)

juhui05 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档