基于FPGA的PCI接口运动控制卡的研究.doc

上传人:文****钱 文档编号:43652 上传时间:2018-05-10 格式:DOC 页数:82 大小:1.07MB
下载 相关 举报
基于FPGA的PCI接口运动控制卡的研究.doc_第1页
第1页 / 共82页
基于FPGA的PCI接口运动控制卡的研究.doc_第2页
第2页 / 共82页
基于FPGA的PCI接口运动控制卡的研究.doc_第3页
第3页 / 共82页
基于FPGA的PCI接口运动控制卡的研究.doc_第4页
第4页 / 共82页
基于FPGA的PCI接口运动控制卡的研究.doc_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、四川大学副教授控制理论与控制工程计算机控制与管理年月日培养单位指导老师专业研究方向授予学位日期题目基于FPGA的PCI接口运动控制卡的研究作者完成日期2013年5月20日四川大学硕士学位论文四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究1基于PCI的嵌入式运动控制系统的研究控制理论与控制工程专业研究生指导教师制造业是一个国家工业的基础,而制造技术又是制造业的技术支柱,制造业水平的高低是衡量一个国家工业发达程度的重要标志。以传统机电工业为代表的制造业,正经历着深刻的变革。在这场革命中,大力发展先进的制造技术已成为各国最重要的几大技术战略之一,先进制造技术已经是国际竞争与产品革新的一

2、种重要手段。数控技术是用数字信息对机械运动和工作过程进行控制的技术,是先进制造技术的基础,是发展新兴高新技术产业和尖端工业的最基本的装备,是制造业现代化的重要基础,这个基础牢固与否将直接影响到国家的经济发展和综合国力,关系到国家的战略地位。运动控制器是以中央逻辑单元为核心,以传感器为信号敏感元件,以电机/动力装置和执行单元为控制对象的一种控制装置。对于数控系统来说,最重要的是控制各个电机轴的运动,这是运动控制器接收并依照数控装置的指令来控制各个电机轴运动从而实现数控加工的,数据加工中的定位控制精度、速度调节的性能等重要指标都与运动控制器直接相关。目前对数控系统的研究都集中在插入PC的NC控制器

3、的研究上,而其核心部分就是对步进、伺服电机进行控制的运动控制卡的研究。对PCNC来说,运动控制卡的性能很大程度上决定了整个数控系统的性能,而微电子和数字信号处理技术的发展及其应用,使运动控制卡的性能得到了不断改进,集成度和可靠性大大提高。本课题通过对运动控制技术的深入研究,并针对国内运动控制技术的研究起步较晚的现状,结合当前嵌入式领域的具体需要,紧跟当前运动控制技术研究的发展趋势,吸收了数控技术和相关运动控制技术的最新成果,提出了基于四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究2PCI和FPGA的方案,研制了一款比较新颖的、功能强大的、具有很大柔性的四轴多功能运动控制卡。本课题

4、的具体研究主要有以下几方面首先,通过对运动控制卡及嵌入式系统等行业现状的全面调研,和对运动控制技术的深入学习,在比较了几种常用的运动控制方案的基础上,提出了基于FPGA的运动控制设计方案,并规划了板卡的总体设计。其次,根据总体设计,规划了板卡的结构,详细划分并实现了FPGA各部分的功能;利用光电隔离原理设计了数字输入/输出电路。再次,利用FPGA的资源实现了PCI从设备接口,达到跟控制卡通信的目的,针对运动控制中的一些具体问题,如运动平稳性、实时控制以及多轴联动等,在FPGA上设计了四轴运动控制电路,定义了各个寄存器的具体功能,设计了功能齐全的加/减速控制电路、变频分配电路、倍频分频电路和三个

5、功能各异的计数器电路等,自动降速点运动、A/B相编码器倍频计数电路等特殊功能。最后,进行了本运动控制卡的测试,实现了全数字测速在本运动控制卡中的应用,从测试和应用结果来看,该卡达到预期的要求。关键词PCI数控运动控制卡FPGA四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究3THERESEARCHOFMOTIONCONTROLBOARDBASEDONFPGACANDIDATESUPERVISORMOTIONCONTROLLERMCISACONTROLDEVICETHATREGARDSITSCENTRALLOGICUNITASTHECORE,SENSORASTHESENSITIVEC

