




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)本科毕业设计(论文) 题题 目目 基于基于 FPGA 的的 I2C 串行总线接口电路设计串行总线接口电路设计 学生姓名学生姓名: : 史俊达史俊达 专专 业业: :集成电路设计及集成系统集成电路设计及集成系统 指导教师指导教师: : 黄静黄静 完成日期完成日期: : 2013/5/30 诚诚 信信 承承 诺诺 书书 本人承诺:所呈交的论文是本人在导师指导下进行的研究成果。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发 表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 签 名: 日 期: 本论文使用授权说明本论文使用授权说明 本人完全了解南通大学有关保留、使用学位论文的规定,即: 学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容。 (保密的论文在解密后应遵守此规定保密的论文在解密后应遵守此规定) 学生签名: 指导教师签名: 日期: 南通大学毕业设计(论文) I 摘摘 要要 I2C(Inter Integrated Circuits)总线是 Philips 公司开发的用于芯片之间连接的串行总线。现 场可编程门阵列(FPGA)设计灵活、速度快,在数字专用集成电路的设计中得到了广泛的应 用。I2C 串行总线接口电路设计的主要任务是根据 I2C 时序协议用 Verilog HDL 语言对 I2C 总 线接口电路的描述,其目的是通过在 FPGA 上来实现 I2C 接口电路来领会复杂数字电路的设 计思路和理念。 在对 I2C 总线的研究现状与发展进行了深入的调研的基础上,论文着重阐述了在 FPGA 上实现随机读/写的 I2C 接口电路的设计方案。首先,论文简单介绍了硬件描述语言 (Verilog HDL)与现场可编程门阵列(FPGA)。其次,论文详细说明了 I2C 串行总线内部 结构和数据传输格式及其时序协议。基于此,论文重点阐述了接口电路的设计方案以及在 FPGA 开发板上与外围 I2C 接口器件 E2PROM 实现数据传输的仿真与测试。经过多次实验验 证,I2C 总线接口电路已通过行为级仿真和综合及布局布线后门级时序仿真,满足系统要求。 最后,论文对所得的研究成果进行了总结。 关键词关键词: Verilog_HDL;FPGA;I2C 串行总线;随机读/写;E2PROM 南通大学毕业设计(论文) II ABSTRACT I2C (Inter Integrated Circuits) Bus is developed by Philips for the connection between the chip serial bus. In the digital ASIC design, Field-programmable gate array (FPGA) design has been widely used because of its flexibility and high speed. The main task of I2C serial bus interface circuit design is based on the I2C timing agreement with Verilog HDL language description of the I2C bus interface circuit, which aims to achieve I2C interface circuit up to comprehend complex digital circuit design ideas and concepts through the FPGA. Based on the in-depth research of the I2C bus status and development, the design scheme of the random read/write I2C interface circuit on FPGA was underlined in the paper. First,hardware description language (Verilog HDL) and field-programmable gate array (FPGA) were introduced slightly in the paper. Second, the internal structure and data transmission format of I2C serial bus and its timing protocol were illustrated in the paper in detail. Based on this, the interface circuit design in FPGA development board was emphasized in the paper.As well as, the simulation and test of data transmission with peripheral devices E2PROM with I2C interface were stressed. After several experiments, I2C bus interface circuit has passed the behavioral level simulation and synthesis and layout-level timing simulation backdoor to meet system requirements. Finally, the research results were summarized. Keywords: Verilog_HDL; FPGA; I2Cserial bus ; Random read /write; E2PROM 南通大学毕业设计(论文) III 目目 录录 摘 要.I ABSTRACT.II 第一章 绪 论 .1 1.1 本课题研究的意义 .1 1.2 研究领域现状 .1 1.3 发展趋势 .1 1.4 所做的主要工作.2 第二章 Verilog HDL 和 FPGA 的综述.3 2.1 硬件描述语-Verilog HDL .3 2.1.1 Verilog HDL 简介.3 2.1.2 Verilog HDL 的发展.3 2.1.3 Verilog HDL 用途.3 2.2 现场可编程门阵列-FPGA.3 2.2.1 FPGA 的概要.3 2.2.2 FPGA 的基本组成.4 2.2.3 FPGA 的基本特点.4 第三章 I2C 串行总线简介.6 3.1 I2C 串行总线的概述 .6 3.2 I2C 总线特征 .6 3.3 I2C 总线的数据位传输 .7 3.3.1 有效数据位的规定 .7 3.3.2 起始和终止信号 .7 3.4 I2C 总线上的数据传输 .8 3.4.1 数据字节格式 .8 3.4.2 应答确认 .8 3.4.3 I2C 总线的工作模式.9 3.5 I2C 总线的工作流程 .9 南通大学毕业设计(论文) IV 3.5.1 I2C 总线的写操作.9 3.5.2 I2C 总线的读操作.10 3.6 仲裁和时钟同步.10 3.6.1 时钟同步 .10 3.6.2 数据仲裁 .11 第四章 I2C 串行总线接口电路设计.13 4.1 I2C 串行总线接口电路的性能指标 .13 4.2 I2C 串行总线接口电路的设计平台 .13 4.3 I2C 串行总线接口电路的设计方案 .13 4.3.1 I2C 串行总线接口电路的框图设计.13 4.3.2 I2C 串行总线接口电路的内部模块设计.14 4.3.3 I2C 串行总线接口电路各模块的程序设计方法.14 4.4 I2C 串行总线接口电路程序的综合 .16 第五章 I2C 串行接口电路仿真与 FPGA 开发板测试.18 5.1 电路仿真测试平台.18 5.1.1 电路仿真工具 .18 5.1.2 电路开发板测试仪器 .18 5.1.3 外部测试芯片 .19 5.2 外围电路的构建.22 5.2.1 E2PROM 电路构建.22 5.2.2 完整的测试电路 .23 5.3 I2C 串行接口电路仿真结果.24 5.3.1 I2C 串行接口电路写数据的功能仿真.24 5.3.2 I2C 串行接口电路读数据功能仿真.25 5.3.3 I2C 串行接口电路写数据时序仿真.26 5.3.4 I2C 串行接口电路读数据时序仿真.26 5.3.5 E2PROM 行为模块的反馈信息图.27 5.4 I2C 串行接口电路 FPGA 测试结果.27 结束语 .32 参考文献 .33 南通大学毕业设计(论文) V 致 谢 .34 附 录 .35 南通大学毕业设计(论文) 1 第一章第一章 绪绪 论论 1.1 本课题研究的意义本课题研究的意义 随着电子科技的迅速发展,需要相互通信及与外界通信的IC电路变得越来越复杂。为了 简化电路设计,Philips公司开发了一种双向二线的串行I2C总线(Intel Integrated Circuit Bus)。 该总线具有通讯效率高、传输线少等特点。因为其简单的接口、控制简便,使用I2C总线的 电子电路设计工程师日益增多。I2C总线只提供两根线进行通信,所有具有I2C接口的器件都 可以挂在这两根线上直接通信。 目前,IC制造商提供的I2C总线应用芯片的功能越来越强大。I2C总线由主器件控制,增 加额外的I2C控制器需要额外的印制板面积,增加了成本。因此,在一些特殊应用条件下, 使用一种利用应用广泛的现场可编程门阵列(FPGA)实现与I2C总线器件无缝连接的方法,将 是更为经济的解决方案。 根据I2C总线的通讯协议,在Altera 公司的EP2C35F672C6型号的FPGA上实现与具有I2C 接口的外围芯片进行通信,具有易调试、灵活配置、高速传输等优点,这样大大地缩减了电 路系统的开发时间。 1.2 研究领域现状研究领域现状 单片机应用系统正向小型化、高可靠性、低功耗等方向发展。在一些功能较多的电路系 统中,经常需扩展多个外围接口器件。如果采用传统的并行传输方式,传输时间是缩短了, 但也增加了系统资源的消耗和系统的复杂度,关键是功耗的增大和成本的增加。现在,许多 公司采用了 Philips 公司开发的 I2C 总线,使单片机系统电路结构的复杂度大大减小,并且增 加了硬件的灵活性,缩短了产品开发周期,降低了成本。 自从I2C总线成为国际通用的总线标准后,I2C总线因为具有扩展方便、协议完善、支持 芯片多和连线少等优点,已经被很多集成电路厂商集成到微控制器集成电路中。I2C总线的 应用涉及通信、控制、家电、消费电子等众多领域,在很多器件上都配备有I2C 总线接口, 而且功能日益强大。 1.3 发展趋势发展趋势 I2C总线以其结构简单、通信功能可制定、高抗干扰性、传输速度快等特点获得了广泛 的应用。I2C总线控制器是MPU与I2C器件之间的桥梁,它负责接收处理器的数据、地址以及 控制信号,而且反馈I2C器件的状态和数据给处理器,实现处理器与I2C器件之间的通信。 Philips 公司除了生产具有 I2C 总线接口的单片机外,还推出了许多具备 I2C 总线的外部 南通大学毕业设计(论文) 2 接口芯片,如 AT24CXX 系列的 EEPROM、128 字节的 SRAM 芯片 PCF8571、日历时钟芯 片 PCF8563、4 位 LED 驱动芯片 SAA1064、160 段 LCD 驱动芯片 PCF8576 等多种类多系列 接口芯片。 随着可编程器件的飞速发展,用 FPGA 器件实现 I2C 总线控制器接口的设计可以带来很 多方面的便利。 1.4 所做的主要工作所做的主要工作 由于现场可编程逻辑门阵列(FPGA)作为专用集成电路(ASIC)领域中的一种半定制 电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点, 深受硬件电路设计人员的喜爱,大大缩减了电路开发时间5。本论文要求在 FPGA 上实现 I2C 串行总线接口电路,要求实现基本的随机读写功能和显示、编写电路测试模块。 全文共分为五章,各章节的主要内容安排如下: 第一章为绪论,简要介绍了I2C串行总线接口电路的研究背景、意义和目前国内外研究 现状。 第二章对硬件描述语言Verilog HDL和现场可编程逻辑门阵列FPGA的综述,其中包括硬 件描述语言Verilog HDL及FPGA的起源、发展、应用等;Verilog HDL语言与FPGA的开发板 的结合在现在的半定制电路中应用很广泛,这样可以省去不少开发全定制的时间和成本等。 第三章对I2C串行总线接口电路进行了介绍,了解I2C串行总线的概念和其工作时序协议, 其中包括I2C串行总线接口的内部结构。 第四章阐述了 I2C 随机读/写串行接口电路设计,首先说明了 I2C 随机读/写串行接口电 路的设计框图,同时对这个电路进行分模块设计。遵循自顶向下(Top_Down)设计理念, 将复杂的时序电路分解成几个简单的小模块,使设计流程清晰化,这样也便于测试。 第五章为 I2C 随机读/写串行接口电路的仿真和测试,分别用软件对电路进行功能、时 序仿真和在 FPGA 开发板上测试。最后,把测试结果与实际值进行比较,进一步地确认电路 的正确性。 南通大学毕业设计(论文) 3 第二章第二章 Verilog HDL 和和 FPGA 的综述的综述 2.1 硬件描述语硬件描述语-Verilog HDL 2.1.1 Verilog HDL 简介简介 Verilog HDL 是一种描述硬件的语言,可以用文本编程的形式来描述硬件的内部结构和 行为。它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL 由 Gateway Design Automation 公司开发的。现在,Verilog HDL 和 VHDL 一样 也是世界上最流行的两种硬件描述语言之一,已经成为为 IEEE 标准。 2.1.2 Verilog HDL 的发展的发展 Verilog HDL 语言原来是由 Gateway Design Automation 公司于 1983 年为其模拟器产品 开发的硬件建模语言,它还只是一种专用语言2。随着他们的模拟、仿真器产品被电子业界 广泛使用,Verilog HDL 作为一种便于使用而且实用的语言开始被越来越多的电路设计者所 接受2。Verilog HDL 语言在一次增加语言普及性的活动中被推向公众领域。1992 年,Open Verilog International 决定推广 Verilog OVI 标准成为 IEEE 标准,这一推广最终获得了成功。 于 1995 年,Verilog 语言成为 IEEE 标准,称为 IEEE Std 136419952。 2.1.3 Verilog HDL 用途用途 Verilog HDL 是目前应用最为广泛的硬件描述语言,用于从算法级、门级到开关级的多 种抽象设计层次的数字系统建模14。被建模的数字系统对象的复杂性可以介于简单的门和完 整的电子数字系统之间14。数字系统能够按层次描述,并可在相同描述中显式地进行时序建 模14。 Verilog HDL 可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿 真验证和时序分析等14。 2.2 现场可编程门阵列现场可编程门阵列-FPGA 现场可编程门阵列(Field Programmable Gate Array:FPGA),它是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路 (ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可 编程器件门电路数有限的缺点5。 2.2.1 FPGA 的概要的概要 目前以硬件描述语言(Verilog 或 VHDL)描述的逻辑电路,可以利用逻辑综合和布线 工具软件,快速地烧录至 FPGA 上进行测试,这一过程是现代 集成电路设计验证的技术主 南通大学毕业设计(论文) 4 流5。这些可编程逻辑元件可以被用来实现一些基本的逻辑门数字电路(比如与门、或门、 异或门、非门)或者更复杂一些的组合逻辑功能,比如译码器等19。大多数的 FPGA 里面 包含记忆元件,例如触发器(Flipflop)或者其他更加完整的记忆块,从而构成时序逻辑 电路19。 电路系统设计人员可以根据需要,通过编程下载的方式,把 FPGA 内部的逻辑块连接起 来,这样就完成了在 FPGA 芯片里构建你所要的电路。FPGA 内部的逻辑块和连接可以随着 设计者的需要而改变,所以 FPGA 能够成为数字电路设计人员在半定制电路中的第一选择。 一般来说,FPGA 比专用集成电路(ASIC)的速度要慢一点,无法完成更复杂的设计, 并且能耗也大。但是,FPGA 具有可以快速成品,而且其内部逻辑可以被设计者反复修改的 优点。此外,用 FPGA 调试的成本较低。 2.2.2 FPGA 的基本组成的基本组成 静态随机存取存储器(SRAM):基于静态内存 Static memory 技术,系统内可编程 化和再程序化(Re-programmable),须要外部启动元件(External boot devices) CMOS。 Antifuse:可烧录一次。通常为 CMOS。 PROM(一次性可编程 EPROM):可编程化只读存储器技术,可烧录一次。使用塑 料封装,无窗,不能清除内容。 EPROM:可清除可编程化只读存储器技术,有窗,经紫外线照射可清除内容。 EEPROM:可电气清除可编程化只读存储器技术,可用电气信号清除内容。 闪存:一种特殊的 EEPROM。 熔丝:可烧录一次。通常为双极性的。 2.2.3 FPGA 的基本特点的基本特点 采用 FPGA 设计 ASIC 电路,用户无需投片生产,就能得到组合的芯片。 做半定制电路的样品。 内部有大量的触发器和 I/O 引脚。 电路设计周期短、开发成本低、风险小。 采用高速、功耗低的 CHMOS 工艺,兼容 CMOS、TTL 电平。 能提高系统集成度和可靠性。 FPGA 内部 RAM 中的程序控制其工作过程。工作时,只需对片内的 RAM 进行编程, 就可以实现不同的功能。 南通大学毕业设计(论文) 5 加电时,FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中,完成配置后,FPGA 进 入工作状态3。掉电后,FPGA 恢复成空白片,内部逻辑关系消失3。因此,FPGA 能够反 复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、PROM 编程器即 可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可3。这样,同一片 FPGA,不同的 编程数据,可以产生不同的电路功能3。因此,FPGA 的使用非常灵活。 南通大学毕业设计(论文) 6 第三章第三章 I2C 串行总线简介串行总线简介 3.1 I2C 串行总线的概述串行总线的概述 I2C(Inter Integrated Circuit)总线是由 Philips 公司开发的两线式串行总线,用于连接微 控制器及其外围设备,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性 能串行总线8。 I2C 总线也是微电子通信控制领域广泛采用的一种总线标准。它不同于普通的同步通信, 具有输出线少,容易控制,传输速率快,抗干扰强等优点。 I2C总线定义了两根线:串行数据线SDA和串行时钟线SCL。如图3.1是I2C总线系统的示 意图。图中的单片机、SRAM或E2PROM、A/D或D/A转换器以及其他I2C外围设备都有它们 各自的地址。在数据传输过程中,通信双方分别称为I2C主控(I2C_Master)和I2C从设 (I2C_Slave),都可以作数据发送端和接收端。 图3.1 带有微控制器的I2C总线配置 迄今为止,飞利浦已开发出 150 余种,包括 CMOS 和双极型 I2C 总线兼容 IC,所有符 合标准的 I2C 总线接口的设备,通过简单的双向两线总线,以实现有效的控制和 IC 之间的 通信。 3.2 I2C 总线特征总线特征 I2C总线是通过双向串行时钟线SCL和双向串行数据线SDA在器件之间传递信息的。 SDA、SCL的输出级必须是开漏或者开集电极输出,并在两根线上分别通过上拉电阻接到正 电源,以实现“线与”功能。如图3.2. 当总线处于空闲状态,SDA、SCL均保持为高电平。挂在总线上每个器件都有自己对应 的唯一地址,用来发送数据或接收数据。当主器件掌控总线时,为实现数据的传输,主器件 需要产生传输所需的时钟;被寻址的器件只能作为从器件。在标准模式下,I2C总线上数据 的传输速率可达100kbit/s,在快速模式下可达400kbit/s,在高速模式下可达3.4Mbit/s7。总线 电容(400pF)及地址的寻址范围决定连接到总线的器件数量。 南通大学毕业设计(论文) 7 图3.2 I2C标准模式器件和快速模式器件连接到I2C总线 在复杂的系统中,可能有多台主机同时启动总线,进行传输数据。通过总线仲裁,就可 以很好地控制哪一台主机来控制总线。 3.3 I2C 总线的数据位传输总线的数据位传输 3.3.1 有效数据位的规定有效数据位的规定 I2C总线进行数据传输时,串行时钟为高电平期间,数据线上的数据必须保持稳定,只 有在串行时钟为低电平期间,才允许数据线上的数据进行变化(即:高电平变低电平状态或 者低电平变高电平状态),如图3.3。 图3.3 I2C总线的数据位传输 3.3.2 起始和终止信号起始和终止信号 串行时钟SCL为高电平期间,串行数据SDA出现下降沿,则表示本次传输的起始信号; SCL线为高电平期间,SDA线出现上升沿,则表示本次传输的终止信号,如图3.4。 主机负责向从设发送启动和停止信号,产生启动信号后,SDA总线被占用;产生停止信 号后,总线就释放总线。(即:处于空闲状态)。 南通大学毕业设计(论文) 8 图3.4 启动和停止信号 3.4 I2C 总线上的数据传输总线上的数据传输 3.4.1 数据字节格式数据字节格式 发送至SDA线上的每个字节必须为8位,每次传输的字节数不受限制,每个字节后必须 跟一位响应。被发送的数据第一位就是最高有效的数据位(MSB)。如图3.5。如果接收器 在传输途中去做其他事(比如:做一些中断程序),接收器将把SCL拉低,直到处理好它的 事情后才释放SCL,继续接收数据,在SCL被拉低的期间,主器件处于等待状态。 图3.5 数据字节格式 3.4.2 应答确认应答确认 每次发送的 8 位数据必须跟一位应答,此应答对应的时钟周期还是由主器件来产生。在 这个时钟周期里,主器件要释放 SDA,由从器件控制,主器件在这个期间需要检测从器件 有没有发送应答信号。 从器件必须在这个时钟周期的低电平期间拉低 SDA,这样主器件才能在时钟高电平期 间检测到应答信号。当然,SDA 的建立时间和保持时间也要考虑在内。 产生起始位后,总线就处于忙碌状态,产生停止位后,总线就进入空闲状态。在读数据 时,主机接收到最后一个字节就不产生响应位(SDA=1),以此告知从设不要再发送数据,等 待结束信号。如果不是最后一个数据字节,则主机发出的响应位为0(SDA=0)。当从设响应 南通大学毕业设计(论文) 9 了主机,在传输了一段时间后不能接收更多的数据字节,此时从机可以通过产生非响应来告 知主机终止当前传输,于是主机产生一个停止信号终止本次传输,或者产生重复起始信号开 始新的传输13。 3.4.3 I2C 总线的工作模式总线的工作模式 (1)主器件发送从器件接收(写操作) 主器件发送开始信号之后,紧接着发送的第一个字节是控制字节。高七位为从器件的地 址片选信号。最低位为数据传输方向标示位 (1表示读从器件,0代表写从器件),如下图 3.6。应答后再发送从器件的片内地址。应答后,接着发送的是数据字节,数据可以是单个 字节,也可以是多个字节,取决于主器件。 图3.6 第一个字节格式 从器件每收到一个字节之后,在第九个SCL周期要反馈一个应答信号(SDA=0)。在应答 周期,主器件释放SDA线,从器件把SDA拉成低电平,作为对主器件的应答。 (2)从器件发送主器件接收(读操作) 发送开始信号之后,主器件发送写控制字节给从器件。如果从器件检测到这个控制字节 中的从器件地址与自身地址相一致,并且方向位为1(R/W=1),则表示此次操作是读操作,由 从器件反馈主器件一个应答。 然后,从器件把数据发送给主器件。若主器件在之前给从器件发过片内地址,则从器件 就从这个地址开始发送数据;若从器件没有收到片内地址,则从器件就从当前地址开始向主 器件发送数据。 从器件在发送一个字节数据后,若收到主器件的应答信号则继续发送下一个字节数据; 若没收到主器件的应答信号,从器件将停止发送数据,等待主器件的停止信号。从器件的发 送地址和字节数都由主器件决定。 3.5 I2C 总线的工作流程总线的工作流程 3.5.1 I2C 总线的写操作总线的写操作 写操作的步骤: 1. 向从器件发启动信号 2. 向从器件发 I2C 器件特征码、页地址(3bit)和读写控制位(R/W=0) 南通大学毕业设计(论文) 10 3. 从器件发应答信号(低) 4. 向从器件发 8 位片内地址 5. 从器件发应答信号(低) 6. 向从器件发 8 位数据 7. 从器件发应答信号(低) 8. 若主器件仍需发送数据,就继续发,直到从器件没有应答信号(高) 9. 向从器件发停止信号 3.5.2 I2C 总线的读操作总线的读操作 读操作的步骤(读随机地址单元): 1. 向从器件发启动信号 2. 向从器件发 I2C 器件特征码、页地址(3bit)和读写控制位(R/W=0) 3. 从器件发应答信号(低) 4. 向从器件发 8 位地址 5. 从器件发应答信号(低) 6. 向从器件发启动信号 7. 向从器件发 I2C 器件特征码、页地址(3bit)和读写控制位(R/W=1) 8. 从器件发应答信号(低) 9. 从器件发数据(8 位) 10. 若主器件读单字节数据,则不给从器件应答(SDA=1)。若主器件需读多字节数据, 则给从器件发应答(SDA=0),直到读最后一个字节数据,才向从器件发应答 (SDA=1)。 11. 向从器件发停止信号 3.6 仲裁和时钟同步仲裁和时钟同步 3.6.1 时钟同步时钟同步 在 I2C 总线上,所有的主器件产生他们自己的传输时钟来传输数据。数据只在串行时钟 的高电平器件有效。要得到一个确定的串行时钟就需要一位一位进行仲裁7。 时钟的同步就是利用 I2C 总线的线与功能。当有多个主机同时在 SCL 线上产生自己的 时钟信号时,这些时钟信号通过线与的方式来同步。如图 3.7,主器件 l 产生的串行时钟 CLK1 先变低,同步后的 SCL 线随之被拉低,主器件 2 内部的计数器被 SCL 的下降沿复位, 同时输出端导通,两个主器件都对 SCL 的低电平开始计时。主器件 1 首先计数完成并关闭 南通大学毕业设计(论文) 11 输出端,而主器件 2 没有完成计,输出端仍是导通,此时 SCL 仍为低电平,这时主器件 1 进入高电平等待状态,直到主器件 2 完成计数并释放 SCL 线,SCL 变为高电平7。 当SCL变高时,两个主器件同时把计数器清0,然后开始对SCL线高电平计时,在图3.7 中,主器件l首先完成SCL线高电平计数并拉低SCL线,检测到SCL线下降沿后,两个主器件 的计数器同时清0,准备开始低电平的计时13。 综上所述,同步后SCL线低电平时间取决于时钟低电平时间最长的主机,高电平时间取 决于时钟高电平时间最短的主机7。 图3.7 时钟同步图 3.6.2 数据仲裁数据仲裁 主机只会在I2C总线空闲时产生起始位,但是在起始位的保持时间tHD:STA内可能有多个 主机产生起始位,最终,总线上的起始位由它们之间的线与运算决定,仲裁只是对SDA线上 传输的数据进行仲裁。SCL为高时,在SDA线上发送低电平的主器件将会赢得仲裁,发送高 电平的主器件将会仲裁失败,并对SDA置高阻。如图3.8,两个主器件产生起始位后就开始 对传输的数据进行仲裁,第一个数据位,SCL为高时,两个主器件都输出高电平,继续仲裁, 第二个数据位,两个主器件都输出低电平,继续仲裁,到第三个数据位时,主器件l的SDA 输出高电平,而主器件2的SDA线输出低电平,于是,主器件2赢得仲裁,主器件l呈现高阻 状态7。 仲裁可以持续几个数据位,若两个主器件传输的数据都是一样的,那么仲裁也会持续到 结束信号。在实际通信中,第一个进行仲裁往往是控制字字节部分(即:器件地址和传输方 向标示位),如果一个从器件被多个主器件寻找,那么比较数据位进行仲裁,直到传输结束。 赢得总线仲裁的主器件决定I2C总线上的地址和数据,因此传输的数据信息不会丢失7。 南通大学毕业设计(论文) 12 图 3.8 数据仲裁图 南通大学毕业设计(论文) 13 第四章第四章 I2C 串行总线接口电路设计串行总线接口电路设计 4.1 I2C 串行总线接口电路的性能指标串行总线接口电路的性能指标 本文设计要求实现一个严格遵循 I2C 协议的接口电路,传输速率最高为 1MHz,向下兼 容低速的 I2C 接口的设备,输入的数据是 8 位的,输入地址是 15 位的(高 7 位是器件地址, 低 8 位是器件内地址),另外器件地址为 7 位,可以对 128 个有 I2C 接口的器件进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装卸作业效率优化研究-洞察及研究
- 四年级数学(四则混合运算带括号)计算题专项练习与答案汇编
- 2026届安徽省名校高一化学第一学期期中监测试题含解析
- 城市排水管网结构优化设计方案
- 排水管网管道清淤与修复方案
- 钢结构高空作业施工前期准备与检查清单
- 腰椎专科检查流程指南
- 民营医院员工劳动合同变更指南
- 酒店财务会计内部控制措施总结
- 储备库仓储管理与库存盘点方案
- ISO 37001-2025 反贿赂管理体系要求及使用指南(中文版-雷泽佳译-2025)
- 三腔二囊管置入及护理课件
- 人民代表大会的职权
- 广东省制药企业列表
- 北京市施工现场重污染天气应急预案
- 中等职业学校英语课程标准(2020年版)(word精排版)
- 医院消毒供应中心外来器械管理流程教材44课件
- 污水处理厂运行成本分析
- 四川中小学生健康体检表
- 空压机验证方案(拟定)
- 商品和服务税收分类编码表
评论
0/150
提交评论