摘 要: 开发了基于DSP和ADS8364的数据采集处理系统。该系统主要由信号调理模块、A/D转换模块、DSP处理器模块、CPLD逻辑控制模块、Flash存储器模块和CAN总线通信模块组成。它能够在板卡上实现信号的采集、前端处理和存储,并能通过CAN总线与上位机通信,实现数据的存储、后端处理及在PC104上显示。
关键词: TMS320F2812; ADS8364; 数据采集; CAN
实时数据采集与处理技术在许多领域得到广泛应用。在图像处理、瞬态信号检测、软件无线电、雷达信号分析、医用成像设备和工业现场控制方面,需要对连续变化的模拟信号进行同步数据采集,因此,对运动过程中变化的信号高速A/D采集是十分重要的[1]。本文介绍一种基于TI公司的TMS320F2812 DSP芯片(以下简称F2812)与A/D转换芯片ADS8364构成的同步高精度的数据采集系统,解决了大型曲面钢板结构参数测量机器人系统中传感器信号采集的关键问题。
1 系统原理
本采集系统结构框图如图1所示,由前端的系统(包括电流信号取样、信号调理模块、A/D转换模块、DSP处理器控制模块、CAN总线网络)以及上位机、PC104机、上位机CAN适配器几部分组成。其中前端系统的核心部分是A/D转换模块和F2812,A/D转换将模拟信号转换成数字信号,A/D接收控制芯片F2812指令,设定A/D转换部分的采样率,控制A/D转换,进行数据预处理。数据就绪后,通过ADS8364的EOC信号通知F2812,由F2812将数据读出并且进行计算处理。DSP通过控制CPLD在合适的时候采样并读取采样数据,在空闲的时候做数据处理。
系统主要完成的任务为:DSP接收上位机通过CAN总线上发送的命令,完成系统工作参数的设置,并通过模拟地址/数据总线与CPLD进行通信,向CPLD发送控制命令;对外部的多路模拟量输入进行信号调理,在CPLD控制下进行单通道A/D转换,将采集到的数据存储在1片Flash芯片中,并经过CAN总线实时传送给上位PC104主机。 参考文献
2 系统硬件
系统硬件包括信号调理模块、A/D转换模块、DSP 处理器模块、CPLD 逻辑控制模块以及CAN总线通信模块。DSP、CPLD、ADS8364之间的接口设计如图2所示。
2.1 信号调理模块的设计[1]
激光位移传感器输出的模拟量电流输入信号的范围为4~20 mA。ADS8364待转换的模拟输入电压范围应保持在AGND-0.3 V和AVDD+0.3 V之间。通过1个250 Ω精密取样电阻,将电流信号转换为1~5 V电压信号。通过运放跟随电路提高输入阻抗,增强系统的抗干扰能力。电路中取样电阻非常关键,它们影响着输入信号的变换精度,因此必须采用温漂较小的精密电阻。
2.2 DSP处理器与A/D转换模块设计
本采集系统要求对激光位移传感器的模拟信号进行采集,鉴于测量精度要求较高,选择TI公司的高精度ADS8364作为A/D转换芯片,它是TI公司新推出的高速、低功耗、6通道同步采样16位模数转换器,采用+5 V工作电压,最大采样吞吐率可高达5 MHz; 带有80 dB共模抑制的全差分输入通道以及6个4 s连续近似的模数转换器、6个差分采样放大器;片上还带有+2.5 V参考电压以及高速并行接口。
DSP主要负责通过CAN总线与上位机交换数据、以地址/数据总线的方式与CPLD 通信, 实现对数据采集的控制以及对采样后的数据进行前端数字信号处理(数字低通滤波)。这里选用TI公司的32位定点DSP TMS320F2812芯片,它采用1.8 V 的内核电压, 具有3.3 V 的外围接口电压,最高频率150 MHz,片内有18 KB的RAM, 128 KB的高速Flash[2]。
在本系统中,上电后由硬件复位ADS8364,ADS8364的CLK时钟由外部独立的有源晶振提供,频率为4 MHz。A/D转换完成后产生转换结束信号EOC。将ADS8364的BYTE引脚接低电平,使转换结果以16位的方式输出。地址/模式信号(A0,A1,A2)决定ADS8364 的数据读取方式,可以选择的方式包括单通道、周期或FIFO模式。将ADD引脚置为高电平, 使得读出的数据中包含转换通道信息。考虑到数据采集处理系统的采样频率一般较高,如果用DSP直接控制ADS8364的访问,将占用DSP较多的资源, 同时对DSP的实时性要求也较高。因此在本系统设计中, 用CPLD实现ADS8364的接口控制电路。DSP的GPIO与ADS8364的HOLDA、HOLDB、HOLDC信号相连,控制6个ADC的采样/保持。EOC连接到F2812的XINT1。
2.3 CPLD逻辑控制模块设计[3]
在该数据采集处理系统中, CPLD是一个重要的组成部分。由CPLD 组成的逻辑控制模块接收DSP传送过来的动作命令, 控制A/D 转换模块进行数据采集。这里选用Altera公司的MAX II系列芯片 EPM1270, 它包含1 270个LE相当于40 000门数,980个等效宏单元数,8 KB用户可用Flash。116个用户可用I/O口,扩展方便。
CPLD 作为一个单独的控制执行结构,通过编写相应的Verilog HDL代码, 即可生成相应的操作电路, 实现对各种输入信号的锁存、判断、处理以及对各种命令信号的执行和输出信号的控制。
2.4 CAN通信模块设计[4]
由于所选的TMS320F2812 DSP 内部含有CAN控制器,只需加1个CAN收发器芯片即可实现CAN总线网络。CAN通信模块的功能是将采集系统的采样结果及运行参数实时上传到总线,提供给上位机存储及处理。
3 系统软件设计
软件程序运行于硬件平台之上,实现采样系统的采集、滤波以及后期处理,是测量装置的灵魂。本装置软件设计主要由主程序和子程序组成。为了实现准确、快速、实时的测量功能,采用C 语言和汇编语言混合编程。
3.1 DSP 程序设计
DSP编程的主要任务是初始化、管理板上的资源和实现前端数字信号处理的算法。这里以TI公司提供的功能强大的CCS(Code Composer Studio) 为集成开发环境。系统上电复位后, 首先完成F2812 自身的初始化, 包括配置RAM块、设置I/O 模式、定时器模式、中断等; 然后程序进入循环状态,等待上位机CAN指令的到来。在F2812的程序存储器中存储常用的数字信号处理算法,F2812在收到上位机通过CAN总线发送的控制指令后,在中断函数中选择某种处理算法,同时向CPLD发出动作命令,控制A/D转换模块完成信号的采集并将采集到的数据存入SRAM中。当采样点数达到设定点数时,DSP程序实现对部分采样数据的读取,在主循环程序中根据上位机选定的处理算法完成数据的前端处理,然后将数据打包,通过CAN总线传输给上位机。F2812主程序流程图如图3所示。
3.2 数据采集子程序流程
数据采集子程序流程如图4所示。首先,在外部时钟信号的作用下,F2812要提供ADS8364所需的HOLD保持信号,启动转换。待ADS8364转换完成时,产生EOC中断信号给F2812,F2812接收到EOC信号后,对所需的通道结果寄存器进行读操作,只要保证CS和RD同时为低50 ns以上,就可将转换完的数据读出。由于测量系统采样时刻由数控系统运动状态来决定,因此,对于采样时刻的确定要在测量机构运动过程中的空闲时间进行。保证空闲时间远大于2 ms并且保证采样时刻对应其他各轴的坐标反映了测量目标的真实形状数据。由于ADS8364的转换速度很快,在启动A/D转换之后,只需等待5 μs即可读取转换结果,因此可采用等待方式,等待时间大于5 μs即可读取数据。在实际工作时,智能测量节点将采集到的数据发送到中心处理主机进行存储、处理。中心处理主机采用PC104总线的嵌人式CPU,通过CAN接口卡PCI5121和智能节点通信。
本文将TMS320F2812与ADS8364相结合,设计了一套数据采集系统。该系统采用CAN总线与上位机通信, 充分发挥了CAN2.0方便、快捷的优点。考虑到对实时性的要求,将某些特定的数字信号处理算法放到数据采集处理卡上由DSP快速完成。该系统采集精度高, 速度快,并且可同时采集多路信号。该数据采集处理系统已经用于大型曲面钢板的结构参数测量中,实践证明, 运行稳定可靠。
[1] 魏怀玺,李兵渠,慎丰,等.基于DSP和ADS8364的高速数据采集处理系统[J].电子技术应用,2006,32(6):82- 84.
[2] 张龙,周端,司栋森,等.基于TMS320F2812高速数据采集系统的设计与实现[J].电光与控制,2007,14(1):129-132.
[3] Altera Corporation. MAX II device handbook.www.altera.com, 2004.
[4] 潘伟,王汉功,张霞.基于TMS320F2812 DSP的智能CAN节点设计[J].自动化仪表,2005,26(10):36-37,50.
[5] 吴平安,刘昂,周雪松,等.基于DSP的励磁控制器数据采集系统设计[J].天津理工大学学报,2007,23(1):56- 59.
[6] 万山明. TMS320F281x DSP原理及应用实例[M].北京:北京航空航天大学出版社,2007.