收藏 分享(赏)

基于FPGA与FSM的高精度测角系统设计与实现.doc

上传人:达达文库 文档编号:4209209 上传时间:2018-12-15 格式:DOC 页数:6 大小:234KB
下载 相关 举报
基于FPGA与FSM的高精度测角系统设计与实现.doc_第1页
第1页 / 共6页
基于FPGA与FSM的高精度测角系统设计与实现.doc_第2页
第2页 / 共6页
基于FPGA与FSM的高精度测角系统设计与实现.doc_第3页
第3页 / 共6页
基于FPGA与FSM的高精度测角系统设计与实现.doc_第4页
第4页 / 共6页
基于FPGA与FSM的高精度测角系统设计与实现.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、基于 FPGA 与 FSM 的高精度测角系统设计与实现摘 要: 介绍了一种基于有限状态机(FSM)的高精度角度测量系统。该系统采用 Renishaw 高精度增量式光电编码器作为位置传感器来测量角度,在 FPGA 上用 VHDL 语言描述与仿真有限状态机,实现信号滤波与去抖,从而保证了计数器计数的正确性。在 ARM9 处理器上实现角度的实时计算,并控制转台旋转。在激光跟踪测量系统的工程应用中验证了该系统的正确性和有效性。关键词: 有限状态机; FPGA; 增量式光电编码器; EP1C12Q240激光跟踪测量系统(Laser Tracker System)是工业测量系统中常用的一种高精度的测量仪器

2、,是近十年发展起来的新型大尺寸空间测量仪器,不仅对静止目标可以测量,而且对运动目标也可以进行跟踪测量。它集合了激光测距技术、光电技术、精密机械技术、计算机及控制技术等各种先进技术,对空间运动目标进行跟踪并实时测量目标的空间三维坐标。它具有快速、动态、精度高等优点,适合于大尺寸工件配装测量。在航空航天、机械制造、核工业、现代军事等测量领域得到广泛的应用。该系统的跟踪精度在很大程度上依赖于转台的旋转角度的测量精度。为了提高系统转台旋转角度测量的精度,本系统采用高分辨率的光电编码器来测量角度。光电编码器是利用光栅衍射原理实现位移数字变换的,光电编码器作为一种高精度的测角传感器已普遍应用于伺服跟踪系统

3、中,它具有精度高、响应快、性能稳定可靠等优点。光电编码器按编码方式主要分为两类:增量式与绝对式。由于增量式光电编码器成本低、测角的精度高,因此本系统的增量式光电编码器选用Renishaw 公司的高精度圆光栅。然而,由于机械振动或抖动等原因,增量式编码器的输出脉冲会出现抖动毛刺的现象,因此需要在对编码器输出脉冲进行计数的过程中采取有效的方法来去掉抖动干扰。本文介绍的有限状态机方法,在FPGA 上可以有效消除抖动引起的计数干扰,提高计数的精度1。1 方案设计1.1 系统组成激光跟踪测量系统的核心处理模块主要由 ARM 处理器,FPGA 组成。为了充分利用 ARM9 微处理器的运算能力和 FPGA

4、的高速逻辑处理能力,在设计中对功能的实现进行了划分。ARM9 用于运动控制平台的控制并且与 FPGA 一起形成一个完整的应用平台。FPGA 主要完成编码器的精确计数功能、与 ARM9 处理器数据通信、与激光测距仪数据通信功能。系统的组成框图如图 1 所示。本文重点介绍在 FPGA 上实现编码器的输出脉冲计数与角度测量。1.2 增量式编码器原理增量型编码器通常有 3 路信号输出:A、B 和 Z,每路都是差分信号,共 6 路信号,信号采用 TTL 电平,A 脉冲在前,B 脉冲在后,A、B 脉冲相差 90,每旋转一圈发出一个基准脉冲 Z,作为参考机械零位。Z相的波形中心对准 A 相输出的波形中心。利

