基于FPGA的速度和位置测量板卡的设计与实现

发布者:脑力风潮最新更新时间:2014-09-19 来源: 21ic关键字:光电编码器  测量算法  FPGA  PC104 手机看文章 扫描二维码
随时随地手机看文章

增量式光电编码器作为速度和位置传感器被广泛应用于伺服系统。理论上,光电编码器反馈脉冲的频率对应被测轴转速,反馈脉冲个数的累加值对应位置信息。经典的速度测量方法有M法、T法和M/T法3种:其中M法通过计取固定时间间隔内光电编码器的反馈脉冲数计算当前转速,适用于高速场合;T法利用高频脉冲测量相邻反馈脉冲的时间间隔计算当前转速,适用于低速场合;M/T法不仅测量固定时间间隔内反馈脉冲的增量值,而且计数该时间内的高频脉冲数。虽然M/T法克服了M法和T法测速范围有限的缺点,在高速和低速段都具有较高的分辨率及较低的测速误差,但是存在低速采样时间过长等问题。经典的位置测量方法按转向的正负对反馈脉冲进行增减计数,然后将计数值乘以脉冲当量K得到当前位置信息,可见其测量精度取决于脉冲当量。

本文以定采样周期M/T法为基础,它解决了经典M/T法低速检测时间过长的问题,保证每一固定周期都能采样到数据。此外,该算法充分利用反馈脉冲的位置信息和时间信息,得到了比一个脉冲当量K更为精确的位置信息。本文利用FPGA设计实现定采样周期M/T法,并设计PC104总线接口满足板卡与控制器数据通信的要求。

1 总体方案

速度和位置测量板卡接收光电编码器的反馈脉冲信号,通过差分电路将其转换为单端信号消除共模干扰,然后在FPGA中对脉冲处理得到速度和位置参数,最后将参数通过PC104数据接口传递给控制器。速度和位置测量板卡除差分电路以外的功能均通过FPGA设计实现(如图1所示),因此FPGA是本板卡的核心芯片。速度和位置测量板卡主要包括倍频辨向模块、定采样周期M/T法模块和PC104数据接口模块。

基于FPGA的速度和位置测量板卡的设计与实现

1. 1 倍频辨向模块

光电编码器的输出反馈脉冲包括相位差90°的A、B信号以及零位脉冲Z。A、B之间的相位关系标志被测轴的转向,即A相超前B相90°表示正转,滞后90°表示反转;Z脉冲起到参考零点的作用。一个周期内A、B两路信号的相对位置变换了4次,即正转A、B按00-10-11-01循环输出,反转遵循00-01-11-10的规律。倍频辨向模块通过检测A、B信号的状态变化输出四倍频及方向信号,不仅提高了速度和位置测量的精度,还起到抗干扰的作用。

1.2 定采样周期M/T法模块

定采样周期M/T法模块分为速度测量电路和位置测量电路两部分,图2给出了该算法的硬件原理及时序图。定采样周期M/T法对高频脉冲fc两级锁存的设计确保实际检测起始点Tk超前于采样周期Tn,这解决了M/T法在低速时检测时间过长的问题,保证每个采样周期内都能成功采集到数据。

基于FPGA的速度和位置测量板卡的设计与实现

速度测量硬件电路由速度计数器及其数据锁存器Cm,以及高频脉冲计数器及其两级数据锁存器Cf和Ct构成;其中速度锁存器Cm和高频脉冲锁存器Ct由采样脉冲触发,辅助高频脉冲锁存器Cf由反馈脉冲触发。通过差分处理得到当前周期Tn内的转速增量Cm和高频脉冲增量Ct,并设高频脉冲的频率为fc,脉冲当量为K,那么计算可得转速为:

Vn=KxfcxCm/Ct

位置测量硬件电路同样采用高频脉冲的两级锁存设计,除此之外还包括位置计数器及其数据锁存器Cmm,以及辅助位置锁存器Ctt。由图2可知,dTn-1和dTn这两个时间差所对应的位置变化小于一个脉冲当量K,位置测量算法将上述时间差内的位置变化加入到位置信息中,提高了位置测量的分辨率和精度。dTn通过差分当前周期辅助位置锁存器Ctt和脉冲锁存器Ct得到,接着将dTn乘以速度值Vn可得位置变化。位置锁存器Cmm计取了反馈脉冲的变化值,再加上dTn-1和dTn内位置变化,便能计算出精确的位置信息。