6、OMPONENT,ANDELECTROMOTOROREXECUTIVEUNITASTHECONTROLLEDOBJECTMCISVERYIMPORTANTINTHEONCS,BECAUSEITISTHEMOSTIMPORTANTTOCONTROLTHEMOVEMENTOFTHEMOTOROFEACHAXISINTHENCSYSTEMANDTHEPRECISIONOFPOSITIONCONTROLANDPERFORMANCEOFVELOCITYADJUSTINGAREDIRECTLYRELATEDTOMCINTHEPRESENT,ALLOFTHERESEARCHESOFONCSFOCUSONTH

7、ATOFTHEPCBASEDNCCONTROLDEVICE,WHOSEKEYISTHERESEARCHOFMOTIONCONTROLBOARDMCBWHICHISUSEDTOCONTROLSTEPPINGORSERVOMOTORTOPCNC,INSOMEDEGREE,THEPERFORMANCEOFMCBDECIDESTHATOFTHEWHOLENCSYSTEM,FURTHERMORE,THEDEVELOPMENTANDAPPLICATIONOFTECHNOLOGYOFMACROELECTRONICSANDDIGITALSIGNALPROCESSINGCONTINUOUSLYIMPROVETH

8、EPERFORMANCEOFMCBANDGREATLYINCREASETHELEVELOFINTEGRATIONANDDEPENDABILITYDURINGTHERESEARCH,THROUGHTHEOVERALLSURVEYOFONCSANDDEEPSTUDYOFMOTIONCONTROLTECHNOLOGYMCT,FACINGTHEBEHINDHANDACTUALITYOFRESEARCHOFDOMESTICMCT,TOMEETTHEPRACTICALREQUIREMENTSOFTHELASERCARVINGFIELD,FOLLOWINGTHEDEVELOPINGTRENDOFTHEPRE

9、SENTMCT,DRAWINGONTHENEWPRODUCTIONOFTHEPRESENTONCSANDRELATINGMCT,BRINGINGFORWARDTHESOLUTIONBASEDONFPGA,WEHAVEDEVELOPEDAFOURAXISMULTIFUNCTIONALMCBWHICHISVERYORIGINAL,POWERFULANDFLEXIBLEINTHEPAPER,THEREARETHEFOLLOWINGMAJORCONTENTSFIRSTLY,THROUGHTHEOVERALLSURVEYOFONCS,EMBEDDEDSYSTEMANDMCB,AND四川大学硕士学位论文基

10、于FPGA的PCI接口运动控制卡的研究4DEEPSTUDYOFMCT,AFTERCOMPARINGTHECOMMONSOLUTIONSOFMOTIONCONTROL,WEBROUGHTFORWARDTHESOLUTIONOFMOTIONCONTROLBASEDONFPGA,ANDMADEOUTTHEWHOLEDESIGNSOLUTIONOFBOARDSECONDLY,ACCORDINGTOTHEWHOLEDESIGNSOLUTION,WEFIGUREDOUTTHEWHOLEARCHITECTUREOFBOARD,ANDPLOTTEDOUTANDIMPLEMENTEDTHERESPECTIVEF

11、UNCTIONOFFPGAINDETAILFURTHERMORE,WEDESIGNEDDIGITALINPUT/OUTPUTCIRCUITACCORDINGTOTHEPRINCIPLEOFPHOTOELECTRICITYISOLATION,FOURCHANNELANALOGOUTPUTCIRCUITBYTHEPRICIPLEOFDACANDPUTFORWARDEFFECTIVEANTIJAMMINGMEASURESINALLUSIONTOCOMMONJAMMINGPHENOMENATHIRDLY,INALLUSIONTOSOMEPRCATICALPROBLEMSINTHEMOTIONCONTR

12、OL,SUCHASHIGHSPEED,HIGHPRECISION,MOTIONSTABILIZATION,REALTIMECONTROLANDMUTIAXISCONTOURINGCONTROL,ETC,WEDESIGNEDAFOURAXISMCBINTHEFPGAWEDEFINEDTHEFUNCTIONSOFALLOFTHEREGISTERSINDETAIL,DESIGNEDPERFECTACCELERATION/DECELERATIONCONTROLCIRCUIT,VARIABLEFREQUENCYDIVIDERCIRCUIT,MULTIPLICATIONFACTORFREQUENCYDIV

