当前位置:首页 > 基于FPGA与FSM的高精度测角系统设计与实现
整个程序的设计是采用图形和语言相结合的方法来实现的。顶层设计采用图形文件,顶层模块的结构图如图6所示。
内部的状态机模块采用VHDL语言来实现。顶层模块包含两个模块,一个滤波器模块,该模块根据三选二判决的原理来滤掉毛刺;另一个模块是状态机模块,最终输出编码器计数的结果。Input[0]和input[1]输入引脚分别连接增量型编码器A相和B相信号。q[31..0]为32位的计数器,输出当前编码器的计数值,dirout是编码器的旋转方向信号。
程序设计完成后,在仿真工具modelsim下进行波形仿真。仿真结果如图7所示。从图中看出,计数器能够实现正向与反向计数,可以有效滤除脉冲上的抖动,获得精确的计数值。
本文提出了一种基于有限状态机的高精度测量系统,在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].仪表技术, 2007(6):17-21. [6] 王彩霞,李梅.基于FPGA的增量式光电角度编码 器信号处理系统[J].微计算机信息,2010,26(8-2):125- 126.
[7] 韩党群,肖军.基于状态机描述的光电编码器四倍频电路设计[J].西安航空技术高等专科学校学报,2008,9(5): 23-25.
共分享92篇相关文档