有缺陷的FPGA微博可以通过手机号码屏蔽有缺陷的部分不使整个FPGA报废么

利用混合信号FPGA和先进的软件工具实现简易系统设计
> 利用混合信号FPGA和先进的软件工具实现简易系统设计
利用混合信号FPGA和先进的软件工具实现简易系统设计
基本设计流程概念本文引用地址:  标准现货微处理器基本上只是一块功能性硅片,需要设计人员进行指令编码,例如在初始设置中配置外设、运行主要功能、与外界连接等。微处理器要在设计人员给予&身份&之后才能开始工作,它既可被编程和现场重编程,也能够进行多次重新定义。  另一方面,也是一块功能性硅片,它可能包含一些特殊的功能性模块(如存储器),但同样必须在定义&身份&后才能工作。尽管在I/O的选择使用上灵活性稍大,而且可并行操作,但它和微处理器一样,都需要设计人员赋予它们&生命&。  虽然嵌入式设计人员很少同时从事设计,FPGA设计人员一般也不会踏进,但他们的设计流程其实极为相似。如图1所示,两者在设计器件时都是从零开始,采用某种语言编写、编译或构建代码,然后对器件进行编程和调试。他们都能够设计出出色又独特的实现方案,可能简单如控制一盏灯,也可能复杂似一件艺术品。这些形容简化了编写的内容,同时也意味着设计流程偏向于并行化,而且更具兼容性。  集成嵌入式处理器的FPGA  过去十多年间出现了两类集成处理器的FPGA:带有的FPGA和带有处理器硬核的FPGA。它们各有其优缺点,但其中有些FPGA得以幸存,有的却惨遭淘汰。问题在于嵌入式与 FPGA 设计人员的设计流程和相反特性究竟在多大程度上阻碍了这些器件的快速采纳。  带的FPGA  带的FPGA主要是由FPGA供应商提供的产品或解决方案。它为FPGA设计人员提供了尝试嵌入式设计的机会,不过由于FPGA设计人员在AVR、8051、PIC或ARM等标准处理器上往往拥有自己的个人偏好、经验和代码库,因而往往无法超过真正的嵌入式设计人员。多年来,爱特公司一直致力于为航天产品提供处理器软核(如8051和Leon),最近更推出了集成了ARM7、8051和ARM?誖CortexTM-M1处理器的快闪FPGA。  处理器软核的优势一般包括:(1)可以根据需要增加外设;(2)在某些无需使用所有功能的情况下,可以简化指令集以减小占用空间;(3)在需要时可以把设计移植到更大的FPGA中。  但是这种方案中仅仅是处理器本身就要使用相当大的硅面积,因而成本高于独立式处理器。外设数量的增加可能导致时序问题,而这超出了嵌入式设计人员的经验范围。此外,SRAM FPGA没有闪存来存储代码和数据,所以必须配置额外的闪存器件,而这也会影响到I/O要求、电路板版图和设计复杂性。  从设计角度来看,进行嵌入式设计的FPGA设计人员首先必须解决FPGA中处理器的硬件版图问题,然后再进行FPGA内部嵌入式应用的调试。如果只有一个设计人员进行产品开发工作,则开发流程基本上是串行化的。如果在设计中存在缺陷或问题,便需要深入剖析许多层面才能找出原因所在(是代码问题、RTL问题,还是硬件时序问题)。所有这些都影响着产品的上市时间和可靠性,最终关系到该项技术的全面采纳。  带嵌入式处理器硬核的FPGA  带处理器硬核的FPGA有多种形式,均为行业标准产品,这一点十分有利于加速产品的推广应用。例如,Triscend公司拥有8051/ARM FPGA,爱特梅尔(Atmel)则推出了基于AVR的FPSLICTM器件。由于Triscend在FPGA和现有FPGA设计流程方面缺乏深厚背景,所以根据器件需要开发出了一个对自己有利的工具流程。这个工具流程能够更加直观地整合各种组件,但缺少一般FPGA用户期望的FPGA详细设计功能。爱特梅尔拥有FPGA技术背景,其设计流基于FPGA/嵌入式并行流程,并可通过配置对话来定义两者间的接口。  这些FPGA都具有一个优点,即采用业界标准处理器。其他优点还包括:由于采用业界标准处理器,能够使用业界领先的编译器(如KeilTM和IAR Systems?誖),从而再次进入主流。处理器硬核的设计流程已被证明对双方都很有利,不过FPGA和微处理器之间接口的调试可能是一大挑战。  一直以来,较高的硅成本都是带有处理器硬核的FPGA的缺点。硬核处理器的成本曾非常接近独立式处理器的成本,而当时FPGA仍然十分昂贵,因此说服那些使用1美元或2美元器件的嵌入式设计人员在成本只有15美元的设备中使用FPGA,还要增加一个额外的外设,对销售人员或工程师来说都不是一个好主意。对于FPGA设计人员而言,这些器件中的FPGA实在太小,无法激起很大兴趣。FPSLIC曾是一个不错的点子,工程师都希望找到这方面的项目,不过一旦进入定价和物流阶段,许多机会都无法满足应用的实际需求。
嵌入式处理器的下一步  由于CMOS工艺的局限性,也因为早期带硬核处理器的FPGA属SRAM FPGA,因而并没有集成大量的模拟功能。而利用基于快闪技术的FPGA则有可能增加广泛的模拟电路。此外,只要再增加一个用于代码存储的集成式快闪模块,这类器件看起来就像一个集成了模拟和FPGA的单芯片嵌入式处理器。如果从器件设计流程角度考虑,这就相当于增加了一个新的设计组件。此时,不仅要进行FPGA和嵌入式设计,还需处理模拟设计。于是,这种器件的设计流程需要进行三类设计:FPGA设计、嵌入式设计和模拟设计。这些任务可以由3个、2个甚至1个设计人员来完成,使所有设计人员都必须能够并行进行自己的设计部分,以避免设计周期延长与FPGA中软核处理器的协作问题。  此外,由于FPGA和嵌入式设计人员都是成熟的用户团队,设计流程必须对双方都具有吸引力,并且没有陡峭的学习曲线,而FPGA和嵌入式设计人员都必须能够确信自己的专业技术,因此每一方都必须依赖所做的设计选择,能够根据需要访问模拟数据,图2所示为Actel SmartFusionTM混合信号FPGA,是目前唯一一款集成了FPGA、ARM Cortex-M3处理器硬核和可编程模拟的FPGA。该器件的架构具有清晰的功能性边界和明确定义的接口,有助于简化这类器件的设计边界。  下面从三类设计工作划分的角度来进行分析:  (1)嵌入式设计人员可以像使用常规微控制器一样,使用带有一套固定硬外设(蓝色部分)的标准ARM Cortex-M3处理器硬核。这称为微控制器子系统(MSS)。这里并无时序不确定性。与模拟或FPGA的任何连接都通过先进外设总线(APB)或先进高性能总线(AHB)接口完成。尽管FPGA的内容可能有很大改变,但由于存储器映射具有简单、自动扩展的特性,它的各个组件可被视为处理器的外设扩展部分。  (2)FPGA设计人员可以选择使用FPGA中完全独立于处理器的部分。由于FPGA带有功能齐全的阵列、SRAM 和 FIFO模块,以及包括 LVDS 的I/O,所以设计人员不受折衷FPGA架构的限制。但是现在FPGA设计人员也能够通过增加先进微控制器总线架构(AMBA)外设来支持嵌入式设计,或利用AMBA接口开发新的功能,以创建设计专用的新的定制外设。  (3)由于模拟设计没有标准的现成设计流程,因此&模拟设计&这个术语对不同人的含义可能也不一样。许多模拟组件是专用标准器件(ASSP),需要定制与处理器的接口。在SmartFusion中,模拟组件与处理器和FPGA集成在一起;在模拟设计中,预定义接口可以实现更高级别的提取。由于它们易于使用并具有直观的图形格式,最终可获得适合于所有设计人员的全新一代的模拟配置对话。  下一代嵌入式处理器设计  假设目前的设计至少有两名设计人员一起工作,设计中需要两个并行设计流程,并采用一种便于两名设计人员相互交流沟通的方法。图3为基本的模块结构。  对于嵌入式设计人员,第一步是查看MSS配置器并选择外设,然后安排配置设置以及改变I/O属性。最重要的是,可以根据用户的选择自动生成存储器映射和所选配置需要的全部固件。从这一点出发,嵌入式设计人员便可选择工作在GNU、Keil或IAR等工具的标准处理器设计流程内。实际上,无论使用上述任何哪一种业界标准软件IDE中,都可以提供MSS配置器。  配置外设的驱动器库、系统初始化和启动代码都是自动产生的,这就为设计人员节省了大量的时间,不必花费太多精力用于这部分设计,从而将更多时间用于应用开发。  MSS配置器GUI看起来就像器件架构模块示意图。由于这类工具对嵌入式和FPGA两方设计人员来说都比较新颖,它的图形直观性界面有助于所有设计人员顺利地学习,同时满足每个人的要求。  FPGA设计人员可以自行配置微控制器子系统,也可以引入一个由嵌入式设计人员创建的微控制器子系统。这时,只需采用一种简单的文件格式在设计人员之间传递MSS配置,不必传递整个设计项目。实际上,FPGA设计人员需要了解MSS配置的唯一理由是外设与FPGA架构的连接。FPGA设计人员因此能够增加像SmartDesign IP模块这样的额外设计组件,或者是获得用于与处理器的设计相独立的RTL,并继续进行包含了全面广泛的时序和功率分析的传统FPGA设计流程。  对于模拟设计,不论用户是真正的模拟设计人员,还是尝试模拟设计的其他类型设计人员,直观的图形化配置方案似乎效果最好。这些已获验证的设计技术支持现有混合信号Fusion FPGA,并包含电压、温度和电流监控功能,以及采样排序和后处理标记生成的控制等功能。  温度监控器配置对话允许用户设置采集时间,运用过滤技术及输入标记要求以生成输出,可用于处理器的中断或FPGA架构的输出。  分布式设计环境的版本控制  若有两个或更多设计人员从事一项设计,那么建立清晰的设计修改协议就显得十分重要,而且其中一个设计人员应该成为MSS配置的主要管理者。在密切合作的工作关系中,任何一个设计人员都可能修改或更新另一个人的工作,这时跟踪修改是非常重要的。  如果嵌入式设计人员创建MSS配置,则该配置被输出并传送给FPGA设计人员。FGPA设计人员可以输入且采用这个新版本,就如同一个输入到设计图中的标准IP模块一样。如果有带MSS的现成设计,则设计人员可以简单使用内核替代功能,然后使用SmartDesign Canvas检测是否有连接改变。  如果嵌入式设计人员是主要管理者,虽然FPGA设计人员在测试时可以对配置做较少的改变(例如,为了评测任何时序问题,FPGA设计人员可能需要改变MSS馈入FPGA架构的时钟频率),但嵌入式设计人员必须对这些变化进行编译以保持双方同步。  由FPGA设计人员启动设计流程并定义MSS所需的外设之后,下一步就是输出配置并传送给嵌入式设计人员,再由后者输入这个配置,并生成用于MSS以及FPGA设计人员增加的任何软外设的固件。若在设计流程初期创建有大量软外设,就极可能是这种情况。  至于决定由哪一方作为配置的主要管理者,则因具体设计而异。处理模拟设计的人最有可能成为主要管理者。模拟计算引擎ACE(Analog Compute Engine)配置也包括在MSS模块中。由于大多数设计人员都不太熟悉模拟设计,最初也许会经历多次设计反复,因此让模拟设计人员成为MSS配置的主要管理者是很有说服力的。  嵌入式混合信号FPGA设计流程总结  嵌入式混合信号FPGA设计流程软件开发团队的目标是建立一个具有以下特性的设计环境:  (1)使现有FPGA及嵌入式设计人员的学习曲线最小化;  (2)能够帮助嵌入式设计人员单独评测器件的处理器方面的性能;  (3)能够帮助FPGA设计人员单独评测器件的FPGA方面的性能;  (4)能够让嵌入式和FPGA设计人员并行进行同一个器件的工作,而不存在进度安排的风险;  (5)引入简单的模拟接口,向所有用户开放模拟设计。  在经济困难时期,产品需要快速上市,而工作稳定性十分有限,市场竞争日益激烈。因此,任何一家硅器件供应商或软件开发商的任务都应该是建立一个有助于提高生产力,而不是挑战设计人员能力的设计环境,同时为设计人员的产品提供显著的市场竞争优势。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一基于FPGA的PID控制器研究与实现_甜梦文库
基于FPGA的PID控制器研究与实现
大连理_丁大学硕十学位论文摘要基于微处理器的数字PID控制器改变了传统模拟PID控制器参数整定不灵活的问 题。但是常规微处理器容易在环境恶劣的情况卜出现程序跑飞的问题,如果实现PIT)软 算法的微处理器凶为强干扰或其他原凶而出现故障,会引起输出值的大幅度变化或停.1E 响应。而FPGA的应用可以从木质上解决这个问题。因此,利用FPGA开发技术,实现 智能控制器算法的芯片化,使之能够广泛的用于备种场合,具有很大的戍用意义。 首先分析FPGA的内部结构特点,总结FPGA设计技术及开发流程,指出实现结构 优化设计,降低设计难度,是扩展设计功能、提高芯片性能和产品性价比的关键。控制 系统由四个模块组成,丰要包括核心控制器模块,输入输出模块以及人机接口。其中控 制器部分为系统的关键部件。在分析FPGA设计结构类型和特点的基础上,提卅一种基 于FPGA改进型并行结构的PID温度控制器设计方法。在PID算法与FPGA的运算器 逻辑映像过程中,采用将补码的加法器代替减法器设计,增加整数运算结果的位扩展处 理,进行不I一数据类型的整数归一化等不『一角度的处理方法融合为一体,可以有效地减 少逻辑运算部件。应用Quartus II图形输入与Verilog HDL语言相结合设计实现了PIE) 控制器,用Modelsim仿真验证了设计结果的正确性,用Synplify Pro进行电路综合,在Quartus II软件中实现布局布线,最后生成FPGA的编程文件。根据控制系统的要求,论文设计完成了12位模数AD转换器、数据显示器、按键等相关外围接口电路。 将一阶、纯滞后、大惯性电阻炉温作为控制对象,以EPlC3T144 FPGA为核心,构 建PID控制系统。在采用Ptl00温度传感器、分辨率为2℃,最大温度控制范围0~400 ℃的条件下,实验结果表明,达到无超调的稳定控制要求,为降低FPGA实现PID控制 器的设计难度提供了有效的方法。 关键词:FPGA;Veri 8DL;PII)算法;炉温控制log 大连理T大学硕+学协论文Research and Implementation of PID Controller BasedonFPGAAbstr actThe PID controller basednotoilmicroprocessor solved the problem that the parameterscanbe changed flexibly in traditional analog PID controller.But the general microprocessorahaslimit of blind running when placed in atrocious condition.If the microprocessor which PID arithmetic breaks down for disturbancea orimplementsother rcasml8,it will make thesolve theoutput values changelotorstop response,while FPGAcanprobleminessentially,So it’s significant to implement diverseintelligenttechnology in FPGA ehip and apply them inconditions.First,the intemal structure of FPGA is analyzed and the FPGA design technology and design flow is summarized.It points out that implementing optimized structure design and lowering designdifficultyisthe key of extending designfunction andimprovingchipperformance and productcostperformance.The control system is consisted of four modules,the design structure styles and characteristics ofFPGA,onincluding kernel controller module,input module,output module and I-IMI module,of which the controller is the key part.Basedall onimproved parallel structure of PID temperature controller basedPFGA is put forward.operator,the number of logic arithmetic component can k reduced effectively by fusing different solved methods into one,suchasIn the logic reflection process for the PID algorithm and FPGAreplacing subtracter with complementary-code adder designed,extending the resultbits of the integer operation and normalizing different types of data in integer.Graphic input of Qaartus II and Verilog HDL languageagecombinedto designthe PIDcontroller.correct.Modelsim simulation validates that the result of PID controller designed on FPGA isSynplify Pro is used to synthetize the design and FPGA programming file is made after placing and routing the design in Qaartus II.According to the requirements of control system,a12-bit A/D circuit,data display,keyboard and other relating peripherals age designed. Aiming at thecontrolling objectof furnace tempernture with fast-order,pure lag andgreat inertia,A PID controlsystemisformedaswitlI EPlC3T144 the temperatureasthecontrol kernel.Underthe resolution of 2the experimental environment with Ptl003ensoLCelsius degree and the controlrange in 0~400 Celsius degree、the experiment indicates tlIatthe PID output obtains the result ofnon―overshoot and stabilization,and anoneffective way isprovided to lower the design diffienlty ofPID controllerFPGA.Key Words:FPGA;Verilog HDL;PID Algorithm;Temperature Control―II 独创性说明作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。作者签名: 劾D8.J’g 大连理工大学硕士研究生学位论文大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位 论文版权使用规定”,同意大连理工大学保留并向国家有关部门或机构送 交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连理 工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也 可采用影印、缩印或扫描等复制手段保存和汇编学位论文。作者签名:垒望星翩签名:奎迫墨!亟年―L月―显一日 大连理工大学硕士学位论文1概述1.1选题背景及意义嵌入式系统,顾名思义,指的是嵌入到系统内部的计算机系统,是面向特定应用设 计的专用计算机系统。早期的嵌入式系统一般是以通用处理器或单片机为核心,在外围 电路中加入存储器、功率驱动器、通信接口、显示接口、人机输入接口等外围接口,再 加上应用软件,有些还加上了嵌入式操作系统,从而构成完整的系统。 随着徼电子技术的进步,SoC已经在很多应用中取代了传统的以单片机为中心的架 构,将很多外设和存储器集成到一个芯片中,使系统的功耗和体积越来越小,而功能越 来越强。现在的MCU和DSP的功能已经非常强,但处理能力毕竟还是有限。厂商在推 出一款器件的时候,其性能就已经固定了。当某一款产品的性能无法满足要求时,就必须选用新的处理器,常常意味着重新进行PCB的设计,重新进行各项软硬件的验证测试,所导致的工程资源的浪费是惊人的【1l。并且,以MCU为主的嵌入式系统存在纯技 术和直接与MCU本身相关的两类问题,主要包括以下几个方面I印l: (1)低速。由于MCU的工作方式是通过内部的CPU逐条执行软件指令来完成各种 运算和逻辑功能的,在排队式串行指令执行方式(包括DSP也不例外)面前,其工作速 度和效率缺乏优势。因此,MCU在实时仿真、高速工控或高速数据采集等领域便显得力不从心。(2)复位工作方式。任何MCU在工作初始都必须经过一个复位过程,否则将无法 进行正常工作。MCU的复位必须满足一定的电平条件和时间条件(长达毫秒级)。在工 作电平有某种干扰性突变时,MCIJ不可或缺的复位设置将成为系统不可靠工作的重要 因素。而且这种产生于复位的不完全性而构成的系统不可靠工作的隐患,其出现方式极为随机和动态,一般方法难于检测。 (3)PC的跑飞。在强干扰或某种偶然因素下,任何MCU的FC都极可能越出正常的程序流程而跑飞已是不争的事实。事实证明,在强干扰条件下,特别是强电磁干扰, MCU都无法保证其仍能正常工作而不进入不可挽回的“死机”状态。特别是当PC跑飞 与复位不可靠因素相交错时,情况将变得尤为复杂。FPGA(Field Programmable FPGA优势归纳如下;GateArray,现场可编程门阵列),与MCU器件相比,(1)编程方式先进。FPGA越来越多的采用先进的JTAG-ISP(在系统编程)和 ICR(在线路重配置)技术。这种先迸的编程方式已成为当今世界上各类可编程器件发展 基于FF'GA的PID控制器研究与实现的趋势。因为它省却了价格昂贵、操作不变的专用编程器,只需要一个十分简单的下载 编程电路和一条PC机的打印通讯线就可以了。 (2)高速。FPGA的时钟延迟可达纳秒级,结合其并行工作方式,在超高速领域和 实时测控领域方面有非常广阔的应用前景。 (3)高可靠性。在高可靠领域,MCU的缺憾为FPGA的应用留下了很大的用武之 地。除了不存在MCU所特有的复位不可靠与PC可能跑飞等固有缺陷之外,FPGA的 高可靠性还可以表现在几乎可将整个系统放入同一芯片中,从而大大缩小了体积,易于管理和屏蔽。(4)开发工具和设计语言标准化。FPGA的设计开发通过符合国际标准的硬件描述 语言(VHDL或者Verilog HDL)来进行电子系统设计和产品开发。由于开发工具的通用 性、设计语言的标准化以及设计过程几乎与所用的FPGA硬件结构没有关系,所以设计 成功的各类逻辑功能块软件有很好地兼容性和可移植性,它几乎可以用于任何型号的FPGA。(5)功能强大,应用广阔。目前,FPGA可供选择范围很大,可根据不同的应用选 用不同容量的芯片。利用它们可以实现几乎任何形式的数字电路或数字系统的设计。 FPGA基本上可以完成任何数字器件的功能,从高性能CPU到简单集成电路,均可 用FPGA实现。通过传统的原理图输入或硬件语言的描述就可以自由地设计具有某种功 能的数字系统,减少了电子系统的开发风险和开发成本,缩短上市时间,通过在系统编 程、远程在线重构等技术降低维护升级成本,在通信、音视频处理、自动控制、航空、 数据计算等领域得到了广泛应用。1.2PID控制器的发展动态及现状过程控制中应用最为广泛的控制策略是PID控制。PID控制技术的发展可以分为两大阶段141。第一阶段为发明阶段(1900.1940),PID控制思想逐渐明确,此时主要采用气动控制器,仪表工业的重心放在实际PID控制器的结构设计上。第二阶段为革新阶段(1940以后),在革新阶段,PID控制器已经发展成为一种鲁棒的、可靠的、易于应用的控制器。现阶段PID的实现一般有两种方法:一种是以存储器和处理器为基础,基于软件方 法实现的PID控制器。存储器用于存储程序,处理器取指,译码,执行指令。随着系统 规模和复杂性的增加,ASIC逐渐被采用15j。在嵌入式测控系统中,先进控制方法以硬 件技术应用于片上系统为嵌入式控制领域的热点课题,FPGA的出现也逐渐成为PID控 制器实现的一种选择。尤其是FPGA器件现在有越来越多的IP(Intellectual Property,知一2 大连理工大学硕士学位论文识产权)核心库的支持,用户可以利用这些预定义和预测试的软件模块在FPGA内迅速 实现系统功能。IP核包括从复杂数字信号处理算法、存储器、控制器,到总线接口和成 熟的软件微处理器等在内的一切模块。因此,FPGA技术的发展为片上可编程系统SOPC 的实现提供了物质基础。基于FPGA的PID控制器既可以作为单独的控制器芯片模块, 作为整个控制系统的控制单元模块,又可以将其嵌入到片上可编程系统中,成为SOPC 的一个口核,或者作为ASIC的前期验证。1.3FPGA的现状及发展趋势可编程逻辑器件(ProgrammableLogicDevice。PLD)是20世纪70年代发展起来的一种新型逻辑器件,是目前数字系统设计的主要硬件基础。早期的可编程逻辑器件只有可 编程只读存储器PROM、紫外线可擦除只读存储器EPROM和电可擦除存储器EEPROM 三种,由于结构的限制,它们只能完成简单的数字逻辑功能。其后,出现了一种结构上 稍复杂的可编程芯片,即可编程逻辑器件PLD,能完成各种逻辑数字功能。这一阶段的产品主要有PAL(Program Array Logic,可编程阵列逻辑)和GAL(OenericArray Logic,通用阵列逻辑)。早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但过于简单的结构也只能完成规模较小的电路【6l。可擦除的EPLD(ErasableProgrammable Logic Device,可编程逻辑器件)的基本逻辑结构是宏单元,由可编程的与 .或阵列、可编程寄存器和可编程啪?三部分组成。由于EPLD特有的宏单元结构、大量增加的输出宏单元数和大的与阵列,使一块芯片内能够更灵活地实现较多的逻辑功能。20世纪80年代中期Altera和Xilinx公司分别推出了类似于PAL结构的扩展型CPLD(ComplexProgrammableLogicDevice)和与标准门阵列类似的FI'GA,都具有体系 结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通 用门阵列的优点,可以实现较大规模的电路,编程灵活,与门阵列等其它ASIC相比,又具有设计开发周期短、设计制造成本低、开发工具先进等优点,因此被广泛地用于产品的原型设计和产品生产之中。 随着深亚微米技术的进步,FPGA趋势发展包括四个方面[6-Sl:(1)大容量、低电压、低功耗FPGA;(2)系统级高密度FPGA;(3)FPGA出现与ASIC相互融合;(4)动态可 重构FPGA。 1.4FPGA的应用领域及研究状况R'GA不断以其可编程性及灵活性向更多领域渗透,在数据采集、控制领域、数字信号处理、无线通信、消费类电子、车用电子、医疗、军事等都有大量应用,覆盖从低 成本应用到复杂的开发平台设计。在数据采集领域,FPGA主要用于高速数据采集系统; 基丁FPGA的PID控制器研究与实现在信号处理方面,FPGA主要应用于视频采集压缩、高阶高速FIR滤波器、雷达图象采 集等;在医疗领域,FPGA在医疗设备如心电检测设备、超声设备和电子内窥镜中都有应用;在无线领域,FPGA技术已应用于TETRA无线终端;在控制领域,即GA已应用于微型攀爬机器人、直流电机调速控制器和工业运动控制器;或者将将FPGA技术与 DSP技术相结合,充分利用DSP的适合于数字运算的特点和FPGA高集成度,实现对 高速信号的实时采样和实时视频处理【皿捌。 FPGA在SoC/SOPC出现了新的应用。SoC是SystemOilChip的简称,译为“系统on集成芯片,其中包含完整系统并有嵌入式软件的全部内容。SOPC是SystemProgrammableChip,即可编程片上系统,是基于FPGA的SoC策略。相比于SoC设计, SOPC既有嵌入的处理器、支持电路,也有PLD;嵌入的处理器可以是软核,也可以是 硬核;用户根据应用选择配置处理器和各种I/O模块,还可以在系统中加入拥护自定义 的逻辑模块,构建定制的系统。1.5论文结构论文共分为五个部分。 第1章:概述。介绍选题的背景,分析PID控制器的发展动态及现状,以及FPGA 的现状、发展趋势以及应用领域,最后介绍一下本文研究的主要内容和方法。 第2章:FPGA的开发基础。主要介绍FPGA的开发基础知识,包括FPGA的结构 和特性分析以及开发流程、开发工具。 第3章:PID控制的FPGA实现。详细描述了PID控制算法和模糊PID算法的FPGA 具体实现,并用Modclsim对设计做了仿真,验证了设计的正确性。第4章:PID控制系统组成。以EPlC3T144为核心,Ptl00热电阻和温度变送器构成输入电路,以ADC0809以及MAXl97为A/D转换器件,以PWM方式输出控制电阻炉温。 第5章:仿真与测试结果分析。对控制系统迸行了仿真和测试,对控制结果进行了 一定分析。最后对本文的工作内容和方法作一个总结,并对以后的工作提出展望。4一 大连理工大学硕士学位论文2FPGA开发基础FPGA的结构和特性FPGA基本结构2.12.1.1FPGA发展非常迅速,形成了各种不同的结构。按逻辑功能块的大小,FPGA可分 为细粒度FPGA和粗粒度FPGA。细粒度FPGA的逻辑功能块小,资源可以充分利用, 但连线和开关多,速度慢;粗粒度FPGA的逻辑功能块规模大,功能强,但资源不能充 分利用。从逻辑功能块的结构上分类,可分为查找表的结构、多路开关结构和多级与非门结构。根据即c渔内部连线的结构不同,可以分为分段互联型和连续互联型。根据编程方式,FPGA可分为一次编程和可重复编程两种l矧。基于SRAlVl查找表uJT结构的 FPGA本质上就是一个RAM。目前FPGA中多使用4输入LUT,所以每一个uJlr可以 看成一个有4位地址线的16X1的RAM。当用户通过原理图或HDL语言描述了一个逻 辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写 入RAM,这样,每一个信号进行逻辑运算时就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可,其原理如表2.1所示俐。表2.1Tab.2.1LUT原理Principle of LUT;量三"实际逻辑电路LUT的实现方式i呈爿)-―岩 d匕=>一一厂abcdAltera公司的产品FLEX/AC-=EX等芯片的结构如图2.1所示。主要包括LAB(LogicArrayBlock,逻辑阵列块),IOE(Input/Output Element,输入输出单元),RAM块(未表Element,示出)和可编程行/列连线。在FLEX/ACEX中,一个LAB包括8个LE(I.o垂c 基于FPGA的PID控制器研究与实现逻辑单元)。每个LE包括一个LUT,一个触发器和相关的相关逻辑。图2.1 Fig.2.1Altera FPGA内部结构Internal structure ofAltera FPGALE是FLEX/ACEX芯片实现逻辑的最基本结构,其内部结构如图2.2所示。触发器的时钟(ClockSelect)、清除/置位等控制信号可由全局信号、∞引出端或任何内部逻辑驱动。对于组合逻辑,可将该触发器旁路,由LUT的输出直接驱动LE的输出。2.1.2主流FPGA产品及开发工具经过十几年的发展,许多公司都开发出了多种可编程逻辑器件。目前市面上较常见 的FPGA为Altera和Xilinx公司的产品系列。通常来说,在欧洲用Xilinx的人多,在日 本和亚太地区则用Altera的多,在美国则平分秋色。 Altera公司是最大的可编程逻辑器件供应商之一。Altera的主流FPGA分为两大类, 一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,Cyclone 1I:还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Stratix,Stratix II等。Altera公司相应的集成开发软件为Max.Plus II和Quartus II。Max.Plus被认为曾 经是最优秀的PLD开发平台,适合开发早期的中小规模的PLD/FPGA,目前已经由一6一 大连理工大学硕士学位论文QuartusII替代,提供从设计输入、设计编译、功能仿真、设计处理、时序仿真到器件编程的全部功能。Qnartus II适合新器件和大规模的FPGA器件开发,在高密度FPGA设 计中能够实现最佳性能。2007年己推出7.1最新版本。dd赡’ data2da;稿aala4裟妻l黧‘’聊棚C_《―-O“ 图2.2逻辑单元(LE)内部结构Fig.2.2 Internalstructureof LEXilinx为FPGA的发明者,是最大的可编程逻辑器件供应商之一。与Altera相似,Xilinx的主流FPGA也分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列:还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列瞄】。Xilinx公司相应的集成开发软件为Foundation和ISE。ISE提供业界最完整的可编程逻辑设计解决方案,2007年已推出最新版本ISE 9.1。2006年5月和10月,Xilinx公司相继推出65nmFPGAVirtex-5LX和Virtex-5LXT,并于200r7年5月实现量产。与90nm FPGA相比,Virtex-5速度平均提高30%,容量增 加65%,同时动态功耗降低35%,静态功耗保持同样低,使用面积减小45%。Virtex.5LXT和SXT平台提供了内建的PCIExpress端点和千兆以太网模块,并具有在成本和易用性 方面的领先的高速串行I/O设计方案支持。同时,SXT平台还提供了较高的DSP性能,以及强大的Virtex-5串行加解决方案。2007年Altera发布了StratixIII系列FPGA,该系列具有高密度、高性能与最低的功 耗,采用了TSMC的65nm工艺技术,其突破性创新包括硬件体系结构提升和Quartus II软件改进,与前一代StratixII相比,这些新特性使功耗降低了50%,性能提高了25%, 基于FFGA的PID控制器研究与实现密度是其两倍。与业界其它FPGA相比,StratixIIl系列具有更大的存储器逻辑比,以及更好的DSP性能。2.1.3FPGA与cPLD及ASIC的比较CPLD主要是由可编程逻辑宏单元(LMC,LogicMacro Cell)围绕中心的可编程互连 矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的FO单元互连结构,可由用 户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金 属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连 结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性, 而且出现了边缘扫描及在线可编程等高级特性。较常用的有Xilinx公司的EPLD和Altera公司的CPLD。FPGA与CPLD都是可编程逻辑器件,是在队L、GAL等逻辑器件的基础之上发展起来。同以往的PAL、GAL相比较,FPGA/CPLD的规模比较大,可以替代几十甚至几千块通用IC芯片。但由于FPGA与CPLD结构上的差异,具有各自的特麒捌:(1)CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句 话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构;(2)CPLD的连续式布线结构决定了它的时序延迟是均匀的和可以预测的,而FPGA 的分段式布线结构决定了其延迟的不可预测性; (3)在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电 路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门 下编程,而CPLD是在逻辑块下编程; (4)FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现; (5)CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或Fast Flash技 术,无需外部存储器芯片,而FPGA的编程信息需存放在外部存储器上,使用方法复杂; (6)CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是 门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的;(7)在编程方式上,CPLD主要是基于EEPROM或FLASH存储器编程,编程次数 可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和 在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次 上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可 大连理工大学硕士学位论文在工作中快速编程,从而实现板级和系统级的动态配置;(8)CPLD保密性好,FPGA保密性差:(9)一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。而ASIC(ApplicationSpecific IntegratedCircuit)为全定制专用集成电路,与FPGA相比各也各自具有自己的优缺点,在此做一个定性比较I明。表2.2Tab.2.2Flea与^sIC对比Comparison between FPGA and ASIC表2.2的比较是根据一般情况确定的。结论并不是绝对的,例如单片成本应该根据 具体项目进行计算才能得到正确的结论。FPGA最本质的特性是可编程性和设计周期短 的优势,而这正是ASIC的弱点。两者在价格上的比较要考虑多种因素,但趋势也是向 有利于FPGA的方向发展。FPGA厂商提供了很好的设计环境,例如Altcra提供的Ouartus II软件几乎包括了所有的EDA工具。使用FPGA,不用和IC厂家联系,没有流片费用, 可以很快上市,没有库存问题,并可以现场升级产品。在下属场合一般采用ASIC: (1)门和存储位的数量超过1千万;(2)千兆位连接数量较多;“(3)在最低功耗下,主时钟频率高于300MI-Lz。 对比可见,从成本、开发难易程度、功耗等常见因素考虑,基于纯硬件控制方式实 现控制器(时序和运算均比较多),选择FPGA作为开发元件是一个相对好的方案选择。2.2开发流程FPGA开发流程主要包括电路设计与输入、功能仿真、逻辑综合、前仿真、布局布 线以及时序仿真(又称为后仿真)等主要步骤,每一步骤都有相应的开发工具。FPGA的开发流程如图2.3所示。整体设计采用“自顶向下”的设计方法。“自顶向下”(Top.down)即从系统级设计 入手,把系统划分为若干个基本单元,然后把每个基本单元划分为下一层次的基本单元, 如此类推,直到可以直接用EDA元件库中的基本单元来实现为止。“Top.down”设计 方法有利于在早期发现产品结构设计中的错误,提高设计的一次成功率,在EDA技术中广泛采用。图2.4为自顶向下(Top.down)的示意副勰l。 基于FPGA的PID控制器研究与实现图2.3Fig.2.3FPOA开发流程Development flowchart of FPGA图2.4Fig.2.4Top-down设计思想Top-down design ideaFPGA的开发流程包括以下主要步骤及其使用的工具: (1)设计输入。设计输入主要有两种方法:图形输入、硬件描述语言输入。图形输 大连理工大学硕士学位论文入一般用于最顶层设计。硬件描述语言又包括VHDL、Vefilog HDL以及AHDL(舢tera 公司)等。Vefilog和VHDL都是用于逻辑设计的硬件描述语言,并且都成为IEEE标准。 它们的共同特点在于:①能形式化地抽象表示电路的行为和结构; ②支持逻辑设计中层次与范围描述; ③可借用高级语言的精巧结构来简化电路行为的描述; ④具有电路仿真与验证机制以保证设计的正确性; ⑤支持电路描述由高层到低层的综合转换; ⑥硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去); ⑦便于文档管理; ⑧易于理解和设计重用。 但是Verilog和VHDL又各有其特点。由于VedlogHDL早在1983年已推出,至今 已有20年的应用历史,因而vemog HDL拥有更广泛的设计群体,成熟的资源也远比 VHDL丰富。与VHDL相比,Vedlog HDL的最大优点为:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,通过20学时的学习,再经过一段时间的实际操作,一般可在2∞个月内掌握这种设计技术。而掌握VHDL设计技术就比较困难。 这是因为VHDL不直观,一般认为至少需要半年以上的专业培训,才能掌握VHDL的 基本设计技术。从目前的应用来看,在美国,高层数字系统设计领域中,应用VcTilogHDL和VHDL的比率是80%和20%;日本和我国台湾省与美国相同;而在欧洲VHDL发展得比较好。Vefilog HDL较为适合系统级、算法级、寄存器传输级RTL、逻辑级、门级和电路开关级的设计,而对于千万门级以上的特大型系统级设计,则VHDL更为适合。VefilogHDL语言的描述风格主要有三种:采用数学模型描述的行为描述,大部分只能用于系统仿真,少数的也可以进行逻辑综合;数据流即寄存器传输描述;结构描述 即逻辑元件描述。后两者均可以进行逻辑综合。 (2)功能仿真。功能仿真将文件调入HDL仿真软件进行功能仿真,检查逻辑功能 是否正确。常用的仿真软件有集成开发环境自带的波形仿真软件或者使用第三方的专用 仿真软件如Modclsim等。Modelsim是Model TecllIlology(Mentor Graphics的子公司)的 HDL硬件描述语言仿真软件,可以实现VHDL、Vedlog以及vHDLve“log混合设计 的仿真,是仿真业界应用最广泛的产品。并且Modelsim具有强大的交互DEBUG功能、 衰减测试支持和高内存利用效率功能,为仿真设计提供了广阔的范围。除此之外, Modelsim还能够与C语言一起对HDL文件实现协同仿真。同时,相对于大多数HDL 仿真软件来说,Modelsim在仿真速度及稳定性上有明显优势。这些特点使Modelsim越 基于FPGA的PID控制器研究与实现来越为EDA设计者、尤其是FPGA设计者的青睐。 (3)逻辑综合。逻辑综合将源文件调入逻辑综合软件进行综合,即把语言综合成最 简的布尔表达式和信号的连接关系,是FPGA设计流程中的重要环节,综合结果的优劣 直接影响布局布线结果的最终效能。好的综合器能够使设计占用芯片的物理面积小,工 作频率高,这也是评定综合器优劣的两个重要指标。逻辑综合软件会生成.edf的EDA 工业标准文件。Synplify Pro综合工具是目前倍受推崇的FPGA综合工具之一。Synplify Pro采用了很多独特的整体性优化策略和方法,使设计综合无论在物理面积还是工作频 率上都达到理想的效果。综合过程包括两个内容:一是对HDL源代码进行编译和逻辑 层次上的优化,二是对编译结果进行逻辑映射结构层次上的优化,最后生成逻辑网表。 (4)布局布线。布局布线将.edf文件调入PLD厂家提供的软件中进行布线,即把设 计好的逻辑安放到FPGA内。布局布线必须使用各厂家的专用工具。实现过程主要是布 局布线PAR(PlaceAndRoute),布局(Place)是指将逻辑网表中的硬件原语或低层单元合理地适配到FPGA内部的固有硬件结构上,布局的优劣对设计的最终实现结果(速度和 面积)影响很大。布线(Route)是指根据布局布线的拓扑结构,利用FPGA内部的各种连 接资源,合理、正确地连接各个元件的过程。 (5)时序仿真。时序仿真是将布局布线的时延信息反标注到设计网表中所进行的仿 真,也称为布局布线后仿真。一般地,后仿真必须进行,主要的目的在于发现时序违规, 即不满足时序约束条件或者器件固有时序规则(建立时间、保持时间)的情况。功能仿真 中介绍的仿真工具一般都支持布局布线后的仿真功能。为了保证设计的可靠性,在时序 仿真后还要做一些验证,即静态时序分析。 大连理工大学硕士学位论文3PID控制器的FPGA实现PID算法及其FPGA实现PID控制器结构清晰,参数可调,适用于各种控制对象,不需要被控系统的精确分3.1析模型,并且算法简单高效,可在现场根据实际调节参数而取得较好的控制效果,因此 在动态控制系统中是采用最广泛的控制器。PID控制器的核心思想是针对控制对象的控 制需求,建立描述对象动态特性的数学模型,通过PID参数整定实现在比例、微分、积 分三个方面参数调整的控制策略来达到最佳系统响应和控制效果。完整的PID控制表达式如下例:㈣叱㈤+舟(f渺+乃挚为偏差。(3.1)其中,岛为比例增益,瓦为积分时间常数,乃为微分时间常数,u(O为控制量,e(O在数字控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当 短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。户p弦一善强(f)出r(3?2)―ae―(t)。―e(七)-e―(k-1)矗。3)其中,r为采样周期,k为采样序号。由式(3.1)、(3.2)及(3.3)可得PID位置型控制算式为:H(&)一女,【e(%)+暑羹e(f)+L!垡半】Ⅳ@)-kpe(k)+毛荟㈣+kd【e@)一P(七一1)】 “(七一1)=kpe(k一1)+七j荟8(七)+七一【P(‘一1)一P(七一2)】(3.4)即:(3?5)式(3.5)为PID位置型控制算法,其中七f=岛刀乃为积分系数,幻=岛TjT为微分系 数。由上式可以看出,位置型控制算法不方便,这是因为累加偏差P例,要占用较多的存储单元。根据上式可以得出下式: (3?6’将上式相减法,可得其增量型控制算式如式(3.7): 基于FW,A的PID控制器研究与实现“似)au(k一1)+kpk@)-e(k-1)】+kle(k)+kdk@)一瑟仲一1)+P@一2)】整理后:(3.7)“(七)一u(k一1)+koe(k)+kle(k一1)+k2e(k一2)(3.8)其中:ko=b+岛+幻,kl=嘞-2幻,七2=幻。对式(3.7)和(3.8)既可以用并行结构来实现,也可以用串行结构来实现。对于并行实现,每一步都有自己独立的算予,或乘法 器或加法器;对于串行实现,主要由顺序逻辑来实现,只有一个乘法器和加法器;或者 考虑面积与速度的折中,采用串并混合实现。还可以应用D.A(Distributed Arithmetic) 实现方法,达到充分利用LUT资源[30,3¨。 (1)串行实现法。串行实现的基本思想是基于ALAP(AsLast AsPossible)的结构,以速度换取资源,只需要两个逻辑算子:一个乘法器和一个加法器,通过设计有限状态 机(FsM)在不同阶段采用该乘法器和加法器进行不同的逻辑计算。这种方法需要的资源 最少但速度也最慢,其实现的原理如图3.1所示【32J。图3.1串行实现结构Fig.3.1 Serial implementation structure(2)并行实现法【3”5I.并行实现法是基于ASAP(AsSoonAs Possible)的结构。这种 大连理工大学硕士学位论文实现方法的基本思想是以面积换取速度,其特点是拥有较快的运算速度,但所需要的资 源比较多。基本方法是按照式(3,7)或(3.8)分成四部分来实现,其中每一项运算都有其 自己独立的算子,或是乘法器,或是加法器。如图3.2所示为并行结构实现方法示意图。图3.2并行实现结构Fig.3.2Parallel structure(3)混合实现法【321。混合实现法折中考虑面积与速度,综合了串行实现法与并行实 现法的结构特征。其实现方法如图3.3所示。状态机控制两个加法器和一个乘法器按逻 辑顺序进行运算,累积运算结果后输出。图3.3混合实现结构Fig.3.3Mixedstructure 基于Flea的PID控制器研究与实现(4)D―A(Distributed Arithmetic)法。采用D.A法实现PID控制器由于充分利用了FPGA查找表的资源,用查找表代替了乘法器,降低了资源占用率与系统功耗,但结构相对比较复杂。如图3.4所示为D-A法结构图。图3.4Fig.3.4D_A法结构OIIStructure basedD-A在FPGA设计中,在利用如图3.2所示的并行结构实现方法基础上,发挥并行结构 延时小、计算速度快的特点。进一步将式(3.8)分解,得: f,e(k)一r(t)+卜y(七)】I Po一七o’e@) I Pl―kl+e仲一1) <P2,k2‘e(k一2)(3.9)IIs。一p。+p: s2一p24-U@-1)L“(七)耳曩1+s2 r表示设定值,Y表示实际值,肋、肌、P2、却、幻为暂存变量。 由于并行结构存在设计的复杂性,所以需要在设计结构上进行改进。改进思路是采 用增量式算法,并将PID微分方程分解成基本的算术运算式,以便进一步将运算器和数 据类型做归一化处理,达到减少运算部件的耳的。并行结构的改进方法如下: (1)用被减数二迸制补码的加法代替减法,即A.B=A+(B#)。FPGA不支持浮 点数的运算,因此浮点数需要转换成定点数。有符号数和无符号数不可以直接运算。将 负数用补码表示,且对系数进行扩展,即将系数增加一个符号位,1代表负数,0代表 大连理工大学硕士学位论文正数。以此重复利用加法器IP,从而降低设计难度。 (2)扩展加法运算位数,当两个相同符号的数相加时,由于可能出现运算结果的位数产生溢出,导致计算结果出错,为此将数据结果扩展一位或多位,可以防止数据出错。 (3)将系数进行归一化处理,FPGA只能进行整数运算,为了提高计算精度,需要 对实数进行整数转换,即将系数扩大N倍,使小数转化为整数,使输出结果再缩小N 倍。一般情况下,选择按24进行倍数转换,结果再缩小2n倍,对FPGA来说只需要舍 弃最低11位的数据即可作为输出信号。 寄存器REG用于锁存偏差信号或输出信号的初始值和中间值,限幅逻辑用于保证 控制逻辑输出的信号在物理设备承受范围之内I蚓。三路信号并行计算,三层结构之后有输出,延时比较短,可以提高运算的速率。改进后的并行结构框图如图3.5所示。由图可以看出,改进后的并行结构需要四个 加法器、三个乘法器,与改进前相比少用了三个减法器,相应的也减少了连线数。更重要的是,重复利用所设计的妒核,降低了设计的难度。图3.5改进后的并行实现结构Fig.3.5 Parallelstructure在此基础上,用Vefilog HDL语言编写用以实现公式(3.9)的PID算法的代码,代码 通过调用加法器、乘法器两种模块实现相应的运算。例如,在下面第一个语句中,adder 是已定义的全加法器予模块名,a1表示在本模块中有一个名为a1的adder模块,其四 个端口分别为.cinO,.dataaO,.datab(),.result0,“.”表示端口,后面紧跟端口名称必 须与adder模块定义的一致,小括号内的信号名为与该端口连接的信号线名,可以用别 名,但必须在本模块中定义,以正确调用算法模块。乘法模块multi的调用原理与加法 一样。PID模块采用FPGA的Vedlog-HDL语言对硬件输入编程方法,利用Ouartus 11 自带的IP核,进行图形输入映像连接的设计,实现PID模块中式(3.9)的代码段: 基于FPGA的PID控制器研究与实现adder multial(.cin(1q)1),.dataa(rk),.datab(一yk),.result(ek)); ml(.dataa(kO),.datab(ek),.result(pO));//r内-y例 ///Co+eⅢ//KI+e(k-1) //Kz‘e(k-2)//pO+pZmultim2(.dataa(k1),.datab(ek_1),.result(p1));multim3(.dataa(k2),.datab(elo),.result(p2));adder a2(.cin(1q)O),.dataa(pO),.datab(p1),.result(s1): adder a3(.cin(1"oo),.dataa(p2),.datab(uk._1),.result(s2));//p2+u似D//sl+s2addera4(.cin(1'bO),.dataa(s1),.datab(s2)。.result(uk));乘法器可以使用Altera公司提供的经过严密测试和优化处理的宏功能模块(Qllal'tUS 自带的丰富模块口)LPM_MULT实现。LPM_MULT是一个可定制位宽的乘法器,还可 以定制运算结果输出时等待同步脉冲的个数,即为LPM_MULT的流水线输出功能,可 以提高乘法运算的速度吲。 编写测试台文件主要目的是验证设计正确性,保证测试覆盖率。为了对已设计的模 块进行检验,往往需要产生一系列信号,输入到所设计的模块中,检查模块的输出是否 符合设计要求,该测试模块又称做测试文件。在前文提到行为描述因为不可综合,仅用 于产生仿真信号。在QuartusII集成开发环境下,仿真可以采用波形文件输入。module pidtestbench;reg elk;//时钟信号 //设定值//定时信号reg【8:0】realvalue;∥模拟测量值 reg【8:o】setvalue; reg【31:0】count2s;reg clk2s:initial∥把寄存器变量初始化为一确定值begin clk:O:count2s=32’d0:realvalue=20; setvalue=100: end always学1 elk=一clk;//产生一个周期为2个单位的时钟信号pidpl(.uout(uout),.clk2s(clk2s),.setvalue(setvalue),//PID模块实例引用 .realvalue(realvalue),.ek(ek)。.ek_l(ek_1),.ek_2(ek_2));endmodule 大连理工大学硕士学位论文在Modelsim下仿真运行结果如图3.6和图3.7所示。附 ¨ 附 附 啦 时◇01∞57 43 45 4711加120 180 【0 叮 180 ISfl 121 i75 179 179 i22 17B 178 :1∞ 图3.6Fig.3.6PID模块godelsim仿真(起始)Start simulation result of PID module图3.6为PID模块仿真运算的起始段,其中clk2s为定时采样信号,uout为PID计 算结果。setvaluc与realvalue为假设的设定值和测量值输入信号,ek代表式(3.9)中的e(k),为误差值,ek l和ek_2分别代表e(k-1)和e(k-2)。由仿真结果可以看出,在延时三个采样周期之后开始有正确输出。时钟频率可达20M Hz。uout输出0表示没有输 出,输出100表示输出最大值,幅值可以根据实际物理意义在程序中更改。◇倒如甜H曲fck2搴10“母―净,pd∞妇}r盹,oe№。I日卜渗/俐ek_l1∞母―审,p瞳∞Ib∞cMe■va..1 203 v-O/pidte如nch/ek }-103 H们卧◇械崎t瞻'ch眦2时,pic瞻IIb鳓ch^J叫1.舶lo图3.7Fig.3.7PID模块Modelsim仿真(中问)result of PID moduleMiddle simulation图3.7为PID模块仿真运算的中间段,输出由于延时在经历了前期的非满幅输出之 后,达到最大输出幅值,作用于控制控制对象,使得测量值加快速度接近设定值。仿真 结果符合PID运算的控制规律。3.2模糊PID算法及其FPfiA实现对于时滞、时变和非线性的特征比较明显的控制系统,传统PID控制方法控制参数 不易在线调节,模糊控制较好的适应这些特征。模糊控制以模糊规则为基础,用隶属函 数和模糊运算实现模糊推理过程,以其强大的知识表达能力和处理能力在一些复杂系统 中显示出了很强的优越性。模糊控制理论可以通过模拟人思维过程中的不确定性和不精 确性,以人的经验为判断依据,从而对那些不建立精确数学模型的场合进行有效的控制。 基于FPGA的PID控制器研究与实现模糊控制的长处最重要有两点:第一是可以用模糊性的自然语言表现知识;第二是可以 用MAX(最大化),MIN(最小化)这类简单运算实现知识的模糊推理1381。模糊控制也有 一些问题需要解决,其中之一就是如何消除模糊控制器的余差。由于模糊控制器只相当 于比例和微分的功能,在本质上不能消除余差。解决方案包括引入积分环节、采用论域 缩小逼近法、优化模糊控制规则和隶属度等方法。 传统的PID控制具有简单、稳定性好、可靠性高等优点,但动态性能差。结合模糊 和PID可以达到消除模糊控制余差和解决单纯PID控制动态性差的问题。现在实现模糊 PID控制跟PID的实现方法一样,基于硬件的实现也取得了长足的发展。例如,采用软 硬件协同设计的方法在FPGA上实现了模糊PID控制器,采用FPGA与VHDL实现了 模糊自整定PID控制器,将FPGC(FuzzyPID GainConditioner)算法基于FPGA实现[39-4”。总体来看,国外的研究要比国内起步早,并且发展成熟。 从结构上看,模糊和PID结合设计控制器的方法主要有三种【42】,如图3.8所示。第 一种,P1D与模糊的双模控制器,有模糊和PID两种控制模态;第二种,补偿式模糊PID 控制器,两个控制器在整个控制过程中所起作用由权重因子R1和R2来调节;第三种, 模糊自整定PID控制器,通过模糊算法对P1D三个参数进行调整。模糊自整定PID控 制器在改善被控过程的动态性能、稳态性能与提高抗干扰能力方面优于常规PID控制, 且控制器设计简单,易于实现,所以本文选择此种控制器结构形式。筐疆嚣氍注1)PID与模糊双模控制器注2)补偿式模糊PID控制器注3)模糊自整定PID控制器Fig.3.8胝kinds图3.8模糊与PID结合的3种形式ofcombination with ftlzzy and PID设计思想是先找出P1D的三个参数K、K、I(d与系统误差e和误差变化率ec的大 小和方向,再根据模糊控制原理,按照现场操作人员的经验得到模糊控制规则调节岛, K,磁,以改善被控对象的动、静态性能[431。表3.1为AKp模糊规则表,表3.2为△l(i 模糊规则表,表3.3为△岛模糊规则表。 模糊子集{NB,NM,NS,ZO,PS,PM,PB)分别代表负大,负中,负小,零, 正小,正中,正大。NB选用z形隶属度函数,PB选用s形隶属度函数,其余选用三角 隶属度函数。隶属度的图形如图3.9所示。 大连理工大学硕士学位论文表3.1Tab.3.1AK,模糊规则表Fuzzy rule for AK.表3.2△K。模糊规则表Tab.3.2 Fuzzy rule for△K设计中,假设基本论域为【一255,2551。整数论域元素范围为【一3,3】a于是分成【-255, .128],【一128,?641,[-64,一81,[-8,8】,18,641,[64,128],1128,255】共七段。如果 输入精确值为55,则e=1,如果c=.29,则e=.1。考虑到在PID控制模块设计中PID 参数已放大,故模糊△砩的论域设计为【?15,151,△K的论域设计为【?3,31,aKd的论 基于FPGA的PID控制器研究与实现域设计为【-15,15】。模糊推理采用Mamdani推理法,在Matlab罩调用模糊工具箱,经 过推理可即得到输出表。图3.9隶属度函数Fig.3.9Degree of membership推理结果通过查找表输出,查表法结构简单,实施方便,在线运行速度快1441。e 与cc合成6位编码。011代表3,010代表2,001代表1,000代表0,101代表.1, 110代表一2,111代表一3。△珞、△K和AKd采用8位有符号码,便于与K、l(i、I(d相加。Verilog HDL语言实现模糊推理模块代码段如下:modulefuzzpid(e,ec,detP,detI,detD):input【9:o】e,ec; output【7:o】detP,detl,detD:always@(ec)begin∥对cc进行编码得蛰J ectemp,同理可得至fJ etemp //ec大于0case(ec[9])O:begin if(ec>=10’d6)ectemp<=3tb011;1:begin//ec小于0ectempm=―ec+1"01:if(ectempm>=10'd6)ectemp《=3"0111;//其余编码endcase 大连理工大学硕士学位论文endalways@(etempbeginorectemp)//查表求detP,detI,detDtemp《={etemp,ectemp}:∥组成6位编码case(temp)6tboll 011:begintuneP=?8'd3;tuneI=8'd3:tuned=8'd3;//其余查询表end endmodule在QuartusII下模糊推理模块的仿真时序如图3.10所示。田‘ 田?。 田tqad' 田t∞tI 口tⅧad)clk re●●t图3.10模糊推理仿真结果Fig.3.10 Simulation result offuzzy infcRn∞e和ec分别代表偏差和偏差的变化,其数值为二进制编码。tuneP、tuneI以及tuneD 为△l(p、AKr On AKd的调整输出,与原酶、K、&相加后形成新的调整参数。 基于FI)(;A的PID控制器研究与实现4PID控制系统组成为验证设计的正确性与合理性,构建一单闭环炉温控制系统,如图4.1所示。虚线 框内部分全部在一片FPGA上实现。图4.1基于FPGA的炉温控制实验系统Fig.4.1 Temperature control experimental system based011FPGAFPGA内部模块的项层原理图见附录A,在QuartusII下采用图形输入方式。主模块 PID控制器用于实现PID算法,Clock生成器用于将系统时钟分频及产生定时采样信号, 用户接口为LED显示及接受用户键盘输入,如设定温度与实际温度的切换显示等,PWM 模块用于脉宽调制,以控制固态继电器的通断来达到控制加热功率的目的。ADC模块 用于A/D数据采样控制及标度交换。下面分别介绍各部分硬件设计及FPGA实现。4.1FPGA选型EPlC3T144是Altera公司生产的Cyclone I代、基于1.5V(内核),3.3V(I/O),0.13urn和SRAM的FPGA,容量为2910个LE,拥有13个M4K RAMOg位+奇偶校验)块;除此之外,还集成了许多复杂的功能。提供了全功能的锁相环(PLL),用于板级的时钟网 络管理和专用FO口,这些接口用于连接业界标准的外部存储器器件,具有成本低和方 便的特点,具有以下特性【叫: (1)新的可编程架构通过设计实现低成本; (2)嵌入式存储资源支持各种存储器应用和数字信号处理器(DSP); (3>采用新的串行置器件如EPCSI的低成本配置方案;(4)支持I^丌n,、L,vCMOS、SSlI,2以及SSTL-3 FO标准;(5)支持66一MI-Iz,32位PCI标准; (6)支持低速(311 Mbps)LVDSI/0: 大连理工大学硕士学位论文(7)支持串行总线和网络接口及各种通信协议;(8)使用PLL管理片内和片外系统时序; (9)支持外部存储器,包括DDR SDRAM(133MHz),FCRAM以及SDRSDRAM;(10)支持多种口,包括Altera公司的MegaCore以及其合伙组织的口,支持最新 推出的NiosII嵌入式处理器,具有超凡的性能、低成本和最完整的一套软件开发工具【撕】。4.2FPGA配置电路配置,又称为加载或下载,是对FPGA内容进行编程的一个过程。在FPGA内部,有很多可编程的多路器、逻辑、互连线节点和初始化内容等,都需要配置数据来配置。 FPGA是SRAM型的可编程逻辑器件,通过JTAG可直接把代码固化到片子里面,但代 码是放在RAM里的,断电后即消失,所以需要非易失性存储器存放代码,每次上电后 自动把代码从配置芯片读到FPGA,然后再运行。表4.1为EPlC3T144可能的配置方式。表4.1Tab.4.1 Cyclone I FPGA配置模式表Configuration modes of Cyclone I FI'GA配置模式 AS.主动串行低费用的串行配置器件 PS一被动串行JTAG数据源“增强的或EPC2配置器件,MasterBlaster或ByteBlaster下载电缆或串行数据 MasterBlaster或ByteBlaster下载电缆或采用Jam或JBC文件的微控制器对EPlC3T144进行配置可通过对芯片的配置方式管脚(MSLEl、MSLE0)的选择而 决定的。当MSLEl、MSu三。为oo表示选择AS模式(20MHz),为01时选择Ps模式, 为10时选择快速AS(40MHz)。JTAG方式忽视MSEL的配置方式,但一定要保证MSEL 不要被悬空,要么接电源要么接地。在本系统中考虑,考虑到调试方便等因素,采用 AS方式和JTAG方式。根据所选择的FPGA大小、配置方式和配置数据的大小,选择配置芯片为EPCSl,成本较低且容易配置。.在主动串行方式下,由FPGA主动输出控制和同步信号(包括配置时钟)给专用的串 行配置芯片(EPCS系列)。串行配置器件收到命令后,把配置数据发送到FPGA中,完成配置过程。AS模式原理与EPCS接口如图4.2所示。在被动方式下,由系统的其它设备发起并控制配置过程。这些设备可以是Altera的 配置芯片(EPC系列),或者是微处理器、CPLD等。FPGA在配置过程中完全处于被动, 只是输出一些状态信号来响应配置过程。被动串行方式(PS)是被动方式的一种。在Ps 配置时,FPGA配置数据从存储器(可以是EPC系列配置或其它Hash器件)中读出。 基于FP(;A的PID控制器研究与实现亨注1)AS模式接口 图4.2Fig.4.2注2)EPCS接口 AS模式与EPCS接口AS mode and interface of EPcsJTAG方式符合IEEE 1149.1边界扫描测试的标准接口。从JTAG接口进行配置可 以使用Altera的下载电缆,通过Quartus II工具下载,而且JTAG配置方式比其它任何 一种配置方式的优先级都高。用Altera的下载电缆配置FPGA的连线如图4.3所示。JTAG 接口由4个必需的信号TDI、TDO、TMS和TCK,以及1个可选的信号TRST构成。 其中:TDI用于测试数据的输入;TDO用于测试数据的输出;TMS是模式控制管脚, 决定JTAG电路内部的TAP状态机的跳变;TCK是测试时钟,其它信号线都必须与之 同步;TRST是一个可选信号,如果JTAG电路不用,可以将其连到GND。‘亨图4.3Fig.4.3JTAG模式JTAG mode无论JTAG或是As配置方式,都可以使用Altera公司提供的ByteBlaster II下载电缆解决方案制作下载线。 大连理工大学硕士学位论文4.3输入电路4.3.1SSWR温度变送模块DDZ-S系列SBWR温度变送模块是我国是近几年开发研制成功的工业自动化仪表 模块。与DDZ-1/I型温度变送器相比,这种变送器具有高性能、高可靠性、低价格、小 型化的特色,它代表着当今温度变送器的主流和方向,是替代现行DDZ-HI型温度变送 器的合适产品147】。SBWR2166是热电偶变送器,其原理框图如图4.4所示。 温度传感器将被测温度转换成电信号,再将该信号送入变送器的输入电路,该电路 包含调零和冷端补偿等功能,调零后的信号输入到线性化及放大电路进行非线性校正及 信号放大,最后经恒流输出电路输出4-,.20mA直流电流,经250欧姆精密电阻RL变换 成1巧v电压信号送入A/D转换器件。采用电流方式远程传输信号不会受到传输线的压 降、杂散的电感、接触电感和接触电阻以及电压噪声等因素的影响,并且以偏置来区别 零点和无信号,因此具有很强的抗电磁干扰能力。i.............................,...............................,...................................。.;图4.4温度变送器原理框图Fig.4.4SBWR2166 Temperature transmitter functional block diagram4.3.2A/D控制模块A/D转换采用ADC0809。ADC0809为单极性输入、8位转换精度、逐次逼近式A/D 转换器,其采样速度为每次转换时间约100us。各引脚功能和工作时序如图4.5所示【档1。 ADC0809有8个模拟输入通道,由ADDA、ADDB、ADDC(ADDC为最高位)作为 此8路通道选择地址。在转换开始前由地址锁存允许信号ALE将此3位地址锁入锁存 器中,以确定转换信号通道;EOC为转换结束信号,由低电平转为高电平时指示转换结束,低电平指示正在转换;START为转换启动信号,上升沿启动:OE为数据输出允许,高电平有效;CLK为ADC转换时钟(500K Hz左右)。A/D转换控制器监测EOC信号的 逻辑,当EOC从低电平变为高电平时将OE置为高电平,然后传送已转换好的数据。 对ADC的控制模块采用有限状态机来实现。无论是基于Verilog HDL的其它设计 基于FPGA的PID控制器研究与实现方案相比,还是与完成相似功能的CPU相比,在许多方面,有限状态机都有其难以超 越的优越性,主要表现在以下几个方面【49】:}ADC0809图4.5Fig.4.5ADC0809工作时序引脚图Conversion timing of ADC0809(1)状态机克服了纯硬件数字顺序方式控制不灵活的缺点。状态机的工作方式是根 据控制信号按照预先设定的状态进行顺序运行的,状态机是纯硬件数字系统中的顺序控 制模型,因此在其运行方式上,类似于控制灵活的CPU,而在性能上优于CPU。 (2)由于状态机的结构相对简单,设计方案相对固定,为VerilogHDL综合器尽可 能发挥其强大的优化功能提供了有利条件。而且,性能良好的综合器都具备许多可控的自动的优化状态机的功能。(3)状态机容易构成性能良好的同步时序逻辑模块,这对于对付大规模逻辑电路设 计中令人深感棘手的竞争冒险无疑是个上佳选择。此外为了消除电路中的毛刺现象,在 状态机设计中有多种设计方案可供选择。(4)与Verilog HDL的其它描述方式相比,状态机的Verilog HDL表述方式多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的好处。 (5)在高速运算和控制方面,状态机更有其巨大的优势。状态机可以套用状态机, 从而形成复杂的控制流,而一个单独的状态机(或多个并行运行的状态机)以顺序方式能 完成的运算和控制方面的工作与一个CPU的功能相似。因此一个模块的功能便类似于 一个含有并行运行的多CPU功能。 根据ADC0809的工作时序,可将转换过程分为7个状态【501:空闲状态s10、地址锁 存stl、开始转换st2、正在转换st3、转换结束st4、延时一个脉冲st5、输出允许st6、 延时一个脉冲st7。Verilog HDL实现A/D控制模块的示意性代码如下所示。modulead0809(datafromad,elk,eoc,ale,start,0e,adda);inputf7:o】datafromad://睾专换结果数据 //时钟信号,转换结束状态信号 ∥地址锁存允许信号input clk,eoc; output ale: 大连理工大学硕士学位论文output start: outputoef“转换蠢萄1信号/,数据输出允许 ,/通道选择地址output【2:0】adda;parameter st0=3"0000,stl:3"0001,st2=3"0010,st3=3"0011://定义 parameter st4=3"0100,st5=3"0101,st6=3"0110,st7=3.b111;//状态//状态机endmodule模块化后如图4.6所示,可作为顶层设计时的一个模块。综合后的占用了78个LE, 对FPGA的资源占用率低于3%。图4.6Fig.4.6ADC0809模块ADC0809 module采用Quartus II自带的仿真工具波形仿真文件输入,得一完整采样周期仿真如图4.7所示,add[0]、add[1]、add[2]分别对应ADDA、ADDB、ADDC。一丽贡了【冗一几广1几n广1广1门几门n广]广]n几厂1几门n几门n几几厂I......一 +’广]『竺。渊一Fig.4.7图4.7A13C0809模块仿真结果Simulation result of ADC0809 module当测量温度范围比较宽时要求AD的位数也高,8位A/D转换器并不能满足系统的 要求。因此作为系统的扩展,对高温段的温度数据采集AD采用MAXl97。MAXl97是 基于FPGA的Pin控制器研究与实现美国MAXIM公司近年的新产品,是多量程(0―5V、0--10V、.5-5V,一10-10V)、8通道、 12位高精度的A/D转换器。它采用逐次逼近方式工作,有标准微机接口。三态I/O口 用作8位数据线,数据总线的时序与绝大多数通用的微处理器兼容。全部逻辑输入与输 出与"ITI./CMOS电平兼容。与一般A/D转换芯片相比,具有极好的性价比,外围电路 简单,可简化电路设计,被广泛应用于工业控制系统、数据采集系统、机器人、自动检 测系统、医疗仪器和远程通讯。MAXl97具有以下主要性能特点【51J: 采用MAXl97进行数据转换必须先对MAXl97进行配置。MAXl97的控制字格式如表4.2所示。表4.2Tab.4.2Maxl97控制字control-byte formatMaxl97旦!翌!呈PDt21PDo里!MOD坠RND里!BIP里!A2里!里!竺里A1AoPD。和PD0两位选择时钟和低功耗模式,00表示正常模式/外部时钟;01表示正常 模式/#J部时钟;10表示备用低功耗模式,时钟模式无效;11表示完全低功耗模式,时 钟模式无效。MOD位表示内外控制,0表示内部控制采样,1表示外部控制采样;RND 位表示输入电平满量程的范围,0表示幅度为5V,1表示10V;BIP位表示输入电平的 极性,0表示单极性,1表示双极性。由于EPlC3T144为3.3V FPGA,固需要一片3.3 ̄5v电平转换芯片74Lvx4245。T/R用于控制数据的流通方向,当为0时,对于MAXl97,数据线为输入,此时控制字 写入,当为1时,数据线为输出,此时输出转换后的数据。对MAXl97的设计采用内 部时钟(CLK引脚接100pF电容,其内部时钟约为1.56M Hz,如果外按时钟,则应接100K Hz~2MHz频率时钟)和内部标准4.096V参考源(REF接0.01uF电容,也可直接外接精密参考电源)。其原理图如图4.8所示。 CS为片选信号,低电平有效;WR为写控制字信号,上升沿锬存控皋4字并开始数 据的转换,经过约10us转换完毕;RD为读信号,下降沿将使能数据总线读操作;INT 为中断信号,当转换完成并且数据准备好时,INT变为低点平;HBEN用于选择读取结 果,由于MAXl97是12位AD,而数据总线是8位,故转换结果分两次读取,当HBEN 为高时,高四位结果放到数据总线上,为低时,低八位结果放到数据总线上。SHDN是 工作模式选择,为1时正常工作模式,为0时省电模式。REFADJ内部缓冲增益为1.6384, 其内部精确的2.5V参考电压经过缓冲器放大到4.096V,即REF脚电压为4.096V。REF 脚接4.7uF旁路电容到地,REFADJ接0.01uF。模拟输入通道拥有正负16.5V的过电压保护,即使在关断状态下,保护也有效。 大连理工大学硕士学位论文图4.8Fig.4.8gaxl97电路图Maxl97 circuit schemeMAXl97控制模块的Verilog HDL实现同样采用状态机的设计方法,将转换过程分 为五个状态:空闲、初始化、转换完成、读数据高位以及读数据低位状态【521。系统复位 后处于空闲状态,写控制字为初始化状态,检测到INT电位为低时进入转换完成状态, 然后分别读取高、低位数据。本设计中控制字为8tboooo oooo,即采用内部时钟,内部 控制采样模式,o_5V输入范围,对第0通道采样。Verilog实现MAXl97控制模块的接口代码如下所示。12位AD转换代码段设计如下:module MAX]197(elk,t-.s,rd,wi,hben,data,inter,resuR,reset):input elk,inter: input reset;//时钟及转换完成信号/膜块复位信号//数据线//片选,读,写及高低位指示 //转换结果inout【7:0】data;output器,rd,vet,hben;output【11:0】result: reg【3:o】NS,CS; parameter【3:o】Idle=4"00000,Init=4"00001, Done=4"00010,∥次态和当前态 //空闲状态 //E始化//转换结柬 基于FPGA的PID控制器研究与实现ReadHie.h=4"00100, ReadLow=4"01000; endmodule//读取高4位//读取低8位数据线为双向口,内部实现为双向三态门,当写控制字时,数据线作为输出口,输 出控制字;当读转换数据时,数据线作为输入口,读取转换结果;否则,输出三态。模 块化后如图4.9,占用了29个LE,对FPGA资源占用率低于<1%,时序仿真如图4.10。Fig.4.9Maxl97 control module]广]广]厂]广]广]广]广]厂]广]一r...J广――1订 一 ¨啦 iatF rtmO.t 口..J●●___●一 1..............一埘e.堕.些!X岱itlt X匹bit X嚣Dm嚣k?孔鲥巧E.?“X图4.10Fig.4.10l/axl97控制模块仿真结果Simulation result ofMaxl97 control moduleAD转换结果与温度数据表标度转换可采用查找表方式完成。FPGA是基于SRAM 的结构,内部有大量RAM资源,可以充分利用。如EPIC3T144内部有13个M4K 开发软件提供RA

我要回帖

更多关于 大天使怎么把人屏蔽 的文章

 

随机推荐