




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于FPGA与FSM的高精度测角系统设计与实现摘 要: 介绍了一种基于有限状态机(FSM)的高精度角度测量系统。该系统采用Renishaw高精度增量式光电编码器作为位置传感器来测量角度,在FPGA上用VHDL语言描述与仿真有限状态机,实现信号滤波与去抖,从而保证了计数器计数的正确性。在ARM9处理器上实现角度的实时计算,并控制转台旋转。在激光跟踪测量系统的工程应用中验证了该系统的正确性和有效性。关键词: 有限状态机; FPGA; 增量式光电编码器; EP1C12Q240 激光跟踪测量系统(Laser Tracker System)是工业测量系统中
2、常用的一种高精度的测量仪器,是近十年发展起来的新型大尺寸空间测量仪器,不仅对静止目标可以测量,而且对运动目标也可以进行跟踪测量。它集合了激光测距技术、光电技术、精密机械技术、计算机及控制技术等各种先进技术,对空间运动目标进行跟踪并实时测量目标的空间三维坐标。它具有快速、动态、精度高等优点,适合于大尺寸工件配装测量。在航空航天、机械制造、核工业、现代军事等测量领域得到广泛的应用。该系统的跟踪精度在很大程度上依赖于转台的旋转角度的测量精度。 为了提高系统转台旋转角度测量的精度,本系统采用高分辨率的光电编码器来测量角度。光电编码器是利用光栅衍射原理实现位移数字变换
3、的,光电编码器作为一种高精度的测角传感器已普遍应用于伺服跟踪系统中,它具有精度高、响应快、性能稳定可靠等优点。光电编码器按编码方式主要分为两类:增量式与绝对式。由于增量式光电编码器成本低、测角的精度高,因此本系统的增量式光电编码器选用Renishaw公司的高精度圆光栅。 然而,由于机械振动或抖动等原因,增量式编码器的输出脉冲会出现抖动毛刺的现象,因此需要在对编码器输出脉冲进行计数的过程中采取有效的方法来去掉抖动干扰。本文介绍的有限状态机方法,在FPGA上可以有效消除抖动引起的计数干扰,提高计数的精度1。1 方案设计1.1 系统组成
4、160; 激光跟踪测量系统的核心处理模块主要由ARM处理器,FPGA组成。为了充分利用ARM9微处理器的运算能力和FPGA的高速逻辑处理能力,在设计中对功能的实现进行了划分。ARM9 用于运动控制平台的控制并且与FPGA一起形成一个完整的应用平台。FPGA主要完成编码器的精确计数功能、与ARM9处理器数据通信、与激光测距仪数据通信功能。系统的组成框图如图1所示。本文重点介绍在FPGA上实现编码器的输出脉冲计数与角度测量。 1.2 增量式编码器原理 增量型编码器通常有3路信号输出:A、B和Z,每路都是差分信号,共6路信号,信号采用TTL电平,A脉冲在
5、前,B脉冲在后,A、B脉冲相差90°,每旋转一圈发出一个基准脉冲Z,作为参考机械零位。Z相的波形中心对准A相输出的波形中心。利用A相B相的相位差来进行判相,A超前B 90°为正转,反之B超前A 90°为反转。 由于增量式编码器不带记忆功能,因此对外界因素引起的干扰非常敏感,在实际应用中,由于机械振动、工作环境,电机负载等都无可避免地会产生震动,编码器会在某一相的脉冲边缘的地方出现抖动的情况,因此有效滤掉脉冲的抖动和毛刺,是提高计数精度的关键技术。编码器输出真实信号的波形如图2所示2-3。 2 理论分析与算法
6、2.1 有限状态机原理 在编码器的一个输出周期内,A、B两相输出信号共产生4个跳变沿,在A、B方波信号的上升沿和下降沿分别计数,从而实现四倍频计数的操作。本文通过有限状态机FSM,对原始信号进行四倍频采样控制,状态机外加的一路高速同步时钟信号作为状态机的驱动时钟信号,从而有效滤掉抖动干扰。有限状态机FSM(Finite State Machine)是一种时序电路,是数字系统中实现高效率可靠性逻辑控制的重要方法。标准状态机可分为摩尔型Moore和米利型Mealy两种类型。Mealy状态机的输出是当前状态和输入信号的函数。在本设计中,对编码器输出信号进行计数,采
7、用的计数器是双向计数器,既与当前编码器所处于的电平组合有关,又与前一个状态有关。因此本设计采用Mealy状态机。Mealy状态机比Moore状态机在状态切换时提前一个同步时钟, 因而具有较高的实时性。A、B两相信号转换状态如图3所示4。3 系统设计与实现3.1 软硬件平台 根据以上分析,编码器输出的原始信号经过有限状态机处理后,得到了四倍频的输出信号。本系统采用FPGA实现四倍频控制和计数功能,与用分立器件构成的倍频计数电路相比,具有稳定度高,移植性灵活,可靠性好的特点。 硬件采用Altera公司的Cyclone系列FPG
8、A芯片EP1C12Q240,编译环境为Quartus II 5.1集成开发环境。在Quartus II的开发环境中,可以通过两种方法来实现Mealy有限状态机。第一采用硬件描述语言,第二通过Quartus II中的状态机编辑工具来完成。本设计采用硬件描述语言来实现状态机设计。3.2 程序设计 为了提高系统的实用性和稳定性,滤掉信号上的毛刺,在A、B相信号进入状态机前,先设计一个滤波器进行初次滤波,每个信号用4个D触发器和1个判决器来滤波;触发器由时钟SCLK驱动。小于一个SCLK时钟周期的毛刺,都被滤波器滤掉了。滤波器的原理图如图5所示6-7。 &
9、#160; 整个程序的设计是采用图形和语言相结合的方法来实现的。顶层设计采用图形文件,顶层模块的结构图如图6所示。 内部的状态机模块采用VHDL语言来实现。顶层模块包含两个模块,一个滤波器模块,该模块根据三选二判决的原理来滤掉毛刺;另一个模块是状态机模块,最终输出编码器计数的结果。Input0和input1输入引脚分别连接增量型编码器A相和B相信号。q31.0为32位的计数器,输出当前编码器的计数值,dirout是编码器的旋转方向信号。 程序设计完成后,在仿真工具modelsim下进行波形仿真。仿真结果如图7所
10、示。从图中看出,计数器能够实现正向与反向计数,可以有效滤除脉冲上的抖动,获得精确的计数值。 本文提出了一种基于有限状态机的高精度测量系统,在FPGA上用有限状态机实现了编码器输出脉冲的去抖,并通过32位计数器实现精确计数。最终在ARM处理器上完成角度的计算。通过大量反复试验,试验结果表明本文介绍的方法具有精度高、成本低、接口兼容性高、可靠性高、可移植性好等优点,可以有效抑制噪声干扰,获得高精度的角度数据。该方法已经成功应用在激光跟踪测量系统中,该技术的推广可以取得良好的经济效益,具有重要实用意义。参考文献1 侯鸿斌,陈安,高妍.基于有限状态机的高精度周期可变编码器计数器设计J.福建电脑, 2010(1):1-2.2 方华松,丁望来.基于FPGA的抗编码器抖动干扰的高精 度编码技术J.船电技术,2009(7):15-18.3 闫莎莎,朱世强.基于CPLD 的光电编码器测量系统J. 机电工程,2009(26):77-79.4 蒋晶,蒋东方,高航.高可靠性增量式光电编码器接口电路设计J.测控技术,2009,28(2):1-3.5 钞靖,王小椿,姜虹. 基于FPGA 的光电编码器四倍频电路设计J.仪
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公寓出租简易合同范例
- 2025餐厅员工合同标准版模板
- 2025国内技术转让合同主要条款
- 供货商食品合同范例
- 买矿协议合同范例
- 2025年虚拟现实技术应用考试试卷及答案
- 体培员工合同范例
- 2025年绿色建筑设计考试试题及答案
- 兼职商务合同范例
- 农田机械租赁合同范例
- 建筑工程质量检测课件
- 计算机网络的毕业设计(5篇)
- 2022年中国建筑集团有限公司招聘笔试题库及答案解析
- 温泉度假设施造价预算
- 青少年创意编程试题
- 电子商务客户服务5套综合测试题带答案
- RULES OF ORIGIN 原产地规则
- 国内旅游出团通知书(新版)
- LETTEROFINTENTION意向书范本
- 国内各航空公司差异化服务
- 《山东省自然科学基金资助项目年度进展报告》
评论
0/150
提交评论