CAN总线系统测试技术简介

发布者:ularof不加糖最新更新时间:2016-05-31 来源: eefocus关键字:CAN总线  系统测试 手机看文章 扫描二维码
随时随地手机看文章
引 言 

随着汽车电子技术的发展,汽车上所用的电控单元不断增多,电控单元之间信息交换的需求促进了车用总线技术的发展。CAN总线即控制器局域网总线,由Bosch公司于1981年制定,主要目的为用作汽车的高速动力总线、中速车身总线等。由于CAN总线具有可靠性高、实时性好、成本合理等优点,逐渐被广泛应用于其他领域中,例如船舶、航天、工业测控、工业自动化、电力系统、楼宇监控等,成为了广泛使用的现场总线之一。基于CAN总线协议,还发展出CANopen、J1939、DeviceNet等多种上层总线协议。

CAN是一种开放式多主站线性结构的总线,使用双绞线作为连接介质连接所有节点,最高传输速率为1Mbit/s。CAN总线使用载波侦听多路访问/冲突检测(CSMA/CD)技术这种非破坏性的总线仲裁方式,避免多个节点同时开始发送消息而造成总线冲突,保证优先级高的报文能够优先发送而不需要额外的时间开销。CAN协议不对节点进行地址规定,而是使用报文的标识符来指定报文的优先级以及报文的内容。同时,CAN总线协议提供了完善的错误检测与错误处理机制,包括了CRC检测、错误报文自动重发、错误状态判断、临时错误自动恢复、永久错误自动错误节点等措施,从而很好的保证了系统数据一致性。


图1 系统开发流程

1 CAN总线开发流程[3]

随着CAN总线技术应用在国内各个行业中广泛使用,CAN总线开发流程及开发方法也日益成为关注的重点。目前,基于开发-验证思想的V型开发流程被广泛用于CAN总线的开发过程中,如图1所示。

OEM厂商首先定义CAN总线系统需求,并进行系统构架设计,然后由供应商根据OEM厂商提出的需求,分析节点ECU的需求并进行节点设计,再进行软硬件实现以及节点ECU集成,最后对ECU进行测试验证。供应商将所设计的节点ECU提供给OEM厂商,由OEM厂商进行CAN总线系统的集成,并对系统进行确认,才能形成最终的产品。

在V开发流程中,测试始终贯彻着整个开发流程,以在开发过程中能尽早的发现设计问题。供应商在节点ECU开发的最后阶段,需要对所开发的ECU进行验证,检查所开发的产品是否符合所需的设计规范,即“是否正确的做了产品”。而OEM厂商在获得供应商提供的各个节点ECU后,进行系统集成,需要对CAN总线系统进行确认,检查是否符合原始的需求,即“是否设计了正确的产品”。

因此,无论对于供应商开发单节点ECU还是OEM厂商对整个系统进行集成,都需要对节点以及总线系统进行CAN总线测试,以完成验证与确认的工作。

2 CAN总线测试

CAN总线测试内容可以分为单节点测试和总线系统集成测试两部分。在每个节点连接到CAN总线网络之前都需要进行单节点测试,用以确定节点工作正确并且不会干扰总线的正常通讯。总线系统集成测试则是将各个节点都连接形成完整的CAN总线系统,对系统进行测试以验证系统运行的完整性及正确性、系统的通讯鲁棒性、电器鲁棒性以及系统的容错自恢复功能等。

进行CAN总线测试过程,首先需要制定测试规范,然后根据该测试规范编写测试案例,构建测试环境,并进行测试实现,最终将测试所得的数据进行分析,形成测试报告。

2.1 CAN总线测试规范

由于CAN总线基本协议的灵活性,目前并没有一个统一的完整覆盖CAN总线各个通讯层次的测试规范,而作为CAN总线技术使用最广泛的汽车行业,各个汽车厂商也只是自行定义其轿车CAN总线协议,并根据该协议制定各自的测试规范。

因此制定CAN总线的测试规范,必须从相关的设计需求和规范文档中提取测试需求,这些文档可以包括CAN协议、总线系统设计时所依据的标准或协议(例如ISO11898或J1939)、系统设计的需求、系统的诊断协议、以及其他行业性通讯规范。根据所提取的测试需要,将各个需求点对应为测试案例组。

