基于SoC FPGA 的光栅速度/ 加速度测量设计

2020-09-29 06:54燕国欣
科学技术创新 2020年29期
关键词:倍频光栅计数器

李 恬 燕国欣

(西安工业大学,陕西 西安710021)

1 概述

光栅尺,也称为光栅式位移传感器,测量输出的信号为数字信号,是利用光栅的光学原理进行工作的反馈测量装置。其中直线式光栅尺位移传感器是根据相对运动的原理来产生光信号,这些信号经过多种光电器件的转换后用来检测机械装置的位移[1]。为了实现光栅的高速测量,速度/加速度检测是自动控制、检测等领域中经常遇到的问题。

随着电子技术的发展,SoC FPGA 作为一种半定制电路而出现,具有可实时修改、硬件加速等众多优点[2]。所谓SoC 指的是系统级的集成电路芯片,集成了是HPS 和FPGA。本文主要采用FPGA 实现光栅的速度/加速度的测量设计,用Verilog HDL语言进行电路的程序设计,最终构成片上系统。

2 信号处理电路

CNC 齿轮测量中心的光栅传感器输出的光栅信号为5V 的差分信号A+、A-、B+、B-、Z+、Z-,需要先将这六个差分信号转换为单端信号[3-4]。由于SoC FPGA 芯片使用的电平为3.3V[5],而光栅输出的光栅信号的电平为5V。为了不在上电、使用时烧坏SoC FPGA 芯片,本设计需将5V 的光栅信号转换为3.3V 电平的光栅信号。光栅信号处理电路如图1 所示,采用MC3486 芯片实现差分转单端的转换,采用SN74LVTH245ADW 芯片实现5V转3.3V 的电平转换。

图1 光栅信号处理电路

光栅的输出信号A 和B 信号为两个相差90°的方波信号,Z 为运动对象每相对光栅尺位移50mm,光栅尺所发出一个调整信号脉冲[6]。光栅的位移测量与速度/加速度测量是依据A、B信号的相位差、脉冲的频率来决定的。

3 光栅的速度/加速度检测

光栅的速度/加速度检测主要实现光栅四倍频后的脉冲信号的速度测量与加速度测量。其FPGA 逻辑框图如图2 所示,光栅信号从PCB 大板输入到核心板SoC FPGA 中后,经过滤波处理、四倍频处理、辨向处理以及可逆计数等处理后,将所测得的光栅距离数据进行锁存,等待上位机发送锁存命令后读取数据。速度/加速度测量模块是将该模块中的四倍频信号输入其中,对其进行可变窗口长度的速度/加速度测量,将测量数据在锁存信号有效时,并当时钟的上升沿有效时,将数据值锁存到寄存器中,HPS 可直接通过读取寄存器得到锁存的光栅速度/加速度测量数据。

3.1 系统整体设计

HPS 命令译码模块通过置数,可向速度/加速度测量模块传递的数据data(μs),用来改变测量速度/加速度模块的测量时间长短,实现一种可变时间窗口长度的测量。由于FPGA 在进行数据的计算方面处于劣势,进行浮点数的处理时计算过程复杂,遂本测量模块是对窗口长度内的四倍频脉冲的基础上进行计数,速度测量时将计数数据N 进行锁存,上位机所发的读命令信号和所偏移的地址同时等于本模块的预设值时,便可读取计数数据N,通过式(1)得出速度值。加速度的测量思想是:将两次周期宽度内所测得四倍频脉冲的个数做差值运算,得到差值数据X。同时将加速度的正负方向传递给上位机,上位机通过式(3)计算后,得出光栅尺的加速度值。

图2 速度、加速度测量总体框图

通过式(1),上位机实现速度测量计算:

其中data(μs)为上位机要测的时间的长度数值,m 为光栅的四倍频脉冲所对应的位移量,N 为在data 的时间长度内FPGA所测得的四倍频脉冲数值。

因此对于加速度的大小计算,我们可以推出:

将(1)代入(2)可得:

其中N1是第一次FPGA 所测得四倍频的个数,N2是第二次FPGA 所测得的四倍频脉冲个数,X 为两次所测得四倍频个数的差值。

加速度a 的方向通过第一次差值与第二次差值的大小,进行方向辨别。当N1>N2,加速度为负向;当N1<N2,加速度为正向。

3.2 速度、加速度测量

速度/加速度测量模块的FPGA 逻辑框图如图3 所示。其中主要部分是定时和控制模块、寄存器模块、计数器模块、边沿检测模块、三态输出模块、计算比较模块。系统时钟50MHz 提供时钟,输入到定时和控制模块中,同时在置数信号有效时,上位机发送的采样宽度数据输入到定时和控制模块对50MHz 时钟进行分频。定时和控制模块基于线性序列机产生使能信号、清零信号、存储信号,同时与光栅四倍频信号经过边沿检测后输入到脉冲计数器,对四倍频信号进行控制与计数。该模块产生的使能、清零、存储信号控制脉冲计数器的初始清零、计数使能、周期锁存。等到上位机所设置的时间长度计数时间到了之后在时钟下降沿将脉冲数据放入定时锁存器中。如果同步锁存信号有效时,为保证数据准确读取,在时钟的上升沿将定时锁存寄存器中的速度数据放在二级缓存寄存器中。加速度计算时将第一次、第二次所测得数据进行差值计算,同时将两次数据进行比较产生加速度的方向,并放入二级缓存寄存器中。当上位机发送的指令在HPS 命令译码模块中输入读取速度或者加速度的偏移地址和读信号有效时,将所测得的速度信息或加速度信息通过三态门输入到上位机。

图3 速度、加速度测量逻辑框图

3.3 定时和控制模块设计

定时和控制模块是速度、加速度测量的关键,应该给予充分讨论以便解释其原理,图4 是对控制信号的时序描述,基于线性序列机实现的逻辑。首先对脉冲计数器清零,同时将适当的闸门信号送到计数器的使能端,当闸门信号变为高电平时,计数器对四倍频信号的数字脉冲进行计数,但闸门信号的高电平结束时,计数器停止计数。然后将这个计数值锁存到寄存器中,等待同步锁存信号。最后再重复这一过程,重新进行计数测量。图4 中的控制脉冲由上位机采样频率数据来对50MHz 系统时钟分频得到。控制脉冲的周期应等于所要求的使能脉冲高电平的宽度。同时设置一个控制计数器,对控制脉冲进行计数,当计数值等于0 时,产生清零信号,当计数值等于2 时,产生使能信号,当计数值等于5 时,产生内部锁存信号。在使能信号由低电平变为高电平时,计数器开始对四倍频信号进行计数,当使能信号由高电平变为低电平时,计数器停止计数。

图4 控制信号的时序关系

4 结论

FPGA 作为一个具有非常广泛的应用范围的芯片,越来越多地显示出它在电子产品设计方面的优势。本模块设计的任务是采集光栅尺输入信号,对采集到的信号进行分析处理,得出速度、加速度、方向、位移等物理量。电路的逻辑、时序仿真验证了本方法的可行性。

猜你喜欢
倍频光栅计数器
高速公路隧道感温光栅监测技术探析
采用虚拟计数器的电子式膜式燃气表
基于光电振荡环路的三分之四倍频系统
光纤光栅传感器的应用研究及进展
基于微波倍频源太赫兹频段雷达散射截面测量
基于Multisim10.1的任意进制计数器的设计与实现
光纤光栅传感器在足尺沥青路面加速加载试验中的应用
SR620型与53230A型计数器的性能测试
算盘是个“小气鬼”
光栅刻划机刻划系统光机电集成优化方法研究