齿轮测量机三维扫描测头数据采集卡的研制
2017-09-09马孝江杨宝平
马孝江 杨宝平
摘 要:文章将介绍一种基于CNC齿轮测量中心测控系统的三维扫描式测头的数据采集卡。通过硬件描述语言Verilog,在控制核心
FPGA上实现了采集卡的模数转换控制,测头状态与数据读取、数字滤波、同步锁存和总线指令译码等功能,并通过了逻辑分析仪验证和上位机诊断程序的诊断。该数据采集卡符合其应用要求。
关键词:三维扫描测头;数据采集卡;FPGA;Verilog
中图分类号:TG86 文献标志码:A 文章编号:2095-2945(2017)25-0048-02
引言
CNC齿轮测量中心要对高精度、工作曲面复杂的齿轮进行测量,测头的数据采集卡是整个测控系统的核心部分,是计算机和被控对象之间的数据传递重要桥梁、也是被控对象信息处理的重要环节。所有逻辑部分由FPGA实现,它具有高集成度,高抗干扰力和低功耗等特点,此外还具有高度灵活性、可集成外围电路。
1 总体方案
本设计方案是基于FPGA的三路数据采集卡,它主要由扫描式三维测头传感器,测头信号调理电路,三路模数转换器构成的转换电路,FPGA逻辑控制模块,数据总线接口模块以及运动控制反馈通道组成。其工作原理:测头传感器产生电压信号,传输给三路信号调理电路,经过信号滤波,调理放大得所需要的模拟信号范围将所达要求的模拟信号送往高精度的模数转换电路中,依据其AD的时序要求,由FPGA来控制A/D转换器进行模数转换,并控制数据的有序传输。此外,另一功能,运动控制卡反馈通道是由信号调理电路处理后的信号通过极性转换及电压幅值变换电路传送给运动控制卡用于闭环控制或随动控制。
从系统操作来看,上位机发出的不同指令通过FPGA进行相应的动作来判断数据是否转换完毕,控制数据的同步锁存,依据时序读取数据标志状态寄存器数值和三路采集的数据。
2 采集系统硬件设计
设计中使用的测头传感器属于LVDT电感式传感器,根据要求将其放大到-10V~+10V范围。设计采用ADI公司的精密仪表放大器AD8429来设计信号调理电路;使用的测头传感器属于LVDT电感式传感器,根据要求将其放大到-10V~+10V范围。设计采用ADI公司的精密仪表放大器AD8429来设计信号调理电路;使用A/D的是美国ADI公司的AD977的一款典型的转换精度高,功耗低的16位逐次逼近型转换器,它有以下特性:最高采样速率100KSPS;单电源5V供电;内部2.5V参考电源可选AD转换电路单元设计为以R1IN为信号输入端,输入电压为单端双极性,电压范围为-10V~+10V。设计中选用TI公司的具有可配置电压转换和三态输出的2位双电源总线收发器SN74LVC2T45来解决接口电平匹配。总线接口电路设计,本设计中使用的是CAMAC总线接口,总线接口的逻辑电平是标准负逻辑,这种逻辑标准具有很强的抗干扰能力、译码结构简单的特征,成为一种独特的逻辑标准,在CNC测量中心中得到广泛的运用。
3 采集卡硬件描述语言的设计与实现
3.1 系统总体逻辑设计
所有的逻辑功能都在FPGA内部实现。FPGA通过SPI接口控制三路AD977的数据连续转换和数据的传输,然后将16位的串行数据转换为并行数据,经数字滤波处理后传输给存储模块,同时状态信息模块中与转换相关的各个状态标志数据也将传输给数据存储模块,等待锁存指令对其三路AD转换数据和状态信息共四路有效数据进行存储;当上位机通过CAMAC机箱发送锁存指令时,系统将检测到锁存有效标志来锁存信号,实时锁存相应的有效数据,并传输给读数据选通模块,同时通过超量程指示灯反应三路数据是否超程;之后,当上位机依次发送读状态数据指令和三路采集数据指令时,读数据选通模块依次读取相应数据并分时传送给上位机以作后续处理,系统总体的主要逻辑功能框图。整个系统逻辑功能的实现都是用Verilog HDL硬件描述语言进行描述,硬件程序的设计主要采用自顶向下的设计思想。
3.2 三路采样数据转换控制模块
数据转换模块主要是来实现AD977的数据转换和以SPI为接口对16位串行数据的读取并传输给FPGA。
(1)时序分析,实现对AD977的转换控制和数据读取主要依据是其工作的时序原理。从图中可知,当CS为低电平时,R/C跳变为低电平,AD977输入信号,并启动模数转换。
(2)转换控制逻辑的编写,模块的编写主要分AD的转换控制和SPI接口控制数据读取并串并转换两个部分,根据其RTL图,U1模块功能:自发产生所需要的R/C(即rc_n),启动AD转换,当接收到外部的AD977的BUSY(即busy_n)由低变高时,通过使能标志En_start启动U2中SPI_clk产生17个时钟脉冲来接收AD977中已经转换好的数据,当最后一位数据(LSB)接收完后,结束标志SPI_rx_rdy由低电平拉高,同时U1中ad_con由低变高重新启动AD下一次转换。此外U1在每次接收完数据后产生一个高电平结束标志fg_end来提示数据可进行下部的存储。U2模块功能:此模块主要完成向AD读取数据的SPI接口和16位串行数据到并行数据的转换。
(3)数据滤波模块,使用“冒泡法”排序,将最大值和最小值去掉然后其余值求平均值,这样可以将所采集数据中变化大的值濾除,达到输出数据平滑,差异小。
AD977_no_sync连续转换,每次转换完毕延时两个时钟后,flage_end发送一个高脉冲,当filter模块中的fclk检测到flage_end的上升沿时将每次转换的数值存储在寄存器中,依次连续4次,当最后一个数据存储完毕,将产生高电平的flage_end信号,同时ave输出滤波后的结果。
(4)其他模块编写,设计中,除了以上两个模块还有hand_lage和decAD_data,这两个模块主要是对AD采集的数据进行存储及其他相应的处理,以便有序的被上位机读取。endprint
a.hand_lage模块功能:此模块主要实现两个目的,有效锁存指令Q1响应信号的产生和数据的锁存及状态寄存器的设置。锁存指令響应主要是应用状态机来描述,当上位机发送CAMAC指令NA0F28后,状态将从lock转移到lock_data,在此状态下将等待AD转换结束标志flage_end有效。
b.decAD_data模块功能:此模块实现了数据读取的选通,由于数据的读取时按照一定的顺序来进行,而每次读取16位数据,三路数据和状态值逐次通过了相应的CAMAC指令进行了选通,且当RD为低电平时数据被读取。
4 采集卡联机调试与分析
CNC齿轮测量中心调试平台主要由CAMAC机箱、模拟光栅发生装置、手动控制箱以及上位机组成。对设计好的采集卡进行初调后将在调试平台上对其基本逻辑功能进行测试,通过了一下测试内容:
(1)CAMAC总线各译码指令功能的测试;
(2)采集卡数据是否能正常被上位机读取;
(3)上位机站号及指令信息指示等是否正常。
通过FPGA的JTAG接口使用QuartusII中的逻辑分析仪(SignalTap)抓取AD卡运行时各指令与状态信号电平变化来观察其连续采集工作时序,抓取的状态信号和数据转换波形的结果与仿真中AD转换、NAF指令译码功能、三路实时性数据通道选通读取以及反馈给上位机的状态信息等相比较,所要实现的逻辑功能与实际使用相符合。因此,控制程序的设计以及所要实现的功能符合最初设想,如图2为抓取的信号波形图。
本AD采集卡通过了以下功能和指标进行测试:开关量测试,测头悬空量测试及校准,测头数据比例放大系数校准,系统元件噪声测试。
5 结束语
本采集卡的硬件设计方式顺应了现阶段数据采集领域的发展趋势,采用以FPGA为控制核心的结构,在采样速度,数据精度上得到了保证,而且具有特有的运动反馈电路,更具有了灵活性和实用性。
参考文献:
[1]王强.CNC齿轮测量中心数据采集系统的研制[D].哈尔滨工业大学,2009.
[1]熊清平.数控系统技术的发展趋势[J].机电工程技术,2004(9):91-94.
[2]张继永.基于DSP的三维测头数据采集处理系统的研制[D].哈尔滨工业大学,2008.
[4]来跃深,王建华,王亚晓,等.基于CPLD的CAMAC系统控制器设计[J].工具技术,2008,08:94-96.
[5]杨文焕.基于FPGA的多路高精度A/D采集卡的设计[D].河北科技大学,2013.endprint