CAN总线数据采集系统研究

最新更新时间:2013-07-27来源: 与非网关键字:dsPIC30F3013  CAN  数据采集 手机看文章 扫描二维码
随时随地手机看文章

引言

在工业控制中,为了保证系统的可靠运行,需要检测周围的环境变量(如温度、气压、湿度等)。通常的做法是将分布在各处的传感器采集到的信号通过各自的线路连接到监控中心,这种方式在有效地完成检测任务的同时也造成了线路资源的极大浪费。因此,提出了简化线路布局的要求。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协议控制器采用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所列。


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

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

2 软件设计

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


dsPIC30F3013的12位ADC模块包含一块ADCBUFO至ADCBUFF的16字双口只读缓冲区,对ADC转换结果进行缓冲。本应用采样3路信号,并用扫描输入,经过12次ADC转换后,每次转换的数据依次写入ADCBUF0至ADCBUFB。即代号为0、3、6、9的AD-CBUF中存放的是同一个信号的不同时间的采样值,将这4个缓冲器的结果相加,然后再右移2位,即可实现该信号的4次平均值数字滤波。其他两个信号存放在与之相关的ADCBUF中,处理方法与此相同。

MCP2515的SPI接口支持0,0和1,1运行模式。外部数据和命令通过SI引脚传送到器件中,且数据在SCK时钟信号的上升沿传送进去,在SCK的下降沿通过SO引脚传送出去。CS片选引脚设置为低电平后,MCP2515希望收到的第一个字节是指令/命令字节,这就要求在调用一个命令时,要先把CS引脚拉升为高电平然后再降低为低电平。使用装载TX缓冲器指令,取消了一般写命令所需的8位地址,只需选择地址指针设置的6个地址之一,便可快速地将数据写入发送缓冲器。

下面以MCP2515的装载TX缓冲器为例来说明数据的发送过程。装载TX缓冲器的时序如图5所示。本应用有3路信号,每一路信号都要求精确到小数点后2位,所以经过处理后的数据格式使用浮点型。一个浮点数需要占用4字节,为了使监控中心易于管理,用包含4字节数据长度的标准数据帧来发送数据。现以装载TX缓冲器0为例说明一次数据发送操作,如图6所示。



dsPIC30F3013的SPI模块在数据发送和接收时有8位和16位两种工作模式可选。MCP2515的SPI指令、内部寄存器地址及数据都是8位的,所以在初始化SPI模块时,清零MODE16(SPI1CON<10>),将通信数据配置为8位宽度。

结语

本文介绍了一种以Microchip公司dsPIC30F3013为控制核心,以MCP2515为CAN控制器和以MCP2551作为CAN收发器的数据采集系统。该系统与传感器组成一个CAN节点,有效地改善了工控系统中监控部分线路布局范围广、布线凌乱、抗干扰能力差的现状,同时,使整个监控系统更易于扩展。实践证明,这种设计是可靠的、高性能的。只是系统工作在多雷电地区时,可能会发生雷击事故,在后续设计中会使用高速光电耦合器在CAN控制器与CAN收发器之间做隔离。

参考文献

1. Microchip Technology Inc.DS70139E_CN.2007.

2. Microchip Technology Inc.DS70046E_CN.2006.

3. Microchip Technology Inc.DS21801D_CN.2005.

4. Microchip Technology Inc.DS21667D_CN.2005.
 

关键字:dsPIC30F3013  CAN  数据采集 编辑:探路者 引用地址:CAN总线数据采集系统研究

上一篇:阻容元件对音频放大器的影响及其选用
下一篇:高压正弦波变频逆变电源研究

推荐阅读最新更新时间:2023-10-12 22:23

基于MSp430的微功耗数据采集系统的开发应用
0 引言 以电池作为电源的水下数据采集系统,若要长时间工作必然要为其配备大量的电池作为电源,如果能降低系统的功耗,那么将减少电池的数量,不仅能降低系统的成本而且能大大缩小系统的体积和重量,也更有利于水下数据采集系统的布放。本文介绍了一种基于微功耗单片机MSP430F1611和CF卡的水下微功耗数据采集系统的设计与实现,总功率仅150mW。相比传统的以DSP为处理器、IDE硬盘为存储介质的数据采集系统,功耗大大降低。 1 系统总体构成 本系统是应用在矢量水听器噪声测量试验中,要求实时采集并存储矢量水听器4通道信号,每通道采样率为10kHz,在水下不间断工作7小时。 鉴于本系统采样率不高,7个小时总
[单片机]
基于嵌入式计算机的某火箭弹自动测试仪应用
   1 引言   变滚转速率火箭弹中的陀螺是敏感元件,它的作用是测出火箭弹飞行过程中出现的偏航角,这个偏航角经过解算模块的计算由控制器启动执行机构进行姿态控制,从而达到修正偏航的目的。但陀螺是一次性产品,在研制和测试过程中它是不工作的,因此需要对陀螺信号进行模拟。对于偏航修正的结果也要进行判定,看它是否与理想的控制效果一致,是否存在超前或滞后现象。因此有必要研制一台自动测试仪进行测试,除了以上两个重要方面外,根据研制要求和测试要求本测试仪需要检测的内容还有二次电源、控制器时序、主发动机内阻测试、姿态控制发动机内阻测试.   本测试系统采用嵌入式计算机PC/104,PC/104与PC/AT体系结构完全兼容,大小只有90mm
[嵌入式]
基于CAN总线的DSP芯片程序受控加载设计实现
   CAN总线概念   CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。   现在,CAN 的高性能和可
[嵌入式]
DSP和USB总线的高频超声数据采集系统
引言   超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。   本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。   在本设计方案中,高速CPLD芯片作为数据采集系统的核心部分,相比传统的MCU+ADC方法,CPLD是用硬件信号而不是软件编程来控制 ADC,从而在速度上有很大的优势。而目前强大的VHDL编程语言也使得CPLD能很容易地实现预
[嵌入式]
基于ADS8364的数据采集系统设计
实时数据采集与处理技术在许多领域得到广泛应用。在图像处理、瞬态信号检测、软件无线电、雷达信号分析、医用成像设备和工业现场控制方面,需要对连续变化的模拟信号进行同步数据采集,因此,对运动过程中变化的信号高速A/D采集是十分重要的 。本文介绍一种基于TI公司的TMS320F2812 DSP芯片(以下简称F2812)与A/D转换芯片ADS8364构成的同步高精度的数据采集系统,解决了大型曲面钢板结构参数测量机器人系统中传感器信号采集的关键问题。   1 系统原理   本采集系统结构框图如图1所示,由前端的系统(包括电流信号取样、信号调理模块、A/D转换模块、DSP处理器控制模块、CAN总线网络)以及上位机、PC104机、上位机CAN
[电源管理]
基于ADS8364的<font color='red'>数据采集</font>系统设计
研华推出全新系列的高密度PCI Express数据采集
研华科技,2013年4月 ——全球领先的创新嵌入式产业电脑&自动化解决方案提供厂商研华科技推出使用 PCI Express 接口的全新系列高密度隔离式数字量输入/输出高速数据采集卡。此系列数据采集卡包括PCIE-1752(64 个数字量输出通道)、PCIE-1754(64 个数字量输入通道)和 PCIE-1756(32 个数字量输入/32 个数字量输出通道),均拥有更快速的数据传输速率,超越标准的 PCI 卡,提供高达 64 个通道,无需特殊的开发软件,最高输出电流可达每通道 500mA。 研华高密度PCI Express数据采集卡PCIE-1752 采用拥有 64 个高密度隔离式数字量输入/输出通道的数据采集卡,
[嵌入式]
研华推出全新系列的高密度PCI Express<font color='red'>数据采集</font>卡
Profibus总线在增压器生产线中的应用
1 引言   现场总线是信息技术、网络技术的发展在控制领域的体现,是自动化技术发展的热点之一。因其具有数字化、开放性、分散性以及对现场环境的适应性等特点而获得了非常广泛的应用。目前,已逐渐成熟并对工业自动化进程形成影响的主要有PROFIBUS,HART,LONWORKS,FF等等。其中PROFIBUS总线是最为流行的现场总线技术之一,其产品广泛应用于工业、电力、能源、交通等自动化领域。PROFIBUS是德国于90年代初制订的国家工业现场总线协议标准,代号DIN19245。它是一种国际化的开放式现场总线标准,即EN50170欧洲现场总线标准。该标准为供应商和用户的投资提供了最佳的保护并确保供应商的独立自主性。PROFIBUS具体规
[工业控制]
物联网中PLC如何实现实时数据采集
数据采集传输对于后续企业进行分析和决策是十分重要的,而实时数据采集更能提升整体生产的认识度,从而采取到更加及时高效的措施。因此PLC实时数据采集成为企业的基础应用,那么PLC如何实现的实时数据采集呢? 协议解析 协议解析是PLC数据采集的第一步。不同品牌不同型号的PIC可能支持的通信协议是不一样的,如西门子、三菱、施耐德、欧姆龙、台达、汇川等。通信协议就像是不同语言一样,如果缺少解析翻译,肯定会缺少对话的基础。因此,如果没有对PLC进行协议解析,就无法获取PLC内部的数据,更不用提后续的数据上云了。 数据采集 协议解析后就能访问PLC内部寄存地址,通过点位表可以获取PLC执行的动作,进而了解设备的运行状态。对于企业来讲,P
[嵌入式]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved