1、大连理工大学硕士学位论文基于FPGA的PID控制器研究与实现姓名:李垂君申请学位级别:硕士专业:控制理论与控制工程指导教师:杨素英20071216大连理_丁大学硕十学位论文摘 要基于微处理器的数字PID控制器改变了传统模拟PID控制器参数整定不灵活的问题。但是常规微处理器容易在环境恶劣的情况卜出现程序跑飞的问题,如果实现PIT)软算法的微处理器凶为强干扰或其他原凶而出现故障,会引起输出值的大幅度变化或停1E响应。而FPGA的应用可以从木质上解决这个问题。因此,利用FPGA开发技术,实现智能控制器算法的芯片化,使之能够广泛的用于备种场合,具有很大的戍用意义。首先分析FPGA的内部结构特点,总结F
2、PGA设计技术及开发流程,指出实现结构优化设计,降低设计难度,是扩展设计功能、提高芯片性能和产品性价比的关键。控制系统由四个模块组成,丰要包括核心控制器模块,输入输出模块以及人机接口。其中控制器部分为系统的关键部件。在分析FPGA设计结构类型和特点的基础上,提卅一种基于FPGA改进型并行结构的PID温度控制器设计方法。在PID算法与FPGA的运算器逻辑映像过程中,采用将补码的加法器代替减法器设计,增加整数运算结果的位扩展处理,进行不I一数据类型的整数归一化等不一角度的处理方法融合为一体,可以有效地减少逻辑运算部件。应用Quartus II图形输入与Verilog HDL语言相结合设计实现了PI
3、E)控制器,用Modelsim仿真验证了设计结果的正确性,用Synplify Pro进行电路综合,在Quartus II软件中实现布局布线,最后生成FPGA的编程文件。根据控制系统的要求,论文设计完成了12位模数AD转换器、数据显示器、按键等相关外围接口电路。将一阶、纯滞后、大惯性电阻炉温作为控制对象,以EPlC3T144 FPGA为核心,构建PID控制系统。在采用Ptl00温度传感器、分辨率为2,最大温度控制范围0400的条件下,实验结果表明,达到无超调的稳定控制要求,为降低FPGA实现PID控制器的设计难度提供了有效的方法。关键词:FPGA;Veri log 8DL;PII)算法;炉温控制
4、大连理T大学硕+学协论文Research and Implementation of PID Controller Based on FPGAAbstr actThe PID controller based oil microprocessor solved the problem that the parameters cannot be changed flexibly in traditional analog PID controllerBut the general microprocessorhas a limit of blind running when placed in
5、atrocious conditionIf the microprocessor whichimplements PID arithmetic breaks down for disturbance or other rcasml8,it will make theoutput values change a lot or stop response,while FPGA can solve the problem in essentially,So its significant to implement intelligent technology in FPGA ehip and app
6、ly them indiverse conditionsFirst,the intemal structure of FPGA is analyzed and the FPGA design technology anddesign flow is summarizedIt points out that implementing optimized structure design andlowering design difficulty is the key of extending design function and improving chipperformance and pr
7、oduct cost performanceThe control system is consisted of four modules,including kernel controller module,input module,output module and I-IMI module,of whichthe controller is the key partBased on the design structure styles and characteristics ofFPGA,all improved parallel structure of PID temperatur
8、e controller based on PFGA is put forwardIn the logic reflection process for the PID algorithm and FPGA operator,the number of logicarithmetic component can k reduced effectively by fusing different solved methods into one,such as replacing subtracter with complementary-code adder designed,extending
9、 the resultbits of the integer operation and normalizing different types of data in integerGraphic inputof Qaartus II and Verilog HDL language age combined to design the PID controllerModelsim simulation validates that the result of PID controller designed on FPGA is correctSynplify Pro is used to s
10、ynthetize the design and FPGA programming file is made afterplacing and routing the design in Qaartus IIAccording to the requirements of control system,a 12-bit AD circuit,data display,keyboard and other relating peripherals age designedAiming at the controlling object of furnace tempernture with fa
11、st-order,pure lag andgreat inertia,A PID control system is formed witlI EPlC3T144 as the control kernelUnderthe experimental environment with Ptl00 as the temperature 3ensoL the resolution of 2Celsius degree and the control range in 0400 Celsius degree、the experiment indicates tlIatthe PID output ob
12、tains the result of nonovershoot and stabilization,and an effective way isprovided to lower the design diffienlty ofPID controller on FPGAKey Words:FPGA;Verilog HDL;PID Algorithm;Temperature ControlII独创性说明作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理工
13、大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。作者签名: 劾D8Jg大连理工大学硕士研究生学位论文大连理工大学学位论文版权使用授权书本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。作者签名:垒望星翩签名:奎迫墨!亟年L月显一日大连理工大学硕士学位论文1概述11选题背景及
14、意义嵌入式系统,顾名思义,指的是嵌入到系统内部的计算机系统,是面向特定应用设计的专用计算机系统。早期的嵌入式系统一般是以通用处理器或单片机为核心,在外围电路中加入存储器、功率驱动器、通信接口、显示接口、人机输入接口等外围接口,再加上应用软件,有些还加上了嵌入式操作系统,从而构成完整的系统。随着徼电子技术的进步,SoC已经在很多应用中取代了传统的以单片机为中心的架构,将很多外设和存储器集成到一个芯片中,使系统的功耗和体积越来越小,而功能越来越强。现在的MCU和DSP的功能已经非常强,但处理能力毕竟还是有限。厂商在推出一款器件的时候,其性能就已经固定了。当某一款产品的性能无法满足要求时,就必须选用
15、新的处理器,常常意味着重新进行PCB的设计,重新进行各项软硬件的验证测试,所导致的工程资源的浪费是惊人的【1l。并且,以MCU为主的嵌入式系统存在纯技术和直接与MCU本身相关的两类问题,主要包括以下几个方面I印l:(1)低速。由于MCU的工作方式是通过内部的CPU逐条执行软件指令来完成各种运算和逻辑功能的,在排队式串行指令执行方式(包括DSP也不例外)面前,其工作速度和效率缺乏优势。因此,MCU在实时仿真、高速工控或高速数据采集等领域便显得力不从心。(2)复位工作方式。任何MCU在工作初始都必须经过一个复位过程,否则将无法进行正常工作。MCU的复位必须满足一定的电平条件和时间条件(长达毫秒级)
16、。在工作电平有某种干扰性突变时,MCIJ不可或缺的复位设置将成为系统不可靠工作的重要因素。而且这种产生于复位的不完全性而构成的系统不可靠工作的隐患,其出现方式极为随机和动态,一般方法难于检测。(3)PC的跑飞。在强干扰或某种偶然因素下,任何MCU的FC都极可能越出正常的程序流程而跑飞已是不争的事实。事实证明,在强干扰条件下,特别是强电磁干扰,MCU都无法保证其仍能正常工作而不进入不可挽回的“死机”状态。特别是当PC跑飞与复位不可靠因素相交错时,情况将变得尤为复杂。FPGA(Field Programmable Gate Array,现场可编程门阵列),与MCU器件相比,FPGA优势归纳如下;(
17、1)编程方式先进。FPGA越来越多的采用先进的JTAG-ISP(在系统编程)和ICR(在线路重配置)技术。这种先迸的编程方式已成为当今世界上各类可编程器件发展基于FFGA的PID控制器研究与实现的趋势。因为它省却了价格昂贵、操作不变的专用编程器,只需要一个十分简单的下载编程电路和一条PC机的打印通讯线就可以了。(2)高速。FPGA的时钟延迟可达纳秒级,结合其并行工作方式,在超高速领域和实时测控领域方面有非常广阔的应用前景。(3)高可靠性。在高可靠领域,MCU的缺憾为FPGA的应用留下了很大的用武之地。除了不存在MCU所特有的复位不可靠与PC可能跑飞等固有缺陷之外,FPGA的高可靠性还可以表现在
18、几乎可将整个系统放入同一芯片中,从而大大缩小了体积,易于管理和屏蔽。(4)开发工具和设计语言标准化。FPGA的设计开发通过符合国际标准的硬件描述语言(VHDL或者Verilog HDL)来进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用的FPGA硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好地兼容性和可移植性,它几乎可以用于任何型号的FPGA。(5)功能强大,应用广阔。目前,FPGA可供选择范围很大,可根据不同的应用选用不同容量的芯片。利用它们可以实现几乎任何形式的数字电路或数字系统的设计。FPGA基本上可以完成任何数字器件的功能,从高性能CP
19、U到简单集成电路,均可用FPGA实现。通过传统的原理图输入或硬件语言的描述就可以自由地设计具有某种功能的数字系统,减少了电子系统的开发风险和开发成本,缩短上市时间,通过在系统编程、远程在线重构等技术降低维护升级成本,在通信、音视频处理、自动控制、航空、数据计算等领域得到了广泛应用。12 PID控制器的发展动态及现状过程控制中应用最为广泛的控制策略是PID控制。PID控制技术的发展可以分为两大阶段141。第一阶段为发明阶段(19001940),PID控制思想逐渐明确,此时主要采用气动控制器,仪表工业的重心放在实际PID控制器的结构设计上。第二阶段为革新阶段(1940以后),在革新阶段,PID控制
20、器已经发展成为一种鲁棒的、可靠的、易于应用的控制器。现阶段PID的实现一般有两种方法:一种是以存储器和处理器为基础,基于软件方法实现的PID控制器。存储器用于存储程序,处理器取指,译码,执行指令。随着系统规模和复杂性的增加,ASIC逐渐被采用15j。在嵌入式测控系统中,先进控制方法以硬件技术应用于片上系统为嵌入式控制领域的热点课题,FPGA的出现也逐渐成为PID控制器实现的一种选择。尤其是FPGA器件现在有越来越多的IP(Intellectual Property,知一2大连理工大学硕士学位论文识产权)核心库的支持,用户可以利用这些预定义和预测试的软件模块在FPGA内迅速实现系统功能。IP核包
21、括从复杂数字信号处理算法、存储器、控制器,到总线接口和成熟的软件微处理器等在内的一切模块。因此,FPGA技术的发展为片上可编程系统SOPC的实现提供了物质基础。基于FPGA的PID控制器既可以作为单独的控制器芯片模块,作为整个控制系统的控制单元模块,又可以将其嵌入到片上可编程系统中,成为SOPC的一个口核,或者作为ASIC的前期验证。13 FPGA的现状及发展趋势可编程逻辑器件(Programmable Logic Device。PLD)是20世纪70年代发展起来的一种新型逻辑器件,是目前数字系统设计的主要硬件基础。早期的可编程逻辑器件只有可编程只读存储器PROM、紫外线可擦除只读存储器EPR
22、OM和电可擦除存储器EEPROM三种,由于结构的限制,它们只能完成简单的数字逻辑功能。其后,出现了一种结构上稍复杂的可编程芯片,即可编程逻辑器件PLD,能完成各种逻辑数字功能。这一阶段的产品主要有PAL(Program Array Logic,可编程阵列逻辑)和GAL(Oeneric Array Logic,通用阵列逻辑)。早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但过于简单的结构也只能完成规模较小的电路【6l。可擦除的EPLD(ErasableProgrammable Logic Device,可编程逻辑器件)的基本逻辑结构是宏单元,由可编程的与或阵列、可编程寄存器和可
23、编程啪三部分组成。由于EPLD特有的宏单元结构、大量增加的输出宏单元数和大的与阵列,使一块芯片内能够更灵活地实现较多的逻辑功能。20世纪80年代中期Altera和Xilinx公司分别推出了类似于PAL结构的扩展型CPLD(ComplexProgrammableLogicDevice)和与标准门阵列类似的FIGA,都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可以实现较大规模的电路,编程灵活,与门阵列等其它ASIC相比,又具有设计开发周期短、设计制造成本低、开发工具先进等优点,因此被广泛地用于产品的原型设计和产品生产之中。随着深亚微米技术的
24、进步,FPGA趋势发展包括四个方面6-Sl:(1)大容量、低电压、低功耗FPGA;(2)系统级高密度FPGA;(3)FPGA出现与ASIC相互融合;(4)动态可重构FPGA。14 FPGA的应用领域及研究状况RGA不断以其可编程性及灵活性向更多领域渗透,在数据采集、控制领域、数字信号处理、无线通信、消费类电子、车用电子、医疗、军事等都有大量应用,覆盖从低成本应用到复杂的开发平台设计。在数据采集领域,FPGA主要用于高速数据采集系统;基丁FPGA的PID控制器研究与实现在信号处理方面,FPGA主要应用于视频采集压缩、高阶高速FIR滤波器、雷达图象采集等;在医疗领域,FPGA在医疗设备如心电检测设
25、备、超声设备和电子内窥镜中都有应用;在无线领域,FPGA技术已应用于TETRA无线终端;在控制领域,即GA已应用于微型攀爬机器人、直流电机调速控制器和工业运动控制器;或者将将FPGA技术与DSP技术相结合,充分利用DSP的适合于数字运算的特点和FPGA高集成度,实现对高速信号的实时采样和实时视频处理【皿捌。FPGA在SoCSOPC出现了新的应用。SoC是System Oil Chip的简称,译为“系统集成芯片,其中包含完整系统并有嵌入式软件的全部内容。SOPC是System onProgrammable Chip,即可编程片上系统,是基于FPGA的SoC策略。相比于SoC设计,SOPC既有嵌入
26、的处理器、支持电路,也有PLD;嵌入的处理器可以是软核,也可以是硬核;用户根据应用选择配置处理器和各种IO模块,还可以在系统中加入拥护自定义的逻辑模块,构建定制的系统。15论文结构论文共分为五个部分。第1章:概述。介绍选题的背景,分析PID控制器的发展动态及现状,以及FPGA的现状、发展趋势以及应用领域,最后介绍一下本文研究的主要内容和方法。第2章:FPGA的开发基础。主要介绍FPGA的开发基础知识,包括FPGA的结构和特性分析以及开发流程、开发工具。第3章:PID控制的FPGA实现。详细描述了PID控制算法和模糊PID算法的FPGA具体实现,并用Modclsim对设计做了仿真,验证了设计的正
27、确性。第4章:PID控制系统组成。以EPlC3T144为核心,Ptl00热电阻和温度变送器构成输入电路,以ADC0809以及MAXl97为AD转换器件,以PWM方式输出控制电阻炉温。第5章:仿真与测试结果分析。对控制系统迸行了仿真和测试,对控制结果进行了一定分析。最后对本文的工作内容和方法作一个总结,并对以后的工作提出展望。4一大连理工大学硕士学位论文2 FPGA开发基础21 FPGA的结构和特性211 FPGA基本结构FPGA发展非常迅速,形成了各种不同的结构。按逻辑功能块的大小,FPGA可分为细粒度FPGA和粗粒度FPGA。细粒度FPGA的逻辑功能块小,资源可以充分利用,但连线和开关多,速
28、度慢;粗粒度FPGA的逻辑功能块规模大,功能强,但资源不能充分利用。从逻辑功能块的结构上分类,可分为查找表的结构、多路开关结构和多级与非门结构。根据即c渔内部连线的结构不同,可以分为分段互联型和连续互联型。根据编程方式,FPGA可分为一次编程和可重复编程两种l矧。基于SRAlVl查找表uJT结构的FPGA本质上就是一个RAM。目前FPGA中多使用4输入LUT,所以每一个uJlr可以看成一个有4位地址线的16X1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每一个信号进行逻辑运算时就等于输入一个地址
29、进行查表,找出地址对应的内容,然后输出即可,其原理如表21所示俐。表21 LUT原理Tab21 Principle of LUT实际逻辑电路 LUT的实现方式;量三“i呈爿)-岩d匕=一一厂 abcdAltera公司的产品FLEXAC-=EX等芯片的结构如图21所示。主要包括LAB(LogicArray Block,逻辑阵列块),IOE(InputOutput Element,输入输出单元),RAM块(未表示出)和可编程行列连线。在FLEXACEX中,一个LAB包括8个LE(Io垂c Element,基于FPGA的PID控制器研究与实现逻辑单元)。每个LE包括一个LUT,一个触发器和相关的相关
30、逻辑。图21 Altera FPGA内部结构Fig21 Internal structure ofAltera FPGALE是FLEXACEX芯片实现逻辑的最基本结构,其内部结构如图22所示。触发器的时钟(ClockSelect)、清除置位等控制信号可由全局信号、引出端或任何内部逻辑驱动。对于组合逻辑,可将该触发器旁路,由LUT的输出直接驱动LE的输出。212主流FPGA产品及开发工具经过十几年的发展,许多公司都开发出了多种可编程逻辑器件。目前市面上较常见的FPGA为Altera和Xilinx公司的产品系列。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区则用Altera的多,在美国则平
31、分秋色。Altera公司是最大的可编程逻辑器件供应商之一。Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,Cyclone1I:还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Stratix,StratixII等。Altera公司相应的集成开发软件为MaxPlus II和Quartus II。MaxPlus被认为曾经是最优秀的PLD开发平台,适合开发早期的中小规模的PLDFPGA,目前已经由一6一大连理工大学硕士学位论文Quartus II替代,提供从设计输入、设计编译、功能仿真、设计处理、时序仿真到器件编程的全部
32、功能。Qnartus II适合新器件和大规模的FPGA器件开发,在高密度FPGA设计中能够实现最佳性能。2007年己推出71最新版本。dd赡data2da;稿aala4聊棚C_-O“图22逻辑单元(LE)内部结构Fig22 Internal structure of LEXilinx为FPGA的发明者,是最大的可编程逻辑器件供应商之一。与Altera相似,Xilinx的主流FPGA也分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列:还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列瞄】。Xilinx公司相应的集成开发软件为
33、Foundation和ISE。ISE提供业界最完整的可编程逻辑设计解决方案,2007年已推出最新版本ISE 91。2006年5月和10月,Xilinx公司相继推出65nmFPGAVirtex-5LX和Virtex-5LXT,并于200r7年5月实现量产。与90nm FPGA相比,Virtex-5速度平均提高30,容量增加65,同时动态功耗降低35,静态功耗保持同样低,使用面积减小45。Virtex5 LXT和SXT平台提供了内建的PCIExpress端点和千兆以太网模块,并具有在成本和易用性方面的领先的高速串行IO设计方案支持。同时,SXT平台还提供了较高的DSP性能,以及强大的Virtex-
34、5串行加解决方案。2007年Altera发布了StratixIII系列FPGA,该系列具有高密度、高性能与最低的功耗,采用了TSMC的65nm工艺技术,其突破性创新包括硬件体系结构提升和QuartusII软件改进,与前一代StratixII相比,这些新特性使功耗降低了50,性能提高了25,裟妻l黧基于FFGA的PID控制器研究与实现密度是其两倍。与业界其它FPGA相比,StratixIIl系列具有更大的存储器逻辑比,以及更好的DSP性能。213 FPGA与cPLD及ASIC的比较CPLD主要是由可编程逻辑宏单元(LMC,LogicMacro Cell)围绕中心的可编程互连矩阵单元组成,其中LM
35、C逻辑结构较复杂,并具有复杂的FO单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性,而且出现了边缘扫描及在线可编程等高级特性。较常用的有Xilinx公司的EPLD和Altera公司的CPLD。FPGA与CPLD都是可编程逻辑器件,是在队L、GAL等逻辑器件的基础之上发展起来。同以往的PAL、GAL相比较,FPGACPLD的规模比较大,可以替代几十甚至几千块通用IC芯片。但由于FPGA与CPLD
36、结构上的差异,具有各自的特麒捌:(1)CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构;(2)CPLD的连续式布线结构决定了它的时序延迟是均匀的和可以预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性;(3)在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程;(4)FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现;(5)CPLD比
37、FPGA使用起来更方便。CPLD的编程采用E2PROM或Fast Flash技术,无需外部存储器芯片,而FPGA的编程信息需存放在外部存储器上,使用方法复杂;(6)CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的;(7)在编程方式上,CPLD主要是基于EEPROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将
38、编程数据重新写入SRAM中。其优点是可以编程任意次,可大连理工大学硕士学位论文在工作中快速编程,从而实现板级和系统级的动态配置;(8)CPLD保密性好,FPGA保密性差:(9)一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。而ASIC(Application Specific Integrated Circuit)为全定制专用集成电路,与FPGA相比各也各自具有自己的优缺点,在此做一个定性比较I明。表22 Flea与sIC对比Tab22 Comparison between FPGA and ASIC表22的比较是根据一般情况确定的。结论并不是绝对的,例如单片成本应该根据具体项目
39、进行计算才能得到正确的结论。FPGA最本质的特性是可编程性和设计周期短的优势,而这正是ASIC的弱点。两者在价格上的比较要考虑多种因素,但趋势也是向有利于FPGA的方向发展。FPGA厂商提供了很好的设计环境,例如Altcra提供的OuartusII软件几乎包括了所有的EDA工具。使用FPGA,不用和IC厂家联系,没有流片费用,可以很快上市,没有库存问题,并可以现场升级产品。在下属场合一般采用ASIC:(1)门和存储位的数量超过1千万;(2)千兆位连接数量较多; “(3)在最低功耗下,主时钟频率高于300MI-Lz。对比可见,从成本、开发难易程度、功耗等常见因素考虑,基于纯硬件控制方式实现控制器
40、(时序和运算均比较多),选择FPGA作为开发元件是一个相对好的方案选择。22开发流程FPGA开发流程主要包括电路设计与输入、功能仿真、逻辑综合、前仿真、布局布线以及时序仿真(又称为后仿真)等主要步骤,每一步骤都有相应的开发工具。FPGA的开发流程如图23所示。整体设计采用“自顶向下”的设计方法。“自顶向下”(Topdown)即从系统级设计入手,把系统划分为若干个基本单元,然后把每个基本单元划分为下一层次的基本单元,如此类推,直到可以直接用EDA元件库中的基本单元来实现为止。“Topdown”设计方法有利于在早期发现产品结构设计中的错误,提高设计的一次成功率,在EDA技术中广泛采用。图24为自顶
41、向下(Topdown)的示意副勰l。基于FPGA的PID控制器研究与实现图23 FPOA开发流程Fig23 Development flowchart of FPGA图24 Top-down设计思想Fig24 Top-down design ideaFPGA的开发流程包括以下主要步骤及其使用的工具:(1)设计输入。设计输入主要有两种方法:图形输入、硬件描述语言输入。图形输大连理工大学硕士学位论文入一般用于最顶层设计。硬件描述语言又包括VHDL、Vefilog HDL以及AHDL(舢tera公司)等。Vefilog和VHDL都是用于逻辑设计的硬件描述语言,并且都成为IEEE标准。它们的共同特点在
42、于:能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去);便于文档管理;易于理解和设计重用。但是Verilog和VHDL又各有其特点。由于VedlogHDL早在1983年已推出,至今已有20年的应用历史,因而vemog HDL拥有更广泛的设计群体,成熟的资源也远比VHDL丰富。与VHDL相比,Vedlog HDL的最大优点为:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,通过20
43、学时的学习,再经过一段时间的实际操作,一般可在2个月内掌握这种设计技术。而掌握VHDL设计技术就比较困难。这是因为VHDL不直观,一般认为至少需要半年以上的专业培训,才能掌握VHDL的基本设计技术。从目前的应用来看,在美国,高层数字系统设计领域中,应用VcTilog HDL和VHDL的比率是80和20;日本和我国台湾省与美国相同;而在欧洲VHDL发展得比较好。Vefilog HDL较为适合系统级、算法级、寄存器传输级RTL、逻辑级、门级和电路开关级的设计,而对于千万门级以上的特大型系统级设计,则VHDL更为适合。Vefilog HDL语言的描述风格主要有三种:采用数学模型描述的行为描述,大部分
44、只能用于系统仿真,少数的也可以进行逻辑综合;数据流即寄存器传输描述;结构描述即逻辑元件描述。后两者均可以进行逻辑综合。(2)功能仿真。功能仿真将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确。常用的仿真软件有集成开发环境自带的波形仿真软件或者使用第三方的专用仿真软件如Modclsim等。Modelsim是Model TecllIlology(Mentor Graphics的子公司)的HDL硬件描述语言仿真软件,可以实现VHDL、Vedlog以及vHDLve“log混合设计的仿真,是仿真业界应用最广泛的产品。并且Modelsim具有强大的交互DEBUG功能、衰减测试支持和高内存利用效率
45、功能,为仿真设计提供了广阔的范围。除此之外,Modelsim还能够与C语言一起对HDL文件实现协同仿真。同时,相对于大多数HDL仿真软件来说,Modelsim在仿真速度及稳定性上有明显优势。这些特点使Modelsim越基于FPGA的PID控制器研究与实现来越为EDA设计者、尤其是FPGA设计者的青睐。(3)逻辑综合。逻辑综合将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系,是FPGA设计流程中的重要环节,综合结果的优劣直接影响布局布线结果的最终效能。好的综合器能够使设计占用芯片的物理面积小,工作频率高,这也是评定综合器优劣的两个重要指标。逻辑综合软件会生成edf
46、的EDA工业标准文件。Synplify Pro综合工具是目前倍受推崇的FPGA综合工具之一。SynplifyPro采用了很多独特的整体性优化策略和方法,使设计综合无论在物理面积还是工作频率上都达到理想的效果。综合过程包括两个内容:一是对HDL源代码进行编译和逻辑层次上的优化,二是对编译结果进行逻辑映射结构层次上的优化,最后生成逻辑网表。(4)布局布线。布局布线将edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到FPGA内。布局布线必须使用各厂家的专用工具。实现过程主要是布局布线PAR(Place And Route),布局(Place)是指将逻辑网表中的硬件原语或低层单元合理
47、地适配到FPGA内部的固有硬件结构上,布局的优劣对设计的最终实现结果(速度和面积)影响很大。布线(Route)是指根据布局布线的拓扑结构,利用FPGA内部的各种连接资源,合理、正确地连接各个元件的过程。(5)时序仿真。时序仿真是将布局布线的时延信息反标注到设计网表中所进行的仿真,也称为布局布线后仿真。一般地,后仿真必须进行,主要的目的在于发现时序违规,即不满足时序约束条件或者器件固有时序规则(建立时间、保持时间)的情况。功能仿真中介绍的仿真工具一般都支持布局布线后的仿真功能。为了保证设计的可靠性,在时序仿真后还要做一些验证,即静态时序分析。大连理工大学硕士学位论文3 PID控制器的FPGA实现
48、31 PID算法及其FPGA实现PID控制器结构清晰,参数可调,适用于各种控制对象,不需要被控系统的精确分析模型,并且算法简单高效,可在现场根据实际调节参数而取得较好的控制效果,因此在动态控制系统中是采用最广泛的控制器。PID控制器的核心思想是针对控制对象的控制需求,建立描述对象动态特性的数学模型,通过PID参数整定实现在比例、微分、积分三个方面参数调整的控制策略来达到最佳系统响应和控制效果。完整的PID控制表达式如下例:叱+舟(f渺+乃挚 (31)其中,岛为比例增益,瓦为积分时间常数,乃为微分时间常数,u(O为控制量,e(O为偏差。在数字控制系统中,PID控制规律的实现必须用数值逼近的方法。
49、当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。户p弦一善强(f) (32)ae(t)。e(七)-e(k-1)矗。3)出 r其中,r为采样周期,k为采样序号。由式(31)、(32)及(33)可得PID位置型控制算式为: H()一女,【e()+暑羹e(f)+L!垡半】(34)即: )-kpe(k)+毛荟+kd【e)一P(七一1)】 (35)式(35)为PID位置型控制算法,其中七f=岛刀乃为积分系数,幻=岛TjT为微分系数。由上式可以看出,位置型控制算法不方便,这是因为累加偏差P例,要占用较多的存储单元。根据上式可以得出下式:“(七一1)=kpe(k一1)+七j荟8(七)+七一【P(一1)一P(七一2)】 (36将上式相减法,可得其增量型控制算式如式(37):基于FW,A的PID控制器研究与实现“似)au(k一1)+kpk)-e(k-1)】+kle(k)+kdk)一瑟仲一1)+P一2)】 (37)整理后:“(七)一u(k一1)+koe(k)+kle(k