当前位置:文档之家› 基于FPGA的多通道数据采集卡开发

基于FPGA的多通道数据采集卡开发

・控制与检测・ 组合机床与自动化加工技术 文章编号:1001—2265(2010)02—0050—04 基于FPGA的多通道数据采集卡开发 

夏亮,宋宝,唐小琦 (华中科技大学国家数控工程研究中心,武汉430074) 

摘要:针对数控系统对信号采集和控制的要求,设计了一款高速多通道模拟数据采集板卡,该采集板卡 以FPGA作为主控芯片,实现多通道宽范围的模拟量信号的实时采集、简单实用的数字滤波以及通过 PC104总线与上位机数控系统的通信,适用于多通道的模拟量测控、高精度控制的闭环控制系统。该采 集板卡具有实用性和灵活性等特点。文中详细阐述了软硬件的设计思想及其实现方法,并在实验与实 际应用中得到验证。 关键词:数控系统;FPGA;数据采集;闭环控制 中图分类号:TH16;TG65 文献标识码:A 

Development of Multi-channel Data Acquisition Card Based on FPGA XIA Liang,SONG Bao,TANG Xiao-qi (National Numberical Control Engineering Center,Huazhong University of Science and Technology,Wuhan 430074,China) Abstract:One kind of high-sp eed and multi-channel data acquisition card used for CNC has been designed. Based on FPGA,the card can manage to achieve real—time data acquisition and di gital filtering and comunication with CNC system through PC104 Bus,which can be applicable to the closed-loop control system of the multi-channel analog measuring and hi accuracy contro1.Practicability and flexibility are the advantages of this card.This paper elaborates the design idea and method which has been verified in experiment and actual application. Key words:CNC;FPGA;data acquisition;closed-loop control 

O 引言 使用通用数控系统进行二次开发时,某些专用设 备具有大量模拟和数字信号的输入和输出,而一般通 用数控系统只有伺服和主轴驱动电机及有限的I/0信 号接口,不能满足这些专用设备对信号采集和控制的 需求。因此,需要使用外接的数据采集装置。通用数 据采集卡一般都具有多路A/D、D/A及I/0接口,可满 足大部分设备的信号采集及控制需求。然而,某些设 备由于环境干扰及设备工作时的震动等原因,其模拟 信号中包含大量的噪声,这些信号需要进行复杂的数 字滤波才能使用,需要耗费数控系统处理器宝贵的处 理时间。为此,本文设计了一种基于FPGA的多通道 模拟量数据采集卡,除了可实现多通道实时模拟数据 的采集外,还能根据模拟信号的特点在FPGA中对数 据进行有效的数字滤波,然后将滤波后的数据通过 PC104总线传给数控系统,可大大减轻数控系统处理 器的的运行负担。 l 多通道模拟量采集卡的系统结构 多通道模拟量数据采集是并行数据采集技术领域 研究的热点…,其控制核心一般采用单片机、DSP或者 FPGA实现。但是,从处理速度、执行效率、总线宽度、 体积、功耗等方面考虑,FPGA的优势比较明显。同时, 在数据处理方面,可以充分利用FPGA通用或专用的 IP核,灵活有效地实现数据的高速处理。在本文设计 中,通过FPGA实现了简单实用的滤波器,对模拟量信 号进行快速有效的滤波处理。本文采用FPGA作为主 控芯片,实现模拟量数据的采集控制、数据缓存、滤波 处理、传输控制以及与PC104总线的通信。该板卡的 结构框架如图1所示。 采集卡由图1中的七个部分组成,主要有传感器、 

收稿日期:2009—08—24 基金项目:国家自然科学基金(50875099);围家科技重大专项(2009ZXOl0l0一Ol1) 作者简介:夏亮(1986一),男,湖北人,华中丰牛技大学硕士,研究方向为数控技术与装备,(E—mail)2008summer—bright@163.com。 

・50・ 2010年第2期 ・控制与检测・ 传感器 数据线 网 数据总缎 I j AD转换 存H波 FIFO 量 蕉旦} l j PC 104网f f f 

总 拟开关j H运算放大器¨ l据『 相 L 线 j—l1_I.tl 地址总线 

● I U I环{ 专 FPGA 

图1 结构框架图 模拟量输入接口、模拟开关、运算放大器、AD转换器、 

FPGA、PC104总线。本文设计的采集卡可通过PC104 接口嵌入到数控系统中 ,硬件上的设计具有独立性, 也可以在硬件和软件上做简单的修改应用到其他嵌人 式系统之中,具有广泛的实用性和灵活性。 

2关键硬件模块的设计 本文关键的硬件设计包括信号信号的采集及前置 处理、宽范同的AD转换。信号的采集及前置处理电 路主要包括原始信号的采集、转 换、选择和传输。在本设计中, 目标信号主要是各个进给轴或 主轴的速度、电流信号,一般采 集信号为电压型信号,可以直接 将信号送至采集板卡的输入接 口;当采集信号为电流型时,需 要在输入接口端配合适当的精 密电阻和电容,将电流信号转换 成电压信号,并进行简单信号硬 件滤波。 信号到达模拟开关之后,通 过FPGA的控制信号选通其中的 

在本文中,要求对宽范围的模拟量信号实现 高精度的实时采集,因此有效的宽范围的AD转 换是关键设计之一。本文选用美国Burr—Bown公 司的ADS774作为AD转换芯片,其支持双极性 输人,信号输入范围可配置,可实现四种信号输 入范围的转换,分别为:0~10V,0~20V一5V~ 5V,一10V~IOV;同时转换速度快,最大转换时间 不超过8.5us;具有12位高精度的数字量输出;接口方 便,易与大多数微处理器系统或其他数字系统相接,转 换过程可由微处理器控制,也可通过R/C输入运行在 完全独立的工作模式下;功耗低,最大功耗小于 l20MW。这些特点对缩短系统开发周期,增强系统稳 定性极为有利[4i。其具体电路如图3所示,在本文中 对于不同电压范围的输入信号,AD转换通过跳线来处 理。具体电路图如图3右端所示。 

一路信号。本文中多路模拟开关选用AD7503。AD7503 有A0、A1、A2三个地址选通端口和一个使能端口EN,由 FPGA的4个10口控制,只有在EN:0时A0、A1、A2的 地址才有效,A2A1A0=000、001、010……l11分别对应通 道1到8 。模拟开关的电路图如图2所示。 U4 互Ana log _IN匝1 13 S

,1 

~ ____・・--_ ‘= _-・-___-_____一 ' 

! ! 

巫Ana五log ..IN匝4 9羹 △趔 

生 : △ ! g_!盥Z 垒 2g ! 苎 : 

An7503 

l6 AAO l AAl 

图3 AD转换 当输入模拟量信号u, 在区问[0,+10V]或者 [0,+20V]时,该信号应从引脚13(IOV模拟信号输入 引脚)或者引脚l4(20V模拟输入信号引脚)输入,此 时,ADS774的数字输出量D为无符号二进制码,计算 公式为: ,, D=(2”一1) (1) 

12 Analog I 1 l4 +Dl2V +I, .C3 

2 l\ 4・7“F/l 

15 一D12V I/ 一 t I+ 

C4 ,l 4.7 F/15V Il 

图2模拟开关 信号经过模拟开关的选择后,通过运算放大器射 随电路传输到AD转换芯片。运算放大器的射随电路 主要起缓冲作用,提高了输入阻抗,减小输出信号对输 入的信号影响。 式中, , 为输入模拟量信号, 为满量程。 如果模拟量从引脚13(10V模拟信号输入 引脚)输入,图3右端的跳线器1、3引脚短接, 4、6引脚短接,则U =10V;如果从引脚14 (20V模拟输入引脚)输入,跳线器3、5引脚短 接,4、6引脚短接,则U, =20V。最小分辨率 为1LSB=U 、 /4095。当信号从引脚IOV输 入,且U =10V时,1LSB=2.44mV;当信号从 引脚20V输入且U =20V时,lLSB=4.88mV。 当输入电压在 , 为双极性且在区间[一5V, +5V]或者[~IOV,+10V]时,模拟量应从引脚13或 者引脚14输入。此时,其输出数字量D与输入模拟电 

・51・ ・控制与检测・ 组合机床与自动化加工技术 压 之间的关系如下: …“ 如果模拟量从13引脚输入,图3右端的跳线器1、 3引脚短接,2、4引脚短接,最小分辨率为1LSB= 2.44mV;如果从引脚14(20V模拟输入引脚)输人,跳 线器3、5引脚短接,2、4引脚短接,最小分辨率为1LSB =4.88mV。 

3数据采集控制与滤波的FPGA实现 AD转换芯片的12位数字量通过电平转换芯片后 进人FPGA,FPGA经过一系列处理之后将结果通过电 平转换芯片送至上位机。在本文中,根据设计要求FP. GA选用Altera公司的EP1C3T144C8。EP1C3T144C8 具有2910个逻辑单元和5904个存储位,足以满足设 计的要求。 数控系统的主要功能是服务于各种复杂的控制 进程,这些进程占用了数控系统的大部分时间,为减 轻数控系统上位机的负担,提高信号采集系统的可靠 性、稳定性及实时性,FPGA复位后,通过内部定时实 现模拟开关通道的切换,AD转换的工作状态,滤波模 块和FIFO寄存器等控制。上位机可以随时通过FP— GA中的数据寄存器读取到实时采集的模拟量数据。 滤波器按功能可以分为低通滤波器、高通滤波器、 带通滤波器、带阻滤波器,传输信号可以分为模拟滤波 和数字滤波 。根据数控系统的工作环境,本文除了 在硬件上采用LC、RC滤波器之外,还在FPGA内部实 现了数字滤波。针对不同的信号特征,FPGA内部的滤 波也可以采用不同的滤波方法。主要方法有程序判数 滤波、中值滤波、滑动算术平均值滤波、滑动加权平均 值滤波、放脉冲干扰平均值滤波和低通滤波。本文采 用滑动算术平均值滤波,具体实现方法在后面描述。 修改FPGA滤波算法的程序,可以实现其它的数字滤 波器 。 FPGA的设计在Quartus II集成编译环境中进行, 采用VHDL和原理图方式共同描述 。FPGA的功能 模块图如图1中虚线部分所示。分别包括锁相环、锁 存转换值、滤波处理、地址译码、FIFO寄存器5个模 块。其中数据采集模块的FPGA程序流程图如图4所 刁 。 其工作流程如下: kelk1‘ 

相关主题