基于FPGA的速度和位置测量板卡的设计与实现
本模块在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触发锁存器的锁存工作。
本模块设计了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,等待控制器下次读写。
下面结合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对高频脉冲进行两级锁存,保证实际采样点超前于采样周期,保证每个周期下都能采样到数据。
设计完成的速度和位置测量板卡如图5所示,FPGA采用Xilinx公司的XC3S400,控制器部分选用盛博公司的SAT-1040板卡。使用36000刻线的增量式光电编码器,
光电编码器 速度和位置测量算法 FPGA PC104 相关文章:
- 旋转变压器在转子位置测量中的应用(07-03)
- 光电编码器的分类及它们的特点介绍(10-11)
- 光电编码器在汽车音响系统中的应用(08-22)
- 电机位置检测和转速测量研究(10-13)
- 远程测控中嵌入式Web服务器的FPGA实现(10-30)
- 基于DSP Builder的DDS设计及其FPGA实现(11-03)