EDN China > 设计实例 > 模拟设计 > 转换器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于DSPIC30F3013的CAN总线数据采集系统

单片机与嵌入式系统应用 中北大学 司宝锋 孟鹏花?? 2012年02月22日 ?? 收藏0
引言

在工业控制中,为了保证系统的可靠运行,需要检测周围的环境变量(如温度、气压、湿度等)。通常的做法是将分布在各处的传感器采集到的信号通过各自的线路连接到监控中心,这种方式在有效地完成检测任务的同时也造成了线路资源的极大浪费。因此,提出了简化线路布局的要求。CAN(控制器局域网)是串行通信协议,能有效支持高安全等级的分布实时控制,同时在理论上,CAN总线网络内的节点近乎没有限制。基于此,本设计将一种基于数字信号控制器的CAN总线数据采集系统作为一个CAN节点,每一个需要监控的区域放置一个CAN节点,各个节点通过CAN总线与监控中心实施通信。系统总体框图如图1所示。

系统总体框图

1 硬件构成

该数据采集系统由两部分构成:控制部分,包括前端信号的抗混叠滤波器和用于信号采集的12位模数转换器;CAN总线接口电路部分,由MCP2515CAN协议控制器和MCP2551高速CAN收发器构成。系统接3路信号,TEM、PRE、RH分别为温度、气压、相对湿度。

1.1 控制部分

dsPIC30F3013是Microchip公司生产的传感器系列数字信号控制器。该控制器采用16位(数据)改良的哈佛结构,并带有增强型指令集,包含对DSP的有力支持。工作速度最高可达30MIPS,内部集成10通道12位模数转换器,最大转换速度为200 ksps。

工控系统中,由于各类噪声的存在,需要在信号采集端加上抗混叠滤波电路,如图2所示。

控制部分

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

公式

Sallen Key滤波器的幅频特性显示,当品质因数在0.7~0.9之间时,频率特性达到最佳。本Q值选定为0.8。

使用dsPIC30F3013的12位ADC模块进行数据采集。对3路环境信号进行循环扫描,每完成12个采样/转换过程产生一个中断。中断过程中完成4次平均值数字滤波及相应参数的格式调整,然后,通过SPI接口传送到CAN协议控制器。

1.2 CAN总线接口电路部分

CAN总线接口电路如图3所示。

CAN总线接口电路

CAN协议控制器采用Microchip公司生产的MCP2515。MCP2515是带有SPI接口的独立CAN控制器,它完全支持CANV2.0B技术规范,通信速率为1Mb/s,包括2个接收缓冲器、6个29位验收滤波寄存器、2个29位验收屏蔽寄存器、3个具有优先级设定及发送中止的发送缓冲器、高速SPI接口(10MHz)。

MCP2515与MCU的接口可以灵活配置。可通过引脚(如TXORTS)与MCU的数字I/O脚直接相连,利用数字I/O的读写功能控制MCP2515的状态;也可以直接使用MCP2515的SPI指令集来实现所有的功能。用于控制MCP2515的SPI指令集如表1所列。

用于控制MCP2515的SPI指令集

dsPIC30F3013通过SPI接口与MCP2515进行通信,dsPIC30F3013的SPI模块工作在主控模式,MCP2515工作在从动模式。dsPIC30F3013通过调用SPI指令来访问MCP2515的内部寄存器。

MCP2551是一个可容错的高速CAN收发器,它完全符合ISO-11898标准,包括能满足24 V电压要求。它的工作速率可高达1 Mb/s。

2 软件设计

dsPIC30F3013作为控制核心,它承担着数据采集处理和CAN通信的任务。数据采集部分的工作流程如图4所示。

数据采集部分的工作流程


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

CAN总线? 滤波器? 传感器?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