dTn=(Ctt(n)-Ct(n))/fc

S=KxCmm+VnxdTn-Vn-1xdTn-1

2 各个模块Verllog实现

根据速度和位置测量板卡的总体设计方案,利用Verilog设计实现各模块。

2.1 倍频辨向模块

本模块在FPGA系统时钟clk上升沿检测A、B的电平,并与上一clk记录的状态进比较:当状态变化符合00-10、10-11、11-01、01-00时,表明A超前B相90°,并且A或B产生一个边沿跳变,此时光电编码器正转那么置1方向信号,同时输出一个计数脉冲,这样一个周期内将产生4个计数脉冲实现了四倍频;当变化对应00-01、01-11、11-10、10-00时,标志A滞后B相90°,光电编码器反转则清零方向信号,并输出一个计数脉冲;当变化符合00-00、01-01、10-10、11-11时,说明光电编码器处于换向阶段,或者对应正反转的中间状态,此时保持方向信号并且不输出计数脉冲;当变化为00-11、01-10、10-01、11-00时,说明A、B信号受到干扰而产生了错误的状态翻转,此时保持方向信号并且不输出计数脉冲,达到了抗干扰的目的。

2.2 定采样周期M/T法模块

分析定采样周期M/T法模块可知,它主要由计数器和锁存器组成,其中计数器对脉冲个数进行计数,得到的计数值存于锁存器中等待数据接口模块读取。

按计数方式的不同,计数器又可细分为增计数器和可逆计数器。其中高频脉冲计数器和速度计数器都采用增计数,在检测到计数脉冲有效时加1计数值。位置计数器采用可逆计数的方式,在计数脉冲有效时通过方向脉冲决定采取增或减计数。由于对增量式光电编码器的反馈脉冲计数只能获得转台的相对位置,因此在计数器断电或控制系统上电之前,都要对计数器所存数值进行校正,即归零。为了实现归零操作,计数器除可逆计数外还需具备清零以及置数等功能。

锁存器在采样脉冲T有效时,锁存当前数据供接口电路读取,其中采样周期大小取决于控制器对速度和位置的读取频率。考虑到数据读取的安全性,控制器读操作前必须首先完成各锁存器的数据锁存工作,即通过控制器对板卡的写信号产生采样脉冲T触发锁存器的锁存工作。[page]

本模块设计了4个双字锁存器暂存速度和位置参数,因此开辟4个双字的I/O地址空间。控制器对I/O地址的读操作实现锁存器数据的读取,写操作为板卡提供清零、置数及采样脉冲等信号。

2.3 PC104数据接口模块

PC104总线是一种专为嵌入式控制而定义的工业控制总线,它具有小尺寸结构、抗震性极佳的堆栈式连接、低功耗总线驱动等优点,广泛应用于机载设备的开发中。此外,它是一个8位和16位兼容的总线,本模块采用8位总线方式,采用以下总线信号完成通信设计:SD7~SD0:数据信号;SA9~SA0:地址信号;AEN:地址使能信号;IOR:I/O读信号;IOW:I/O写信号;电源信号。

在PC104系统中,为防止I/O地址冲突,每个模块都必须有一个单独的基地址。速度和位置测量板卡采用10位地址译码,基地址通过板卡上的基地址跳线器进行设置。PC104数据接口采用I/O读写方式进行通信,利用状态机设计实现本模块如图3所示。S0为空闲状态,此状态为初始状态,一旦控制器对板卡进行操作,则进入S1状态。S1状态记录控制器的地址、数据以及控制信号,并判断控制器的操作类型。如果是读操作进入S2状态,若是写操作则进入S3状态。在S2状态中,将对应地址的数据给到数据线,完成读操作。在S3状态,将数据写入对应地址中,完成写操作。读操作或者写操作完成之后,状态又重新回到S0,等待控制器下次读写。

基于FPGA的速度和位置测量板卡的设计与实现

下面结合PC104的信号说明各状态的作用。S0状态检测地址使能信号AEN,当AEN有效并且地址信号SA的高位与基地址一致,说明控制器对本板卡操作,则激活S1状态。S1状态记录地址信号SA的低4位和数据信号SD,并判断读信号IOR或写信号IOW是否有效。当IOR有效说明目前进行读操作进入S2状态,而IOW有效表明当前为写操作进入S3状态。S2状态对地址进行分支选择确定欲读取数据的地址,输出对应地址的数据完成读操作。S3状态将数据写入到对应地址完成写操作。

3 测试平台与仿真测试

用ISE软件编程实现各模块的功能,用ModelSim对其进行仿真测试,图4为仿真结果。由图可知,输入的A、B信号模拟正转、反转及干扰三种状态,正转和反转下每周期都将输出四个脉冲,并且正转方向信号置1,反转清零,而在干扰信号下不输出计数脉冲,并且方向信号保持不变。速度计数器在计数脉冲有效时计数,位置计数器根据方向信号对计数脉冲做增减计数,速度锁存器Cm、位置锁存器Cmm在采样周期有效时锁存速度和位置值。辅助高频脉冲锁存器Cf及高频脉冲锁存器Ct对高频脉冲进行两级锁存,保证实际采样点超前于采样周期,保证每个周期下都能采样到数据。

基于FPGA的速度和位置测量板卡的设计与实现
基于FPGA的速度和位置测量板卡的设计与实现

设计完成的速度和位置测量板卡如图5所示,FPGA采用Xilinx公司的XC3S400,控制器部分选用盛博公司的SAT-1040板卡。使用36000刻线的增量式光电编码器,高频脉冲由40 MHz晶振提供,最小采样周期可达1ms,在测量范围内速度、位置测量精度分别达到3x10-5、5x10-5。

4 结束语

文中以FPGA为核心控制芯片设计实现了速度和位置测量板卡,它以定采样周期M/T法为基础对光电编码器的反馈脉冲处理得到表征速度和位置的参数,通过PC104总线接口将数据传递给控制器计算得到精确的速度和位置信息。整个设计在FPGA内完成,故硬件结构简介,可靠性强,抗干扰能力强;板卡的最小采样时间达到1 ms,确保每一周期下都能采样到可靠数据,并将位置测量精度提高至5x10-5。

关键字:光电编码器  测量算法  FPGA  PC104 引用地址:基于FPGA的速度和位置测量板卡的设计与实现

上一篇:基于FPGA系统易测试性的研究
下一篇:标定和测量应用的焦点——XCP

推荐阅读最新更新时间:2024-03-30 22:47