13、IDERCIRCUITANDTHREEDIFFERENTCOUNTERCIRCUITS,ACHIEVEDSPECIALFUNCTIONSOFTHESCURVEACCELERATION/DECELERATIONCONTROL,RAMPINGDOWNPOINTCOUNTER读启动,此时侯(配置读,IO读,存储器读),这个表格不讨论有除控制卡以外PCI从设备的信号状态,同时这些信号都是刚进入状态机各个状态时第一个CLK上升沿的状态状态机状态STOP信号状态FRAME信号状态TRDY信号状态IRDY信号状态DEVSEL信号IDSELCBE30AD310备注IDEL1111110X可能别的设备在访问DE

14、V_ST1101101命令地址IDSEL只在配置读写命令有效CFG_RD_ST1101000XCFG_RD_ST2100000协议数据这个状态读数据STOP_ST1001100CFG_RD_ST31或者011100读状态机的各个状态转换图以及状态转换条件如下四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究28写状态机TYPECFG_WR_STATEISIDLE2,DEV_ST2,CFG_WR_ST1,CFG_WR_ST2,CFG_WR_ST3,STOP_ST2当写启动时候有可能是(配置写,IO写,存储器写),这个表格不讨论有除控制卡以外PCI从设备的信号状态,同时这些信号都是刚进入

15、状态机各个状态时第一个CLK上升沿的状态状态机状态STOP信号状态FRAME信号状态TRDY信号状态IRDY信号状态DEVSEL信号IDSELCBE30AD310备注IDEL21XXXXXXX可能别的设备在访问总线DEV_ST2101100命令地址IDSEL只在配置读写命令有效四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究29CFG_WR_ST1101001XXCFG_WR_ST2100001协议数据这个状态写数据STOP_ST2001101XXCFG_WR_ST31或者011101XX写状态机的各个状态转换图以及状态转换条件如下四川大学硕士学位论文基于FPGA的PCI接口运动控

16、制卡的研究30PCI接口配置空间的实现配置空间是PCI所特有的一种空间,其目的在于提供一套适当的配置措施,使之满足现行的和可预见的系统配置机构。配置空间是一长度为256字节并且有特定记录结构的地址空间,可以在系统自举时访问,也可在其他时间访问。该空间分为首部区和设备有关区两部分,设备在每个区中只须实现必要的和与之相关的寄存器。配置空间的基地址寄存器提供了一种为设备指定存储空间或I/O空间的机制。操作系统在启动的时候要判断系统中有多少存储器、系统中的I/O设备需要多少地址空间,然后根据得到的结果,自动配置系统的存储空间和I/O空间,实现设备无关管理。在本设计中,那些只读的配置寄存器通过硬件连线到

17、相应的值,因而不占用宏单元。通过配置寄存器,配置软件可了解目标设备的存在、功能及配置要求。1厂商ID此16位的只读寄存器定义了设备的生产厂商,可以使用MACH芯片最初的生产厂商AMD公司的ID值1022。2设备ID该值由生产厂商分配以识别其产品,可为除00000000H和0FFFFFFFFH中的任意值。3命令寄存器此寄存器控制了设备响应PCI访问的能力。位1、6、8在本设计中被实现。本设计要求实现对存储空间的访问,位1设置为1,则设备响应PCI对存储器访问;位6控制了设备对奇偶校验错误的响应;当位8被设置为1时,设备能够驱动SERR线,0则禁止设备的SERR输出驱动器。在这里当系统复位后,位1

18、、6、8被设置为0。4状态寄存器此寄存器记录了PCI相关事件的信息。在本系统中,位9、10、11、14、15被设计实现。位109为设备选择DEVSEL定时,00B为慢速,01B为中速,10B为快速,11B保留。本设计这两位被硬件连线为01B。当目标设备失败时,位11被设置为1,当发生系统错误时位14置1,发生奇偶校验错误时位15置1。5基地址寄存器该寄存器用来映射设备的存储器地址空间,与设备地址空间大小相应的低位被强制为0,因此在配置写交易中,配置软件通过对这个寄存器的所有位写1,然后再读出该寄存器的值来决定设备存储器所占用的地四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究31址

19、范围。位0用来定义设备是存储器映射还是I/O映射,在本设计中,位0被设为低以表明目标设备为存储器映射的。如需要256字节的存储空间,配置软件写入0FFFFFFFFH,本设备送出0FFFFFF00H,而配置软件再次写入基地址寄存器的值与本设备的0FFFFFF00H相与的结果就是基地址值,如配置软件再次写入0CD000000H则基地址值为0CD000000H。6类代码寄存器这个24位的只读寄存器用来说明设备的基本功能和它的可编程接口。这里,此寄存器被强制为018000H,即设备为大容量存储控制器。7首部类型寄存器这个只读寄存器的位06定义了首部格式,位7说明了设备为单功能还是多功能。首部类型1为P

20、CIPCI桥定义,首部类型2则用于PCICARDBUS桥。在本设计中寄存器被强制为0来显示其为单功能设备且首部类型为0。另外需要注意的一个信号是PAR,它是奇偶校验位,这个位在主设备从控制卡读数据时候必须由控制卡驱动,任何从设备都必须实现这个信号,这个信号是针对CBE30和AD310求奇偶校验写数据的时候四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究32选择器当前位置计数器(R10_PPC)编码器选择器EC_AEC_BPOUTPDIRRCP1_IOCP2_IO加减速控制电路(ADCC)变频分配电路(VFDC)倍率因子分频电路(MFFDC)脉冲输出电路EC_ZORG_EC_Z用于精

21、确回零EC_Z_C计数器RESETRDWRCSA3A0D_IN150D_OUT150命令缓冲器状态缓冲器R0R1R2R3R4R5R6R7R10R11R12R13R14R15R16R17与顶层设计接口和控制电路部分自动降速点计数器R6_RDP预置计数器R0_PC比较器LT图41MCM总体结构4基于FPGA的运动控制模块(MCM)41MCM总体结构本运动控制卡设计为四轴卡,每个轴的所有功能完全相同,即相当于四个完全独立的专用运动控制模块34MOTIONCONTROLMODULE,为了叙述方便,下面以所设计的运动控制模块MCM来介绍一个轴的主要功能。结合图41,MCM采用模块化的设计思路,从功能上大

22、致分为以下几部分1寄存器模块选择和读写命令缓冲器、状态缓冲器(写命令、读状态)和参数寄存器;2速度模式模块在MCM中实现两种加/减速模式梯形加/减速、S曲线加/减速模式;3脉冲产生电路模块包括加减速控制电路ADCC、变频分配电路VFDC和倍率因子分频电路MFFDC;四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究334编码器模块在此模块中,对两相编码器反馈信号AEC_和BEC_进行了详细分析;5计数器模块设计了三个功能各异的脉冲信号计数器预置计数器R0_PC、自动降速点计数器R6_RDP和当前位置计数器R10_PPC;6操作模式模块实现了三种工作模式连续模式、预置模式、回零模式(只

23、使用回零信号ORG回原点,以及回零信号ORG与编码器ZEC_信号相结合实现高精度回零)。当某个轴片选信号CS0时,则当前轴MCM被选中,通过接口电路,PC机可以对这个轴进行以下操作1写命令或读状态,可以对选中的参数寄存器读写数据;2根据写入的启动模式命令,可以启动或停止发脉冲,急停或缓停,以及停止时是否输出中断信号;3确定运动模式常速、梯形升降速、S曲线升降速;4可以选择运动方向正向或负向,5选择输出脉冲频率LF、1HF或2HF;6打开或关闭自动降速点计数器和当前位置计数器;7根据写入的控制模式命令,能够选择回零ORG、减速SD和预置模式是否有效;8写入R12和R13的参数,可以确定编码器差分

24、信号AEC_和BEC_的倍率因子、当前位置计数器计数信号类型(输出脉冲或外部输入信号)、在自动降速模式下是否输出中断信号INT、设置的编码器回零信号ZEC_的计数范围、启动计数EC_Z信号的时刻(是打开SD还是ORG的时刻)、选择回零模式(只用ORG信号、ORG信号与ZEC_信号相配合的高精度精确回零)等。四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究3442寄存器模块421寄存器寻址表41MCM地址分配寄存器类型A4A3A2A1A0地址范围读写方式位数R01000010H读写32R11000111H读写13R21001012H读写13R31001113H读写13R4101001

25、4H读写16R51010115H读写16R61011016H读写32R71011117H读写20R101100018H读写32R111100119H只读13R12110101AH读写24R13110111BH读写24R14111001CH读写24R15111011DH读写13R16111101EH只读或读写24R17111111FH读写32如表41所示,寄存器寻址分为两大类一类是当A40时选择命令缓冲器和状态缓冲器;另一类是当A41时选择参数寄存器R0R7和R10R17。当A41时,具体是哪个参数寄存器再由A3A0译码决定。它们的具体功能和定义请参考以下两小节。422参数寄存器参数寄存器用于存

