基于DSP和ADS8364的数据采集系统设计
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所示。 本文引用地址:http://www.amcfsurvey.com/article/190511.htm
评论