5、用 A 相 B 相的相位差来进行判相,A 超前 B 90为正转,反之B 超前 A 90为反转。由于增量式编码器不带记忆功能,因此对外界因素引起的干扰非常敏感,在实际应用中,由于机械振动、工作环境,电机负载等都无可避免地会产生震动,编码器会在某一相的脉冲边缘的地方出现抖动的情况,因此有效滤掉脉冲的抖动和毛刺,是提高计数精度的关键技术。编码器输出真实信号的波形如图 2 所示2-3。2 理论分析与算法2.1 有限状态机原理在编码器的一个输出周期内,A、B 两相输出信号共产生 4 个跳变沿,在 A、B 方波信号的上升沿和下降沿分别计数,从而实现四倍频计数的操作。本文通过有限状态机 FSM,对原始信号进

6、行四倍频采样控制,状态机外加的一路高速同步时钟信号作为状态机的驱动时钟信号,从而有效滤掉抖动干扰。有限状态机 FSM(Finite State Machine)是一种时序电路,是数字系统中实现高效率可靠性逻辑控制的重要方法。标准状态机可分为摩尔型 Moore 和米利型 Mealy 两种类型。Mealy 状态机的输出是当前状态和输入信号的函数。在本设计中,对编码器输出信号进行计数,采用的计数器是双向计数器,既与当前编码器所处于的电平组合有关,又与前一个状态有关。因此本设计采用 Mealy 状态机。Mealy 状态机比Moore 状态机在状态切换时提前一个同步时钟, 因而具有较高的实时性。A、B

7、两相信号转换状态如图 3 所示4。3 系统设计与实现3.1 软硬件平台根据以上分析,编码器输出的原始信号经过有限状态机处理后,得到了四倍频的输出信号。本系统采用 FPGA 实现四倍频控制和计数功能,与用分立器件构成的倍频计数电路相比,具有稳定度高,移植性灵活,可靠性好的特点。硬件采用 Altera 公司的 Cyclone 系列 FPGA 芯片 EP1C12Q240,编译环境为 Quartus II 5.1 集成开发环境。在 Quartus II 的开发环境中,可以通过两种方法来实现 Mealy 有限状态机。第一采用硬件描述语言,第二通过 Quartus II 中的状态机编辑工具来完成。本设计采

8、用硬件描述语言来实现状态机设计。3.2 程序设计为了提高系统的实用性和稳定性,滤掉信号上的毛刺,在 A、B 相信号进入状态机前,先设计一个滤波器进行初次滤波,每个信号用 4 个 D 触发器和 1 个判决器来滤波;触发器由时钟 SCLK 驱动。小于一个SCLK 时钟周期的毛刺,都被滤波器滤掉了。滤波器的原理图如图 5 所示6-7。整个程序的设计是采用图形和语言相结合的方法来实现的。顶层设计采用图形文件,顶层模块的结构图如图 6 所示。内部的状态机模块采用 VHDL 语言来实现。顶层模块包含两个模块,一个滤波器模块,该模块根据三选二判决的原理来滤掉毛刺;另一个模块是状态机模块,最终输出编码器计数的

9、结果。Input0和input1输入引脚分别连接增量型编码器 A 相和 B 相信号。q310为 32 位的计数器,输出当前编码器的计数值,dirout 是编码器的旋转方向信号。程序设计完成后,在仿真工具 modelsim 下进行波形仿真。仿真结果如图 7 所示。从图中看出,计数器能够实现正向与反向计数,可以有效滤除脉冲上的抖动,获得精确的计数值。本文提出了一种基于有限状态机的高精度测量系统,在 FPGA 上用有限状态机实现了编码器输出脉冲的去抖,并通过 32 位计数器实现精确计数。最终在 ARM 处理器上完成角度的计算。通过大量反复试验,试验结果表明本文介绍的方法具有精度高、成本低、接口兼容性

10、高、可靠性高、可移植性好等优点,可以有效抑制噪声干扰,获得高精度的角度数据。该方法已经成功应用在激光跟踪测量系统中,该技术的推广可以取得良好的经济效益,具有重要实用意义。参考文献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.仪表技术, 2007(6):17-21.6 王彩霞,李梅.基于 FPGA 的增量式光电角度编码 器信号处理系统J.微计算机信息,2010,26(8-2):125- 126.7 韩党群,肖军.基于状态机描述的光电编码器四倍频电路设计J.西安航空技术高等专科学校学报,2008,9(5):23-25.

展开阅读全文
相关资源
猜你喜欢
相关搜索

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

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报