基于FPGA的MCU设计毕业设计.docx
《基于FPGA的MCU设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的MCU设计毕业设计.docx(49页珍藏版)》请在冰豆网上搜索。
基于FPGA的MCU设计毕业设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
1引言
1.1MCU的发展及应用
MCU(MicroControllerUnit)中文名称为微控制单元,又称单片微型计算机(SingleChipMicrocomputer)或者单片机,顾名思义就是把全部的计算机系统集成到一块芯片中。
微处理器MPU(MicroProcessingUnit)就是微型计算机的中央处理器CPU(CentralProcessingUnit),MCU一般以某一种MPU内核为核心芯片,它采用了超大规模机场电路技术,将中央处理器中的各功能部件集成在同一块芯片上,这也是它和其他计算机的主要区别。
它的微处理器包含计算机体系结构中的运算器和控制器,是构成微型计算机的核心部件。
随着超大规模集成电路技术的发展和应用,微处理器中所集成的部件越来越多,除运算器、控制器外,还有协处理器、高速缓冲储存器、接口和控制部件等。
微处理器自1970年问世以来,在短短几十年的时间里,以极快的速度发展,初期每隔二到三年就要更新一代,现在则不到一年更新一次。
1976年9月INTEL公司推出了8084MCU,属于8位MCU,不带串行I/O口,片内RAM、ROM容量也不大,只适用于简单的工业控制和比较简单的数字化仪表。
1980年INTEL公司推出了比8084系列功能更为优秀的8位MCU,即8051。
1982年MOSTEK公司首先发布了第一个16位MCU68200。
1989年MOTOROLA公司推出了准32位MCU68300。
1991年MOTOROLA公司推出了32位MCUMC6833IFC。
同年,INTEL公司推出了采用RISC技术设计的16位MCUA80960KA和32位MCU809600。
1992年之后,世界上许多公司都陆续推出了采用RISC技术设计的32位MCU、64位MCU。
RISC技术在MCU的设计中发展迅速并且日趋成熟。
在国内,4位和8位MCU的设计技术已经成熟,16位和32位MCU也在逐步发展。
目前,MCU的发展有两种趋势:
一种趋势是向高性能处理器和多位数MCU发展,另一种方向是发展性价比高的快速高效低位数MCU。
能代表多位数MCU的是32位MCU,而快速高性能低位数MCU中,应用面最广、发展最快的就是8位MCU。
按照MCU的特点及性能,MCU的应用范围包括了,工业测控系统,例如构成各种不太复杂的工业控制系统、自适应控制系统、数据采集系统等,达到测量与控制的目的。
智能仪表的开发,促进仪表向数字化、智能化、多功能化、综合化、柔性化方向发展。
机电一体化技术,使传统机械产品结构简化,控制智能化。
智能接口方面,在计算机控制系统,特别是在较大型的工业测、控系统中。
一般情况下,设计者为了提高系统的运行速度,常常应用MCU控制和管理各种智能化接口。
在民用智能化产品中,如在家用电器、智能手机、PDA终端、影音设备、ATM机、医疗设备、物联网应用设备等许多产品中,使用了MCU控制设备,不仅使产品的价格成本大幅度降低,使用性能相比以前也有了较大改善,并且获得了良好的使用效果。
MCU在现代流行的视频会议中也起到核心领导的作用,通过MCU设备给下面终端设备设置好权限属性就可以组建一个完整的视频会议网络。
目前,中国的单片机应用经历了二十余年的发展历程,随着嵌入式系统逐渐深入社会生活各个方面,单片机的发展和应用也有从传统的8位处理器平台向32位高级RISC处理器平台转变的趋势,可是8位和16位机依然难以淘汰。
现今市场上流行的典型的8位微处理器,与传统的8位MCU相比,是由VHDL实现的软处理器IPCore,可以在各种FPGA上实现,设计灵活方便。
因此,这些MCU将在基于可编程逻辑的应用领域中发挥积极的作用。
由于其具有较高的处理性能和较少的资源占用,故具有更加广泛的应用前景。
1.2MCU的特点
MCU相对于其他设备有很多优点。
在系统集成度方面,相比早期的微型计算机,MCU设备的集成度高,由于电子技术,特别是大规模集成电路技术的发展,系统所需的基本模块已经可以集成在一个芯片上,并且功能大为增强。
现在的MCU器件一般采用把处理器、存储器以及I/O接口等部件集成在一个芯片上。
因为MCU器件的内部已经集成了上述的进行控制所需的基本功能模块,所以只要连接少数的外部模块,甚至不需要任何外部模块,MCU就可以独立完成控制工作。
在抗干扰性方面,MCU的系统运行可靠,抗干扰能力也相当优秀,因为采用了先进的大规模集成电路的加工工艺,系统的各个部件都集成在一个芯片上,这样由于系统布线都是纳米级的,所以不易受到外部信号的干扰。
现在的MCU设计和生产流程中都相继使用了纳米级的互补金属氧化物半导体(即CMOS)工艺,这种加工工艺制作出的芯片都具有功耗小的特点,应用这种工艺生产出的MCU充分发挥了其低功耗的特点。
另外,现在的MCU系统中都设置有看门狗等节电系统,这样软硬件交叉火力,可以使MCU的功耗降至最低。
由于MCU在市场上的广泛普及,许多公司都把目光转向了与其配套的第三方软件开发,这些第三方公司提供的开发软件和工具操作简单,适合初学者和中小型公司以及高校的技术研发。
由于MCU的设计和生产应用了先进的大规模集成电路技术,使其在大量生产时的硬件成本非常低,和其他设备相比,MCU的性能价格比具有相当的优势。
1.3MCU的分类
MCU的种类有很多,根据其设计方法,可以分成通用型和专用型两种。
通用型MCU的种类很多,例如大家熟知的AT89C51等,都是具有相类似的通用控制功能。
通用型MCU的位数从4位到32位64位都有相应的应用领域。
由于4位MCU的性能太低,所以基本已经淡出市场。
8位MCU的硬件成本低、便于开发,并且其性能可以满足大多数的控制要求,所以目前8位MCU依然是市场的主流。
而16位或者16位以上的MCU处理数据的速度快,性能优秀、可靠,所以这些MCU主要被应用于军事、航天等高科技领域。
专用型MCU,是为了某种特定的目的而设计的MCU。
其主要的特点是体积相比于通用型MCU更小,功耗更低,可靠性及保密性都有增强。
专用型MCU的应用领域主要包括智能仪表,家用电器,智能手机等。
现在我国的MCU产业正值发展旺盛时期,更新换代速度非常快,相信在不久的将来,位数更高,运算速度更快,成本更低的新型MCU将会层出不穷。
2FPGA的基本原理
2.1EDA概述
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,是以计算计算技术和微电子技术为先导的。
它汇集了计算机图形学、拓扑学、逻辑学、为电子工艺与结构学和计算机数学等多种计算机应用学科最新成果的先进技术。
在电子设计自动化出现之前,设计人员必须手工完成集成电路的设计、布线等工作,这是因为当时所谓集成电路的复杂程度远不及现在。
工业界开始使用几何学方法来制造用于电路光绘(photoplotter)的胶带。
到了1970年代中期,开发人应尝试将整个设计过程自动化,而不仅仅满足于自动完成掩膜草图。
第一个电路布线、布局工具研发成功。
EDA是在20世纪90年代初,从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术是以计算机为工具,设计者在EDA软件平台上用硬件描述语言HDL完成设计文件,然后由计算机自动的完成逻辑编译、化简、分割、综合、优化、布局、布线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。
利用EDA技术进行电子系统设计,具有如下特点:
用软件的方式进行硬件设计、用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的、设计过程中可用有关软件进行各种仿真、系统可现场编程,在线升级、整个系统可集成在一个芯片上,体积小,功耗低,可靠性高。
因此,EDA技术是现代电子设计的发展趋势。
EDA开发工具主要包括编辑器、仿真工具、检查/分析工具和优化/综合工具等。
其中,编辑器用来对设计输入进行图形或者文本等方面的编辑操作;仿真工具是用来完成设计仿真操作的EDA开发工具,主要包括逻辑仿真工具和时序仿真工具;检查/分析工具用来对设计的逻辑产生可能性、电路的电气特性以及时序关系等进行检查和分析;优化/综合工具用来把一种硬件描述转化为底层描述,在转化的过程中伴随着设计的某种优化。
现在,高级的EDA开发工具都是一种集成的开发环境,即集成了上述的所有开发工具,这样就可以用一种集成开发环境来完成所有的设计工作。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
今天,EDA技术已经成为了电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。
EDA工具已经成为了现代电路设计师的重要武器,正在发挥着愈来愈重要的作用。
2.2FPGA的结构特点
作为一种可编程逻辑器件,FPGA(FieldProgrammableGateArray)即现场可编程门阵列的出现是可编程逻辑器件发展变化的必然结果,它的出现推动着可编程逻辑器件的进一步发展。
FPGA的电路结构基于查找表(LookUpTable,LUT)加寄存器的结构,由若干独立的可编程逻辑模块组成。
FPGA的基本结构由可编程逻辑单元、可编程I/O单元和编程连线资源组成,如图2.1。
由于这些模块的排列形式和门阵列(GateArray)形式相似,所以被称为现场可编程门阵列。
查找表本质上就是一个RAM。
目前FPGA中多使用四输入的LUT,所以每一个LUT可以看成一个有4位地址线的16×1的RAM。
当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把结果事先写入RAM。
这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
图2.1
FPGA的可编程逻辑单元一般由查找表和寄存器构成。
查找表结构的核心是
×1位SRAM,用
×1位SRAM存储一个N输入组合逻辑函数的真值表,其输出即为所期望的组合逻辑;可编程逻辑单元的寄存器可以配置为触发器或锁存器。
因而,用查找表和寄存器的组合可以实现任意组合逻辑和时序逻辑的设计。
FPGA配置了丰富的连线资源,连线分布于FPGA内部所有单元。
这些连线资源根据工艺、长度、宽度和分布位置的不同而被划分为不同的级别,分别是全局性的专用连线资源、长线连线资源,短线连线资源。
除上述连线资源外,在基本可编程逻辑单元内部,还有各种各样的连线资源和控制信号线。
FPGA的可编程I/O单元是用来实现可编程逻辑单元与I/O引脚的互连,以及不同电气特性下对输入/输出信号的驱动和匹配。
FPGA的可编程I/O单元支持的电气连接有PCI、LVTTL、LVMOS、LVDS、SSTL、CTT、HSTL和LVPECL等。
除了上述构成FPGA基本结构的三种资源以外,随着工艺的进步和应用系统需求的发展,一般在FPGA中还可能包含以下可选资源:
存储器资源;数字时钟管理单元;算数运算单元以及一些特殊功能模块。
2.3FPGA的设计方法及流程
2.3.1FPGA的设计方法
FPGA的设计方法包括“自顶向下”和“自下向上”。
目前大规模FPGA设计一般采用“自顶向下”的设计方法。
自顶向下的设计方法,就是设计者先从整体上设计整个系统的功能,然后对整个系统的模块进行划分,把原来电路逻辑复杂的模块划分成功能更单一,电路结构更简单的小型模块。
再把这些小型的模块根据设计意图连接起来,达到设计的目的。
而且,如果设计者认为划分出来的小模块还没有达到
采用可完全独立于芯片厂商及其产品结构的描述语言,在功能级对设计品进行定义,并结合功能仿真技术,以确保设计的正确性,在功能定义完成后,利用逻辑综合技术,把功能描述转化为某一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。
布局布线结果还可以反标回同一仿真器,进行包括功能和时序的后验证,以保证布局布线所带来的门延时和线延时不会影响设计的性能。
“自顶向下”的设计方法的优越性是显而易见的。
首先,由于功能描述可完全独立于芯片结构,在设计的最初阶段,设计师可不受芯片结构的约束,集中精力进行产品设计,进而避免了传统设计方法所带来的重新再设计风险,大大缩短了设计周期。
2.3.2SOPC技术概述
随着微电子技术和计算机技术的发展,可编程逻辑器件的复杂度已经能够在单个可编程逻辑器件上实现整个系统,或者说将一个完整产品的功能集成在一个芯片或芯片组上,这就是片上系统SOC(SystemOnChip)。
SOC中可以包括微控制器MCU、数字信号处理器DSP、存储器RAM、ROM、Flash、总线和总线控制器、外围设备接口等,还有其他必要的数模混合电路,甚至传感器等。
SOC技术已经成为半导体行业的技术主流,由于它的设计周期长,设计成本高,中小企业和研究所、大专院校难以研究和使用这种系统。
由于FPGA技术的不断发展,人们开始关注基于FPGA的可重构SOC系统解决方案设计,这就是SOPC技术。
通过SOPC技术,可以很快的将硬件系统,包括微处理器、存储器、外设以及用户逻辑电路等软件设计都放在一个可编程的芯片中,以达到系统的IC设计。
这种设计方法具有开发周期短以及系统可修改等优点。
2.3.3FPGA的设计流程
FPGA开发采用的是一种高层次设计方法,这是一种“自顶向下”的方法,适应了当今芯片开发的复杂程度提高、上市时间紧迫的特点。
这种设计方法首先从系统设计入手,在顶层进行功能方框的划分和结构设计,在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统进行描述,在系统一级进行验证。
然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作上的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
a)设计输入
设计输入包括使用硬件描述语言HDL、状态图与原理图输入三种方式。
HDL设计方式是现今设计大规模数字集成电路的良好形式,除IEEE标准中VHDL与VerilogHDL两种形式外,尚有各自FPGA厂家推出的专用语言,如Quartus下的AHDL。
HDL语言描述在状态机、控制逻辑、总线功能方面较强,使其描述的电路能特定综合器(如Synopsys公司的FPGACompilerII或FPGAExpress)作用下以具体硬件单元较好地实现;而原理图输入在顶层设计、数据通路逻辑、手工最优化电路等方面具有图形化强、单元节俭、功能明确等特点,另外,在Altera公司Quartus软件环境下,可以使用MomoryEditor对内部memory进行直接编辑置入数据。
常用方式是以HDL语言为主,原理图为辅,进行混合设计以发挥二者各自特色。
通常,FPGA厂商软件与第三方软件设有接口,可以把第三方设计文件导入进行处理。
如Quartus与Foundation都可以把EDIF网表作为输入网表而直接进行布局布线,布局布线后,可再将生成的相应文件交给第三方进行后续处理。
b)设计综合
综合,就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。
也就是是说,被综合的文件是HDL文件(或相应文件等),综合的依据是逻辑设计的描述和各种约束条件,综合的结果则是一个硬件电路的实现方案,该方案必须同时满足预期的功能和约束条件。
对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。
因此,综合的过程也就是设计目标的优化过程,最后获得的结构与综合器的工作性能有关。
c)仿真验证
从广义上讲,设计验证包括功能与时序仿真和电路验证。
仿真是指使用设计软件包对已实现的设计进行完整测试,模拟实际物理环境下的工作情况。
前仿真是指仅对逻辑功能进行测试模拟,以了解其实现的功能否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性;而在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿真。
d)设计实现
实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。
通常可分为如下五个步骤。
转换:
将多个设计文件进行转换并合并到一个设计库文件中。
映射:
将网表中逻辑门映射成物理元素,即把逻辑设计分割到