基于FPGA的光栅尺信号智能接口模块

网友投稿 321 2022-11-20

基于FPGA的光栅尺信号智能接口模块

输出方波的光栅尺有A相、B相和Z相三个电信号,A相信号为主信号,B相为副信号,两个信号周期相同,均为W,相位差90o。Z信号可以作为较准信号以消除累积误差。

图1给出了动尺移动时A、B信号的变化情况。在A信号的下降沿采集B信号,就可以判断出运动方向。图中前半部分为正向运动,A信号的上升沿及下降沿均比B信号超前1/4W,在A信号下降沿采集的B信号为“1”;后半部分为反向运动,A信号的上升沿及下降沿均比B信号滞后1/4W,在A信号下降沿采集到的B信号为“0”。根据采集到的运动信号方向和A信号变化的周期数用计数器进行曲计数(正向计数或逆向计数),就可以测算出总位移。

该电路设计有如下要求:利用FPGA芯片完成双路光栅尺信号处理(考虑到2维X-Y平台的应用场合)、四细分及辨向功能、24位可逆计数器、与微处理品器及各种单片机的并行接口电路(包括锁存、译码、清零电路等)。其对外接口信号如图2所示。

2 FPGA器件的选择

3 电路设计

本电路采用 Altera 公司的Max -plus 开发平台进行设计。Max -plus 为 Altera 公司的专门开发平台,它包括设计输入、编译、仿真、器件编程等功能。该平台使用方便,允许用户用原理图、VHDL语言、波形图等多种输入方法进行设计。下面介绍系统主要电路的设计。

3.1 细分辨向电路

3.2 计数电路

本系统中的24位计数器采用VHDL语言进行设计。输入信号定义为时钟CLK、方向信号fx =ENADD ,清零信号CLR(后面有介绍)。输出信号定义为24位的计数结果COUNT(23:0)。用VHDL语言来编写实现24位可逆计数器功能。其仿真信号如图5所示。

3.3 接口电路

接口电路用原理图法设计,电路包括以下部分:

(1)地址译码电路:输入信号为外部(微处理器、单片机等)的地址线A0~ A4、片选信号线CS、读写控制信号,通过逻辑门电路的连接构成组合逻辑,给每一个内部单元提供使能信号。

(2)锁存接口电路:由于内部各计数单元工作属于动态过程,因此外部微处理器(或单片机等)在读取数据时,应该先给其发出锁存信号然后再读取数据,以保证读出稳定的数据。锁存器输出设计为三态门输出,与外部数据线连接,三态门的使能信号由译码电路提供。

(3)清零电路:电路中设计了清零电路。清零脉冲是通过外部写命令(8位)内部进行译码的方式进行的,而不是使用一根信号线进行清零,这样可以有效地防止在只使用一根信号线时受干扰等原因而引起的误清零现象。

4 结束语

本设计经过仿真、编译实现后,将代码下载到EPC1441可编程配置芯片,属于主动配置模式。在接口模块上电后由EPC1441自动对EPF10K10芯片进行配置。该接口模块已成功应用于于笔者设计的运动控制系统中,成功地完成了对光栅尺(运动控制系统中的位置反馈部件)信号的四细分处理功能,性能稳定可靠。如果在此设计的基础上再加上译码驱动和显示电路,就可作为位移测量和显示电路独立使用。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CPU 317-2PNDP组态PROFINET接口
下一篇:JPA中JpaRepository接口的使用方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~