将每组测试案例组在各测试节点上的实施称为测试案例。每个测试案例根据测试实现的过程,细分为一系列的测试步骤。对于每个测试案例,在测试结束时,都会存在一个测试结果,用以确定测试案例所对应的节点是否通过该测试需求点的测试。每个测试案例中,除了包含测试步骤的内容外,还包括了测试条件和测试环境两部分内容。测试条件是测试案例实施之前,被测单元所需要具备的条件,例如系统已经处于正常通讯等。而测试环境则是测试过程中,需要提供给被测单元的外部环境,例如供电电压、信号线的连接情况等。

2.2 CAN总线测试内容

CAN总线测试内容可以按照通讯层次划分为物理层测试、数据链路层测试、应用层测试等内容。

物理层测试主要目的是验证节点及系统在电路设计、物理电平特性等方面的性能,这是保证节点能够正确连接入总线的基础。测试主要包括了节点的电阻电容特性、节点差分电阻、总线终端电阻、CAN线上的物理电平特性等方面。

数据链路层测试则包括了位定时测试、采样点测试、SJW测试等内容,该测试内容主要用以保证各个节点的通讯参数能够保持一致性,所组成的网络能够正常有效的工作。

应用层测试则包括了上层应用层协议的测试、网络管理功能的测试以及故障诊断测试等方面的内容。其包括的内容可以是:数据库使用正确性测试、通讯周期准确性测试、节点休眠唤醒功能测试、网络管理功能测试、网关测试、错误帧频率测试、电压影响测试、总线物理故障测试、节点故障自恢复能力测试、通讯失败的故障诊断功能测试等内容。由于CAN总线使用背景的不同,其应用层的内容也有很大差别,因此应用层测试的内容也存在较大差异,需要根据项目的设计需求以及设计文档仔细制定应用层测试的内容。值得注意的是,对于CAN总线网络测试,其应用层测试一般不涉及功能测试的范围,功能测试一般属于ECU测试的范畴。

2.3 CAN总线测试方法

图2所示为基于Vector公司提供的CAN总线测试工具所组建的CAN总线测试系统。

图2 CAN总线测试系统

在系统中被测单元与模拟被测单元应用背景的仿真器相连,通过仿真器可以模拟出被测单元在真实应用中的运行环境。而被测系统的CAN线则通过CAN硬件接口连接到测试软件CANoe上,CANoe还可通过IO接口电缆IOcab获取被测单元的IO信号。

被测单元的供电则由供电系统提供给仿真器,再由仿真器提供给被测系统,与真实系统的供电模式相同。CANoe软件可以通过其接口来控制供电系统,从而可以方便的改变被测单元的供电电压,实现CAN总线测试环境。

测试过程中,使用Vector公司提供的干扰仪CANstress,以制造出测试所需的干扰信号以及总线故障等测试环境。而系统中所连接的网络示波器CANscope可以在物理层测试中捕捉CAN总线的物理信号。

在测试过程中,Vector提供的测试软件CANoe可以观测总线通讯的报文以及信号,并检测总线的错误帧、总线负载率等信息。另外,CANoe还提供了测试软件包,能够使用扩展的编程功能编写测试流程,控制CANstresss、CANscope等工具,并支持XML编写的测试脚本,实现自动化测试流程,将测试结果自动生成XML和HTML测试报告。

3 CAN网络测试案例

根据上述的CAN网络测试系统,进行了物理层的采样点测试。测试结果如图3所示。

图3 (a)所示为被测单元正常通讯情况下,使用CANscope捕捉到数据场第一个隐性位。使用CANstress将该位75%后干扰为显性电平,使用CANscope捕捉总线报文,没有出现错误帧,如图3(b)所示。同样条件下,将该位68.75%后的电平干扰为显性位,使用CANscope捕捉总线报文,出现了错误帧,如图3(c)所示。由此可以得出结论,被测单元的采样率为75%。

(a)无干扰情况下的位电平

(b)干扰电平在75%后-无错误帧


