基于DSPIC30F3013的CAN总线数据采集系统方案

最新更新时间:2013-09-10来源: 互联网关键字: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收发器之间做隔离。

关键字:DSPIC30F3013  CAN总线  数据采集 编辑:神话 引用地址:基于DSPIC30F3013的CAN总线数据采集系统方案

上一篇:ARM微处理器助记符指令及其功能描述
下一篇:基于ARM的智能家居路由系统

推荐阅读最新更新时间:2023-10-12 20:48

基于LabWindows/CVI的双通道数据采集系统
物体的特征有多种,如温度、压力、流量、液位等,本文以温度为例。通过获知部分特征,可以确定其当前状况。因此特征的获知尤为重要。通常用专业的仪器测量这些信号,所需仪器较昂贵。虚拟仪器利用高性能的模块化硬件,加上高效灵活的软件完成测试。目前国内、国际虚拟仪器市场,主要采用LabView软件,但LabView作为一款图形化的开发工具,不够灵活。因此NI公司推出了面向测控领域的LabWindo ws/CVI软件开发平台,这款测量软件将控件和编程结合在一起,灵活高效。 1 总体架构 首先通过传感器测量物体的特征,以温度为例,将模拟温度信号转换为相应大小的电压信号,对电压信号进行调理放大并去噪,然后通过数据采集卡对电压信号进行采集,实
[测试测量]
基于LabWindows/CVI的双通道<font color='red'>数据采集</font>系统
基于车联网的车辆信息远程搜集数据系统
车联网,是指装载在车辆上的电子标签通过无线射频等识别技术,实现在信息网络平台上对所有车辆的属性信息和静、动态信息进行提取和有效利用,并根据不同的功能需求对所有车辆的运行状态进行有效的监管和提供综合服务。 车联网的概念在20世纪60年代已经先后出现在美国、欧洲与日本等发达国家和地区,并先后发展起ITS、IVHS、RTI、VICS等车联网系统。在国内,全国第四届GPS运营商大会,车联网的概念被首次提出,得到广大专业人士的认同;在无锡举行的中国国际物联网大会上,国家将车联网列为我国重大专项第三专项中的重要项目,中国的车联网由此起步。到现今,一些供应商所提供的车载系统中,已经基本实现智能导航、保养预约、咨询查询等功能,更方便车辆出行
[嵌入式]
CAN总线在并联逆变电源中的应用
  引言   逆变电源的并联运行,不仅可实现功率合成,且易于组成积木式、冗余化、智能化的分布式大功率电源网络系统,是电源技术发展的重要方向。现场总线控制技术可以方便地构建分布式逆变电源局域控制网,使得交流电源系统从传统的集中式供电向分布式供电乃至智能电源系统供电模式发展,是实现系统智能化控制的有效手段。本文介绍一种基于CAN现场总线的逆变电源的并联,充分利用TI公司TMS320LF2407A DSP芯片的内部资源,通过内嵌的CAN总线从各并联模块获取并解析现场控制数据,响应现场强实时性操作,实现对模块工作的调度监控。   2 逆变电源并联技术   实现逆变电源的并联运行,其关键问题在于各逆变电源要共同分担负载电流,即要实
[嵌入式]
基于CAN总线的家庭控制器的设计与实现
  引言   CAN(Controller Area Network)总线是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps,通信距离可达10km,CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。因此,CAN协议对于许多领域的分布式测控是很有吸引力的。目前CAN已成为ISO11898标准,其特性如下:   (1)CAN是一种有效支持分布式控
[嵌入式]
基于嵌入式技术和CAN总线的车辆配电系统
0 引 言 由于特种车辆的电子设备种类和数量繁多,传统半自动配电方式的管理能力有限,体积和重量较大、车辆电网故障自检和隔离能力差、排除故障与检修时间长、供电可靠性不高等问题,影响整个车辆和关键部件工作的可靠性。基于嵌入式技术、双冗余CAN总线与LIN总线构成的车辆智能配电系统,能够很好地解决传统车辆配电方式的缺点,并且能够实现整车配电系统的智能化、数字化管理。 1 智能配电系统的硬件设计 该配电系统分为三个部分:配电终端,智能配电管理器和车辆管理终端,如图1所示。配电终端主要是用于28 V设备的状态监控,具有电流检测、电压检测、过流保护、短路保护、过压保护、欠压保护、过热保护及状态监控等功能。同时具有LIN总线的数字通信接口
[单片机]
基于嵌入式技术和<font color='red'>CAN总线</font>的车辆配电系统
基于CAN总线的电气火灾报警系统设计方案
  1 引言   目前,我国总线式电气火灾报警装置正在发展当中,传统的总线式电气火灾报警器(比如二总线、RS- 485等)存在一定缺陷:数据传输速度低、距离短,数据丢失率高,可连接的探测器数量较少,无法充分发挥总线式电气火灾报警装置的优势。因此设计一种新型总线式电气火灾报警装置势在必行。   由于电气火灾具有发生频率高、发生时间和地点随机、危害特别大等特点,国家消防局陆续制定和修改了多项政策法规,对一些高层建筑强制安装电气防火设备,电气火灾监控系统面临着巨大的商机。   2 系统整体方案   本设计方案的电气火灾监控系统包括电气火灾监控设备和电气火灾探测器两部分。每个电气火灾探测器至少可带一路漏电流互感器、一个断路
[嵌入式]
单片机控制的多参数实时采集与处理系统设计
0 引言 在现代工业控制系统中,多参数实时采集对监控设备正常运行有着十分重要的作用。多参数信号采集是将监控现场的物理量、化学量或生物量通过相应的传感器和调理电路把模拟量转换为易于采集、处理的电压信号,经过单片机的处理,一方面反馈给控制部件对监控对象进行控制调整,另一方面送给显示单元,实时显示采集的信号数据。在航空、汽车、通信、园林等控制领域,多参数实时采集与处理是自动控制系统的核心。但是专用的数据采集设备价格动辄上万,高速数据采集卡的价格也在千元以上,而且这类设备大多有固定的接口,无法适应千差万别的被测对象的需求,不具有通用性。本文从应用角度出发,设计分辨率为8位的实时数据采集系统,在STC_ISP_V394软件环境的支持下,
[单片机]
单片机控制的多参数实时采集与处理系统设计
基于STM32F107与RT-Thread的数据采集器方案设计与解析
设计了基于STM32F107设计的数据采集器,实现多种数据(串口、CAN口)采集处理后通过 GPRS模块 无线上传。重点编写了CAN设备驱动; 使用设备方式实现GPRS模块串口数据的上传下载;最后提出了使用线程过程中出现的一些问题。 一、 功能分析 系统功能如图1 所示,不算太复杂。由于下级传感器模块的上报的数据内容很多,导致编写处理程序内容较多。 二、CAN驱动编写 为了模块化地处理传感器的主动上报数据,CAN设备不再用以前的中断处理,而是采用了RTT的设备框架,重新编写了device的驱动。研究RTT里的CAN总线收发设备: 发现只有框架,没有内容。就仿着串口写一个candevice。研究组件使用 中的串口驱动:
[单片机]
基于STM32F107与RT-Thread的<font color='red'>数据采集</font>器方案设计与解析
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved