系统主要完成的任务为: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代码, 即可生成相应的操作电路, 实现对各种输入信号的锁存、判断、处理以及对各种命令信号的执行和输出信号的控制。