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

上传人:工**** 文档编号:498954760 上传时间:2023-11-29 格式:DOC 页数:33 大小:1.35MB
返回 下载 相关 举报
毕业设计利用VHDL语言在FPGA上实现I2C总线控制器的功能_第1页
第1页 / 共33页
毕业设计利用VHDL语言在FPGA上实现I2C总线控制器的功能_第2页
第2页 / 共33页
毕业设计利用VHDL语言在FPGA上实现I2C总线控制器的功能_第3页
第3页 / 共33页
毕业设计利用VHDL语言在FPGA上实现I2C总线控制器的功能_第4页
第4页 / 共33页
毕业设计利用VHDL语言在FPGA上实现I2C总线控制器的功能_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《毕业设计利用VHDL语言在FPGA上实现I2C总线控制器的功能》由会员分享,可在线阅读,更多相关《毕业设计利用VHDL语言在FPGA上实现I2C总线控制器的功能(33页珍藏版)》请在金锄头文库上搜索。

1、哈尔滨工业大学(威海)本科毕业设计(论文)摘 要随着微电子技术的发展,现场可编程逻辑门阵列FPGA(Field Programmable Gate Array)可以实现数字电路系统设计的功能。尤其现场可编程逻辑门阵列FPGA具有集成度高的优点,受到工程界高度的重视。I2C总线以接口简单,成本底,可扩展性好在数字系统中得到了广泛的应用。硬件描述语言是数字系统高层设计的核心,是实现数字系统设计新方法的关键技术之一。本课题正是利用VHDL语言在FPGA上实现I2C总线控制器的功能。首先研究了I2C总线的规范,又简要介绍了Quartus设计环境以及FPGA的设计流程。在此基础上,重点介绍了I2C控制器

2、的总体设计方案,以及在Quartus平台上的时序仿真。关键词Quartus II;I2C总线控制器;现场可编程逻辑门阵列;时序仿真AbstractWith the development of micro electric and EDA(electronic design automation)technology, FPGA(field programmable gates array) can realize the function of digital circuit system design .FPGA have the merit of filed programmabilit

3、y and High integration rate ,therefore is highly recognized for engineering.I2C bus is widely applied in the digital system as simple interface ,expedient use ,low cost and good expansibility .VHDL is considered as a core of digital system design and a key technique of implement digital system.The d

4、esign realizes the function of I2C bus interface on the FPGA .At first the thesis deeply research I2C bus specification ,then briefly introduce the Quartus II design environment and the design method ,as well as FPGA design flow .In this foundation,I2C bus controller design scheme and the timing sim

5、ulation under Quartus II is particularly introduced.Key words Quartus II;I2C bus controller ;FPGA ;timing simulation目 录摘 要IAbstractII第1章 绪论51.1 课题背景51.2 I2C总线的产生及发展61.3 FPGA的现状与展望61.4 相关工作6第2章 I2C总线技术的研究82.1 I2C总线的概念82.2 I2C总线的传输92.2.1 数据的有效性92.2.2 I2C总线数据传送的开始和停止条件92.2.3 I2C总线传输过程中的应答信号102.2.4 I2C总

6、线数据传送的重复开始条件112.2.5 I2C总线的传输过程中的字节格式112.2.6 I2C总线的器件子地址112.2.7 I2C总线传输信号的时序122.3 本章小结14第3章 VHDL语言的基础知识153.1 VHDL语言的概述153.2 VHDL语言的特点153.3 VHDL语言的程序结构163.3.1 VHDL程序的库163.3.2 包集合163.3.3 实体说明173.3.4 构造体183.3.5 配置183.4 本章小结18第4章 设计工具和设计方法194.1 设计工具194.2 基于FPGA的数字电路的设计流程204.3 本章小结21第5章 I2C总线的功能设计225.1 I2

7、C总线完成的功能225.2 用VHDL语言实现写操作时的串行转并行235.3 用VHDL语言实现顺序读操作时的并行转串行235.4 I2C总线控制器的顶层设计245.5 本章小结25第6章 I2C总线的硬件时序仿真266.1 器件的选择266.2 硬件仿真276.2.1 用VHDL语言实现写字节周期286.2.1 用VHDL语言实现顺序读字节周期296.2.3 用VHDL语言实现选择性读字节周期296.3 本章小结30结 论31致 谢32参考文献33千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空

8、行- II -哈尔滨工业大学(威海)本科毕业设计(论文)第1章 绪论1.1 课题背景近年来,随着社会的发展,电子产品越来越多的进入人们的生活和工作中,成为了我们生活中必不可少的一部分,随着计算机的普及,以及电子设备之间相互沟通的更加频繁,为了更方便的实现器件与器件之间的通信,研发人员从消费者电子、电讯和工业电子中许多看上去不相关的设计中寻找到了他们的相似之处,例如几乎每个系统都包括:(1) 一些智能控制,通常是一个单片的微控制器。(2) 通用电路,例如LCD驱动器、远程I/O口、RAM、EEPROM或者数据转换器。(3) 面向应用的电路,譬如收音机和视频系统的数字调谐和信号处理电路。为了使这些

9、相似之处对系统设计者和器件厂商都得益,而且使硬件效率最大电路最简单,Philips开发了一个简单的双向两线总线,实现有效的IC 之间控制,这个总线就称为I2C总线。现在Philips包括超过150种CMOS和双极性兼容I2C总线的IC,可以执行前面提到的三种类型的功能。所有符合I2C总线的器件组合了一个片上接口,使器件之间直接通过I2C总线通讯,这个设计概念解决了很多在设计数字控制电路时遇到的接口问题。I2C总线具有以下优点:(1) 极低的电流消耗、抗高噪声干扰、电源电压范围宽以及较广的工作温度范围、简单性和有效性(2) I2C总线占用的空间非常小(接口直接在组件之上),减少了电路板的空间和芯

10、片管脚的数量,降低了互联成本(3) 支持主控,其中任何能够进行发送和接收的设备都可以成为总线,一个主控能够控制信号的传输和时钟频率(任何时间点只能有一个主控)1.2 I2C总线的产生及发展I2C总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。1.3 FPGA的现状与展望FPGA是英文Fi

11、eldProgrammable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA经过70年的不断发展,由当初的1200门发展成为今天的百万门级。通过不断更新优化产品架构和生产工艺,实现了更高的性能、更短的开发周期、更低的单位成本和功耗。从前的“定论”是:FPGA可编程,灵活性高,一直依赖都是用作建模的平台,而不适合进行量产,但是经过多年的研发,大大缩短了FPGA开发时间,降低了验证成本。高集成度和灵活度从消费电子的发展来看,客户要求产品的更新换代的周期越来越短,并要求不段的继承更多的,层出不穷的,新的技术和应用,而且又

12、要严格控制成本。因此,FPGA在灵活性上就具备了天然的优势,且通过多年的努力,在高性能和低功耗方面也取得了显著地改进,现在的FPGA性能已经能够满足大多数应用的的需要。1.4 相关工作为了设计基于FPGA的I2C总线控制器,包括数据传输时序、传输命令、传输格式。首先要深入研究I2C总线的协议规范,在Quartus平台上,对设计进行分析、综合,功能和时序仿真,最后深入研究FPGA芯片的设计流程,并根据以上结果选择芯片,并配置到FPGA上,验证设计结果。本文的章节安排如下;1 绪论,主要介绍课题研究的背景,I2C总线和FPGA的产生现状和发展2 I2C总线技术的研究,介绍I2C总线的特点以及工作原

13、理3 VHDL语言的基础知识,简单的介绍了VHDL语言的特点和结构4 设计工具与设计方法,介绍了一种新的设计软件Quartus II,以及基于FPGA的数字电路的设计流程5 I2C总线的功能设计6 I2C总线的硬件时序仿真7 结论,对本文进行总结,在设计中遇到的问题以及从此次设计中学到的东西双击上一行的“1”“2”试试,J(本行不会被打印,请自行删除)第2章 I2C总线技术的研究2.1 I2C总线的概念I2C总线是一种比较流行的总线,它的接受和发送在同一条数据线上。I2C由串行数据(SDA)和串行时钟(SCL)两根线构成的。总线上允许连接的设备数主要决定于总线上的电容量,一般设定为400pf以

14、下。SDA和SCL都是双向总线,它们都通过上拉电阻连接到电源上。当总线处于停止(IDLE)状态,两根线都是高电平。对于I2C总线来说,总线上连接的设备,例如LCD驱动器、存储器等都是有一个唯一的地址识别,而且都可以作为一个发送器或接收器。至于是作为发送器还是接收器,主要取决于连接设备的具体功能。例如LCD驱动只是一个接收器,而存储器则既可以接受又可以发送数据。除了发送器和接收器外,设备在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输,并产生允许传输的时钟信号的设备,这时任何被寻址的期间都被认为是从机。由于I2C总线使用两线的硬件接口简单,I2C总线的应用越来越广泛1。下面,

15、将I2C总线的通用术语进行介绍,如表 2-1所示;I2C总线的典型接法如图 2-1所示。表 2-1 I2C总线的通用术语术语描述发送器发送数据到总线的器件接收器从总线接收数据的期间主机初始化发送、产生时钟信号和终止发送的器件从机被主机寻址的器件多主机同时有多于一个主机尝试控制总线,但不破坏报文仲裁是一个在有多个主机同时尝试控制总线,但只允许其中一个控制总线并使报文不被破坏的过程同步两个或多个器件同步时钟信号的过程图 2-1 I2C总线信号连接示意图2.2 I2C总线的传输由于I2C总线的器件有不同种类的工艺(CMOS、NMOS、双极性),逻辑0(低)和1(高)的电平不是固定的。在I2C总线每传输一位数据就有一个时钟脉冲相对应,其逻辑“0”或“1”的信号电平取决于该节点的正端电源Vdd的电压。2.2.1 数据的有效性在工作过程中,数据有效要求串行数据(SDA)线上的数据必须要在串行时钟(SCL)的高电平时钟周期期间保持稳定。而只有在串行时钟(SCL)线的时钟信号是低电平的时候串行数据(SDA)上的数据才能发生变化(如图2-2所示)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号