基于FPGA多重电机转速的嵌入式测量系统毕业设计.doc_第1页
基于FPGA多重电机转速的嵌入式测量系统毕业设计.doc_第2页
基于FPGA多重电机转速的嵌入式测量系统毕业设计.doc_第3页
基于FPGA多重电机转速的嵌入式测量系统毕业设计.doc_第4页
基于FPGA多重电机转速的嵌入式测量系统毕业设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于fpga多重电机转速的嵌入式测量系统 摘要:在本文中,我们讨论了一种基于fpga测量电机转速的嵌入式数字测量系统。为了克服t方法和m方法的缺点,改进的m/t方法被采用。根据改进方法的原则,电机4个通道的转速信号被测量并且和pmc总线通讯。硬件系统由光电编码器、fpga核心芯片、pmc总线组成,软件系统由倍频模块、方向判断模块、速度测量模块和数据传输接口模块。这种组合以较少的硬件设备最大限度的利用了嵌入式技术和电机转速的测量元件。报告的最后给出了程序在quartus 2中的仿真分析。仿真的结果表明这种组合是有效的、可靠并且能够满足测量的要求。 关键词:fpga 光电编码器 嵌入式系统 电机转速测量1 简介电机转速是检查电机运行状态的重要参数和闭环速度控制系统的基本物理量。控制的准确性直接影响到测量的准确性。然而,在传统的转速测量系统中,寄存器、加法器、放大器以及其它可靠性和灵活性较差的存储电路经常被使用,因此它不可能反映实时情况下的转速。随着电子技术的迅速发展,高集成,高可靠性,高速的可编程逻辑设备fpga的广泛使用,它替代了大部分传统的逻辑电路。因此在本文中,介绍了一种基于fpga多重电机转速精确测量并且能和工业计算机通讯的嵌入式系统。2测量原理在电机方向判断系统中,有2种测量电机转速的方法:周期测量法(t法)和频率测量法(m法)。t法是测量两个相邻脉冲的时间间隔,通常在低速场合下使用;m法是测量在有限时间周期内的脉冲数目,通常在高速场合下使用。事实上电机转速改变很快,所以在旧系统中为了保持测量的精确使用转换开关来平衡两种方法。为了避免使用这种转换开关,人们经常使用可以在任何情况下使用的改进型m/t方法。 m/t方法的本质是使用一个高频脉冲作为标准信号,来保持通道是被测信号的整数倍,保证了与被测信号的同步,确保通道同时测量标准信号和被测信号。用m/t方法测转速的原理如图1所示。在图中,预先调整的门时间t是基于电机转速建立的。它的上升沿和下降沿用来控制2个用于标准信号和被测信号的计数器的启动和关闭。在实际测量中,为了提高测量的精度,2个计数器不在预先调整的门信号的上升沿启动,而是在被测信号的上升沿启动。此外,它们也不在预先调整的门信号的下降沿停止,而是在被测信号的下降沿停止。因此实际的门时间从t改变为tx,它是被测信号的整数倍。使用这种方法,在测量过程中产生的1错误将被剔除,因此,测量的精度大大提高。 根据以上分析,电机的转速由公式(1)、(2)计算所得。n1、n2是标准信号和被测信号的数目 f1是标准信号的频率基于m/t方法的原理,被测信号的频率f2由公式(1)计算; 公式(2)是转速计算公式,电机转速单位时r/min,p是转动1周时编码器的脉冲数目。= (1) = (2) 图1 m/t方法测量转速的原理 图2 系统结构3 系统结构总体系统的结构如图2所示。由信号产生和隔离模块,转速测量模块,数据传输模块三部分组成。第一个模块通过光电耦合器用来产生和隔离4个通道的信号。转速测量模块是整个设计系统的核心模块,主要工作是处理转速信号。这个模块包含倍频子模块、方向判断子模块等。第三部分是数据传输模块,主要用于主机和fpga芯片的数据传送。该系统的功能如下描述:1 为了选择4个通道中的一个信号来使用,主机通过pmc总线向fpga芯片发送控制字。2 在fpga芯片中,通过控制字选中的4路通道中的某一信号将被测量,测量结果保存在锁存器中,并且中断信号同时发送到pmc总线。3 主机响应中断请求,从锁存器中读出电机的转速。4系统硬件设计系统的硬件板块如图2所示。包括4通道光电编码器、4通道光电耦合器、pci9030桥接芯片、pmc总线、系统主要部分fpga芯片以及 altera公司飓风系列芯片 ep1c6q240c8。设计中,硬件板块中的pmc总线与工业计算机中的vem总线有关联,通过这种方法硬件模块能够和工业计算机通讯。因此pmc模块规范必须遵循设计中的硬件模块规范。与vme64x和pci协议相关的pmc总线是一种使用pci标准的电气和逻辑层的子模块。用于扩展适配器的pci9030芯片是plx公司的一款功能强大的接口芯片。在这个系统中,pci9030芯片如同一个桥梁,连接pmc总线和fpga芯片。pci9030芯片的一面是与pmc总线连接的pci局部总线,另一面是与fpga芯片连接的pci局部总线。pmc总线的读和写操作将通过设定pci9030当地寄存器的值转换为当地的地址空间操作,因此通过这种方法数据在fpga和pmc总线中传送很容易实现。5系统软件设计 vhdl硬件描述语言在altera quartus 发展环境中用于软件设计。如图2所示,在fpga芯片中,倍频模块、方向判断模块、转速测量模块、数据传输接口模块等系统的核心部分都由vhdl语言编程。 a电机信号倍频和方向判断由增量编码器产生的信号a、b、z如图3所示。信号a、b相位有90度的延迟,信号z在编码器转动一圈结束发送一个脉冲信号后即为零信号。每圈的脉冲数量和直接影响测量精度的编码器上的激光标记信号p数量相同。为了减少p带来的误差和提高测量精度,编码信号必须加倍放大。在本系统中,我们使信号a、b在一周内改变4次来产生4倍的频率信号,并由下一个转速测量模块来计数。图3也表明当电机正向转动时,信号a在信号b的上升沿是高电平,但当电机反向转动时,信号a在信号b上升沿是低电平。根据这种特征,在fpga中用vhdl语言来规划信号边缘的检测和电路的设计,同时时序仿真在进行。时序仿真如图4所示,表明输出信号“cnt”的频率是信号a和b的4倍,direct为高电平表明电机正向旋转。 图3 光电编码器的输出信号b转速测量模块 通过使用m/t方法来测量电机的转速时,这个模块是一个相当重要的模块。图5是这个模块的电路结构,频率分割模块产生4种频率信号,方向判断模块是电机方向信号“direct”, 以及这个模块的其他输出信号:频率信号“f2”,标准信号“f1”和复位信号“f3”。锁存器1和锁存器2用来保存计数器1,和计数器2的结果并且由“comp”模块产生门控制信号来控制。 图4 4 种频率的时序仿真和方向判断当系统开始工作,所有的计数器和锁存器将由“clr”信号置0,并且计数器1中的数据将和“comp”模块中的门数据比较。当计数器中的数据小于门数据时,“comp”模块将置“pq”到1,门信号有效。“pq”是触发器1的“d”引脚,4倍频率信号f2作为触发器1的时钟信号。触发器1的输出引脚“q”是计数器1和计数器2的使能引脚。在信号f2的上升沿来临时,计数器1、2的使能引脚被置0。该设计下,只有当门信号有效,且信号f2的上升沿来临时,计数器1、2才开始计数。当计数器中的数据大于门数据时,“pq”被改为0,门时间信号无效。计数器同样只有在门时间信号为0,且信号f2的上升沿来临时才停止计数。为了保护下一个门时间信号,复位信号f3的频率必须比标准信号频率要大。 图6是转速测量模块的时序仿真结果,门值被置为50,电机正向旋转设定为信号a领先信号b。图中表明2个计数器的使能信号“en”是实际的门信号,计数器和锁存器的启动都由信号“en”的上升沿和下降沿控制。输出信号“databz”和“datadc”的值正好是标准信号和被测信号在一个门时间周期内的数目。图5 转速测量模块的电路图 图 6 转速测量模块的时序仿真c 局部总线接口模块 局部总线接口模块的主要功能是读写pci9030芯片的局部总线和fpga内部模块之间的数据。由于4路通道中有8种测量信号,通道的选择由主要用来写控制字的写入操作来决定。读操作主要用于从锁存器到pci9030局部总线来读取电机的转速。局部总线的控制信号包括“adsl”、“lwrl”、“rdl”、“wrl”,“blastl”等。这些信号通过工业计算机中的软件操作变为有效。因此,通过读写操作工业计算机和fpga芯片之间的通讯可以实现。 读写操作接口模块用作状态机。该设计下,状态机包括4种状态:空闲状态、地址状态、读/写状态、复位状态,其中读/写状态又分为读状态和写状态。d 判断、计算和中断模块 判断模块的主要功能是判断从pmc总线传输来的控制字的d0d4位状态并且输送给相应通道标准计数和4倍计数到计算模块。基于公式(1)、(2),计算模块用于计算电机的转速。该设计下,因为电机的最高转速设定为3000r/min,所以只有低1 6位数据有效。该情形下,数据最高位d31位用于指示电机转动方向:搞电平表明电机正向旋转,低电平表示电机反向旋转。为了在工业计算机和fpga芯片中传输数据,采用中断。当选定通道的转速数据被写入锁存器中,中断引脚被置为0,并且低电平信号通过pci9030芯片被传送给cpu。e整个系统的仿真当系统中的部分模块结束,它们在头文件中合成,在quartus 中实时仿真。仿真结果如图7所示。激光标记p被设为1000,通道1和3中的电机转速被置为1200r/min,这表明被测信号的频率是20khz;通道2和4中的电机转速被置为600r/min,这表明被测信号频率是10khz。通道1和2中的电机转速方向是正向,通道3和4中的电机转速是反向。在仿真开始时,00000001h从pmc总线写入fpga,表明pmc总线将要操作通道1中数据。按照上述设定,从图中我们能够发现中断信号“lint”发出一个中断请求,表明从通道而来的转速数据已经锁存到寄存器中。当cpu响应中断时从总线读取数据时,数据800004b0h被传送到局部总线上。最高位是“1”意味着旋转方向是正向,数据4b0h表明电机转速是1200r/min。通过以上分析,转速和方向的结果和设定的相同,因此这种设计系统被证明是正确的。 图7 整个系统的时序仿真6总结 本文的宗旨是有选择的的测量电机的4个通道的信号以及通过pmc总线和工业计算机通讯。转速的测量范围款宽,为03000r/min。基于实验测试,测量精度精确到0.1r/min,同样适用于工业现场。该设计下,该系统是一种基于fpga的嵌入式系统,它可以使电路简单,降低总成本以及工作平稳,因此它能过广泛使用各种不同场合。参考文献 :【1】c. wu and y. cheng “水轮发电机的转速设计基于cpld监控系统” 现代电子技术 pp.712 ,2003年3月【2】 y.wang,x.guo and q.jiang “

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论