首页 > 应用 > 工业控制
[导读]摘要 提出了一种可对CAN总线进行实时监控、数据分析与记录的软件设计方案,并进行了具体实现。说明了软件的需求和各模块的实现考虑,对软件涉及的关键技术给出了分析。通过对各种CAN总线状态以及数据报文的实际测试,

摘要 提出了一种可对CAN总线进行实时监控、数据分析与记录的软件设计方案,并进行了具体实现。说明了软件的需求和各模块的实现考虑,对软件涉及的关键技术给出了分析。通过对各种CAN总线状态以及数据报文的实际测试,验证了方案的正确性。
关键词 CAN总线;监控软件;数据分析

    CAN总线网络即控制器局域网络(Controller Area Network,CAN),是由德国BOSCH公司在20世纪80年代为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,可实现点对点、一点对多点及全网广播3种方式的发送和接收数据。传输的数据采用CRC校验,能够有效地降低误码率。CAN总线的通信介质可以是双绞线、同轴电缆或者光导纤维,通信速率可达1 MB/s。由于具有通信速度快、可靠性高、价格便宜等特点,使CAN总线成为应用广泛的现场总线之一。
    当前,市面上已有多种CAN总线的分析测试工具,如广州周立功公司的CANalyst,德国Vector公司的CANoe等。这些软件工具具有较强的功能,但对于一些小型CAN网络开发组件来说,其附加费用较大。基于此考虑,本文提出了一种功能完善、操作简洁的CAN网络监控系统设计方案,可达到对CAN总线运行情况监测分析的目的。

1 设计需求
    
通过对一些通用CAN总线监控软件的分析,并结合设计提出的实现一个较为通用的CAN总线监控软件的要求,可以将此软件的设计需求总结如下:
    (1)具有适应CAN控制器各种工作模式的功能,用户只用稍加配置,便可以将此软件用于具体的CAN总线网络的监控中。
    (2)具有用户自定义数据帧格式及其解析方式的功能,以使此软件可以满足不同环境下的使用要求,对用户所需要的数据内容进行解析。
    (3)具有数据可视化显示功能,如数据表展示数据,图形绘制数据曲线等方式。使用户可以较为直观地对网络数据和状态进行监控。
    (4)具有将通信中的数据信息进行分类的功能,方便用户对数据的分析。
    (5)具有查看历史数据的功能,将历史数据记录下来,并提供一种方式实现对历史网络状态的重现,方便用户调试。

2 方案设计
2.1 功能
    
CAN总线监控软件需具备的功能包括:CAN总线通信(数据接收与发送)、数据处理(数据解析与存储)和数据应用(将数据展示为图表,数据回放等)。功能结构如图1所示。

本文引用地址: http://www.21ic.com/app/control/201308/188189.htm

a.JPG


2.2 功能模块关系
    
CAN总线的监控过程即是对通信数据的处理过程。软件首先通过与CAN总线上的节点通信来接收和发送数据,然后将这些数据记录在文件中,同时对数据进行分析处理,软件根据由用户所设定的数据格式对数据解析,最后是对数据信息的应用,根据用户的设定,可以对数据进行表展示,曲线绘制或者历史回放。各功能模块关系如图2所示。

b.JPG


2.2.1 通信
    
通信是监控软件获取数据信息的方式,也是软件的基础。它的主要功能是接收和发送CAN总线中节点的数据,是数据解析和应用的来源。监控节点需要连接到CAN总线网络中,如图3所示。

c.JPG


2.2.2 数据记录
    
数据记录模块是将接收或者发送的数据以一定的形式记录在文件中,用以对数据进行后期分析,或者通过回放功能复现CAN总线状态。为能达到复现的目的,此记录文件需记录的信息包括原始数据包和收发时间,时间信息具体内容为通信数据的时间间隔,基于此回放功能更加真实模拟网络中的状态。记录内容如图4所示。

d.JPG


2.2.3 数据分析
    
数据分析模块是整个监控软件的核心,它负责按照用户设定的解析模式将收发数据报解析为可以理解的信息值。每一帧数据的解析过程可以分为以下3步:(1)定位。通过数据帧格式来定位每个信息在数据包中的起始位置,将数据包分组。(2)截取。通过起始位置和数据长度,可以截取到所需的数据。(3)转换。由于截取所得到的数据为原始数据,所以需要将其转换为可以理解的信息。数据的分析过程如图5所示。

e.JPG


2.2.4 数据应用
    
数据应用是指软件对用户所提供的数据服务。本软件实现了以下几个功能来应用数据:(1)数据表。用于向用户提供所需要的信息,展示总线数据。(2)绘图。根据用户需要对某些需要显示数据变化的内容进行曲线绘制。(3)回放。将存储于文件中的历史数据按照收发时间顺序重新播放,以重现网络状态,它为用户提供了一种调试网络的简单方式。
2.3 关键技术
2.3.1 数据解析
    
鉴于CAN总线的应用广泛,从汽车到工业现场的应用,所需要监测的信息不同,故软件对数据的解析方式也不相同。数据的解析过程需要用到用户所定义的数据格式,这里使用XML文件来描述数据帧的内容。如图6所示,帧ID为0x01的数据内容包:一个16位数据表示的温度值,信息类型为整数;一个16位数据表示的压力值,信息类型为正整数。

f.JPG


2.3.2 数据回放
    