FPGA的VRLA蓄电池测试系统设计
1、 引言   阀控式铅酸蓄电池(VRLA)在实际使用中会出现电池壳变形、电解液渗漏、容量不足、电池端电压不均匀等现象,实践证明,整组电池的容量是以状况最差的那块电池的容量值为准,而不是以平均值或额定值(初始值)为准,当电池的实际容量下降到其本身额定容量的90% 以下时,电池便进入衰退期,当电池容量下降到原来的80%以下时,电池便进入急剧的衰退状况,衰退期很短,此时电池组已存在极大的事故隐患,所以对VRLA蓄电池的定时检测和在线监测是非常重要和必须的。   2、 硬件电路设计   VRLA蓄电池在线监测系统主要功能是对直流电源VRLA蓄电池组中每一个VRLA蓄电池的端电压进行巡检,其工作方式分为实时监测和定时监测两类,定时监
[测试测量]
<font color='red'>FPGA</font>的VRLA蓄电池测试系统设计
FPGA还是GPU?你的AI主芯片将如何选择
尽管模仿人类思想和想法的软件算法是人工智能的基础,但硬件也是一个重要组成部分,这就是现场可编程门阵列 (FPGA) 和图形处理单元(GPU)发挥重要作用的地方。 人工智能 (AI) 是指能够以与人类相同的方式做出决策的非人类机器智能。 这包括沉思、适应能力、意图能力和判断力。机器视觉、机器人自动化、认知计算、机器学习和计算机视觉都是人工智能市场的应用。人工智能正在汽车、消费电子、媒体和娱乐以及半导体等多个行业领域迅速获得关注,预示着下一次伟大的技术变革。 半导体预计将在未来几年持续增长。 随着全球对机器学习设备的需求不断增长,许多属于 EDA(电子设计自动化)、显卡、游戏、多媒体行业的主要市场参与者正在投资提供创新的高速计
[嵌入式]
FPGA芯片结构分析
目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。如图1-1所示(注:图1-1只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯片主 要由7部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。  图1-1 FPGA芯片的内部结构      FPGA芯片的内部结构每个模块的功能如下:  1. 可编程输入输出单元(IOB)  可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对
[嵌入式]
<font color='red'>FPGA</font>芯片结构分析
Actel单芯片FPGA获Elan青睐,用于USB测试/测量设备
Actel公司日前表示,其以Flash为基础的单芯片ProASIC3现场可编程门阵列(FPGA)器件被用于Elan Digital Systems公司的USBscope50中,USBscope50是Elan微型USB测试和测量设备系列的一员。 Elan董事总经理Julian Barnard称:“Actel 的ProASIC3 FPGA器件是设计上唯一能够完全满足我们对于单芯片、安全性、价格、功耗和性能方面的要求的选择。ProASIC3器件具备无与伦比的安全性,这特点对于我们尤其重要,可让我们安心地将制造和组装工作外包,从而降低成本。因此,我们能够快速生产USBscope50,并糅合了独特的低总体成本、小
[新品]
用CPLD实现基于PC104总线的429接口板
  PC104总线系统是一种新型的计算机测控平台,作为嵌入式的一种,在软件与硬件上与标准的台式PC(PC/AT)体系结构完全兼容,它具有如下优点:体积小、十分紧凑,并采用模块化结构,功耗低,总线易于扩充,紧固堆叠方式安装,适合于制作高密度、小体积、便携式测试设备,因此在军用航空设备上有着广泛的应用,但也正是PC104板的这种小尺寸结构、板上可用空间少给设计带来了一定的困难,所以本设计采用了复杂可编程器件CPLD,用CPLD完成了PC104总线与429总线通讯的主要电路,大大节省了硬件资源,本文着重介绍了CPLD部分的设计。    1 系统总体设计   CPLD是一种复杂的用户可编程逻辑器件,由于采用连续连接结构,易于预测延时
[嵌入式]
用CPLD实现基于<font color='red'>PC104</font>总线的429接口板
Fraunhofer IIS/EAS选用Achronix的嵌入式FPGA(eFPGA)来构建异构Chiplet
通过本次合作,双方将共同创建由eFPGA赋能的Chiplet解决方案,剑指下一代芯片间互连技术的验证 硅谷圣克拉拉和德国德累斯顿,2023年5月——为了持续致力于为半导体市场提供行业领先的解决方案,先进封装解决方案设计领域的领先应用研究机构Fraunhofer IIS/EAS,以及业内唯一可同时提供高端FPGA和嵌入式FPGA(eFPGA)半导体知识产权(IP)解决方案的独立供应商Achronix半导体公司(Achronix semiconductor Corporation)日前共同宣布: 双方已达成合作伙伴关系,共同构建异构chiplet解决方案,以验证其在先进的高性能系统解决方案中的性能和互操作性 。 Fraunho
[嵌入式]
Spartan-3A 的 DDR 2 接口数据采集
1 引言 DDR2(Double Data Rate2)SDRAM是由JEDEC(电子设备工程联合委员会)制定的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同:虽然采用时钟的上升/下降沿同时传输数据的基本方式,但DDR2却拥有2倍的DDR预读取能力(即4位预存取技术)。此外,DDR2还增加ODT(内建核心终结电阻器)功能,内建合适的终结电阻,避免了以往因片外连接大片终结电阻带来的制板成本增加。 基于FPGA的SDRAM控制器,以高可靠性、强可移植性、易于集成的特点,逐渐取代以往的专用控制器而成为主流解决方案。本文采用Xilinx公司的Spartan-3A系列FPGA和Hynix公司的DDR2 SDRAM器件HY5P
[嵌入式]
Spartan-3A 的 DDR 2 接口数据采集
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
最新测试测量文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved