毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx

上传人:b****4 文档编号:2991132 上传时间:2022-11-16 格式:DOCX 页数:23 大小:260.82KB
下载 相关 举报
毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx_第1页
第1页 / 共23页
毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx_第2页
第2页 / 共23页
毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx_第3页
第3页 / 共23页
毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx_第4页
第4页 / 共23页
毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx

《毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx》由会员分享,可在线阅读,更多相关《毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx(23页珍藏版)》请在冰豆网上搜索。

毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板.docx

毕业设计论文利用VHDL语言在FPGA上实现I2C总线控制器的功能模板

摘要

随着微电子技术的发展,现场可编程逻辑门阵列FPGA(FieldProgrammableGateArray)可以实现数字电路系统设计的功能。

尤其现场可编程逻辑门阵列FPGA具有集成度高的优点,受到工程界高度的重视。

I2C总线以接口简单,成本底,可扩展性好在数字系统中得到了广泛的应用。

硬件描述语言是数字系统高层设计的核心,是实现数字系统设计新方法的关键技术之一。

本课题正是利用VHDL语言在FPGA上实现I2C总线控制器的功能。

首先研究了I2C总线的规范,又简要介绍了QuartusⅡ设计环境以及FPGA的设计流程。

在此基础上,重点介绍了I2C控制器的总体设计方案,以及在QuartusⅡ平台上的时序仿真。

 

关键词 QuartusII;I2C总线控制器;现场可编程逻辑门阵列;时序仿真

Abstract

WiththedevelopmentofmicroelectricandEDA(electronicdesignautomation)technology,FPGA(fieldprogrammablegatesarray)canrealizethefunctionofdigitalcircuitsystemdesign.FPGAhavethemeritoffiledprogrammabilityandHighintegrationrate,thereforeishighlyrecognizedforengineering.I2Cbusiswidelyappliedinthedigitalsystemassimpleinterface,expedientuse,lowcostandgoodexpansibility.VHDLisconsideredasacoreofdigitalsystemdesignandakeytechniqueofimplementdigitalsystem.

ThedesignrealizesthefunctionofI2CbusinterfaceontheFPGA.AtfirstthethesisdeeplyresearchI2Cbusspecification,thenbrieflyintroducetheQuartusIIdesignenvironmentandthedesignmethod,aswellasFPGAdesignflow.Inthisfoundation,I2CbuscontrollerdesignschemeandthetimingsimulationunderQuartusIIisparticularlyintroduced.

 

KeywordsQuartusII;I2Cbuscontroller;FPGA;timingsimulation

千万不要删除行尾的分节符,此行不会被打印。

在目录上点右键“更新域”,然后“更新整个目录”。

打印前,不要忘记把上面“Abstract”这一行后加一空行

第1章绪论

1.1课题背景

近年来,随着社会的发展,电子产品越来越多的进入人们的生活和工作中,成为了我们生活中必不可少的一部分,随着计算机的普及,以及电子设备之间相互沟通的更加频繁,为了更方便的实现器件与器件之间的通信,研发人员从消费者电子、电讯和工业电子中许多看上去不相关的设计中寻找到了他们的相似之处,例如几乎每个系统都包括:

(1)一些智能控制,通常是一个单片的微控制器。

(2)通用电路,例如LCD驱动器、远程I/O口、RAM、EEPROM或者数据转换器。

(3)面向应用的电路,譬如收音机和视频系统的数字调谐和信号处理电路。

为了使这些相似之处对系统设计者和器件厂商都得益,而且使硬件效率最大电路最简单,Philips开发了一个简单的双向两线总线,实现有效的IC之间控制,这个总线就称为I2C总线。

现在Philips包括超过150种CMOS和双极性兼容I2C总线的IC,可以执行前面提到的三种类型的功能。

所有符合I2C总线的器件组合了一个片上接口,使器件之间直接通过I2C总线通讯,这个设计概念解决了很多在设计数字控制电路时遇到的接口问题。

I2C总线具有以下优点:

(1)极低的电流消耗、抗高噪声干扰、电源电压范围宽以及较广的工作温度范围、简单性和有效性

(2)I2C总线占用的空间非常小(接口直接在组件之上),减少了电路板的空间和芯片管脚的数量,降低了互联成本

(3)支持主控,其中任何能够进行发送和接收的设备都可以成为总线,一个主控能够控制信号的传输和时钟频率(任何时间点只能有一个主控)

1.2I2C总线的产生及发展

I2C总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。

I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。

例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。

可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。

1.3FPGA的现状与展望

FPGA是英文Field-ProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

FPGA经过70年的不断发展,由当初的1200门发展成为今天的百万门级。

通过不断更新优化产品架构和生产工艺,实现了更高的性能、更短的开发周期、更低的单位成本和功耗。

从前的“定论”是:

FPGA可编程,灵活性高,一直依赖都是用作建模的平台,而不适合进行量产,但是经过多年的研发,大大缩短了FPGA开发时间,降低了验证成本。

高集成度和灵活度从消费电子的发展来看,客户要求产品的更新换代的周期越来越短,并要求不段的继承更多的,层出不穷的,新的技术和应用,而且又要严格控制成本。

因此,FPGA在灵活性上就具备了天然的优势,且通过多年的努力,在高性能和低功耗方面也取得了显著地改进,现在的FPGA性能已经能够满足大多数应用的的需要。

1.4相关工作

为了设计基于FPGA的I2C总线控制器,包括数据传输时序、传输命令、传输格式。

