dsPIC3F3013的CAN总线数据采集系统

发布者:心愿达成最新更新时间:2014-10-22 来源: 21ic关键字:CAN总线  数据采集  MCP2515  dsPIC3F3013 手机看文章 扫描二维码
随时随地手机看文章

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

 

  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协议控制器。

1.2 CAN总线接口电路部分

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

 

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

  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总线  数据采集  MCP2515  dsPIC3F3013 引用地址:dsPIC3F3013的CAN总线数据采集系统

上一篇:连接微控制器和传感器输出的简单接口
下一篇:基于GPRS的无线数据采集与传输终端

推荐阅读最新更新时间:2024-03-16 13:43

CAN总线和MSP430的CO(一氧化碳)红外检测系统设计
该文章讲述了CAN总线和MSP430的CO(一氧化碳)红外检测系统设计的电路原理和应用 本系统基于CAN总线接口的红外检测系统的设计思路。 该检测系统以MSP430超低功耗单片机为核心,采用SM-CO H/M红外线CO气体探测器,结合数字滤波和温度补偿等算法,达到精确测量CO浓度的目的,利用CAN总线接口实现数据的远程传输,同时进行CO红外检测和远程监控。   1 引言   一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规
[单片机]
<font color='red'>CAN总线</font>和MSP430的CO(一氧化碳)红外检测系统设计
AD数据采集的“数字滤波”:10个“软件滤波程序”
在AD采集中经常要用到数字滤波,而不同情况下又有不同的滤波需求,下面是10种经典的软件滤波方法的程序和优缺点分析: 1、限幅滤波法(又称程序判断滤波法) 2、中位值滤波法 3、算术平均滤波法 4、递推平均滤波法(又称滑动平均滤波法) 5、中位值平均滤波法(又称防脉冲干扰平均滤波法) 6、限幅平均滤波法 7、一阶滞后滤波法 8、加权递推平均滤波法 9、消抖滤波法 10、限幅消抖滤波法 1、限副滤波 A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A),每次检测到新值时判断: 如果本次值与上次值之差 =A,则本次值有效 如果本次值与上次值之差 A,则本次值无效,放弃本次值,用上次值代替本次值 B
[单片机]
如何让CAN总线插上“翅膀”
    CAN总线一直以实时性强、传输距离远、抗干扰能力强、数据保证到达等特点而广泛应用于高可靠性的场合,但总的来说都离不开CAN_H和CAN_L两根差分线。其实存在很多环境或出于使用的快速便捷,我们不希望在应用现场布线。这时候就需要使用CAN转无线的产品,将CAN总线插上“翅膀”,而无线技术中,最通用最可靠的莫过于WIFI了,所以使用CAN转WIFI设备,是最常用的一种方式。我们一起来分享一下使用广州致远电子出品的CANWIFI-200T的应用吧。     场景一:汽车CAN总线监测     通常我们对汽车CAN总线进行数据监控、故障查找等,需要首先找到汽车OBD接口,使用USBCAN连接OBD接口,使用USB线缆连接
[嵌入式]
基于CAN总线的步进电机多机控制系统的设计
1  引言                   由于 can总线 的系统集成特点,基于汽车车身 控制系统 的can总线技术应用范围已经远远超越汽车控制领域,扩展到了机械工业、家用电器及 传感器 等各种其它测控领域,被国际公认为是重要的的工业 现场总线 。作为 运动控制 对象,步进电动机作为一种将离散的电脉冲信号转化成角位移的机械执行装置,具有结构简单、成本低、定位精度高和无误差累积等优点,已被广泛应用于各种自动控制系统中。随着微型 计算机 和 微电子 技术的发展, 步进电机 的这一性能必将得到更为广泛的应用。因此对于can总线的步进电动机控制研究具有十分明显的现实意义。             2  系统总体设计方案       
[嵌入式]
LabVIEW设计的远程控制实验系统
目前, 传统教育体系已经越来越不能适应当今科学技术和信息飞速发展的需要。传统的教育是以教师讲授为主,学生只是被动听讲,这种方式已经不适应培养人才的要求。另外,在实验设施不足的情况下,学生不能直接参与实验过程操作,不能很好地实现实验教学目标。传统的教学方式不利于充分发挥学生的想象力和创造力,也不利于及时追踪到最新的科技信息。随着计算机技术和网络技术的不断发展,近几年在教育领域提出了一种新的教学思路,即构建虚拟实验室的方法。而远程实验教学多数是利用虚拟技术实现,在这种虚拟实验中,实验者操纵的都不是实验设备实物,看到的只是一些利用三维技术做出来的动画,所获得的实验结果当然也不是远程设备的实际反映而是通过公式计算得到的数据 。针对这一
[测试测量]
LabVIEW设计的远程控制实验系统
CAN总线基础扫盲讲座
CAN总线作为一种工业界的流行总线广泛应于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等各个行业中,它是是一种多主机局域网,所以这样一种总线的潜力是很巨大的,接下来将写几篇入门的小文章,来介绍一下CAN的学习和开发方法,主要是配合我们的开发板,其实入门还是很容易的,通过这几篇文章如果你能建立起一个初步的概念,能够自己搭起自己的一个节点(包括硬件和软件),那就说明你学会了CAN的基本开发技术,实际的工业现场CAN的开发不是那么简单,包括很多要考虑的因素如隔离、可靠性等,但是我们作为初学者建立起基本的概念还是很重要的,基础一旦打好,等到了实际工作中,就会如鱼得水,所以希望正要或是想开发CAN的朋友们能够喜欢这一系列小文
[嵌入式]
基于MSP430单片机的嵌入式手持数据采集系统
简介:uC/OS在手持数据采集系统的成功应用为手持设备软件系统的设计探索了一条新的道路。使用uC/OS设计嵌入式软件克服了传统的前后台式的软件设计方法的弊端,提高了系统的实时性和稳定性,使得软件系统代码模块化,更进一步增强了系统升级扩展的能力。未来,在嵌入式系统软件设计中uC/OS的应用领域必将变得更加的广泛。 本数据采集系统主要是使用TI公司的MSP430单片机与嵌入式系统uC/OS相结合而设计的,uC/OS在手持数据采集系统的成功应用为手持设备软件系统的设计探索了一条新的道路。使用uC/OS设计嵌入式软件克服了传统的前后台式的软件设计方法的弊端,提高了系统的实时性和稳定性,使得软件系统代码模块化,更进一步增强了系统升级扩展
[单片机]
基于MSP430单片机的嵌入式手持<font color='red'>数据采集</font>系统
基于USB总线的实时数据采集系统设计
    摘要: 基于通用串行总线(USB)的实时数据采集系统的设计严格遵循USB1.1协议,充分体现USB便捷、易扩展、低成本、低干扰的特点。详细介绍系统的USB设备驱动程序、设备固体、应用程序的具体设计。     关键词: 通用串行总线 实时数据采集 设备驱动程序 现代工业生产和科学研究对数据采集的要求日益提高。目前比较通用的是在PC或工控机内安装数据采集板卡,如A/D卡及422、485卡。这些数据采集设备存在以下缺陷:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。 通用串行总线(Universal Seri
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved