dsPIC3F3013的CAN总线数据采集系统

1 硬件构成
该数据采集系统由两部分构成:控制部分,包括前端信号的抗混叠滤波器和用于信号采集的12位模数转换器;CAN总线接口电路部分,由MCP2515 CAN协议控制器和MCP2551高速CAN收发器构成。系统接3路信号,TEM、PRE、RH分别为温度、气压、相对湿度。
1.1 控制部分
dsPIC30F3013是Microchip公司生产的传感器系列数字信号控制器。该控制器采用16位(数据)改良的哈佛结构,并带有增强型指令集,包含对DSP的有力支持。工作速度最高可达30MIPS,内部集成10通道12位模数转换器,最大转换速度为200 ksps。
工控系统中,由于各类噪声的存在,需要在信号采集端加上抗混叠滤波电路,如图2所示。

抗混叠使用Sallen Key二阶低通滤波器。由于环境变量均为缓变量,滤波器带宽设置为30 Hz。电路中R1、R2、C1、C2的值确定了抗混叠滤波器的特征频率f0,同时也保证了在10 ksps模数转换速率下12位的分辨率。为了使在整个通带范围内信号均能很好地通过,需要调整Sallen Key滤波器的品质因数Q。Q值由式(1)决定:

Sallen Key滤波器的幅频特性显示,当品质因数在0.7~0.9之间时,频率特性达到最佳。本Q值选定为0.8。
使用dsPIC30F3013的12位ADC模块进行数据采集。对3路环境信号进行循环扫描,每完成12个采样/转换过程产生一个中断。中断过程中完成4次平均值数字滤波及相应参数的格式调整,然后,通过SPI接口传送到CAN协议控制器。
评论