26、储速度参数(脉冲频率、脉冲输出数等)和用于扩展功能的设置。为了对寄存器进行读写,必须先对地址总线译码来选择寄存器。1寄存器R0,预置输出脉冲数将输出位置的脉冲数写入寄存器R0。一旦输出完预置脉冲数,MCM将停止四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究35发脉冲。2速度参数寄存器R1、R2、R3,脉冲频率LF、1HF、2HF把脉冲频率LF、1HF、2HF所对应的速度参数分别写入寄存器R1、R2、R3寄存器。在变速操作中,频率LF将作为加速的起始值和减速的目标值,而频率1HF或2HF是加速的目标值,到达高速后按此频率常速运行直到开始减速,使用启动模式命令选择脉冲频率1HF或2H

27、F。注意,实际的输出脉冲频率等于寄存器R1、R2、R3与寄存器R7确定的倍率因子的乘积。3寄存器R4、R5,加/减速频率将加、减速频率分别写入寄存器R4和R5,在变速操作中用作加、减速频率。注意,如果自动降速点设置功能有效,则将按寄存器R4中的频率来进行减速。4寄存器R6,自动降速点将变速或定位操作中的减速起点写入寄存器R6。如果自动降速点设置功能无效,则将减速所需的脉冲数写入此寄存器中;反之,则写入0或偏移量。5寄存器R7,倍率因子参数将与寄存器R1、R2和R3相乘的倍率因子参数写入寄存器R7,以便确定输出脉冲频率的大小。6寄存器R10,当前位置计数器MCM有一个当前位置计数器(控制位置的增

28、/减计数器)。寄存器R10作为计数器允许对其进行读写。7寄存器R11,当前脉冲频率监视器此只读寄存器允许监视MCM正在输出的脉冲频率的参数。注意,被监视的值是写入R1、R2和R3寄存器中的参数,而不是这些参数与寄存器R7决定的倍率因子的乘积。8寄存器R12、R13,扩展功能模式1和扩展功能模式2寄存器R12用于设置当前位置计数器、输出脉冲、降速点INT信号等参数;寄存器R13用于设置输入ALM信号、Z相信号精确回零、输入ORG信号等参数。9寄存器R14、R15,S曲线加/减速部分R14的低12位D11D00为S曲线段长的设置值,高10位D23D14作四川大学硕士学位论文基于FPGA的PCI接口

29、运动控制卡的研究36为S曲线累加器的起始值。如果想在S曲线加速过程中得到中间直线加速,则用寄存器R14的低12位D11D00在加速的起点和终点设置成S曲线段。如果想在S曲线减速过程中得到中间直线减速,则用寄存器R15在减速的起点和终点设置成S曲线段。10寄存器R16,命令缓冲监视器用来监视写入到命令缓冲器中的内容。11寄存器R17此寄存器为空,用于具体领域时再具体设置。423命令和状态缓冲器命令和状态缓冲器占用相同的地址,写操作是将命令写入命令缓冲器中,读操作是从状态缓冲器中读出内部的实时工作状态。1命令缓冲器命令缓冲器共32位,四个轴的低24包括启动模式、控制模式、输出模式三类命令,每轴的最

30、高8位没有定义,供以后其它应用定义。为了操作MCM,需要通过32位数据总线将命令和参数写入到命令缓冲器和参数寄存器中。MCC提供命令缓冲器来保存每类命令的内容,并且将此保留到下一个命令写入为止。每个命令不仅是个代码而且还能通过位提供控制功能。写入启动模式命令来启动MCM发脉冲。因此,最迟在参数寄存器设置完成后要写入启动模式命令。其它类型的命令可以在需要时写入。除了命令缓冲器,MCM还提供了扩展模式寄存器R12和R13。其它控制模式输出模式控制模式启动模式D31D24D23D16D15D8D7D01启动模式命令(STARTMODE)D7D6D5D4D3D2D1D000I脉冲频率选择位D1D0D1