首先要深入研究I2C总线的协议规范,在QuartusⅡ平台上,对设计进行分析、综合,功能和时序仿真,最后深入研究FPGA芯片的设计流程,并根据以上结果选择芯片,并配置到FPGA上,验证设计结果。

本文的章节安排如下;

1绪论,主要介绍课题研究的背景,I2C总线和FPGA的产生现状和发展

2I2C总线技术的研究,介绍I2C总线的特点以及工作原理

3VHDL语言的基础知识,简单的介绍了VHDL语言的特点和结构

4设计工具与设计方法,介绍了一种新的设计软件QuartusII,以及基于FPGA的数字电路的设计流程

5I2C总线的功能设计

6I2C总线的硬件时序仿真

7结论,对本文进行总结,在设计中遇到的问题以及从此次设计中学到的东西

 

双击上一行的“1”“2”试试,(本行不会被打印,请自行删除)

第2章I2C总线技术的研究

2.1I2C总线的概念

I2C总线是一种比较流行的总线,它的接受和发送在同一条数据线上。

I2C由串行数据(SDA)和串行时钟(SCL)两根线构成的。

总线上允许连接的设备数主要决定于总线上的电容量,一般设定为400pf以下。

SDA和SCL都是双向总线,它们都通过上拉电阻连接到电源上。

当总线处于停止(IDLE)状态,两根线都是高电平。

对于I2C总线来说,总线上连接的设备,例如LCD驱动器、存储器等都是有一个唯一的地址识别,而且都可以作为一个发送器或接收器。

至于是作为发送器还是接收器,主要取决于连接设备的具体功能。

例如LCD驱动只是一个接收器,而存储器则既可以接受又可以发送数据。

除了发送器和接收器外,设备在执行数据传输时也可以被看作是主机或从机。

主机是初始化总线的数据传输,并产生允许传输的时钟信号的设备,这时任何被寻址的期间都被认为是从机。

由于I2C总线使用两线的硬件接口简单,I2C总线的应用越来越广泛[1]。

下面,将I2C总线的通用术语进行介绍,如表2-1所示;I2C总线的典型接法如图2-1所示。

表2-1I2C总线的通用术语

术语

描述

发送器

发送数据到总线的器件

接收器

从总线接收数据的期间

主机

初始化发送、产生时钟信号和终止发送的器件

从机

被主机寻址的器件

多主机

同时有多于一个主机尝试控制总线,但不破坏报文

仲裁

是一个在有多个主机同时尝试控制总线,但只允许其中一个控制总线并使报文不被破坏的过程

同步

两个或多个器件同步时钟信号的过程

图2-1I2C总线信号连接示意图

2.2I2C总线的传输

由于I2C总线的器件有不同种类的工艺(CMOS、NMOS、双极性),逻辑‘0’(低)和‘1’(高)的电平不是固定的。

在I2C总线每传输一位数据就有一个时钟脉冲相对应,其逻辑“0”或“1”的信号电平取决于该节点的正端电源Vdd的电压。

2.2.1数据的有效性

在工作过程中,数据有效要求串行数据(SDA)线上的数据必须要在串行时钟(SCL)的高电平时钟周期期间保持稳定。

而只有在串行时钟(SCL)线的时钟信号是低电平的时候串行数据(SDA)上的数据才能发生变化(如图2-2所示)

2.2.2I2C总线数据传送的开始和停止条件

在I2C总线数据传送的整个过程中,需要先有开始条件引发,并由停止信号结束,这两个条件在数据线上的表示如图2-3所示。

开始条件:

当串行时钟(SCL)线上的时钟信号是高电平的时候串行数据(SDA)上的数据由高电平变为低电平,产生了一个下降沿,表示数据传输开始。

停止信号:

当串行时钟(SCL)线上的始终信号是高电平的时候串行数据(SDA)上的数据由低电平变为高电平,产生了一个上升沿,表示数据传输停止。

开始和停止条件一般由主机产生。

总线在开始条件后被认为处于忙的状态。

在停止条件的某段时间后,总线被认为再次处于空闲状态。

图2-2I2C总线的数据位传输

图2-3开始和停止条件

2.2.3I2C总线传输过程中的应答信号

数据传输必须带应答。

相应的时钟脉冲又主机产生。

在应答的时钟脉冲器件,发送机SDA输入端保持高电平,接收机将SDA输出端拉低,使它在这个时钟脉冲的高电平器件保持稳定的低电平。

当从机不能应答从机地址时,从机必须使数据线保持高电平,主机产生一个停止条件,终止传输或者产生重复起始条件开始新的传输。

如果执行写操作过程中,从机应答了从机地址,但是在传输了一段时间后不能接收更多数据字节,主机必须终止传输。

这个情况用从机在第一个字节后没有产生应答来表示,从机使数据线保持高电平,主机产生一个停止或重复起始条件。

如果执行读操作过程中,主机必须在从机传输最后一个字节之后产生一个不应答信号,之后产生停止条件,而从机必须将数据线保持高电平,允许主机产生一个停止或重复起始条件。

2.2.4I2C总线数据传送的重复开始条件

主机与从机进行通信时,有时需要切换数据的收发方向。

例如,访问某一具有I2C总线接口的存储器时,主机先向存储器输入存储单元的地址信息(发送数据),然后再读取其中的存储内容(接收数据)。

在切换数据的传输方向时,可以不必先产生停止条件再开始下次传输,而是直接再一次产生开始条件。

I2C总线在已经处于忙的状态下,再一次直接产生起始条件的情况被称为重复起始条件。

正常的起始条件和重复起始条件在物

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1