(c)干扰电平在68.75%后-有错误帧

图3 采样点测试

图4所示为应用层测试中,CAN-H线与电源短路测试的测试结果。图4(a)所示为使用CANstress将CAN-H线设置为与电源短路。图4(b)所示为CANoe在该测试过程中总线的通讯情况,在被测条件下总线没有出现错误帧。使用CANscope观测,由于CAN-H与电源短路,CAN-H电平表现为恒高,而差分电平信号仍足够保证CAN总线的正常通讯,因此没有出现错误帧。

(a)CANstress设置CAN-H与电源断路


(b)CANoe检测网络无错误帧


(c)CANscope观测总线电平情况

图4 CAN-H与电源断路情况下的系统通讯测试

4 总结

随着CAN总线在国内应用的日益广泛,CAN总线测试技术将越发重要。CAN总线测试规范是CAN总线测试的核心,需要根据相关的CAN协议规范以及CAN总线设计需求进行制定。另外,在缺乏统一测试规范以及参考资料的条件下,还需要在CAN总线开发过程中积累经验,逐步制定并完善CAN总线的测试规范。国外先进的CAN总线设计及测试工具也可以促进CAN总线测试能力迅速形成。

参考文献

[1] 鲍官军, 等. CAN总线技术、系统实现及发展趋势. 浙江工业大学学报. 2003(1)
[2] Bosch. CAN Specification V2.0. 1991
[3] Siegfried Beeh. Testing with CANoe. Vector Congress. 2004 

关键字:CAN总线  系统测试 引用地址:CAN总线系统测试技术简介

上一篇:基于CAN总线的红绿灯动态调整系统
下一篇:CAN-BUS,CAN-BUS是什么意思

推荐阅读最新更新时间:2024-05-03 00:25

CAN总线技术在智能汽车系统中的应用
摘 要: 智能汽车是一种具有自动驾驶功能的汽车,它综合应用了计算机、控制、信息处理、通讯以及传感器等多种技术。使用CAN总线保证了系统内部数据交换的高速性和可靠性。引入了一种带有CAN总线接口的单片机--PIC18F258,介绍了它CAN模块的结构及其在完成通信任务时的工作原理。该方法在人工智能和工业测控领域具有一定的应用价值。 关键词: 智能控制 CAN总线 PIC18F258 中断接收 1 引言 CAN总线是控制局域网络(Control Area Network)的简称,它最早由德国BOSCH公司提出。由于它具有传输速率高,抗干扰能力强,硬件连接方便等突出特点,非常适合用于汽车系统中,解决众多
[汽车电子]
<font color='red'>CAN总线</font>技术在智能汽车<font color='red'>系统</font>中的应用
Pt电阻温度传感器批量测试系统的信号调理模块的设
 1 引言   税控系统即“POS电子税收控制系统”, 是由POS机、金税卡/IC卡、读卡器、计算机及打印机等设备构成的电子信息网络。POS税款机的推广是执行“金税工程”的一个重点项目,推广应用POS税款机能够让税务部门节约大量的人力财力,杜绝商家经营中的偷税漏税情形。由于目前市面上使用的POS机五花八门,全部更换是一个很大的经济负担,因此,一个可行的方法是对现有的普通收款机进行改造,安上税控装置。以MCU为核心的嵌入式税控系统以其高效、可靠、低价的优点,成为最佳的税控系统解决方案之一。   2 税务监控系统介绍   税务监控系统通过截获POS机的打印数据,从中提取出交易的日期、时间、金额等税控信息,并在打印数据中插入加密的