31、D0对应寄存器0XR1四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究3710R211R3根据写入D1D0的值选择R1、R2、R3,来确定输出的脉冲频率。输出脉冲频率是这些寄存器中的参数和由R7决定的倍率因子的乘积。II速度模式位D2当D2置0时,MCM将按由D1D0确定的固定频率输出脉冲,即常速模式。当D2置1时,MCM输出频率,从LF开始增加到HF以及在停止前频率由HF减小到LF,即变速模式。III启动、停止控制位D4D3D4D3对应功能01立即停止10MCM发脉冲11实现缓停,即减速停止IV停止时的INT输出位D5将D5置1,当MCC停止发脉冲时,将输出信号INT。将D5置0

32、使信号INT复位。同样,如果在脉冲停止时要屏蔽信号,也使D5置0。当寄存器R12的D13置1时,在降速点时MCM输出中断信号。注意这里的频率LF、1HF、2HF是输出脉冲频率(等于寄存器R1、R2、R3的频率参数和由R7值决定的倍率因子的乘积)。2控制模式命令(CONTROLMODE)D15D14D13D12D11D10D9D801IORG信号控制位D8将D8置1,使ORG处于低电平将立即终止MCM发脉冲。此功能用于回零。另外ORG信号和Z相信号的结合使用也可实现回零。将D8置0,ORG将不起作用,但可以检查状态缓冲器中ORG信号置0或1的状态。IISD信号控制位D9四川大学硕士学位论文基于F

33、PGA的PCI接口运动控制卡的研究38在变速运动中,将D9置1,当在移动方向上SD处于低电平时,输出脉冲频率将从FH降到FL,并且MCM将保持以频率FL发脉冲;将D9置0,SD信号将不起作用。III预置模式操作位D10将D10置1,且需要输出的脉冲数已写入到预置寄存器R0中时,启动模式命令将启动MCM发脉冲,同时每输出一个脉冲使预置数递减1。当计数器减小到0时,停止发脉冲。如果将D10置0,虽然预置计数器减小,但当计数器减到0时MCM却不停止发脉冲。IV移动方向位D11将D11置0选择正方向运动;置1选择负方向运动。V自动降速点设置位D12将D12置0,将降速点写入寄存器R6中;在变速运动时,

34、将D12置1,在加速和以高速频率FH输出脉冲过程中,将自动计算降速点。如果寄存器R6中有数值,此数值将作为自动计算的值作为降速点。VI当前位置计数器位D13当D13置1,每输出一个正向脉冲,当前位置计数器加1;每输出一个负向脉冲,它减1;置0,当前位置计数器将不计数。3输出模式命令(OUTPUTMODE)232221201918171611I脉冲输出模式位D17当D17置0选择普通脉冲模式,POUT将输出脉冲,而PDIR脚输出方向信号,方向信号为高电平时表示正方向,为低电平时表示负方向;置1选择双脉冲模式,POUT将输出正方向脉冲,而PDIR脚输出负方向脉冲。4其它控制模式(OTHERMODE

35、)3130292827262524根据具体应用现场,设置该最高8位值,一般情况置“0”。2状态缓冲器状态缓冲器和命令缓冲器占用同一地址段,可以从32BIT状态缓冲器,读四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究39取内部信号的状态。1停止脉冲输出的中断信号D0和启动降速的中断信号D1如果这两个中断原因都有效,则可以检查到哪一个原因引起的中断。信号SD的开关状态D3D2、信号FUPD4、信号FDOWND5和信号LTD6可以检查到这些信号的开关状态。如果信号SD控制无效,可以检查到此信号的状态。2脉冲输出D7当不考虑方向、输出模式和逻辑设置时,可以检查脉冲输出的开关状态。3停止原

36、因D14D8将MCM停止发脉冲时的信号锁存到D14D8中。通过检查这些状态位,可以判断是哪一个原因使MCM停止发脉冲。锁存的内容直到下一次停止时才改变。数据位MCM停止发脉冲的原因D81信号ELD91信号ELD101信号ORGD111预置模式操作的完成D121停止命令D131ALM信号D141CLR(急停命令)4信号ALMD15根据由R13的D13设置的输入逻辑,可以检查到信号ALM的开关状态。5ZEC计数器的值(D19D16)可以检查用于回零的ZEC计数器的值。通常情况下,该计数器的值是由R13的D19D16位来设置。当信号SD或ORG(由寄存器R13的D20来决定)有效时,每个信号ZEC都

37、将使计数器递减计数。当计数器减到0时,下一个信号ZEC将使MCM停止发脉冲,从而完成回零。之后,计数器复位到由R13的D19D16设定的值。四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究406信号ZECD20根据R12的D12设定的输入逻辑,可以检查信号ZEC的开关状态。7位ELD24、ELD25、ORGD26的状态通过读这几位,可以监视这些位的状态。8预置计数器状态R0D27、输出脉冲频率状态D29和脉冲输出状态D30这些位和下列管脚表示同一状态D27(预置计数器R0状态)输出脚ZEROD29(输出脉冲频率状态)输出脚FKEEPD30(脉冲输出状态)反相的输出脚HOLD状态9信

38、号INT输出状态D31位D31(信号INT输出状态)的状态和INT输出位一样。43速度模式模块MCM提供了下列两种加/减速模式图形中各参数之间的关系决定的倍率因子是由或或或或732,115115321432141321RMFFFRRRRMRFMRRFMRRRFMRRRFMRRFMRRFMRFHLDLDHUHULHL1梯形曲线加/减速如果寄存器R14和R15设置为0或大于(R2或R3R1)/2,则此模式就初FFHFFLT1T2T图42梯形曲线脉冲输出FFHFUHFDHFFULFDLFLT1T2T图43S曲线脉冲输出四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究41始化了。此模式的加

39、/减速率从头到尾是不断改变的,如图42所示。2S曲线加/减速如果寄存器R14和R15设置大于0且小于(R2或R3R1)/2,则此模式就初始化了。在此模式中,在开始和结束处是S曲线加/减速部分,而在中间是直线加/减速部分,如图43所示。脉冲输出模式取决于寄存器R1R7、R14和R15中的参数。另外,如果在预置模式操作中的移动量太小,则最大脉冲频率自动降低到光滑的S曲线加/减速所允许的范围内。在这种情况下,移动量越小,则直线加减速部分越短,而且如果没有直线部分,则S曲线更短。也就是说,对于带有中间直线部分的加减速设置,较小的移动量除去了直线部分。431倍率因子参数将倍率参数写入寄存器R7中,范围是

40、21,048,575(FF,FFFHEX)之间。此参数将决定寄存器R1、R2和R3中的脉冲频率的倍率因子M。倍率因子越大,则可选的脉冲频率分辨率越低。因而,通常使用较小的倍率因子。R7和倍率因子M之间的关系如下方程所示32768760327682715RRCLKMRFMHZCLKMCLKHZR输出脉冲频率在本设计中倍率因子参考时钟432脉冲频率LF、1HF、2HF将输出频率LF、1HF、2HF所对应的参数,写入到寄存器R1、R2、R3中,范围是18191(1FFFHEX)之间。输出脉冲频率LF、1HF、2HF分别等于R1、R2、R3乘以由R7值决定的倍率因子,LF用于常速操作或变速操作的起点和

41、终点,1HF或2HF用于常速操作或变速操作的高速点。对于变速操作,脉冲频率1HF或2HF应该大于脉冲频率LF。MFPPSRL倍率因子输出脉冲频率1,R2、R3和1HF或2HF,也有同样的关系。四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究42433加速、减速参数寄存器R4、R5将最大加速、减速参数分别写入到寄存器R4、R5中,范围是165,535(F,FFFHEX)之间。如果自动降速点功能有效,R5中的参数不起作用,而R4中的参数用于减速。在寄存器R4值和最大加速频率ASU(PPS)之间的关系如下方程所示SUACLKMASUHZR最大加速频率参考时钟,倍率4在寄存器R5值和最大减

42、速频率ASD(PPS)(此处,ASD是实际减速的绝对值)之间的关系如下方程所示SDACLKMAHZRSD最大减速频率参考时钟,倍率5434S曲线加速部分寄存器R14将S曲线加速部分写入到寄存器R14中,范围是14,095(FFFHEX)。参考图33,S曲线加速是从FL到MLFR14和从MHFR14到FH。并且中间部分为直线加速部分。如果R14设置为0(缺省值),S曲线加速将根据2LHFF来形成且没有中间直线加速。为了得到直线加速部分,将寄存器MFFRLH2114。在R14和S曲线加速部分(PPS)之间的关系如下方程所示倍率曲线加速部分PPSSR14435S曲线减速部分寄存器R15将S曲线减速部

43、分写入到寄存器R15中,范围是14,095(FFFHEX)之间。参考图33,S曲线减速是从FH到MHFR15和从MLFR15到FL,并且中间部分为直线减速部分。如果R15设置为0(缺省值),S曲线减速将根据2LHFF来形成且没有中间直线部分的减速。为了得到直线减速部分,将寄存器四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究43MFFRLH2115的值。R15和S曲线减速部分PPS之间的关系如下方程所示倍率曲线减速部分PPSSR15436加/减速时间根据写入寄存器R1R5、R14和R15中的值,可以得到加速、减速时间。此方程根据加速、减速的模式不同而不同,如下1梯形加、减速CLKR

44、RRHZRRRSTSU412412参考时钟加速时间CLKRRRHZRRRSTSD512512参考时钟减速时间2带有中间直线部分的S曲线加、减速3441412CLKRRRRSTSU加速时间3541512CLKRRRRSTSD减速时间如果R3用作操作脉冲频率的寄存器,则用R3代替R2。同样,如果自动降速点设置功能有效,由于应该用R4值代替R5值作为减速频率,所以计算减速时间时用R4替代R5。437自动降速点对于预置模式的变速操作,将降速点(停止前的脉冲输出数)写入寄存器R6,范围是04,294,967,295FF,FFF,FFFHEX。MCM提供了自动降速点设置功能,由控制模式命令将该功能设置为有

45、效或无效。如果此自动降速点设置功能有效,R6值偏离自动设置的值。结果,正值提前启动降速点,而负值延迟降速点。对于自动设置,用清零命令使寄存器R6四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究44复位,然后将降速点写入到寄存器R6,范围是(2,147,483,64880,000,000HEX2,147,483,64877F,FFF,FFFHEX。如果自动降速点设置功能无效,写入寄存器R6中的自动降速点用法如常。对于自动降速点设置功能的正常操作,从加速起点到减速起点的时间TSDB应该大于或等于减速时间TSD。一般地,R14值应该大于或等于R15的值。对于自动降速点的手工设置,使用下列

46、过程可得到写入寄存器R6的值。如果使用脉冲频率FH2,在下列方程中用R3替代R2。1不带S曲线的梯形加/减速S1升速过程中降速点计数器R6累计的脉冲数1622274126RRRRR降速点2保证梯形脉冲输出模式如果移动量太小,加速达不到脉冲频率FH,因而导致三角模式。使用下列方程保证梯形脉冲输出模式1622275412RRRRR冲数梯形模式所需的最小脉2带S曲线的梯形加/减速1升速过程中降速点计数器R6累计的脉冲数在R1、R2、R4、R7完全相等的情况下,为了确保使不带S曲线的梯形升速时间与只有S曲线中间没有直线部分的梯形升速时间相等,在FPGA内部做了一下处理增加一个变量1614RINIT表4

47、2升降速过程中的两个S曲线段、中间直线段低速S曲线段中间直线段高速S曲线段升速R1R1R141R1R14R2R141R2R14R2INITR14INIT1INITR141INIT降速R1R151R1R1R15R2R151R21R2R15R15INIT1INITINITINITR141升速过程中的低速S曲线段四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究45162711RNRCLKMRFNRRR输出脉冲频率变速过程的速率参数RRRRRTFNFNINITINITRCLKRTF发脉冲所发出的脉冲数以发脉冲的时间以1434114016114016114032714411434271RNR

48、NRNRRUSLNINITRINITRRNRNINITINITRCLKRRNRCLKTFN总脉冲数升速过程中的中间直线段CLKRTFRRCLKMRFRRR342716发脉冲的时间以输出脉冲频率RRRTFNF发脉冲所发出的脉冲数以114214116114214116114214132743427RRRRRRRRRRRRRRRRRULRRRCLKRRRCLKTFN总脉冲数升速过程中的高速S曲线段1627142142RNRRCLKMRFNRRRR输出脉冲频率变速过程的速率参数RRRRRTFNFNINITRINITRCLKRTF发脉冲所发出的脉冲数以发脉冲的时间以11414341140161140161140114327144142114143427142RNRNRNRRUSHNINITRRINITRRNRRNINITRINITRCLKRRNRRCLKTFN总脉冲数USHULUSLNNNR6升速中的总脉冲数,即2保证梯形脉冲输出模式四川大学硕士学位论文基于FPGA的PCI接口运动控制卡的研究46如果移动量太小,加速达不到脉冲频率FH,因而导致三角模式。使用下列方程保证梯形脉冲输出模式按照与升速过程相

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。