CAN总线网络测试研究
扫描二维码
随时随地手机看文章
现场总线技术已成为当今工业自动化技术发展的热点。CAN(Controller Area Network)即控制器局域网,是国际上应用最广泛的现场总线之一。1991年9月,Philips Semiconductors公司制订并发布了CAN技术规范(V2.0),该规范包括A、B两部分。此后,1993年11月,ISO正式颁布了道路交通运载工具——数字信息交换——高速通信控制器局域网(CAN)国际标准ISO 11898。CAN是一种多主从方式的串行数据通信总线,传输速率高,抗电磁干扰性强,能检测通信错误。作为一种技术先进、可靠性高、功能完善、成本合理的网络通信控制方式已被广泛应用到各个自动化领域,如汽车工业、工程机械、航空工业,被公认为几种最有前途的现场总线之一[1]。
CAN总线网络系统的开发是在网络协议定义的框架下,对总线涉及的多个节点设备之间的数据交换的过程进行控制,涉及各个设备本身对数据交换的需求和响应,系统复杂,按照其功能可以划分为:总体设计、节点设计和测试验收。总体设计主要负责整个网络功能定义,传输协议的设计、仿真,系统节点模型的建立和仿真,提出各节点的功能描述,包括节点电气特性和功能特性,并交付各节点设计人员实现;节点设计则根据提出的节点功能描述进行网络节点设备的开发,包括硬件设计和软件开发,并协助其他开发人员完成对本节点设备的调试和测试。测试验收根据网络功能定义描述,制定网络功能测试流程,建立网络测试平台,对各节点进行测试验收和全网络系统平台实验。
统一的开放式平台使得CAN网络设计人员和其他开发人员(如软件工程师,测试工程师等)共享成果,减少了重复工作,加快了开发进度。此外,在节点设计之前,对整个网络的协议和各节点功能进行全网络仿真,可以在设计的最初阶段发现和纠正设计中的错误或者疏漏;在硬件平台搭建之前进行功能仿真,减少了节点设备开发阶段由于软件设计缺陷带来的时间和资源的浪费;软件仿真阶段的成果可以直接用于对节点设备的测试检查。在整个网络系统实体构建完成前,通过CAN总线接口设备和残余总线技术,对已经实现的节点进行实物仿真。
1 CAN总线节点组成和功能
CAN总线节点位于传感器和执行机构所在的工业现场,完成现场数据采集、控制和通信功能。典型CAN节点一般包括总线收发器和协议控制器、主控制器,以及传感器和执行器,如图1所示。CAN协议通信由总线收发器和总线控制器完成,协议控制器完成CAN协议数据链路层(MAC)的报文分帧、仲裁应答、错误检测和标定,以及逻辑链路控制子层(LLC)的报文过滤、过载通知、恢复管理等具体服务;总线收发器完成CAN协议物理层功能,是CAN控制器和物理传输线路之间的接口。许多CAN节点采用了总线收发器(PCA82C250)、协议控制器(SJA1000)和主控制器(51系列单片机)方案,也有不少节点采用了内嵌协议控制器的微处理器(P8XC592/ARM)和数字信号处理器(TMS320F2407F)方案。
2 CAN总线测试平台的组成
本文采用了Vector公司出品的CAN总线开发测试集成环境和工具构建了开放式开发测试平台,对由3个节点组成的CAN总线通信网络进行测试,优化总线参数,提高了CAN通信抗干扰能力。CAN总线测试网络由执行机构节点、远程传输节点、状态监测节点组成。执行机构节点控制器采用TMS320F2407(内嵌CAN控制器),驱动执行机构完成相应功能,发送电机转角编码和瞬时转矩电流信息报文;远程传输节点是一个CAN/GPRS的网关,功能是将报文信息转发至远程节点。状态监测节点则是一个基于PC和虚拟仪器(LabVIEW)的操作面板,转换并显示报文的物理量信息,同时控制执行机构的运行。
CAN总线测试环境和工具包括总线记录仪、总线干扰仪和开发测试仿真环境[2-4]。总线记录仪和总线干扰仪作为节点接入测试总线,如图2所示。其中总线记录仪(Vector CANcaseXL)接收、录制、存储和评估不同的CAN总线网络信号和报文,记录其工作状态和故障情况,便于在随后的回放中分析故障原因,提出优化改进的方法和措施;总线干扰仪(Vector CANStressDR)生成总线信号、总线物理属性和逻辑电位的各种干扰,在实验室环境下模拟实际工况中可能出现的断路、短路,模拟不同长度的传输电缆,也可对报文特定位进行干扰以检查总线的抗干扰能力;开发测试仿真环境(Vector CANoe)集成了总线开发和测试,通过定义报文数据库,观测报文数据并换算为相应的物理量显示。通过仿真总线和实际总线的切换,不仅可以测试现场信号,还可对录制的信号进行回放分析,分析查找故障原因。
3 CAN总线位定时参数的计算
在CAN通信协议中,波特率、每个位周期的采样位置和个数都可以自行设定,CAN总线上不同节点之间通过约定的通信速率进行通信,通过调整位定时参数可以优化网络通信性能,例如,位周期内的采样位置偏后,能容忍较大的信号传输延迟,即总线传输距离可以延长;取样位置接近中间,则可以容忍CAN总线上节点间参考时钟的误差,显然两者是矛盾的,为了协调这种矛盾,必须对位定时参数进行优化设置。常用的通信速率有100 kb/s、125 kb/s、250 kb/s、500 kb/s和1 Mb/s等,对于常用的波特率,在一些CAN总线通信测试软件中可以通过列表框进行选择,对一些特殊的波特率,如本实测网络采用了66.7 kb/s的通信速率,又或虽然是常用的波特率,但出于优化网络通信性能的需要,选择特定的位定时参数时,就要计算并通过总线时序寄存器设置位定时参数。
总线时序寄存器BTR0和BTR1定义如表1、表2所示。
位定时参数按式(1)计算[5-6]:
4 CAN总线网络测试
首先利用开发测试仿真环境(CANoe)定义CAN总线测试网络,如图3所示,其中Door Controller表示执行机构节点,Performance Meter代表状态监测节点,Remote Gateway代表远程传输节点;系统则自动生成Basic CAN代表总线,以及Bus Scope总线记录仪和Replay Block总线回放“虚拟”节点。采用CANcaseXL记录运转过程中总线上的报文信息和总线负载,并在CANoe环境下进行回放、分析,如图4所示。
CAN总线在不同的应用场合,其总线长度、总线负载、终端电阻、环境各不相同,导致无法针对实际工况进行优化,提高数据通信的可靠性。利用本文所述的测试工具和平台,可以对现场工况进行记录回放,或在实验室进行模拟测试,帮助开发人员和测试人员尽可能准确地定位故障,从而提高开发的效率。本文的模拟测试结果表明,电气和参数对CAN总线上通信性能影响较大,通过测试工具模拟发现,终端电阻对提高通信质量,降低报文差错影响较大。通过测试工具分别模拟了CAN总线短路、75 Ω、120 Ω、开路等终端电阻,通信过程中正确帧和错误帧速率测试数据如表3所示,可以看出终端电阻为120 Ω时通信差错率最小。
参考文献
[1] 邬宽明.CAN总线原理和应用系统设计[M]. 北京: 北京航空航天大学出版社,1996.
[2] Vector Informatic GmbH.CANoe User manual, Version 4.1[S].
[3] Vector Informatic GmbH.CANcaseXL/log, Version 3.0[S], User Manual.
[4] Vector Informatic GmbH. CANStress Manual, Version 2.1[S].
[5] PHILIPS.Determination of bit timing parameters for the CAN Controller SJA1000[S], 1997.
[6] 吴永.CAN总线位定时参数的确定[J].单片机与嵌入式系统应用,2003(10):19-22.