8051单片机的FPGA设计与实现毕业论文DOC.docx
- 文档编号:6508197
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:22
- 大小:287.77KB
8051单片机的FPGA设计与实现毕业论文DOC.docx
《8051单片机的FPGA设计与实现毕业论文DOC.docx》由会员分享,可在线阅读,更多相关《8051单片机的FPGA设计与实现毕业论文DOC.docx(22页珍藏版)》请在冰豆网上搜索。
8051单片机的FPGA设计与实现毕业论文DOC
8051单片机的FPGA设计与实现
第一章前言
20世纪末在计算机技术逐渐发展的情况写,电子技术得到了飞速的发展,现代电子产品已经渗透到了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品的性能进一步提高,产品更新换代的节奏也越来越快。
电子技术发展的根基是微电子技术的进步,它表现在大规模集成电路加工技术,即半导体工艺技术的发展上,表征半导体工艺水平的线宽已经达到60nm以下,并还在不断缩小;在硅片单位面积上集成了更多的晶体管,集成电路设计在不断地向超大规模,极低功耗和超高速的方向发展;专用集成电路ASIC(ApplicationSpecificIntegratedCircuit)的设计成本不断降低,在功能上,现代的集成电路已能够实现单片电子系统SOC(Systemonachip)的功能。
另外集成电路(IC)技术在微电子领域中占有重要的地位。
且伴随着IC技术的发展,电子设计自动(ElectronicDesignAutomation,EDA)已经逐渐成为重要的设计手段,其广泛应用于模拟与数字电路系统等许多领域。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
FPGA是英文Field-ProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
CPLD与FPGA的内部结构稍有不同,但用法一样,所以多数情况下,不加以区分。
FPGA/CPLD芯片都是特殊的ASIC芯片,它们除了具有ASIC的特点之外,还具有以下几个优点:
随着VLSI(VeryLargeScaleIC,超大规模集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管,FPGA/CPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。
FPGA/CPLD的资金投入小,节省了许多潜在的花费。
用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。
所以,用FPGA/PLD试制样片,能以最快的速度占领市场。
FPGA/CPLD软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。
当电路有少量改动时,更能显示出FPGA/CPLD的优势。
现有的电子系统设计多数采用微控制器为核心,辅以必要的外围器件如ADC、DAC和存储器等,这样的系统做出来的线路板较大,且调试复杂;而且如果系统内有高速器件,则微控制器的选择将会是个困难;虽然可通过程序升级增加或改进功能,但硬件一旦设计完成,是无法更改的。
FPGA(现场可编程门阵列)与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL,GAL等逻辑器件的基础之上发展起来的。
同以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。
这样的FPGA/CPLD实际上就是一个系统部件。
由于其应用的灵活性,这种芯片受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。
第二章FPGA系统的简介
在数字化、信息化的时代,数字集成电路应用得非常广泛。
随着微电子技术与工艺的发展,数字集成电路从电子管、晶体管、中小规模集成电路、超大规模集成电路(VLSI)逐步发展到今天的专用集成电路(ASIC)。
ASIC的出现降低了产品的生产成本,提高了系统的可靠性,减小了产品的物理尺寸,推动了社会的数字化进程。
但是ASIC因其设计周期长,改版投资大,灵活性差等缺陷制约着它的应用范围。
可编程逻辑器件随着微电子制造工艺的发展取得了长足的进步。
从早期的只能存储少量数据,完成简单逻辑功能的可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)i1oJ和电可擦除只读存储器(EEROM),发展到能完成中大规模的数字逻辑功能的可编程阵列逻辑(PAL)和通用阵列逻辑(GAL)11ii,今天已经发展成为可以完成超大规模的复杂组合逻辑与时序逻辑的现场可编程逻辑器件(FPGA)和复杂可编程逻辑器件(CPLD)。
第一节FPGA的特点
FPGA既继承了ASIC的大规模、高集成度、高可靠性的优点,又克服了普通ASIC设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设计的理想首选。
当代FPGA有以下特点:
1.规模越来越大。
2.开发过程投资小。
3.FPGA一般可以反复地编程、擦除。
4.保密性能好。
5.FPGA开发工具智能化,功能强大。
6.新型FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可以作为片上可编程系统(SOPC)的硬件平台。
第二节FPGA的设计流程
一个完整的FPGA设计流程包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真和下板调试等主要步骤。
常用的设计输入方法有硬件描述语言(HDL)和原理图设计输入方法。
原理图设计输入法早期应用得比较广泛,它根据设计要求,选用器件、绘制原理图、完成输入过程。
这种方法的优点是直观、便于理解、元件库资源丰富。
但是在大型设计中,这种方法的可维护性较差,不利于模块建设与重用。
更重要的缺点是:
当所选用芯片升级换代后,所有原理图都要作相应的改动。
目前进行大型工程设计时,最常用的设计方法是HDL设计输入法。
其中影响最为广泛的HDL语言是VHDL和VerilogHDL。
它们的共同特点是利于自顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与结构的变化而变化,更利于向ASIC的移植。
电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求。
功能仿真有时也被称为前仿真。
通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。
综合优化(Synthesize)是指将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,寄存器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化所生成的逻辑连接,输出edf和edn等文件,供FPGA厂家的布局御线器进行实现。
综合完成后需要检查综合结果是否与原设计一致,需要做综合后仿真。
在仿真时,把综合生成的延时文件反标到综合仿真模型中去,可估计门的延时带来的影响。
综合后仿真虽然比功能仿真精确一些,但是只能估计门的延时,而不能估计线的延时,仿真结果与布线后的实际情况还有一定的差距,并不十分准确。
这种仿真的主要目的在于检查综合器的综合结果是否与设计输入一致。
综合结果的本质是一些由与、或、非门,触发器,RAM等基本逻辑单元组成的逻辑网表,它与芯片实际的配置情况还有较大差距。
此时应该使用FPGA厂商提供的工具软件,根据所选芯片的型号,将综合输出的逻辑网表,适配到具体FPGA器件上,这个过程就叫做实现(Implementation)过程。
Xilinx的实现过程分为:
翻译(Translate)、映射(Map)、布局布线(Place&Route)等3个步骤。
布局布线之后应该做时序仿真,时序仿真中应该将布局布线的时延文件反标到设计中,使仿真既包含门的延时,又包含线的延时信息。
与前面各种仿真相比,这种后仿真包含的延时信息最为全面、准确,能较好地反映芯片的实际工作情况。
设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试。
在ISE中对应的工具是iMPACT。
第三节FPGA的开发工具
FPGA的开发工具有很多,各个公司都有自己专用工具。
本次毕业设计我所采用的开发工具为ALTERA:
QUARTUS。
一、ALTERA:
QUARTUS
Quartus®IIdesign是最高级和复杂的,用于system-on-a-programmable-chip(SOPC)的设计环境。
QuartusIIdesign提供完善的timingclosure和LogicLock™基于块的设计流程。
QuartusIIdesign是唯一一个包括以timingclosure和基于块的设计流为基本特征的programmablelogicdevice(PLD)的软件。
QuartusII设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmeddevices开发的统一工作流程。
AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
AlteraQuartusII设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。
工程师使用同样的低价位工具对StratixFPGA进行功能验证和原型设计,又可以设计HardCopyStratix器件用于批量成品。
系统设计者现在能够用QuartusII评估HardCopyStratix器件的性能和功耗,相应地进行最大吞吐量设计。
Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。
该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。
Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。
改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。
二、QuartusII的特点
1、支持MAX7000/MAX3000等乘积项器件
2、软件体积缩小,运行速度加快
3、LogicLock设计流程把性能提升15%
4、采用快速适配选项缩短编译时间
5、新的功能减小了系统级验证
第二章8051单片机的FPGA设计与实现
单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。
单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。
80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。
8051单片机是早最典型的产品,该系列具它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机。
8051单片机是早最典型的产品,该系列具它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机。
第一节51单片机的引脚功能
MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照图1:
图1、8051芯片管脚图
1.电源引脚Vee和Vss
Vcc(40脚):
电源端,+5伏。
Vss(20脚):
接地端。
2.时钟电路引脚又面和叉丽XTAL2(18脚):
接外部晶体和微调电容的一端。
在805l单片机内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。
若需采用外部时钟电路时,该引脚输入外部时钟脉冲信号。
XTALl(19脚):
接外部晶体和微凋电容的另一端。
在片内它是振荡电路反相放大器的输入端。
在采用外部时钟时,该引脚必须接地。
3.控制信号引脚RST、ALE、丽和豆iRST/V(9脚):
RST是复位信号输入端,高电平有效。
当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。
RST引脚的第二功能是VpD,即备用电源的输入端。
当主电源Vcc发生故障,降低到低电平规定值时,将+5V电压自动接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,以使复电后能继续正常运行。
ALE/PROG(ADDRESSLATCHENABLE/PRoGRAMMING,30脚):
地址锁存允许信号端。
当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率而sc的1/6。
CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。
该引脚的第二功能PROG是对片内带有4KEPROM的8751编程写入(固化程序)时,作为编程脉冲输入端。
PSEN(PROGRAMSTOREENABLE,29脚):
程序存储允许输出信号端。
在访问片外程序存储器时,此端口定时输出负脉冲,作为片外存储器读的选通信号。
EA/Vpp(ENABLEADDREss/voulAGEPULSEOFPROGRAMMING31脚):
外部程序存储器地址允许输入端/固化编程电压输入端。
当酉引脚连接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但在PC(程序计数器)的值超过OFFFFH(对8051为4K)时,将自动转向执行片外程序存储器内的程序。
当输入信号EA连接低电平(接地)时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。
此引脚的第二功能VPP,是对8751片内EPROM固化编程时,作为施加较高编程电压(一般2l伏)输入端。
4.I/O(输入/输出)端口P0、P1、P2和P3
PO口(PO.O~PO.7,39~32脚):
P0口是一个漏极开路[261的8位准双向I/O端口。
作为漏极开路的输出端口,每位能驱动8个LS型TTL[273负载。
当P0口作为输入口使用时,应先向P0口锁存器(地址80H)写入全1,此时P0El的全部引脚悬空,可作为高阻抗输入。
作为输入口使用时要先写l,这就是标准双向的含义。
在CPU访问片外存储器时,PO口是分时提供低8位地址和8位数据的复用总线。
在此期间,PO口内部上拉电阻有效。
P1口(PI.O~P1.7,1~8脚):
P1口是一个带内部上拉电阻的8位准双向I/O端口。
P1口的每一位能驱动(吸收或输出电流)4个Ls型TTL负载。
在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,此时P1口的引脚输入由内部上拉电阻拉成高电平。
P2口(P2.O~P2.7,21~28脚):
P2口是一个带内部上拉电阻的8位准双向I/O端口。
Pl口的每一位能驱动(吸收/输出电流)4个Ls型TTL负载。
访问片外EPROM/RAM时,它输出高8位地址。
P3口有两个功能,除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
有内部EPROM的单片机芯片
即:
编程脉冲:
30脚(ALE/PROG)
编程电压(25V):
31脚(EA/VPP)
第二节51系列单片机的结构和原理
一、51系列单片机的结构
图2所示为MCS-51系列单片机中的8051单片机的基本功能结构方框图。
图28051单片机功能方框图
在一块芯片上,集成了一个微型计算机的各个组成部分,每一片单片机包括:
1.一个8位的微处理器CPU。
2.片内数据存储器RAM(128B/256B),用以存放可以读/写的数据,如运算
3.片内程序存储器ROM/EPROM(4KB/8KB),用以存放程序、一些原是数据和表格。
4.四个8位并行I/O(输入/输出)接口P0~P3,每个口可以用作输入,也可以用作输出。
5.两个或三个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。
6.五个中断源的中断控制系统。
7.一个双全工UART(通用异步接收发送器)的串行I/O口,可实现单片机与单片机或其它微机之间串行通信。
8.片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率为12MHz。
以上各部分通过内部数据总线相连接。
二、51单片机内部结构
8051单片机内部结构如图3所示
图38051单片机内部结构图
完整的计算机应该由运算器、控制器、存储器(ROM及RAM)和I/O接口组成。
一般微处理器(如Z80)只包括运算器和控制器两部分。
和一般微处理器相比,8051增加了四个8位I/O接口、一个串行口、4KBROM、128BRAM和很多工作寄存器及特殊功能寄存器(SFR)。
其各部分的功能简述如下:
1.运算器
包括一个可进行8位算术运算和逻辑运算的ALU单元,8位的暂存器1、暂存器2、8位的累加器ACC,寄存器B和程序状态字寄存器PSWI.231等。
ALU:
可对4位(半字节)、8位(一字节)和16位(双字节)数据进行操作。
如可进行加、减、乘、除、加1、减1、BCD数十进制调整及比较等算术运算和逻辑与、或、异或、取反和循环移位等逻辑操作。
ACC:
累加器ACC,经常作为一个运算数经暂存器2进入ALU的一个输入端,与另一个进入暂存器1的运算数进行运算,运算结果又送回ACC。
除此之外,ACC在8051内部经常作为数据传送的中转站,同一般微处理器一样,它是最繁忙的一个寄存器。
PSW:
程序状态字寄存器,8位,用于标志指令执行后的信息状态,相当于一般微处理器的标志寄存器。
PSW中各位状态供程序查询和判别用。
寄存器B:
8位寄存器,在乘、除运算时,B寄存器用来存放一个操作数:
也用来存放运算后的一部分结果;若不进行乘、除运算时,则可作为通用寄存器使用。
另外,8051片内还有一个布尔处理器,它以PSW中的进位标志位C为其累加器,专门用于处理位操作:
可以执行置位、位清零、位取反、位等于1转移、位等于0转移、位等于1转移并清零以及进位标志位C与其它可以位寻址的空间之间进行信息传送等位操作,也能使C与其他可寻找位之间进行逻辑与、或操作,结果存放在进位标志位C中。
2.控制器
控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等。
程序计数器PC:
它由两个8位的计数器PCH及PCL组成,共16位。
PC实际上是程的字节地址计数器,PC中的内容是将要执行的下一条指令的地址。
改变PC中的内就可以改变程序执行的流向。
PC可对64K的ROM(程序存储器)直接寻址,也可对8051片外RAM(数据存储器)寻址。
指令寄存器IR及指令译码器ID:
由PC中的内容指定ROM地址,取出来的指令经指令寄存器IR送至指令译码器ID,由ID对指令译码并送PLA产生一定序列的控制信号,以执行指令所规定的操作。
振荡器及定时电路:
8051单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2~12MHz,该脉冲信号就作为8051工作的最基本节拍,即时间的最小单位。
3.存储器
8051片内有ROM(程序存储器,只能读)和RAM(数据存储器,可读、可写)两类,它们有各自独立的存储地址空间,与一般微机的存储器配置方式很不相同。
(1)程序存储器(ROM)
8051的片内程序存储器容量为4K字节,地址从0000H开始,用于存放程序和表格常数。
(2)数据存储器(RAM)
805l片内数据存储器为128字节,地址为00H~7FH,用于存放运算的中问结果、数据暂存以及数据缓冲等。
在这128字节的RAM中,有32个字节单元可指定为工作寄存器,这同一般微处理器不同。
8051的片内RAM和工作寄存器排在一个队列里统一编址。
由图3可见,8051单片机内部还有SP、DPTR、PCON、IE、IP等特殊功能寄存器,它们也同128字节RAM在一个队列里编址,地址为80H~FFH。
在这128字节RAM单元中有21个特殊功能寄存器(SFR),这些特殊功能寄存器还包括PO~P3口锁存器。
4.I/O接口
8051有四个8位并行接口即P0~P3,它们都是双向端口,每个端口各有8条I/O线,均可输入/输出。
P0~P313四个锁存器同RAM统一编址,可以把U/O口当作一般特殊功能寄存器来寻址。
第三节51单片机存储器配置
51系列单片机与一般微机的存储器配置方式很不相同。
一般微机通常只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空问,即ROM和RAM的地址同在一个队列里分配不同的空间。
CPU访问存储器时,一个地址对应唯一的存储器单元,可以是ROM也可以是RAM,并用同类访问指令。
此种存储器结构称普林斯顿结构。
8051的存储器在物理结构上分程序存储器空间和数据存储器空问,有四个存储空间:
片内程序存储器和片外程序存储器空间以及片内数据存储器和片外数据
存储器空间,这种程序存储器和数据存储器分开的结构形式,称为哈佛结构。
从用户使用的角度,8051存储器地址空间分为三类:
1.片内、片外空间地址统一编址0000H~FFFFH的64K字节的程序存储器地址空问(用16位地址);
2.64K字节片外数据存储器地址空间,地址也从0000H~FFFFH(用16位地址)。
3.256字节数据存储器地址空间(用8位地址)。
上述三个存储空间地址是重叠的,为了区分三个不同的逻辑空间,805l的指令系统设计了不同的数据传送指令符号;CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。
4.程序存储器地址空间
8051存储器地址空间分程序存储器(64KBROM)和数据存储器(64KBRAM)。
程序存储器用于存放编好的程序和表格常数。
程序存储器通过16位程序计数器(PC)寻址,寻址能力为64KB字节。
这使得能在64KB地址空问内任意寻址,但没有指令使程序能控制从程序存储器空间转移到数据存储器空间。
5.数据存储器地址空间
数据存储器RAM用于存放运算的中间结果、数据暂存和缓冲、标志位等。
数据存储器空间也分为片内和片外两大部分,片内RAM和片外RAM。
8051片外数据存储器空间为64K,从0000H~FFFFH:
片内存储器空间为256字节,地址从0000H~00FFH。
(一)片外RAM
片外数据存储器与片内数据存储器空间低地址0000H~FFFFH是重叠的,805l有MOV和MOVX两种指令,用以区分片内、片外RAM空间。
片内RAM使用MOV指令,片外64KRAM空间专门为MOVX指令所用。
(二)片内RAM
片内数据存储器最大可寻址256个单元,它们又分为两个部分,低128字二肯
(00H~7FH)是真正的RAM区,高128字节(80H~FFH)为特殊功能寄存器(SFR)区。
6.低128字节RAM
8051的32个工作寄存器与RAM安排在同一个队列空间里,统一编址并使用同样的寻址方式(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8051 单片机 FPGA 设计 实现 毕业论文 DOC