本科毕业论文---基于fpga的步进电机控制器设计.doc
《本科毕业论文---基于fpga的步进电机控制器设计.doc》由会员分享,可在线阅读,更多相关《本科毕业论文---基于fpga的步进电机控制器设计.doc(58页珍藏版)》请在咨信网上搜索。
南京林业大学本科毕业设计(论文) 南京林业大学 本科毕业设计(论文) 题 目:基于FPGA的步进电机控制器 学 院:机械电子工程学院 专 业:测控技术与仪器 学 号: 学生姓名: 指导教师: 职 称: 副 教 授 二零一二 年 五 月 十八 日 IV 南京林业大学本科毕业设计(论文) 摘 要 步进电机是一种将电脉冲信号转换成相应的角位移的特殊电机,每改变一次通电状态,步进电机的转子就转动一步[1]。步进电机的突出优点是它可以在宽广的频率范围内,利用改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且由其组成的开环系统简单、廉价、可靠,因此在众多领域有着极其广泛的应用。由于工业技术的不断进步,在自动化控制、精密机械加工、航空航天技术以及所有要求高精度定位、自动记录、自动瞄准等高新技术领域内,对步进电机的细分要求也越来越高。 本文介绍了EDA技术及其发展趋势,分析了步进电机加减速正反转及其细分驱动的基本原理。在EDA技术软件平台上,以硬件描述语言VHDL为描述手段完成了逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,最终完成了基于FPGA的步进电机控制器的设计。 关键词:EDA技术,步进电机,FPGA,VHDL Abstract Stepper motor is a kind of special motor that is driven in step angle or line displacement by electric pulse signal. To every change of electrifying state, the rotor in stepper motors will rotate one step. The prominent advantages of stepper motor are regulating-rate, quickly rise-stop, positive-reverse controlling and brake etc by changing the frequency of pulse. The stepper motor opening-ring system is simple, cheap, stability and reliability, therefore its application is very extensive in many realm. With the continuous development of industrial technology, Stepper Motor Subdivision is required higher and higher in automatic control, precision machining, aerospace technology and all high-technology fields that required High Precision Positioning, automatic recording, automatic aiming etc. This paper presents EDA technology and its development trendency, analyzes the basic theory of stepper motor Acceleration,deceleration,reversing,and studies the design method of FPGA hardware circuit based on the software platform of EDA. Then, on EDA software platform, we do logical compile, logical simplify, logical synthesis, structural synthesis and logical optimization, simulation test to the design document,which is obtained using hardware description language VHDL as description method,and completes the design of the stepper motor controller based on FPGA. Key words:EDA technology, stepping motor, FPGA,VHDL 目 录 摘 要 I Abstract II 目 录 III 第一章 绪论 1 1.1研究背景 1 1.2国内外研究现状 1 1.3主要研究内容 3 第二章 EDA技术与VHDL语言及FPGA简介 4 2.1 EDA技术 4 2.2 EDA技术发展史 5 2.2.1 CAD阶段 5 2.2.2 CAE阶段 6 2.2.3 EDA阶段 6 2.3 VHDL硬件描述语言 7 2.4 VHDL语言的发展史 8 2.5 FPGA的简介 9 2.6 FPGA的基本结构及特点 10 2.7 FPGA的发展 11 2.8 FPGA一般设计流程 11 2.8.1 设计输入 11 2.8.2 设计实现 12 2.8.3 设计验证 12 2.8.4 仿真软件MAX+PLUSⅡ简介 12 2.9 本章小结 13 第三章 基于FPGA的步进电机控制器设计 14 3.1 步进电机特点和固有参数及控制原理 14 3.1.1 步进电机的特点 14 3.1.2 步进电机的固有参数 15 3.1.3 步进电机的控制原理 16 3.2 步进电机控制系统的VHDL设计 17 3.2.1 步进电机控制系统的VHDL模块图 18 3.2.2 步进电机速度控制系统VHDL程序设计说明 18 3.2.3 ENTITY模块 19 3.2.4 ARCHITECTURE模块 20 3.2.5 步进电机速度控制模块 20 3.2.6 步进电机方向设定电路模块 20 3.2.7 步进电机移动控制模块 21 3.2.8 编码输出电路模块 22 3.2.9 步进电机细分驱动的探索 22 3.3 步进电机控制系统的硬件实现电路 23 3.3.1 工作原理 23 3.3.2 硬件组成 24 3.4 本章小结 26 第四章 仿真实验 27 4.1 建立工作库文件夹和编辑设计文件 27 4.1.1 新建一个文件夹 27 4.1.2 编辑源程序 27 4.2 原理图输入设计 29 4.2.1 mif文件的设计 29 4.2.2 rom存储器的设计 30 4.3 创建工程 32 4.3.1 打开建立新工程管理窗 32 4.3.2 将设计文件加入工程 33 4.3.3 选择目标芯片 33 4.3.4 结束设置 34 4.4利用VHDL文件及BDF文件生成元器件 34 4.4.1利用VHDL文件生成元器件 34 4.4.2利用BDF文件生成元器件 35 4.5电路图的整体设计 35 4.6 时序仿真 36 4.7 本章小结 38 第五章 总结与展望 39 5.1 总结 39 5.2 展望 39 第六章 致谢 40 参考文献 41 第一章 绪论 1.1研究背景 步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。 步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。 EDA(Electronic Design Automation,电子设计自动化)是以大规模可编程逻辑器件替代中小规模集成电路作为硬件载体,以EDA软件编程的方式对可编程器件进行电子系统设计的计算机辅助电路设计技术。目前已经广泛应用于电子电路与系统的设计和产品的开发,逐渐取代了传统的手工硬件电路设计方式。设计的系统具有体积小、重量轻、功耗小、速度快、价格低、可靠性高、设计周期短等优点[1]。 常用的EDA软件包括VHDL,Verilog HDL,ABEL等硬件描述语言。其中,VHDL(Very High Speed Integrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言,在基于CPLD/FPGA和ASIC的数字系统设计中有着广泛的应用[2]。VHDL作为IEEE的工业标准硬件描述语言,又受到众多EDA工具厂家的支持,在电子工程领域,已成为事实上的通用硬件描述语言。许多主流EDA开发软件使用集成设计环境,支持多种输入方式,具有综合、适配、仿真和在系统下载等功能,界面友好,操作方便,功能强大[3]。 目前常用的可编程逻辑器件有FPGA(Field Programmable Gate Array,现成可编程门阵列)和CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)[4]。FPGA是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA器件作为设计数字电路或系统的首选器件之一,目前已广泛应用于通信、自动控制、信息处理等诸多领域[5]。随着可编程逻辑器件的发展,FPGA的应用已经越来越广泛,且用可编程逻辑器件代替传统的普通集成电路已成为一种发展的趋势。 因此,用可编程逻辑器件FPGA来实现对步进机的控制是一个很好的选择。 1.2国内外研究现状 步进电机最早是在1920年由英国人所开发,而步进电机细分驱动技术70年代中期发展起来的一种可以显著改善步进电机综合使用性能的驱动控制技术。1975年美国学者T.R. Fredriksen首次在美国增量运动控制系统及器件年会上提出了步进电机步距角细分的控制方法,在其后的二十多年里,步进电机细分驱动技术得到了很大的发展,对于精确控制步进电机的控制器的研究不断深入。 在国内,近年来对步进电机控制器的研究也不少。例如: 杭州电子科技大学的任勇以FPGA为控制核心,通过RS232串口与上位机进行通讯。上位机采用了PC机,在PC上采用LABVIEW编写控制界面,可以设置工作模式、细分数、转向、启停、升速步数、恒速步数、减速步数。利用LabVIEW的web发布工具,可通过客户端浏览器查看和操作控制界面,并可以对步进电机实现远程控制的功能。浙江财经学院信息学院的应芳琴采用FPGA 控制步进电机,利用其中的EAB 可以构成存放电机各相电流所需的控制波形数据表, 利用FPGA设计的数字比较器可以同步产生多路PWM 电流波形,并对多相步进电机进行灵活控制。当改变控制波形表的数据, 增加计数器的位数, 提高计数精度后, 就可以对步进电机的步进转角进行任意细分, 从而实现了步进转角的精确控制。南京师范大学的刘清则提出了用系数乘法器实现步进电机调速的方法。该控制器可以使步进电机驱动信号的频率高精度、平滑变化。另外,用该控制器控制步进电机转速,实现汽车车速表校验的检测系统已在重庆长安汽车公司投入使用[10]。大多数设计人员常习惯于用逻辑电路来实现复杂的步进电机的控制,虽然取得了较大的成效,但由于成本高,费时多,而且一旦组成电路,改进就比较困难。据此,郑伟研究了步进电机的计算机控制方法。微处理器与微型计算机的先进技术和便宜的价格给步进电机的控制开创了一个新局面,完全可以用它来实现复杂而成本又不高的控制系统[9]。潘松和王国栋则强调了VHDL的学习与运用在EDA设计中重要的地位,介绍了VHDL 设计多路选择器、锁存器以及全加器。采用VHDL语言并根据步进电机的不同,改变模块程序的参数,实现不同型号的步进电机控制[1]。在系统设计过程中,力求硬件简单,并充分发挥了VHDL语言软件编程灵活方便和FPGA快速的特点来满足系统设计要求,同时大大缩短系统的开发时间和成本。高速发展的FPGA 器件为EDA 技术的不断进步奠定了坚实的物质基础,而FPGA 器件更广泛的应用及厂商间的竞争使得普通的设计人员获得廉价的器件和EDA 软件成为可能。 步进电机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。然而,黄文平在研究步进电机的驱动时,指出步进电机按运行频率工作时,启动和停止都需要有一个缓慢的升频和降频的过程[11]。启动时,可在启动频率之下启动步进电机,然后逐渐上升到运行频率;停止时,先将频率逐渐降低到启动频率以下才能停止。特别是负载转动惯性比较大时,该现象很明显,以致严重影响到细分步进转角的非线性和均匀旋转的控制。这就是现有细分技术方案不能达到超高分辨的根本原因。为解决这个问题,很多资料都曾经提出对细分电流进行修正的方法,但一直未见一个实用、统一的数学模型及可行的细分方案。 综上可见,步进电机控制器的研究任重而道远。 1.3主要研究内容 利用VHDL语言,采用FPGA器件对步进电机进行软件编程,通过EDA设计软件MAX+PLUSⅡ对由VHDL编写的主控制电路程序进行编译。程序经编译优化、综合、仿真、适配,最后将生成的文件配置于制定的目标芯片中,实现步进机控制器的设计。 第二章 EDA技术与VHDL语言及FPGA简介 53 2.1 EDA技术 现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。 EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能[9]。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言VHDL和EDA软件来完成对系统硬件的实现。 EDA技术在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。因此EDA技术为现代电子理论和设计的表达与实现提供了可能性。 EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。 “自顶向下”的设计方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。 相对于传统的电子设计方法,EDA还存在以下等优势: (1)可以大大降低设计成本,缩短设计周期。 (2)库都是EDA公司与半导体生产厂商合作、共同开发,从而能够完成各种自动设计过程。 (3)极大地简化设计文档的管理。 (4)极大地提高了大规模系统电子设计的自动化程度。 (5)设计者拥有完全的自主权,再无受制于人之虞。 (6)良好的可移植与可测试性,为系统开发提供可靠的保证。 (7)能将所有设计环节纳入统一的自顶向下的设计方案中。 (8)在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。 (9)对设计者的硬件知识和硬件经验要求低,使设计者能更大程度地将自己的材质和创造力集中在设计项目性能的提高和成本的降低上。 (10)EDA技术具有更好的高速性能。 (11)EDA技术以全硬件来实现,具有高可靠性[13]。 2.2 EDA技术发展史 EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)(Computer Aided Design)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)(Computer Aided Engineering)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输人,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)(Electronic System Design Automation)阶段。 2.2.1 CAD阶段 20世纪70年代,随着中、小规模集成电路的开发和应用,传统的手工制图设计印刷电路板和集成电路的方法已无法满足设计精度和效率的要求,于是工程师们开始进行二维平面图形的计算机辅助设计,这样就产生了第一代EDA工具,设计者也从繁杂、机械的计算、布局和布线工作中解放了出来。但在EDA发展的初始阶段,一方面计算机的功能还比较有限,个人计算机还没有普及;另一方面电子设计软件的功能也较弱,人们主要是借助与计算机对所设计电路的性能进行一些模拟和预测。此处就是完成印刷电路板的布局布线、简单版图的绘制等工作。例如,目前常用的PCB布线软件Protel的早期版本Tango、用于电路模拟的SPICE软件以及后来产品化的IC版图编辑与设计规则检查系统等软件,都是这个时期的产品。 20世纪80年代初,随着集成电路规模的快速增大,EDA技术有了较快的发展。更多的软件公司,如当时的Mentor公司、Daisy Systems及Logic System公司等相继进入EDA领域,开始提供带电路图编辑工具和逻辑模拟工具的EDA软件,主要解决了设计之前的功能检验问题。 总的来说,这一阶段的EDA水平还很低,对设计工作的支持十分有限,主要存在两个方面的问题需要解决。 (1)EDA软件的功能单一、相互独立。这个时期的EDA工具软件都是分别针对设计流程中的某个截断开发的,一个软件只能完成其中一部分工作,所以设计者不得不在设计流程的不同阶段分别使用不同的EDA软件包。然而,由于不同的公司开发的EDA工具之间兼容性较差,为了使设计流程前一级软件的输出结果能够被后一级软件接收,就需要人工处理或再运行另外的转换软件,这往往很复杂,势必影响设计的速度。 (2)对于复杂电子系统的设计,不能提供系统级的仿真和综合,所以设计中的错误往往只能在产品开发的后期才能被发现,这时再进行修改十分困难。 2.2.2 CAE阶段 进入20世纪80年代以后,随着集成电路规模的扩大及电子系统设计的逐步复杂,使得电子设计自动化的工具逐步完善和发展,尤其是人们在设计方法学、设计工具集成化方面取得了长足的进步。各种设计工具,如原理图输入、编译与连接、逻辑模拟、逻辑综合、测试码生成、版图自动布局以及各种单元库均已齐全。不同功能的设计工具之间的兼容性得到了很大改善,那些不走兼容道路、想独树一帜的CAD工具受到了用户的抵制,逐渐被淘汰。EDA软件设计者采用统一数据管理技术,把多个不同功能的软件结合成一个集成设计环境。按照设计方法学制定的设计流程,在一个集成的设计环境中就能实现由寄存器传出级(Register Transfer Level,RTL)开始,从设计输入到版图输出的全程设计自动化。在这个阶段,基于门阵列和标准单元库设计的半定制ASIC得到了极大的发展,将电子系统设计推入了ASIC时代。但是,大部分从原理图出发的CAE工具仍然不能适应复杂电子系统的要求,而且具体化的元件图形也制约着优化设计。 2.2.3 EDA阶段 20世纪90年代以来,继承电路技术以惊人的速度发展,其工艺水平已经达到了深亚微米级,在一个芯片上已经可以集成上百万、上千万乃至上亿个晶体管,芯片的工作频率达到了GHz级。这不仅为片上系统(System On Chip,SOC)的实现提供了可能,同时对电子设计的工具提出了更高的要求,促进了EDA技术的发展。 在这一阶段,出现了以硬件描述语言、系统级仿真和综合技术为基本特征的第三代EDA技术,它使设计师们摆脱了大量的具体设计工作,而把精力集中于创造性的方案与概念构思上,从而极大地提高了系统设计的效率,缩短了产品的研制周期。EDA技术在这一阶段的发展主要有以下几个方面: (1)用硬件描述语言来描述数字电路与系统 这是现代EDA技术的基本特征之一,并且已经形成了VHDL和Verilog-HDL两种硬件描述语言,它们都符合IEEE(The Institute of Electrical and Electronics Engineers,电气和电子工程师协会)标准,均能支持系统级、算法级、RTL级(又称数据流级)和门级各个层次的描述或多个不同层次的混合描述,设计的领域有行为描述和结构描述两种形式。硬件描述与实现工艺无关,而且还支持不同层次上的综合与仿真。硬件描述语言的使用,规范了设计文档,便于设计的传递、交流、保存、修改及重复使用。 (2)高层次的仿真与综合 所谓综合,就是由较高层次描述到低层次描述,由行为描述到结构描述的转换过程。仿真是在电子系统设计过程中对设计者的硬件描述或设计结果进行查错、验证的一种方法。对应于不同层次的硬件描述,有不同级别的综合与仿真工具。高层次的综合与仿真将自动化设计的层次提高到了算法行为级,使设计者无需面对低层电路,而把精力集中到系统行为建模和算法设计上,而且可以帮助设计者在最早的时间发现设计中的错误,从而大大缩短了设计周期。 (3)平面规划技术 平面规划技术对逻辑综合和物理版图设计进行联合管理,做到在逻辑综合早期设计阶段就考虑到物理设计信息的影响。通过这些信息,可以再进一步对设计进行综合和优化,并保证不会对版图设计带来负面的影响。这在深亚微米级时代,布线时延已经成为主要延时的情况下,对加速设计过程的收敛与成功是有所帮助的。在Synopsys和Cadence等著名公司的EDA系统中都采用了这项技术。 (4)可测试性综合设计 随着ASIC规模和复杂性的增加,测试的难度和费用急剧上升,由此产生了将可测试性电路结构做在ASIC芯片上的思想,于是开发出了扫描插入、内建自测试(BIST)和边界扫描等可测试性设计(DFT)工具,并已集成到EDA系统中。如Compass公司的Test Assistant和Mentor Graphics公司的LBLST Achitect、BSD Achitect和DFT Advistor等。 (5)开放性、标准化框架结构的集成设计环境和并行设计工程 近年来,随着硬件描述语言等设计数据格式的逐渐标准化,不同设计风格和应用的要求使得有必要建立开放性、标准化的EDA框架。所谓框架,就是一种软件平台结构,为EDA工具提供操作环境。框架的关键在于建立与硬件平台无关的图形用户界面以及工具之间的通信、设计数据和设计流程的管理等,此外包还括各种与数据库相关的服务项目。任何一个EDA系统只要建立一个符合标准的开放式框架结构,就可以接纳其他厂商的EDA工具一起进行设计工作。这样,框架作为一套使用和配置EDA软件包的规范,就可以实现各种EDA工具间的优化组合,并集成在一个易于管理的统一环境下,实现资源共享。 针对当前电子设计中数字电路与模拟电路并存、硬件设计与软件设计并存以及产品更新换代快的特点,并行设计工程要求一开始就从管理层次上把工艺、工具、任务、智利和时间安排协调好。在统一的集成设计环境下,由若干相关设计小组共享数据库和知识库,同步进行设计。 2.3 VHDL硬件描述语言 硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,是EDA技术的重要组成成分,英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输人500至1000个门,而利用VHDL语言只需要书写一行“A=B+C”即可。而且 VHDL语言可读性强,易于修改和发现错误,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,是本课题设计过程中所使用的硬件描述语言。 VHDL支持各种模式的设计方法:自顶向下与自底向上或混合方法[14]。自底向上的设计方法是一种低效、低可靠性、费时费力且成本高昂的设计方法。而在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程,是其首选设计方法。 应用VHDL进行自顶向下的设计,就是使用VHDL模型在所有综合级别对硬件设计进行说明、建模和仿真测试。流程如图2-1所示: 建立VHDL行为模型 设计说明书 VHDL行为仿真 VHDL-RTL级建模 逻辑综合 前端功能仿真 测试向量生成 功能仿真 门级时序仿真 结构综合 硬件测试 设计完成 图2-1自顶向下的设计流程 VHDL还具有以下优点: (1)VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。 (2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用。 (3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。 (4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。 2.4 VHDL语言的发展史 VHDL是Very High Speed Integrated Circuit Hardware Description Language的缩写,意思是超高速集成电路硬件描述语言。诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本(IEEE-1076)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。1993年,IEEE(The Institute of Electrical and Electronics Engineers)对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,即IEEE标准的1076—1993版本。VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL与Verilog语言将承担起几乎全部的数字系统设计[5]。 2.5 FPGA的简介 FPGA(Field programmable Gates Array,现场可编程门阵列)是可编程逻辑器件,它是在PAL、GAL 等逻辑器件基础上发展起来的,是20世纪80年代中期出现的可编程专用集成电路(ASIC)芯片。数字集成电路本身在不断地进行更新换代,它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担,系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,并且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD) [7] 。 早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可擦除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。 其后,出现了一类结构上较复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以,PLD能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。在PAL的基础上,又发展了一种通用阵列逻辑GAL (Generic Array Logic),如GAL16V8,GAL22V10 等,它采用了EEPROM工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路[8]。 为了弥补这一缺陷,20世纪80年代中期。Altera和Xilinx分别推出了类似于PAL结构的扩展型 CPLD(Complex Programmab1e Logic Dvice)和与标准门阵列类似的FPGA(Field Programmable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与其它ASIC相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可用FPGA和CPLD器件。 2.6 FPGA的基本结构及特点 现场可编程门阵列(FPGA)器件采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线资源(Interconnect Resource )三个部分,FPGA的结构示意图如图2-2所示。 图2-2 FPGA的结构示意图 (1) CLB模块(Configurable Logic Block) CLB是FPGA的主要组成部分,是实现逻辑功能的基本单元,CLB主要是由逻辑函数发生器、触发器、数据选择器等电路组成。CLB的功能很强,不仅能够实现逻辑函数,还可以配置成RAM等复杂的形式,配置数据存放在片内的SRAM或熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的EPROM或计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即现场可编程。 (2) IOB模块(Input Output Block) IOB提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。主要是由输入触发器、输入缓冲器、输出触发器和输出缓冲器组成,每个IOB控制一个引脚,可被配置为输入、输出或双向I/O功能。 (3)可编程内部连线资源IR(Interconnect Resource ) 可编程互连资源包括各种长度的金属连线线段和一些可编程开关,它们将各个CLB之间和CLB与IOB之间互相连接起来,构成各种复杂功能的系统。 FPGA的基本特点主要有[9]: (1)FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 (2)FPGA可做其它全定制或半定制ASIC电路的样片。 (3)FPGA内部有丰富的触发器和I/O引脚。 (4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 2.7 FPGA的发展 随着亚微米技术的发展,FPGA芯片密度不断增加,并以强大的并行计算能力和方便灵活的动态可重构性,被广泛地应用于各个领域。但是在复杂算法的实现上,FPGA却远没有32位RISC处理器灵活方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要RISC和FPGA结合使用。这样,电路设计的难度也就相应大大增加。随着第四代EDA开发工具的使用,特别是在IP核产业的迅猛发展下产生的SOPC技术,使嵌入的RISC及标准的FPGA器件呼之欲出。单片集成的RISC处理器和FPGA大大减小了硬件电路的复杂性和体积,同时也降低了功耗、提高了系统可靠性。Altera公司的EPXA10芯片就是应用SOPC技术,集高密度逻辑器件(FPGA)、存储器(SRAM)及嵌入式处理器(ARM)于单片可编程逻辑器件上,实现了速度与编程能力的完美结合。充分发挥了FPGA逻辑控制实现简单、对大量数据做简单处理速度快的优势以及ARM软件编程灵活的特点[10]。本设计使用ALTERA公司的FLEX10K系列FPGA,它具有高密度,低成本,低功耗等特点。 2.8 FPGA一般设计流程 与其他逻辑设计类似,FPGA设计流程也有三个彼此相关的重要步骤:设计输入、设计实现、设计验证仿真等,无论哪一步都应由通用或专用软件完成[11]。 2.8.1 设计输入 设计输入是将特定应用所需的逻辑功能输入到FPGA开发系统中,以便于用FPGA实现。设计输入方式目前留下三种:一是原理图输入方式;二是硬件描述语言输入方式;三是采用布尔方程式、真值表、状态机的文本输入方式。设计输入完成后得到XNF文件。 在设计输入中,往往是采用层次化设计方法,即分模块分层次的进行设计描述。描述设计总功能的模块放置最顶层,称顶层设计;描述设计最基本功能的模块放置最底层,称底层设计。设计实现工具可以自动地将各层逻辑结合到一起。层次化设计比较灵活,不同层次的逻辑设计可以- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 基于 fpga 步进 电机 控制器 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文