新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA与有限状态机的高精度测角系统的设计与实

基于FPGA与有限状态机的高精度测角系统的设计与实

作者:时间:2013-04-24来源:网络收藏

3 系统设计与实现

3.1 软硬件平台

根据以上分析,编码器输出的原始信号经过处理后,得到了四倍频的输出信号。本系统采用实现四倍频控制和计数功能,与用分立器件构成的倍频计数电路相比,具有稳定度高,移植性灵活,可靠性好的特点。

硬件采用Altera公司的Cyclone系列芯片EP1C12Q240,编译环境为Quartus II 5.1集成开发环境。在Quartus II的开发环境中,可以通过两种方法来实现Mealy。第一采用硬件描述语言,第二通过Quartus II中的状态机编辑工具来完成。本设计采用硬件描述语言来实现状态机设计。

3.2 程序设计

为了提高系统的实用性和稳定性,滤掉信号上的毛刺,在A、B相信号进入状态机前,先设计一个滤波器进行初次滤波,每个信号用4个D触发器和1个判决器来滤波;触发器由时钟SCLK驱动。小于一个SCLK时钟周期的毛刺,都被滤波器滤掉了。滤波器的原理图如图5所示[6-7]。

整个程序的设计是采用图形和语言相结合的方法来实现的。顶层设计采用图形文件,顶层模块的结构图如图6所示。

内部的状态机模块采用VHDL语言来实现。顶层模块包含两个模块,一个滤波器模块,该模块根据三选二判决的原理来滤掉毛刺;另一个模块是状态机模块,最终输出编码器计数的结果。Input[0]和input[1]输入引脚分别连接增量型编码器A相和B相信号。q[31..0]为32位的计数器,输出当前编码器的计数值,dirout是编码器的旋转方向信号。

程序设计完成后,在仿真工具modelsim下进行波形仿真。仿真结果如图7所示。从图中看出,计数器能够实现正向与反向计数,可以有效滤除脉冲上的抖动,获得精确的计数值。

本文提出了一种基于测量系统,在上用有限状态机实现了编码器输出脉冲的去抖,并通过32位计数器实现精确计数。最终在ARM处理器上完成角度的计算。通过大量反复试验,试验结果表明本文介绍的方法具有精度高、成本低、接口兼容性高、可靠性高、可移植性好等优点,可以有效抑制噪声干扰,获得的角度数据。该方法已经成功应用在激光跟踪测量系统中,该技术的推广可以取得良好的经济效益,具有重要实用意义。

fpga相关文章:fpga是什么


脉冲点火器相关文章:脉冲点火器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