回放功能是将历史数据及当时的网络状态按照原过程如实演示,使用的数据源是从历史记录文件中获取的。记录文件由记录模块将总线数据按照时间顺序写入文件中生成,使用回放功能是将所记录数据按顺序读入,按照记录时间模拟当时的顺序实现回放功能,用户可通过应用功能再次使用数据表、绘图来呈现数据。

3 测试
    
在实际应用中,将监控节点接入CAN总线网络中,完成软件设定后,便可开启对总线的监控。使用数据表显示所测得信息的正确性,并验证通信是否正常。所生成的数据表如图7所示,显示信息来自节点1和节点3,以及发自它们的温度和压力值。使用绘图功能将此温度变化绘制为曲线图形,如图8所示。

g.JPG



4 结束语
    
本文提出了一个CAN总线网络监控软件的方案,并描述了此软件的设计方法和所使用到的关键技术。依据此方案,实现了一个较为通用的CAN总线监控软件,它可通过分析由用户设定传输数据格式的方式,自动对数据进行解析,可满足大多数CAN总线的监控需求。在应用中,它可帮助用户调试和测试网络,有效提高工作效率。通过实际测试,验证了此方案的可行性。
    但是,本文提出的设计方案也有局限性和进一步提升的空间。在后续研究和设计中,可以将数据融合技术逐步加入到软件对数据的分析中,并可将此工具演化为一种通用的软件中间件,以便进行更多的应用。

换一批

延伸阅读

[汽车电子] 创新型数字总线架构降低音频系统成本

创新型数字总线架构降低音频系统成本

汽车制造商致力于使其下一代汽车比以前更安全、更智能且更节油。为此,需要在汽车中部署更多的ECU(电子控制单元),以实现智能无线电连接、路噪主动降噪(RNC)、个人音区分区(PAZ)、车内通信(ICC)和自动驾驶等新特性和功能,这会导致电子系......

关键字:数字总线 音频系统 汽车

[技术文章] 创新型数字总线架构降低音频系统成本

创新型数字总线架构降低音频系统成本

汽车制造商致力于使其下一代汽车比以前更安全、更智能且更节油。为此,需要在汽车中部署更多的ECU(电子控制单元),以实现智能无线电连接、路噪主动降噪(RNC)、个人音区分区(PAZ)、车内通信(ICC)和自动驾驶等新特性和功能,这会导致电子系......

关键字:数字总线 音频系统 汽车

[通信技术] ADI推出最新安全隔离式CAN FD收发器,提供面向未来的12 Mbps网络

ADI推出最新安全隔离式CAN FD收发器,提供面向未来的12 Mbps网络

新一代CAN FD ADM3055E系列具有很低的环路延迟(最大150 ns)和扩展的共模范围,设计人员可以实现更高的数据速率和更长的电线长度。集成隔离式DC/DC转换器无需为隔离总线侧提供单独的电源。......

关键字:ADI公司 CAN FD收发器 环路延迟

[单片机应用] STM32F103xx bxCAN(Basic Extended CAN) 滤波机制

STM32F103xx bxCAN(Basic Extended CAN) 滤波机制

一、背景最近一个项目需要使用STM32F103xx实现CAN通信,而CAN总线的消息滤波在各个MCU上有不同机制,譬如,SJA1000为标识符位屏蔽滤波机制,NXP的LPC17xx系列为标识符列表查询机制等等,本篇就STM32F103xx的......

关键字:STM32F103xx bxCAN 滤波机制

[单片机应用] CPU对存储器的读写(二、数据总线、控制总线)

CPU对存储器的读写(二、数据总线、控制总线)

二、数据总线CPU与内存或其他器件的数据传输是通过数据总线来进行的,CPU数据总线的针脚数决定了一次可传输的位数,因为数据总线连接方式为并口所以8根针脚那么一次可传输8位既1个字节,16根针脚那么CPU是通过16跟导......

关键字:CPU 存储器 读写 数据总线 控制总线

[单片机应用] 存储器的结构工作原理、总线与选片问题

存储器的结构工作原理、总线与选片问题

1、存储器构造存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘......

关键字:存储器的 结构 工作原理 总线 选片问题

[单片机应用] rs485总线接口通讯协议定义标准以及管脚引脚介绍

rs485总线接口通讯协议定义标准以及管脚引脚介绍

RS485总线标准是工业中(考勤,监控,数据采集系统)使用非常广泛的双向、平衡传输标准接口,支持多点连接,允许创建多达32个节点的网络;最大传输距离1200m,支持1200 m时为100kb/s的高速度传输,抗干扰能力很强,布......

关键字:rs485总线 通讯协议

[单片机应用] 基于STM32的CAN总线通信学习笔记

基于STM32的CAN总线通信学习笔记

本文主要简单介绍CAN总线的相关概念,以及通信协议等知识,和使用STM32自带的bxCAN外设进行CAN总线编程实验,以及编程心得。1. CAN总线简要介绍概念:CAN是控制器局域网络(Controller Area Network, CA......

关键字:STM32 CAN 总线通信

[单片机应用] LPC1768/1769之CAN控制器概述(附库函数下载地址)

LPC1768/1769之CAN控制器概述(附库函数下载地址)

一、背景:使用LPC1769来做CAN的收发,在此对使用LPC1769的CAN控制器进行收发做个总结和记录,以备下次开发快速上手使用。附:LPC1768/1769除了支持最高频率不同以外,其它基本上一致。二、正文:先贴一张LPC1769CA......

关键字:LPC1768 1769 CAN控制器

我 要 评 论

网友评论

芯闻号

技术子站

更多

项目外包

更多

推荐博客