基于FPGA的直流电机PWM调速系统设计与实现(完整资料).doc
基于FPGA的直流电机PWM调速系统设计与实现(完整资料)(可以直接使用,可编辑 优秀版资料,欢迎下载)P课程设计题目:基于FA的直流电机PW调速系统设计与实现班级:微电子学1202班姓名:杜英学号:16080201日期:216年3月24日基于P的直流电机M调速系统设计与实现设计任务与要求1。1设计任务完成基于FPGA的直流电机WM调速系统设计与实现,实现对直流电机的闭环调速,速度值采用LCD或数码管显示.1。2设计要求1。2.1了解PWM控制方法及应用;掌握WM直流电机调速控制原理;掌握直流电机调速及驱动控制原理;完成基于FPG的直流电机P调速系统设计。采用PWM(脉冲宽度调制)技术,速度值采用LCD或数码管显示。1。2.2通过课程设计的实践,进一步了解和掌握硬件描述语言(VHD或Vilg)和OP-OWN的设计流程,提高对实际项目的分析和设计能力,体会FPA项目开发的过程,熟悉实验报告的编写规范.2设计原理分析21直流电机结构如下图1所示图.1 直流电机的构造将直流电源通过电刷接通线组线圈,使线组线圈导体(电枢导体)有电流通过,在电磁的作用下,线组线圈将会产生磁场,同时产生的磁场与主磁极的磁场产生电磁力,这个电磁力作用于转子,使转子以一定的速度开始旋转,电机就开始工作。 在电机的外部电路加入开关型的霍尔元件,同时在电子转子的转盘上加入一个使霍尔元件产生输出的带有磁场的磁钢片。当直流电机旋转时转盘与磁钢片一起旋转,当磁钢片转到霍尔元件上方时,可以使霍尔元件的输出端高电平变为低电平.当磁钢片离开霍尔元件上方后,霍尔元件输出端又恢复高电平。如此,点击每旋转一周,会使霍尔元件的输出端产生一个低脉冲,可以通过检测单位时间内霍尔元件输出端低脉冲的个数推算出直流电机的转速.本次设计中,调节M占空比进而控制直流电机转速,在本次设计中,为了保护霍尔元件,故设定程序每6秒刷新一次数据,所以在数码管显示的数据乘以10就是在该占空比时的直流电机每分钟转速。在这次的实验中数码管采用的8位共阴极数码管,通过锁存器输入数据使得数码管的8个段码数字显示,再通过选择输出数据对所需数码管进行选择。22电路原理图图2.2 电路原理图3 设计方案上述原理图中包含P模块、测速模块、计数模块、电机模块、滤波模块。电机的外部电路加入开关型的霍尔元件,同时在电子转子的转盘上加入一个使霍尔元件产生输出的带有磁场的磁钢片.当直流电机旋转时转盘与磁钢片一起旋转,当磁钢片转到霍尔元件上方时,可以使霍尔元件的输出端高电平变为低电平.当磁钢片离开霍尔元件上方后,霍尔元件输出端又恢复高电平。如此,点击每旋转一周,会使霍尔元件的输出端产生一个低脉冲,可以通过检测单位时间内霍尔元件输出端低脉冲的个数推算出直流电机的转速。本次设计为六秒记一次数,乘十就是每分钟转速值。再通过驱动模块显示数码管数据。设计步骤(1)首先确定整体设计方案,确定设计需要使用的软件;(2)设计电路模块,编写各模块程序代码并进行仿真编译;(3)完成整体电路图设计后,使用Qarts软件对整体电路进行仿真调试;(4)连接硬件,使用示波器观察产生的波形,对不足之处进行改进调试。5调试结果说明连接好试验箱,把硬件与实验箱接通,将程序下载到实验箱中.进行实验,示波器观察PW脉冲波形(占空比),看实验结果与预期效果是否相同,若相同,则实验无误.其波形如下:占空比为50%时占空比为0时将程序下载到实验箱中后,其实际操作过程如下:1为使能键,使12=;输入时钟信号为1MH;(1)K41时,示波器和LED的显示如下:示波器显示的是霍尔元件单位时间内计数的个数为31。显示器是每六秒电机转的圈数为186转结论:31。0116=8。066于近似,所以结论符合要求。(2) 4=1,k=1时,示波器和LED的显示如下:结论:.633*6411.808于412近似,所以结论符合要求。() K4=1,k=1,K2时,示波器和LED的显示如下:结论:85。516*6=51306于513近似,所以结论符合要求。(4) K=,k3,K1,K1=1时,示波器和LED的显示如下:结论:90.3*6=5402034于541近似,所以结论符合要求。 通过以上的比较,发现示波器中的结果与数码管上数据大概一致,即实验结果基本达到要求。心得体会 本次课程设计,用FGA控制直流电机,完成直流电机PWM调速系统设计,实现对直流电机的闭环调速,速度值采用LC或数码管显示。是一次很好的学习和实践的机会.通过课程设计,我明白了电机工作的原理,以及用FPGA控制电机的原理。最重要的是,对如何设计一个系统有了更进一步的了解,积累了很多经验. 从下载测试的结果来看,设计的要求基本上都实现了.但是仍存在不少问题。每个模块生成基本电路后,把各个模块的进行连接,仿真结果是正确的。但是当连接到试验箱后,电机正常转动,E却无法显示。检查电路和程序还有电路图,并发现什么问题。无意中发现D偶尔会出现数字,但也只是闪一下。最后才发现是因为电机转动太快了,LED无法及时显示或者是一直在闪,人眼无法识别.在程序中加入了滤波模块,才解决了问题。在设计的过程中,开始照着ED课本上的原理设计,后来才发现所设计的电路有很多地方都满足不了设计要求,使设计一度遭遇了很大困难。通过与同学讨论请教,逐步改进了设计,终于使设计的电路和设计要求相吻合。在这中间,通过不断提出问题,解决问题,我对这次设计的原理有了更深的了解,也给我分析问题,解决问题提供了很多好的方法,好的思路.同时,我也发现了自己存在的很多不足。发现自己在设计一个系统的时候不能够统筹兼顾,不能够从总体上把握设计的思路,也不能看清问题的核心与关键所在。这些都需要在下面不断学习实践,理论毕竟只是理论,要多参加实践,这样才能提高自己的能力,积累经验。附录一PW模块程序Liary ieee;usiee。sd_ogi1164.ll;se iee。std_logicath.a;us ie.st_logicunigned。all;entity PW ispor( clk:in st_gc; duty_ccle:n sd_logic_ectr(3 dwn); pwm_en:n stogic; pwmot:out sd_ogic);netity;rchietue rt P s signapwm_o_io:stdlogc; sinl count:tdlgic_vecor(3downto);begin wut<pwmou_; ocss(clock) begin if riing_edge(clock) the fpw_en=1 tn ount=ont+; nf; en if; edproce;process(cloc) ben i risng_edge(coc)ten f wm_en'1' and cuntuycycle th pmot_i<=1; els pwm_out_io=' ef; ed if; ed process;e;测速模块程序library ieee;usieee。std_logic1164l;u ieee.t_logicarh.ll ; ieee.std_logic_ugned.al ;entity es ispot( clk : in std_lc; -时钟输入1Mhz ena : ut std_log; -允许计数 clr : t stdlogic; -计数器清零信号产生 load : u sd_logc); -锁存、显示输出允许高有效en cesu;aritcture behav ofcesu is sinallk :std_logic; -1Z时钟信号 signal count:iteger rang0 to 7;秒计数 sgna cr1 :std_ogic; -清零信号 signala1 :sd_lic; -允许计数信号 snal load :d_logic; 允许计数信号 -signlq1,cq2,c3,cq4 : ITEERRANG 0 TO 15;-计数数据bein roces(cl) viable:_logic; vaiablent:itger rnge 0 t50;bgn iclkevet and clk''te cn:=cn+1; ifcnt500000 en c:0; c:notc;ed if; endif; ckk<=c; en pocess; proces(ckk) -6秒计数 bgin if ckkve and ckk='1 hen countout+1; f oun<6 then ea1='1;load1<=';clr<=0; li oun=6 ten na=0;load1='1'lr1<=; eli count7 then en1;lod1<='1';clr1<=1'; n if; end i; na=na1; od<loa; r=cr1; edproces;end bhav;计数模块程序ibrryiee;use ee。std_loc_116。ll; ntiycnt10 is port (clk:in td_lgi; 计数时钟信号 clr:in td_logic; 清零信号 en:in td_logic; 计数使能信号 cq:out neger ange 0t 15;位计数结果输出 crr_out:ou sd_loic); -计数进位nd cn1;chiecture beav ofcnt10 is sinl cq1:intege age 0 o 15;beginocss(ck,ena) begin if l ' thenc1<= 0; -计数器异步清零 elsif lk'evt anclk 1 then f ena= n ifq1=1thn <1; else cq<=cq1+; end if; -等于9,则计数器清零 end i; end i;end pocss;procs (cq1) begi if cq1=10encryout 1; -进位输出 ese cr_out< 0'; n if;end poces; q=c1;en h;驱动模块程序libayiee;useieee。stdogi_1164。al;useieee.sdlogic_nsined。all;entity uong_8 sport(ck:in stlogi;-动态显示刷新速度时钟QQ,Q2,QQ3:n sdo_vtor(3 downo 0);-3位BD码输入,最0低位,231最高位qudong1:out t_ogic_vecr(7 downt 0);-驱动信号输出,7分别为aefgpcontl:bufer dlogic_vectr( donto0);数码管位选输出,000最低位数码管有效,11最高位数码管有效ed qdog8;rteturebehavior of udong_8 isgnldis:td_ogcvectr( dwnt 0);galtmp:std_logivctor(2 w 0);beinproess(clk)begiflevent ad l'thentmp<=temp;ndi;ontrl<=temp;dpress;proces(conrl)-位选信号产生进程begincasecotrl -whe"00"=s<QQ7;-he”0"=disp=Q6;hen”10”=>disp=Q;-whe”011=dp=QQ4;when”0"=disp<=Q;when”101”=>disp=QQ;when”10”disp=Q1;-whn”1"sp="000”;whn other>dis<=”000”;ed ase;end poces;pces(dsp)译码进程begicase isp iswe00"qudong1”01111; when"001”=udog1”00010”; hen”10”=>qudog="0101011"whe"0011”=>qudo101001111”; whn"100=qudon1<=”0110110”; hen"011"uong1=”1101101" when"0110"=quong1<="011101”; when"0111">quong1=”000001; when”1000”=qudng1=”0111111”; hen1001=udog1=01111”; en ohersqudon1<”0000110”;en cas;end pocess;en behavior;消抖模块程序ibrary ieee; usee.st_oic_1164.all;etiy xiaodo s po(l,inpu: inst_logic; otput: out d_lgc); nd xodou;rhtecture bha of xado isinal p:t_i; sigcount:ineger ge 0 to 3; beinrocs() begi i(k'eventand c=') tn检测上升沿if(inpu='1)tn -如果有输入信号(oun=)thencout=count; 当计数达到时,保持计数值不变s cunt<cout+1; 当其小于3时,进行加1处理en i; if(count=2)he p<='; -如果计数达到,p置1else cp=; - 其余情况全部为0en i; ele cut<=0; 如果计数出现非法状况,进行清零复位end if;nd if; uput<=cp; -信号输出e proce;d behav;吉林大学远程教育本科生毕业论文(设计)中文题目基于EDA的直流电机控制系统设计学生姓名 张 智 专业机械电子层次年级13级本科 学号指导教师 王 昕 职称 副教授 学习中心弘成宿迁 成绩 2015年10月9日摘要论文以直流电机为研究对象,应用了FPGA技术,设计出了一种全数字的步进电机控制系统。 本论文分析了直流电机工作原理及其具体的控制过程,并阐述了FPGA的设计原理以及所涉及的相关芯片,然后对所用的硬件语言VHDL的知识进行简要地介绍,这些为论文的具体设计提供了理论基础。本系统针对实现直流电机的调速,设计了一种符合要求的并连续可调的脉冲信号发生器,对整个系统进行模块化设计,并且每个子模块都通过了仿真测试。系统采用模块化的设计思路,使系统的设计和维护更加方便,也提高了系统性能的可扩展性.FPGA、VHDL以及EDA工具构成的数字系统集成技术,是本设计的核心部分,该技术具有操作灵活、利用广泛及价廉等特点。系统设计采用全数字化的控制方案,使系统更紧凑、更合理及经济节约。由于系统的数字化,使整个系统运行得十分可靠,调试也极为方便。关键词:直流电机,可编程门阵列,硬件描述语言目录一、绪论11。1课题背景11.2研究的目的及其意义2二、电机的基本知识42.1直流电机的特点42。2直流电机基本结构42.2.1定子部分42.2.2转子部分52。3直流电机工作原理62.4直流电机PWM调速原理6三、FPGA与硬件描述语言83.1现场可编程逻辑器件83。2硬件描述语言设计方法83.2。1硬件描述语言发展概况83.2.2 EDA简要介绍93。2.3采用硬件描述语言的设计流程10四、设计原理及其实现过程114。1直流电机PWM调速方案设计114。2FPGA内部逻辑组成124。3模块设计和相应模块程序134。3.1 PWM脉冲调制信号电路模块134。3。2 逻辑控制模块174。4 电路的总仿真图194.4.1正/反转控制仿真194。4.2 启/停控制仿真194.4。3 加/减速仿真204.4.4 仿真结果分析21总结23致谢24参考文献25一、绪论1.1课题背景自从1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)到现在,FPGA已经经历了二十几年的发展历程。在这几十年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展.现场可编程逻辑器件从刚开始的1200个逻辑门,发展到90年代的25万个逻辑门,甚至到现今国际上FPGA的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。FPGA的优点可以归纳为如下几点:效能,上市时间,成本,可靠性和长期维护五个方面。效能-透过硬件的平行机制,FPGA 可突破依序执行 (Sequential execution) 的固定逊算,并于每时脉循环完成更多作业,超越了数位讯号处理器(DSP) 的计算功能。BDTI 作为著名的分析公司,并于某些应用中使用 DSP 解决方案,以计算 FPGA 的处理效能。在硬件层级控制 I/O 可缩短回应时间并特定化某些功能,以更符合应用需求1.上市时间针对上市时间而言,FPGA技术具有弹性与快速原型制作的功能。使用者不需进行ASIC设计的冗长建构过程,就可以在硬件中测试或验证某个观念。并仅需数个小时就可以建置其他变更作业,或替换 FPGA 设计。现成的 (COTS) 硬件也可搭配使用不同种类的 I/O,并连接至使用者设定的 FPGA 芯片。高级软件工具正不断提升其适用性,缩短了抽象层 (Layer of abstraction) 的学习时间,并针对进阶控制与信号处理使用 IP cores (预先建立的方式)。成本-ASIC 设计的非重置研发 (NRE) 费用,远远超过 FPGA 架构硬件解决方案的费用。ASIC设计的初始投资,可简单认列于 OEM 每年所出货的数千组芯片,但是许多末端使用者更需要定制硬件功能,以便用于开发过程中的数百组系统.而可程序化芯片的特性,就代表了低成本的架构作业,或组装作业的长前置时间。由于系统需求随时在变化,因此若与 ASIC 的庞大修改费用相比,FPGA 设计的成本实在微不足道2。可靠性-正如软件工具提供程序化设计的环境,FPGA 电路也为程序化执行的建置方式。处理器架构的系统往往具有多个抽象层,得以协助多重处理程序之间的作业与资源分享。驱动层 (Driver layer) 控制硬件资源,而作为作业系统则管理记忆体和处理器频宽。针对任何现有的处理器核心来说,每次仅可执行1组指令码;而处理器架构的系统则可以连续处理重要作业。FPGA 不需要使用作业系统,并将产生问题的几率降到最低,采用平行执行功能与专属精密硬件执行作业。长期维护FPGA 芯片为即时升级 (Field-upgradable) 特性,不需要像ASIC 一般重新设计的时间与费用。FPGA 具有可重设性质,可随时因应未来的需要而进行修改。当产品或系统趋于成熟时,不需耗时重新设计或修改配置,即可提升相关功能3。1。2研究的目的及其意义直流电动机因为具有良好的启动性能和宽广平滑的调速特性,从而被广泛应用于电力机车、无轨电车、轧钢机、机床和启动设备等这些需要经常启动并调速的电气传动装置中,直流发电机主要用作直流电源。此外,小容量直流电机大多在自动控制系统中以伺服电动机、测速发电机等形式作为测量、执行原件使用。当基于FPGA的嵌入式系统时,在设计周期之初就不必为每个模块做出用硬件还是软件的选择.由于FPGA中的逻辑单元是可编程的,可针对特定的应用而定制硬件。所以,仅使用所需要的硬件即可,而不必做出任何板级变动(前提是FPGA中的逻辑单元足够用)。设计者不必转换到另外一个新的处理器或者编写汇编代码,就可做到这一点。使用带有可配置处理器的FPGA可获得设计灵活性.设计者可以选择如何实现软件代码中的每个模块,如用定制指令,或硬件外围电路。此外,还可以通过添加定制的硬件而获取比现成微处理器更好的性能。另一点要知道的是,FPGA有充裕的资源,可配置处理器系统可以充分利用这一资源。算法可以用软件,也可用硬件实现。出于简便和成本考虑,一般利用软件来实现大部分操作,除非需要更高的速度以满足性能指标。软件可以优化,但有时还是不够的.如果需要更高的速度,利用硬件来加速算法是一个不错的选择。FPGA使软件模块和硬件模块的相互交换更加简便,不必改变处理器或进行板级变动。设计者可以在速度、硬件逻辑、存储器、代码大小和成本之间做出折衷。利用FPGA可以设计定制的嵌入式系统,以增加新的功能特性及优化性能。目前,虽然由晶闸管整流组件组成的固态直流电源设备已基本上取代了直流发电机,但直流电动机仍因为其良好调速性能的优势在许多传动性能要求高的场合占据一定的地位,而FPGA又具有很强的性能及其优势,基于FPGA的直流电机的控制还是有应用价值1。二、电机的基本知识电机可分为变压器、异步电机、同步电机和直流电机四个机种。其中变压器是静止的电气设备,其余均为旋转电机。异步电机和同步电机均为交流电机.在本次设计中用到的是直流电机,直流电机是实现直流电能与机械能转的装置4。2。1直流电机的特点直流电动机与交流电动机相比较,具有良好的调速性能和启动性能。直流电动机具有宽广的调速范围,平滑的无级调速特性,可实现频繁的无级快速启动、制动和反转;过载能力大,能承受频繁的冲击负载;能满足自动化生产系统中各种特殊运行的要求.而直流发电机则能提供无脉动的大功率的直流电源,且输出的电压可以精确地调节和控制。但直流电机也有它显着的缺点:一是制造工艺复杂,消耗有色金属较多,生产成本高;二是运行的时候由于电刷与换向器之间容易产生火花,所以可靠性比较差,维护比较困难。所以在一些对调速性能要求不高的领域中己被交流变频调速系统所取代。但是在某些要求调速范围大、快速性高、精密度好、控制性能优异的场合,直流电动机的应用目前仍然占有较大的比重5 6。2。2直流电机基本结构直流电机由定子(静止部分)和转子(转动部分)两大部分组成.2.1 直流电机的结构2。2。1定子部分定子部分包括机座、主磁极、换向极和电刷装置等。(1)机座机座有两个作用,一是作为电机磁路系统中的一部分,二是用来固定主磁极、换向极及端盖等,起机械支承的作用。因此要求机座有好的导磁性能及足够的机械强度和刚座,机座通常用铸钢或厚钢板焊成.(2)主磁极在大多数直流电机中,主磁极是电磁铁,如图2。1的N、S就是主磁极,主磁极铁芯用11.5mm厚的低碳钢板叠加而成,整个磁级用螺钉固定在机座上。主磁极的作用是在定转子之间的气隙中建立磁场,使电枢绕组在此磁场的作用下感应电动势和产生电磁转矩。(3)换向极换向极又称附加极或间极,其作用是以改善换向。换向极装在相邻两主磁极N、S之间,由铁心和绕组构成.铁芯一般用整块钢或钢板加工而成。换向极绕组与电枢绕组串联.(4)电刷装置在图2.1中,A、B表示电刷。它的作用是把转动的电枢绕组与静止的外电路相连接,并与换向器相配合,起到整流或逆变器的作用。2.2。2转子部分直流电机的转子称为电枢,包括电枢铁芯、电枢绕组、换向器、风扇、轴和轴承等。(1)电枢铁芯电枢铁芯是电机主磁路的一部分,且用来嵌放电枢绕组。为了减少电枢旋转时电枢铁芯中因磁通变化而引起的磁滞及涡流损耗,电枢铁心通常用0.5mm厚的两面涂有绝缘漆的硅钢片叠加而成.(2)电枢绕组电枢绕组是由许多按一定规律连接的线圈组成,它是直流电机的主要电路部分,也是通过电流和感应电动势,从而实现机电能量转换的关键部件.线圈用包有绝缘的导线绕制而成,嵌放在电枢槽中。每个线圈(也称组件)有两个出线端,分别接到换向器的两个换向片上。所有线圈按一定规律连接成一闭合回路。(3)换向器换向器也是直流电机的重要部件。在直流电动机中,它将电刷上的直流电流转换成绕组内的交流电流;在直流发电机中,它将绕组内的交流电动势转换成电刷端上的直流电动势。换向器由许多换向片组成,每片之间相互绝缘。换向片数与线圈组件数相同。2.3 直流电机工作原理直流电机的工作原理建立在电磁力和电磁感应的基础上,从图2。1可以看出主磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd.abcd是装在可以转动的铁磁圆柱上的一个线圈,把线圈的两端分别接到两个圆弧形的铜片上(简称换向片),两者相互绝缘,铁芯和线圈合称电枢。当线圈中通入直流电流时,线圈边上受到电磁力F=Bli,根据左手定则确定力的方向,这一对电磁力形成了作用于电枢的一个电磁转矩,转矩的方向是逆时针方向。若电枢转动,线圈两边的位置互换,而线圈中通过的还是直流电流,则所产生的电磁转矩的方向则变为顺时针方向,因此电枢受到一种方向交变的电磁转矩.这种交变的电磁转矩只能使电枢来回摇摆,而不能使电枢连续转动.显然,要使电枢受到一个方向不变的电磁转矩,关键在于,当线圈边在不同极性的磁极下,如何将流过线圈中的电流方向及时地加以变换,即进行所谓“换向”.为此必须增添一个叫做换向器的装置,换向器由互相绝缘的铜质换向片构成,装在轴上,也和电枢绝缘,且和电枢一起旋转。换向器又与两个固定不动的由石墨制成的电刷A、B相接触。装了这种换向器以后,若将直流电压加于电刷端,直流电流经电刷流过电枢上的线圈,则产生电磁转矩,电枢在电磁转矩的作用下就旋转起来.电枢一经转动,由于换向器配合电刷对电流的换向作用,直流电流交替地由线圈边ab和cd流入,使线圈边只要处于N极下,其中通过电流的方向总是由电刷A流入的方向,而在S极下时,总是从电刷B流出的方向.这就保证了每个极下线圈边中的电流始终是一个方向。这样的结构,就可使电动机能连续地旋转.这就是直流电机的基本工作原理7。2。4直流电机PWM调速原理所谓脉冲宽度调制是指用改变电机电枢电压接通与断开的时间的占空比来控制电机转速的方法,称为脉冲宽度调制(PWM)。对于直流电机调速系统,使用FPGA进行调速是极为方便的。其方法是通过改变电机电枢电压导通时间与通电时间的比值(即占空比)来控制电机速度.PWM调速原理如图2.2所示。图2.2 PWM调速原理在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电时间,即可让电机转速得到控制。设电机永远接通电源时,其转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为Vd=Vmax·D式中,Vd-电机的平均速度 Vmax-电机全通时的速度(最大) D=t1/T-占空比平均速度Vd与占空比D的函数曲线,如图2。3所示.图2.3 平均速度和占空比的关系由图2。3所示可以看出,Vd与占空比D并不是完全线性关系(图中实线),当系统允许时,可以将其近似地看成线性关系(图中虚线).因此也就可以看成电机电枢电压Ua与占空比D成正比,改变占空比的大小即可控制电机的速度。由以上叙述可知:电机的转速与电机电枢电压成比例,而电机电枢电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快,当占空比1时,电机转速最大。三、FPGA与硬件描述语言在本章中首先介绍FPGA的基本知识,以及所要涉及的芯片;在此基础上介绍设计中需要应用的硬件语言,以便使下面的设计更加完整,并方便阅读。3.1现场可编程逻辑器件在现场可编程逻辑器件领域,目前主要的产品主要分为3大类.(1)基于SRAM编程的FPGA所谓基于SRAM编程的FPGA,从结构上而言,主要是由3个部分组成:可编程逻辑块(CLB)、可编程输入/输出模块IOB和可编程内部连线Pl组成.(2)基于PROM或EEPROM编程的CPLD基于EPROM或EEPROM编程的CPLD,主要由可编程I/O模块、可编程逻辑单元模块(LB)、可编程布线池(PIA)组成。其特点是:芯片功能的定义是由阵列分布EPROM或EEPROM型的下拉MOS开关来控制。(3)基于一次性编程的反熔丝FPGA反熔丝FPGA的主要特点是功耗低,布线通路丰富,逻辑元件粒度小。另一方面,众所周知,采用反熔丝技术的FPGA尽管具有许多优点,但是却有一个致命的弱点,也就是只能进行一次性编程,这就为大规模FPGA产品的开发带来了许多不便。为了弥补这一不足,近年来,一种新型的集高密度、低功耗、非易失性和可重新编程于一身的非易失性、可重新编程的门阵列已经推向市场。(4)FPGA未来发展方向以FPGA、CPLD为代表的现场可编程逻辑电路的主要发展方向是:为了迎接系统级芯片时代,向着密度更高、速度更快、频带更宽的数百万门超大规模的方向发展。为了方便用户设计和特殊功能的应用,向着嵌入通用或者标准功能模块方向发展.为了适应全球环保潮流,向着低压、低功耗的绿色组件方向发展3。3。2硬件描述语言设计方法3。2。1硬件描述语言发展概况硬件描述语言(Hardware Description language)是硬件设计人员和电子设计自动化(EDA)工具之间的界面。其主要目的是用来编写设计文件建立电子系统行为级的仿真模型,即利用计算机的巨大能力对用Verilog HDL或VHDL建模的复杂的数字逻辑进行仿真。然后再自动综合从而生成符合要求且在电路结构上可以实现的数字逻辑网表(Netlist),根据网表和某种工艺的器件自动生成具体电路.然后生成该工艺条件下这种具体电路的延时模型,仿真验证无误后,用于制造ASIC芯片或写入EPLD和FPGA器件中5。在EDA技术领域中把用HDL语言建立的数字模型被称为软核(soft core),把用建模和综合后生成的网表称为固核(Hard core),对这些模块的重复利用不仅缩短了开发时间,而且还提高了产品开发率和设计效率8.3。2.2EDA简要介绍20世纪后半期,随着集成电路和计算机的不断发展,电子技术面临着严峻的挑战。由于电子技术发展周期不断缩短,专用集成电路(ASIC)的设计面临着难度不断提高与设计周期不断缩短的矛盾.为了解决这个问题,必须采用新的设计方法和使用高层次的设计工具。在此情况下,EDA(Electronic Design Automation,电子设计自动化)技术应运而生。EDA技术就是以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以可编程器件为实验载体,以ASIC、SOC芯片为目标器