[工业控制]
Pt电阻温度传感器批量<font color='red'>测试</font><font color='red'>系统</font>的信号调理模块的设
新疆首套构网型储能系统并网性能调试及现场测试顺利完成
3月15日,在国网新疆电力有限公司电力调度控制中心的牵头组织下,国网新疆电科院联合中国电力科学研究院有限公司、国网新疆电力有限公司克州供电公司和南京南瑞继保电气有限公司共同完成了全疆首套构网型储能系统并网性能调试及现场测试。3月15日,国网新疆电科院专 ...
[新能源]
CAN总线不加终端电阻时的影响
终端电阻添加要求 根据ISO11898-2对终端电阻的取值规定,必须在总线的首尾两端各挂一个120Ω的终端电阻,即总线上加60Ω的终端电阻,而中间节点则不需要挂终端电阻,如图1所示。 不加终端电阻时的影响 假如我们按照ISO11898标准要求,使用CANScope测试时,加上60Ω的终端电阻,然后以250Kbps的波特率自发自收数据,可以看到报文可以正常发送,且关联的波形也正常。如图2 如CANScope在不加终端电阻的时候,以250Kbps的波特率自发自收数据,如图3所示,发送的数据都是帧ID错误,且关联的波形也出现异常。 对于报文数据,从关联的波形数据可以看到,上升沿没有任何问题,但是下降沿相对于加终端电阻的波形缓
[嵌入式]
<font color='red'>CAN总线</font>不加终端电阻时的影响
基于信号接口的自动测试系统软件的设计与实现
摘要: 实现仪器可互换性和TPS重用性、可移植性是通用自动测试系统(ATS)的发展方向。论述了ATLAS 2K语言和IVI-Signal Interface标准的特点、结构和技术实现。给出了一种基于信号接口的自动测试系统软件的设计方法。这一方案融合了当前正在发展的各种测试系统软件的设计技术,为通用ATS设计提供了技术实现途径。 自动测试系统(ATS,Automatic Test System)是装备形成战斗力的重要保证,仪器的可互换性和测试程序集(TPS,Test Program Set)的重用性、可移植性是通用ATS的重要指标。当前,ATS软件的开发方式有“面向仪器”和“面向信号”两种, 面向仪器的TPS开发基于仪器,很难
[模拟电子]
基于信号接口的自动<font color='red'>测试</font><font color='red'>系统</font>软件的设计与实现
基于K线/CAN总线的KWP2000协议分析及协议栈的开发测试
1 前言 在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议。其中,欧洲汽车领域广泛使用的一种车载诊断协议标准是KWP2000(Keyword Protocol 2000),该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)标准。KWP2000最初是基于K线的诊断协议,由于K线物理层和数据链路层在网络管理和通讯速率上的局限性,使得K线无法满足日趋复杂的车载诊断网络的需求。而CAN网络(Controller Area Network)由于其非破坏性的网络仲裁机制、较高的通讯速率(可达1M bps)和灵活可靠的通讯方式,在车
[测试测量]
基于K线/<font color='red'>CAN总线</font>的KWP2000协议分析及协议栈的开发<font color='red'>测试</font>
基于STC89C51的CAN总线点对点通信模块设计
摘要:随着人们对总线对总线各方面要求的不断提高,总线上的系统数量越来越多,继而出现电路的复杂性提高、可靠性下降、成本增加等问题。为解决上述问题,文中阐述了基于SJAl000的CAN总线通信模块的实现方法,该方法以PCA82C250作为通信模块的总线收发器,以SITA-l000作为网络控制器。并以STCSTC89C5l单片机来完成基于STC89C5l的CAN通信硬件设计。文章还就平台的初始化、模块的发送和接收进行了设计和分析。通过测试分析证明,该系统可以达到CAN的通信要求,整个系统具有较高的实用性。 关键词:CAN总线;SJAl000;82C250;STC89C51 O 引言 现场总线是应用在生产最底层的一种总线型拓扑网络,
[单片机]
基于STC89C51的<font color='red'>CAN总线</font>点对点通信模块设计
基于SJA1000的CAN总线系统智能节点设计
    摘要: CAN总线上的节点是网络上的接收和发送站。智能节点能通过编程设置工作方式、ID地址、波特率等参数。它主要由单片机和可编程的CAN通信控制器组成。本文介绍这类节点的硬件设计和软件设计。软件设计包括SJA1000的初始化、发送和接收等应用中的最基本的操块子程序。     关键词: 总线 节点 CAN控制器 引言 CAN(Controller Area Network)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局域网。由于其卓越的性能,极高的可靠性,独特灵活的设计和低廉的价格,现已广泛应用于工业现场控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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