• 沒有找到結果。

汽车总线设计及测试宝典

N/A
N/A
Protected

Academic year: 2022

Share "汽车总线设计及测试宝典"

Copied!
36
0
0

加載中.... (立即查看全文)

全文

(1)

www. EET china.com

www.

汽车总线设计及测试宝典

——汽车电子工程师必备

EET china.com

(2)

www. EET china.com

www. EET china.com 目 录

一、 汽车总线技术的发展 二、 汽车总线技术的特征

三、 汽车总线的研究重点及关键技术

四、 汽车总线技术的应用意义及国内发展现状 五、 各类汽车总线的特点比较

六、 CAN 总线设计详解

七、 汽车 CAN/LIN 总线测试流程和测试工具

八、 汽车总线设计及测试经典问答 43 例

(3)

www. EET china.com

www.

一、 汽车总线技术的发展

随着车用电气设备越来越多,从发动机控制到传动系统控制,从行驶、制动、转向系统控制到安全保证系 统及仪表报警系统,从电源管理到为提高舒适性而作的各种努力,使汽车电气系统形成一个复杂的大系统,

并且都集中在驾驶室控制。另外,随着近年来 ITS 的发展,以 3G(GPS、GIS 和 GSM)为代表的新型电子通 讯产品的出现,它对汽车的综合布线和信息的共享交互提出了更高的要求。

从布线角度分析,传统的电气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成庞 大的布线系统。据统计,一辆采用传统布线方法的高档汽车中,其导线长度可达 2000 米,电气节点达 1500 个,而且,根据统计,该数字大约每十年增长 1 倍,从而加剧了粗大的线束与汽车有限的可用空间之间的 矛盾。无论从材料成本还是工作效率看,传统布线方法都将不能适应汽车的发展。下图 1、图 2 分别为相 同节点的传统点对点通讯方式和使用 CAN 总线的通讯方式,从图可以直观地比较线束的变化(图中节点之 间的连线仅表示节点间存在的信息交换,并不代表线束的多少)。

图 1 传统的节点通讯方式

图 2 CAN 总线通讯方式

EET china.com

(4)

www. EET china.com

www.

电控燃油喷射系统、电控传动系统、防抱死制动系统(ABS)、防滑控制系统(ASR)、废气再循环控制、

巡航系统和空调系统。为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、

车轮转速、油门踏板位置等。但每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同 的。这就要求其数据交换网是基于优先劝竞争的模式,且本身具有较高的通信速率,CAN 总线正是为满足 这些要求而设计的。

美国汽车工程师协会(SAE)车辆网络委员会根据标准 SAE J2057 将汽车数据传输网划分为 A、B、C 三类,

为了直观地说明其网络划分,这里图 3 表示。

从通讯速度角度分析,随着车载多媒体和办公设备在车辆应用方面的快速发展,一种新型总线——IDB 已 经出现,世界各大汽车生产商对此非常关注,纷纷出台相应的研究计划。现在已经存在能够对导航、GPS、

电话、音响、电视、DVD 等进行信息综合的双总线(OEM 总线+IDB)样车,这些装置之间需要频繁地通讯,

而且信息量巨大,原有的 CAN 总线或 J1850 总线无法满足这些装置间的通讯要求,因为传输地理信息(GI)、

数字音频信息或车辆位置信息至少需要 5Mbit/s 的网络速度,IDB-1394 可以支持 100、200、400Mbit/s 的 通讯速度,完全可以满足高速通讯的网络需求。

CAN 总线是控制策略驱动的总线,主要实现对车辆本身的控制,而 IDB 总线则以信息交互、共享为目的。

为实现 CAN 总线和 IDB 总线间的信息流动以及防止后者对前者产生影响,在两总线间增加网关已经成为共 识。图 4 为一典型的双总线结构示意图。

EET china.com

(5)

www. EET china.com

www.

早在 80 年代,众多国际知名的汽车公司就积极致力于汽车总线技术的研究及应用,如博世的 CAN、SAE 的 J1850、马自达的 PALMNET、德国大众的 ABUS、美国商用机器的 AUTOCAN、ISO 的 VAN 等。目前,国外的汽 车总线技术已经成熟,采用总线系统的车辆有 BENZ、BMW、RORSCHE、ROLLSROYCE、JAGUAR、VOLVO 等。国 内完全引进技术生产的奥迪 A6 车型已于 2000 年起采用总线替代原有线束,帕萨特 B5、BORA、POLO、FIAT PALIO 和 SIENA 等车型也都不同程度地使用了总线技术。此外,部分高档客车、工程机械也都开始应用总 线技术。

二、 汽车总线技术的特征

设计目标

汽车总线传输必须确保以下几点:传输信息的安全;信号的逻辑“1”明显区别于逻辑“0”;异步总线随 机地传送数据;根据预先确定的优先权进行总线访问;竞争解决后获胜站点能够访问总线且继续传输信息;

具有根据信息内容解决总线访问竞争的能力;总线的功能寻址和点到点寻址能力;节点在尽量小的时间内 成功访问总线;最优化的传输速率(波特率);节点的故障诊断能力;总线具有一定的可扩充性等等。

数字信号的编码

为了保证信息传输的可靠性,对数字信号正确编码非常重要。汽车局域网数据信号多采用脉宽调制(PWM)

和不归零制(NRZ)。PWM 作为编码方案时,波特率上界为 3×105kb/s,用于传输速率较低的场合。采用 NRZ 进行信息传输,可以达到 1Mb/s,用于传输速率较高的场合。

网络拓扑结构

EET china.com

(6)

www. EET china.com

www. EET china.com

实用的汽车局域网是总线拓扑结构,如 CAN、SAEJ1850、ADVANCED PALMNET 等。其优点是:电缆短,布线 容易;总线结构简单,又是无源元件,可靠性高;易于扩充,增加新节点只需在总线的某点将其接入,如 需增加长度可通过中继器加入一个附加段。

总线访问协议

汽车总线的访问协议一般为争用协议,每个节点都能独立决定信息帧的发送。如果同时有两个或两个以上 的节点发送信息,就会出错,这就要求每个节点有能力判断冲突是否发生,发生冲突时按某个规律等待随 机时间间隔后重发,以避免再发生冲突。网络协议所使用的防冲突监听措施多为载波监听多路访问,如 CAN、

SAEJ1850、ADVANCED、PALMNET 等都采用的是:载波监听多路访问/冲突检测+无损仲裁(CSMA/CD+NDA)。

三、汽车总线的研究重点及关键技术

汽车总线系统的研究与发展可以分为三个阶段:第一阶段是研究汽车的基本控制系统(也称舒适总线系统),

如照明、电动车窗、中央集控锁等。第二阶段是研究汽车的主要控制系统(也称动力总线系统),如电喷 ECU 控制系统、ABS 系统、自动变速箱等。第三阶段是研究汽车各电子控制系统之间的综合、实时控制和信 息反馈。

按照我国汽车电子技术发展规划,进入 21 世纪后轿车电子技术可达国外 90 年代水平,为了缩短同国外轿 车技术水平的差距,提高自身的竞争力,单纯靠技术引进不利于发展,消化、吸收、研究和开发自己的汽 车总线与网络应用系统势在比行。目前我国的汽车总线研究和应用尚处起步阶段,而且汽车总线的应用趋 势明显,现在介入该研究正是大好时机。

汽车总线的研究重点

由于我国的车型以欧美车型为主,且欧美车型又以 CAN 总线为主流,目前国内使用总线技术的车型几乎全 部使用 CAN 总线,因此汽车总线的研发应该结合国内外实际情况选用 CAN 总线。

CAN 符合 ISO/OSI 的参考模型,但只规定了物理层和数据链路层的协议,其应用层的协议需要用户自己定 义。支持 CAN 低层协议的芯片有许多,既有在片的 MCU,也有片外的 CAN 控制器。用户自己开发的应用层 协议也有很多,如 AB 公司定义的 DEVICENET 协议就是 CAN 协议基础上的应用层协议,Honeywell 公司推出 的 SDS 总线也是在 CAN 的基础上定义了自己的应用层。可见,汽车 CAN 总线的研究重点是:针对具体的车 型开发 ECU 的硬件和应用层的软件,并构成车内网络。

(7)

www. EET china.com

www. EET china.com

关键技术

利用 CAN 总线构建一个车内网络,需要解决的关键技术问题有:

1) 总线传输信息的速率、容量、优先等级、节点容量等技术问题;

2) 高电磁干扰环境下的可靠数据传输;

3) 确定最大传输时的延时大小;

4) 网络的容错技术;

5) 网络的监控和故障诊断功能;

四、汽车总线技术的应用意义及国内发展现状

什么是 CAN/LIN 总线?这项技术应用于汽车的意义何在?

随着集成电路和单片机在汽车上的广泛应用,汽车上的电子控制单元越来越多,例如电子燃油喷射装置、

防抱死制动装置(ABS)、安全气囊装置、电控门窗装置和主动悬架等。如果仍采用常规布线方式,即电线一 端与开关相接,另一端与用电设备相通,将导致车上电线数目的急剧增加,同时复杂电路也降低了汽车可 靠性,增加了维修难度。于是,CAN 总线应运而生。

LIN 则是 CAN 在低端应用的延伸,是价格相对便宜且速度较慢的子网。通常状况下,电子控制装置通过 CAN 总线提供稳定、可靠的低成本网络连接,电机、开关、传感器和车灯等则通过 LIN 进行网络连接。

事实上,在现代汽车中,采用总线的意义已远远超出节省电线的范围,它已成为车内各零部件实施信息交 互的标准接口。整车的总线网络成为整车的电器平台,也就是说只要有总线存在,就可以在这个总线平台 上不断增加汽车的智能化零部件。总线技术促进了汽车智能化的发展。

目前国内该项技术的发展状况是怎样的?

上世纪 90 年代初,总线技术开始在汽车中应用。如今该项技术已经成为现代汽车的标准技术,几乎所有的 车都开始采用 CAN/LIN 总线。总线零部件也成为发展的主流。

对于我国来说,由于国内汽车制造和零部件的发展水平不平衡。虽然合资品牌和自主品牌的量产车大都采 用了 CAN/LIN,但由于国内零部件配套体系在电器零部件,特别是在智能零部件上的弱势,国内真正自主 研发的具有总线接口的零部件在量产车中(年产量超过 1 万辆以上的)几乎没有。

目前在大批量生产汽车中,具有 CAN/LIN 总线的零部件几乎都是国外研发的,它们中一部分是国外生产的,

一部分是由国内合资或外资企业生产。

但部分小批量生产汽车,如北京市场上达到国 III 标准的扫雪车、公共汽车等,它们带有 CAN/LIN 功能的 仪表、车灯控制、车门控制等技术,这些都是国内自主研发和生产的。

我们与国际先进技术的差距具体表现在哪些方面呢?

(8)

www. EET china.com

www. EET china.com

总线不是一项独立的技术,它是一种电器之间进行信息交互的接口,它的基础是零部件的智能化。

从单一技术来说,通过几年的发展,国内与国际先进水平差距正在缩小。但从量产角度来说,由于国内在 汽车电器、特别是在智能化零部件领域离国际先进水平相差太大,因此总线发展必然受其影响,总线应用 概念、产品定义、研发、测试、认证、生产和维护方面都还处于起步阶段。

具体来说,在总线的概念认识方面,很多企业还没有上升到平台和电气标准的层次,仍停留在节约电线和 增加功能上。

在产品定义方面,总线必须与零部件融为一体,与传统零部件协同作战。但国内由于电气零部件、智能零 部件的研发水平与国际先进国家相差太远,总线在国内发展缺乏智能零部件的基础,迫使总线与零部件研 发相分离。即使总线产品研发出来,但优势不明显,主机厂不接受,就谈不上产业化。 产业化不能实现,

产品定义、研发、测试、认证、生产和维护方面自然处于起步阶段。

对于我国来说,在 CAN/LIN 总线技术的研发道路上还需克服哪些瓶颈?

一是人才方面。车用总线技术涉及到机械制造领域和电子信息领域的融合。但我国的实际情况是,这两个 领域的协同存在一些问题。从电子信息行业进入车用总线领域的,缺乏对汽车行业的理解,其研发出来的 产品很难满足汽车的要求,即使满足汽车的要求,但不清楚汽车研发、生产和服务流程,也很难实现产业 化。另外,总线研发人员必须具有深厚的电子信息基础,因此从汽车行业进入总线研发领域的,由于基础 的限制,很难研发出高性价比的产品。

二是要突破国外对我国的技术封锁。目前我们的研发工作还处在向国外学习的阶段,但很多与总线技术相 关的国外文献都是讲其优势,不讲其缺陷。结果我国许多从事总线的研发人员在研发过中,由于不能对总 线进行取长补短,使研发陷入困境。突破技术封锁也是我们面临的巨大挑战。

以上内容来自电子工程专辑网站唐晓泉博士博客,特此感谢!

(9)

www. EET china.com

www.

五、各类汽车总线的特点比较

随着汽车功能的不断增加、可靠性要求的不断提高以及价格的不断下降,越来越多的电子控制单元(ECU)

将被引入到汽车中。目前,在高端汽车中一般会有 50 个以上的 ECU。为了使这些 ECU 能够在一个共同 的环境下协调工作,也为了进一步降低成本,人们设计了针对汽车通信网络的总线协议。

一般来说,汽车通信网络可以划分为四个不同的领域,每个领域都有其独特的要求。现有的主流汽车总 线协议都无法适应所有的要求:

信息娱乐系统:此领域的通信要求高速率和高带宽,有时会是无线传输,目前主流应用协议有 MOST,

正在推出的还有 IDB-1394 等;

高安全的线控系统(X-By-Wire):由于此领域涉及安全性很高的刹车和导向系统,所以它的通信要求高 容错性、高可靠性和高实时性。可以考虑的协议有 TTCAN、FlexRay、TTP 等;

车身控制系统:在这个领域 CAN 协议已经有了二十多年的应用积累,其中包括传统的车身控制和传动装 置控制;

低端控制系统:此系统包括那些仅需要简单串行通信的 ECU,比如控制后视镜和车门的智能传感器以及 激励器等,这应该是 LIN 总线最适合的应用领域。

其中,控制器局域网(CAN)是最有名的、也是最早成为国际标准的汽车总线协议。CAN 协议是串行协 议,能够有效地支持具有高安全等级的分布实时系统。CAN 是一个多主机系统,所以它设计了高效率的 仲裁机制来解决传输冲突问题,具有高优先级的系统总能优先得到总线的使用权。CAN 还同时使用了其

EET china.com

(10)

www. EET china.com

www. EET china.com

它一些防错手段,能够判断出错的节点并及时关闭之,这样就在很大程度上保证了总线的可靠性。CAN 的传输速率和总线长度相关,最高可以到 1Mbps,一般车内使用的速率是 500Kbps 到 200Kbps。

CAN 多年来作为车身控制的主干网已经形成了从 IC 设计到软件开发和测试验证的完整产业链,而且它 还将在新的汽车主干网行业标准确立之前一直充当这一角色。

在车内,还有许多 ECU 的控制并不需要 CAN 这样高速率和高安全的通信,本地互联网络(LIN)就是 为适应这类应用而设计的低成本解决方案。LIN 是一个公开的协议,它基于 SCI(UART)串行通信的格 式,结合了汽车应用的特点。LIN 是单一主机系统,不但降低了硬件成本,而且在软件和系统设计上也 能更容易地兼容其它网络协议,比如 CAN。LIN 的传输速率最高可到 20Kbps,主要是受到 EMI 和时钟 同步的限制。

由于 LIN 器件易得——几乎所有的 IC 都带有 SCI(UART)接口,LIN 很快就在车内低端控制器领域取 得领先地位。典型的 LIN 应用有车门、后视镜、导向轮、马达、照明以及其它智能传感器。LIN 不但定 义了物理层和数据层,还定义了相关的应用软件层。这些都为 LIN 方案提供商解决了设备兼容的问题,

很有利于汽车工业的规模生产。相信 LIN 协议会是汽车低端控制网络的未来标准。

车内除了嵌入式控制系统以外,还有诸如媒体播放器、导航系统、无线通信系统以及其他多种信息娱乐 设备,这些设备之间的互连需要更高速的通信协议。媒体导向系统传输协议(MOST)是目前车载信息 娱乐系统普遍接受的高速通信协议。MOST 基于 ISO/OSI 七层网络模型设计,物理层由光纤通信组件构 成,具有很好的抗干扰性,设计传输速率可达 150Mbps(目前产品可达 25Mbps)。除了控制数据外,

MOST 数据可分为同步传输数据和异步传输数据,具有很大的灵活性——同步数据可直接用于音视频设 备,异步数据可用于传输其它数据块,如导航地图数据等,甚至也可用于支持 TCP/IP 数据包的传输。

MOST 还定义了应用层,包括 MOST 设备、功能块、功能函数以及参数格式等等,这些协议可以确保各 个厂家生产的设备具有 MOST 互联性,也有利于车内信息娱乐设备的及时更新换代。

IDB-1394 是从 IEEE 1394 标准演化而来的另一种支持车内信息娱乐系统的高速通信协议。IDB-1394 可 以达到 400Mbps 或更高的传输速率,而且 IEEE 1394 也是一种很成熟的通信协议,已经有很多设备支 持。这些都是 IDB-1394 的优势,然而由于 MOST 受到更多厂商的支持,包括一些软件开发商的支持,

可以预计 MOST 将会在汽车工业中进一步扩张势力。

汽车线控系统,按照汽车工程师社团(SAE)的定义,需要一个安全等级为 C 的通信网络架构。如果要 实现一个完全的线控汽车,没有传统的机械或液压系统作备份,不但要对传统的机械和液压单元作创新 性的 ECU 替代,而且传统的 CAN 总线系统也不再适用。CAN 的本质是一种事件驱动的协议,在高安全 性的系统中,CAN 缺乏必要的决定性、同步性和容错性。

因此人们开始为线控汽车设计满足安全性要求的新一代汽车主干通信网络。TTCAN、FlexRay 和 TTP 就是其中的主要代表,它们无一例外地都采用了时间驱动的机制。在时间驱动的系统里,信息的发送由 预先设立好的时间表确定,所有的节点都知道什莫时间该发送,什莫时间该收取;信息收发的不确定性

(11)

www. EET china.com

www.

仅仅是时间同步的误差,而这个误差通常可以控制在非常小的范围内。这一特点使时间驱动的通信网络 成为线控汽车通信网络的必然选择。

TTCAN 由 CAN 发展而来,数据格式和 CAN 兼容。它定义了一个时间周期,在此周期内又有多个时间 间隔,有些时间间隔专用于特定的网络节点(无需仲裁),其余间隔类似普通的 CAN 协议。其特点是保 留了和传统 CAN 网络的兼容,同时又具有时间驱动的优点。然而,TTCAN 不能提供比 CAN 更高的传 输速率,在容错性方面也没有明确的设计说明。

FlexRay 协议将其时间周期分为静态段和动态段两个部分。静态段采用 TDMA 方式传输时间驱动类型的 数据,动态段采用 Mini-Slot 方式传输事件驱动类型的数据。在安全性方面,FlexRay 采用冗余通道的方 式确保数据正确传输,而其它的容错机制并没有直接在协议中明确说明,而交由应用提供者自己设计。

这种方法有很大的设计灵活性,然而会由此产生安全隐患以及兼容性问题。

TTP 协议对所有的节点采用 TDMA 的网络通道分配方式,即所有节点在一个周期内都会传输数据至少一 次。整个系统采用统一的时间标准,所有的节点都存有预先定义的时间表,一旦传输数据和时间表发生 冲突则认为节点错误。只要一个节点有一次错误,那末该节点将退出通信网络,确保网络不受错误节点 的干扰。TTP 将网络成员检查服务也定义在协议中,确保网络中没有可疑的节点。这些虽然限制了该协 议的灵活性,但确保了它的高安全性。

TTCAN、FlexRay 和 TTP 三种协议在其它方面的比较

可以看到 TTCAN 由于受到带宽等的限制,将不会在下一代线控汽车主干网中占有主导地位。FlexRay 和 TTP 都可以使用虚拟 CAN 通道技术来兼容现有的 CAN 网络和器件,而两者在安全性和灵活性方面各 有优缺点。因为汽车工业的规模化和线控器件的兼容性,双标准并存的状况一定会影响下一代线控汽车 的发展。虽然有研究表明 TTP 节点会具有更低的制造和实现成本,而且 TTP 也已经在汽车和航空业中 得到应用,但是推广 FlexRay 的企业巨头的影响力决不容忽视。或许下一代汽车通信主干网的决定因素 不是技术而是政治。

以上内容来自电子工程专辑网站谢文盛高级软件工程师论文,特此感谢!

EET china.com

(12)

www. EET china.com

www.

六、CAN 总线设计详解

CAN 总线是德国 BOSCH 公司在 20 世纪 80 年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据 交换而开发的一种串行数据通讯协议。它的短帧数据结构、非破坏性总线性仲裁技术以及灵活的通讯方式 适应了汽车的实时性和可靠性要求。

汽车 CAN 总线的技术背景来源于工业现场总线和计算机局域网这样非常成熟的技术,因此具有很高的可靠 性,抗干扰性。

CAN 总线的特点

CAN 作为一种多主总线,支持分布式实时控制的通讯网络。其通讯介质可以是双绞线、同轴电缆或光纤。

在汽车发动机控制部件、传感器、抗滑系统等应用中,总线的位速率最大可达 1Mbit/s。CAN 总线属于总线 式串行通讯网络,由于其采用了许多新技术及独特的设计,与一般的通讯总线相比,CAN 总线的数据通讯 具有突出的可靠性、实时性和灵活性。其特点可以概括如下:

1) CAN 为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,

通信方式灵活,且无需站地址等节点信息。利用这一点可方便地构成多机备份系统。

2) CAN 网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最多可在 134us 内 得到传输。

3) CAN 采用非破坏性总线性仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退 出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在 网络负载很重的情况下也不会出现网络瘫痪情况(以太网则可能)。

4) CAN 只需通过帧滤波即可实现点对点、一点对多点及全局广播等几种方式传送接受数据,无需专门的“调 度”。

5) CAN 采用 NRZ 编码,直接通信距离最远可达 10km(速率 5kbps);通信速率最高可达 1Mbps(此时通信距

EET china.com

(13)

www. EET china.com

www. EET china.com

离最长为 40m)。

6) CAN 上的节点数主要取决于总线驱动电路,目前可达 110 个;标示符可达 2032 种(CAN2.0A),而扩展 标准(CAN2.0B)的标示符几乎不受限制。

7) 采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。

8) CAN 的每帧信息都有 CRC 效验及其他检错措施,保证数据出错率极低。

9) CAN 的通信介质可为双铰线、同轴电缆或光纤,选择灵活。

10) CAN 节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。

CAN 总线技术的优点

国内汽车品牌中已经有几款车型应用了总线技术,这些技术完全来自国外。目前应用总线的国产车中大多 采用两套独立的 CAN 总线:一套是动力 CAN 数据传输系统,另一套是舒适 CAN 数据传输系统。

使用 CAN 总线后,对其优点进行了总结,得出以下结论:

1) 如果数据扩展以增加新的信息,只需升级软件即可。

2) 控制单元对所传输的信息进行实时检测,检测到故障后存储故障码。

3) 使用小型控制单元及小型控制单元插孔可节省空间。

4) 使传感器信号线减至最少,控制单元可做到高速数据传输。

5) CAN 总线符合国际标准,因此可应用不同型号控制单元间的数据传输。

汽车 CAN 总线的节点设计

1 CAN 节点 ECU 的设计(硬件)

汽车节点 ECU 的开发可以选择带有在片 CAN 的微控制器,也可以选择其它微控制器和相应的片外 CAN 控制 器、收发器。本文以后者为例说明 ECU 的开发。

带有 CAN 接口的 ECU 设计是总线开发的核心与关键,其中 ECU 的 CAN 总线模块有几个功能单元构成——CAN 控制器和 CAN 收发器。CAN 控制器执行完整的 CAN 协议,完成通讯功能,包括信息缓冲和接收滤波。CAN 控 制器与物理总线之间需要一个接口——CAN 收发器,它实现 CAN 控制器与总线之间逻辑电平信号的转换。

CAN 控制器和收发器完成 CAN 物理层和逻辑电路层的所有功能。应用层的功能则由软件来实现。

各节点的 ECU 主要由 MCU、DSP、CAN 控制器 SJA1000、CAN 收发器 PCA2C250 和其它外围器件构成。图 5 给 出一个由 51 单片机开发 CAN 节点的原理图(图中省略了 SJA1000 与 PCA2C250 之间的光耦等细节),完全 可以说明带 CAN 接口 ECU 设计的原理。

(14)

www. EET china.com

www.

2 CAN 网络通讯的实现(软件)

CAN 设计的三层结构模型为:物理层、数据链路层和应用层。物理层和数据链路层的功能由 CAN 接口器件 完成,包括硬件电路和通讯协议两部分。CAN 通讯协议规定了四种不同用处的网络通讯帧,即数据帧、远 程帧、错误指示帧和超载帧。CAN 通讯协议的实现,包括各种通讯帧的组织和发送,均是由集成在 SJA1000 通讯控制器中的电路实现的,因此系统的开发主要在应用层的设计上。应用层软件的核心部分是 CPU 与 SJA1000 通讯控制器之间的数据接收和发送程序,即 CPU 把待发的数据发给 SJA1000 通讯控制器,再由 SJA1000 通讯控制器发到总线上;当 SJA1000 通讯控制器从总线接受到数据后,CPU 再把数据取走。对于单 片机而言,操作 SJA1000 就象访问外部 RAM 一样简单。首先,应对 SJA1000 中的有关控制寄存器写入控制 字,进行初始化。之后,CPU 即可通过 SJA1000 接收/发送缓冲区向物理总线接收和发送数据。

EET china.com

(15)

www. EET china.com

www. EET china.com

七、汽车 CAN/LIN 总线测试流程和测试工具

汽车 CAN/LIN 总线系统测试的关键是测试流程、测试标准和测试工具,掌握专业的总线分析和测试工具 的使用技术,开发测试软件并将它们应用到测试过程是对中国汽车厂家和汽车工程师的重大挑战,本文 介绍 CAN/LIN 总线设计、仿真、分析和测试工具

恒润提供 CAN/LIN 总线测试方案和在这些工具平台之上的测试软件开发咨询服务,帮助客户进行 CAN/LIN 总线方面的测试。这些工具包括用于 CAN/LIN 网络系统和电控单元仿真和测试的工具 CANoe;

记录、评价 CAN 总线信号电平的工具 CANscope;CAN 总线干扰生成工具 CANstress;CAN 总线数据 记录器 CANlog。

汽车总线测试流程

概括的讲,汽车总线的测试流程主要包括四个阶段:

1. 制订测试计划。制订测试计划是测试开始前必须的工作,包括了测试需要达到的目标,使用的 资源、遵从的标准以及工具等方方面面,是测试顺利实施的指导性文件。主要内容有:目标;

总体测试策略;测试的完整性需求;具体规则(如何时停止测试);资源需求;职责(如测试用例 设计,执行,检查);测试用例库;测试标准;工具(CANoe, CANscope, CANstress, CANlog);

测试软/硬件配置;系统集成计划。

2. 测试用例。测试用例的设计是一项复杂的工作,既需要直觉又需要专门技术。

3. 测试向量。包括测试向量和分解每一个测试用例。

4. 测试过程。经过授权的专业人员系统地执行测试。测试步骤如下:1).单元测试(White Box, Glass Box, check code correctness;2).集成测试(Bottom Up, Top Down, Big Bang, Sandwich;3).

功能测试(Black Box, per specification,component。

测试工具主要包括软件测试环境和和辅助的硬件测试工具两部分。

软件测试环境

在汽车总线网络开发和测试过程中,主要应用的软件测试环境是 CANoe。 CANoe (CAN Open Environment)是德国 VECTOR 公司开发的功能强大的开发工具。它能支持总线开发的整个过程-从最初 的设计、仿真到最终的分析测试和产品的售后服务。CANoe 实现了网络设计、仿真和测试的无缝集成,

其开发、测试流程如图 1 所示。

(16)

www. EET china.com

www.

图 1:利用 CANoe 进行产品开发和测试流程

1. 通讯设计/模型生成。新工程的第一个任务就是在数据库中定义通讯矩阵,然后是在 CANoe 中 生成模型。

2. 通讯确认。支持的通讯确认包括系统的功能分配、功能测试和整个系统的集成。

3. 剩余总线仿真/功能测试。剩余总线仿真向总线系统产品供应商提供了理想的测试环境。使他们 既可以进行整个系统的测试,又可以高效地进行电控单元、模块和集成测试。此外用户还可以 在 osCAN 库(osCAN Library)的帮助下直接运行 CAN 控制器代码。

4. 测试。CANoe 通过特殊功能“测试特性设置”支持 ECU 和网络测试。有了这些功能,就可以创 建各种测试。例如验证单个开发步骤的测试,检查原型,执行蜕变测试和兼容性测试。此外,

包含在测试服务库中的检查和仿真功能可以简化测试环境的设置和执行。

5. 诊断。CANoe 可以分析 KWP2000 诊断通讯。诊断控制台(诊断特性设置的一部分)通过基于 CANdelaStudio 的诊断描述文件提供了对所有诊断服务的交互访问。诊断请求可以被选择、参 数化,并显示出来。故障存储器控制台提供了对某个 ECU 故障存储器简便、快捷的访问。因此,

所有参数都以符号进行显示。

6. 分布式开发/集成。对于涉及多个供应商的工程,可以进行网络节点的独立并行开发。

硬件测试工具

在 CAN/LIN 总线网络测试过程中,借助其它的测试工具,会进一步加快测试过程。这些硬件测试工具包 括(如图 2 所示):

1、记录和评估 CAN 总线电平的测量设备 CANscopeCANscope 提供了强健的记录模块和易于使用的评 估软件。记录模块通过 RS-232 和 USB 连接到 PC。可以分析各种因素对总线特性的影响:电缆类型和 长度、总线驱动器和终端、不同故障形式、EMC 等。对于目标调试,可以设定各种触发条件。例如当出 现某个特定的 CAN 报文或出现错误?总线电平超过正常水平或低于正常水平就会触发记录进程,触发环 境被完整记录下来,比较电压曲线。

EET china.com

(17)

www. EET china.com

www.

图 2:测试系统示意图

2. CAN 网络干扰生成工具 CANstressCAN 网络对于总线通讯的扰动和故障具有很强的抗干扰能力。为 了测试系统在干扰和故障情况下是否能够正常工作,需要能够产生 CAN 总线干扰的设备。CANstress 就是供开发和测试者使用的综合性 CAN 总线干扰生成工具。该设备能够以可以复现的方式对总线的物理 特性和逻辑电平施加干扰。CANstress 是手持式硬件模块。它可以直接插入 CAN 总线。它包含灵活的触 发和干扰逻辑。它包含大量的通过软件控制的电阻。它们可以用来构成总线上的电阻系列,总线间的连 接电阻,电极间的连接电阻。CANstress 支持的故障形式和测试模式包括:总线故障仿真,CAN 系统故 障,CAN 控制器干扰,可编程短路和掉电等。在总线间插入可编程静态电容可以用于仿真各种总线长度。

3、CAN 系统可编程记录器 CANlog 3 通过下载不同的配置,可编程记录器 CANlog 3 能够接受、保存和 评价来自不同 CAN 总线的报文。CANlog 3 可以支持 4 个 CAN 通道。通过相应的接口,可以按照用户 需求进行通道分配。允许的工作电压范围 5~45 伏,符合汽车工业标准。

解决方案特性

恒润的 CAN/LIN 总线开发、测试工具是由德国 Vector Informatik 公司提供的。Vector 公司是基于 CAN/LIN 电子系统网络开发工具的领导厂商。Vector 公司的解决方案和开发工具产品深受国际知名汽车厂商和汽 车电子供应商的信赖。

1. 汽车总线网络开发和测试一体的解决方案

从上述介绍可以看出,该解决方案具有最初的产品设计可发和测试能力,为汽车行业 CAN/LIN 总线开发 提供了从设计、仿真、到分析和测试的功能强大的全方位解决方案。实现了开发工具在各个开发环节的 无缝集成。在测试过程中,可以采用两种测试方式:交互测试(人工测试)和自动测试(无人监督)。在交互

EET china.com

(18)

www. EET china.com

www.

测试过程中,测试者可以交互地启动/重启某个测试过程,或者为测试提供输入激励;在自动测试过程中,

通过预先配置,可以自动启动/停止和执行测试过程,按定义的方式执行。在两种测试方式下,测试过程 结束可以生成 HTML/XML 测试报告,记录准确的测试结果。

图 3:显示界面和仪表库

2. 友好的用户界面和图形化的显示方式

该系统的软件测试环境提供了友好的用户界面和图形化的显示方式。提供了图形化显示功能模块和评估 模块。在测试过程中,显示每条报文的中的不同信号的数值,总线上所有活动的列表, 包括报文、错误 帧和超载帧;总线统计表显示报文速率,错误率,总线负载和 CAN 控制器状态。另外,针对汽车应用,

提供了相应的仪表库,模拟真实的驾驶室内仪表显示。如图 3 所示。

3. 支持多种总线协议

通过与相应的模块配合,该测试环境支持多种总线协议的仿真和测试,如 CAN 总线、LIN 总线、MOST 和 Flexray 总线,支持的总线协议有 J1939、ISO11783、CANopen、DeviceNet 等。

4. 良好的扩展性

该系统同样具有良好的兼容性和扩展性。在测试的过程中,根据需要,可以增加额外的测试工具,如 Ipetronik.等,进一步拓宽了其应用范围。

EET china.com

(19)

www. EET china.com

www. EET china.com

图 4:测试案例实现了 CAN 总线座椅控制自动测试

应用案例

图 4 所示的测试案例实现了 CAN 总线座椅控制自动测试。测试工程师只要启动测试,测试软件就按照 事先编好的测试流程逐项进行功能测试和通讯测试,并记录整个测试过程并报告测试结果。功能测试包 含头枕高度调整,座椅高度调节,座椅前后位置调整,座椅倾角调整和报文功能测试。通讯测试则包含 启动测试,请求/响应测试和报文周期精度测试。在测试的过程中,以图形化的方式显示当前系统的状态 信息和测试流程。

以上内容来自电子工程专辑网站范永健、张伯英高级工程师论文,特此感谢!

(20)

www. EET china.com

www. EET china.com

八、汽车总线设计及测试经典问答 43 例

1、作为高校教师,今后也想把汽车总路线作为研究方向,能给一些建议吗?在这样的环境下,构造总线 测试平台把哪一方面作为重点研究好一些呢?

答:车用总线的测试的范围很宽,大概分为两个方面的,一个方面是功能测试,一个方面的性能测试.功 能主要是测试基本的通信功能,如总线上的节点能否正常发送和接收信息.性能主要是指在各种状态(不 同的电磁环境,气候环境)的通信的各种性能,如实时性,故障处理能力等.更高层次的功能就是性能,

功能和性能之间的划分是没有确定的界线,随着技术的不断进歩,一方面性能方面的要求,不断转换为功 能性的要求,同时新的性能又在不断的产生。

从总线测试方面来说,它功能和性能的要求和属于汽车电子的非电源线信号传输方式的测试一类,大家可 以参考 ISO7637-3 ISO11452,GMLAN,I2602,I1939 等资料。

由于学校主要是教学(我个人认为),最简单的方法是购买用于 PC 机上的 CAN/LIN 卡(如:Li Gaowei 他 们的产品),然后自制一些节点(对于 CAN 来说,可以用 89C51+SIA1000 构成)就行了。

由于测式和设计不仅仅是总线问题,它涉及嵌入式系统的软硬件设计和测试,内容多一言难尽,很多方面 还处于探索阶段。

2、怎样解读国内的汽车 can 总线研究现状?是研发、成本或国内的测试方式、手段制约了 CAN 产品的出 现,还是其它的因素?

答:CAN,LIN 的应用首先要有 MCU,而国内生产的汽车零部件中含 MCU 的少之有少,这好比从奴隶社 会社会一下过渡到社会主义社会一样,虽然很难,但会成功.

3、目前中国总线的趋势是什么?而且要设计好总线要注意哪些问题?最后市场上的一些汽车生产商做总 线有哪些需求(中国)?

答:目前,国内在总线方面处于开始研发初始阶段。

在某些研究所、或者高校,已经做了一些工作,但是实际涉及到复杂的关键性的网络协议设计(例如汽车 动力总线的设计),还不成熟,用于实际产品的非常少。对于所设计的网络缺乏测试策略、测试方法及测试 评价。

其实国内网络开发方面,与国外的差距在于协议的制定与测试,而引起差距的最重要原因是实践经验。国 外的 CAN 网络设计已经进行了二十年,各公司成熟的网络协议都积累得到的,而国内厂商只是处于开始阶 段,谈不上积累。

国内厂商要形成自己的自主网络协议,需要加强对车辆等应用背景的理解;参考国外的网络协议;实践和 总结。特别是实践,做出来的东西一定要用,要改进,才能摸索总结出自己完善的规范、协议。

(21)

www. EET china.com

www. EET china.com

另外,还需要有超前的意识,不能只是跟踪。去年欧洲已经确定将 FlexRay 作为替代 CAN 的总线协议。国 内的研究机构也应该从现在开始进行,减小我们与国外技术时间差距。

4、到哪里可以获得与汽车故障诊断相关的协议?

答:不知道你说的故障诊断是什么意思,在汽车电子领域里说的 Diagnostics 不止是为了故障诊断。关于协 议,如果你的诊断是基于 K-Line 的,就要遵循 ISO-14230,也就是“著名的”KWP2000。如果是基于 CAN,

物理层遵循 ISO-11898,数据链路层、网络层和应用层遵循 ISO-15765。另外还有一份 ISO-14229,算是对 所有诊断功能的一个整体描述。

5、请教计算机如何通过汽车故障诊断接口获取汽车实时信号和故障代码?

答:汽车故障诊断目前主要是通过 K 线来实现,基于 K 线的诊断协议为 KWP2000(Key Word Protocol 2000)。

KWP2000 协议只是一个诊断协议的框架,其中包含了很多必须由具体的制造商自定义的内容(如故障码格 式等),这些内容各厂家都不相同。汽车厂家在实现它们自己产品的故障诊断功能时必须增加自定义部分才 能形成完整的诊断协议。因此要获得故障信息,必须知道该厂家的具体协议内容(有些诊断工具开发商通 过使用工具监测通讯信息来分析协议内容)。KWP2000 协议对于不同的信息设有不同的安全级别。普通的 故障信息没有安全保护,只要知道协议,即可通过诊断工具读出。其它方面的信息由 ECU 生产厂家分为不 同的级别限制访问,需通过安全认证过程才能获得这些信息。安全认证过程通常通过“种子”,“密匙”进 行验证。

6、如果开发一套类似与奥迪 VAS-5051B 功能的软件,计算机和汽车故障诊断接口之间通讯的原理是什么(就 以大众车系为例),需要怎么样连接?我在网上看到有人叫卖 VAG-COM 连接线,能用吗?

答:从 PC 到诊断接口的连接需要电平转换,也就是从 K-Line 到 RS-232 电平的转换,至少需要一块 IC。

我不知道你说的连接线是什么结构,有没有用我不好说。

通讯原理遵循 KWP2000。但如果你看了 KWP2000,你会发现其实它只是一个大纲,具体功能需要使用者 自己定义,对奥迪来说就是大众。我相信具体的通讯协议你是拿不到的。

你所下载的 VAS-5051B 应该只有很低的安全级别,只能实现很少的功能。高安全级别的通讯有软加密和硬 加密。

顺便说一句,汽车的诊断有很多牵扯到整车安全,这也就是为什么大众要保密。你小心不要费了半天劲做 了个非法的东西。

7、CAN 总线与 MIC 总线性能对比!

答 1:MIC 总线是专门为解决恶劣的军事环境(包括核辐射)中电力及数据分配和管理问题而开发的一种简单 的高可靠性时间分割多路传输串行现场数据总线。CAN 总线开始也是为军事服务,在成本得到认可后,才 开始应用于工业控制和汽车电子。两者同样适用于恶劣环境,但手段不一样(底层硬件应用协议),达到的 目的也不一样。MIC 时间分割多路传输,双冗余串行通信的方式传输数据,比较适合尖峰脉冲干扰频繁的 场合。CAN 可以简单的理解为差分信号,对浪泳等共模干扰抑制能力很强。当然,如果你不介意数据冗余,

(22)

www. EET china.com

www. EET china.com

485,LIN 也是不错的选择。这个前提是距离不要太远。

答 2: 应用目标是汽车电子设计,这是基础。在距离来看,车上的线束还没有超过 40 米的。在电磁兼容 角度来看,要符合 ISO7637 的要求。好了,标准已经清楚,现在我们开始讨论。

1 两种总线体系结构比较:这里已经说的很明白很具体了,我只补充一点。

a、节点一般可达 110 个:其实根据不同的应用芯片,差别很大的,通过网关的扩展那就没谱了。在汽车电 子应用来看你能用到几个节点呢?非常有限的。

b、多主式结构制约了通信的实时性,也会导致数据的拥堵:反对!所有的串行通讯都是队列呀,CAN 是 硬件底层协议保证队列,应用层协议保证实时性,堵不起来的。

2 性能比较

实时性:CAN 总线实时性不如 MIC 总线。这是队列和应用层协议的问题,您的观点的基础是 MIC 有序而 CAN 无序的前提。结论自然错误。可靠性:无论是 MIC 还是 CAN,出故障的模块都会死掉。而对网络管 理来讲,CAN 不需要任何处理,MIC 在主控死掉的情况,要麻烦一些。如果考虑到接替问题,那就不叫优 越性了。传输特性:其实如果在 40 米的极限距离来讲,讨论的有啥意义呢?

3 应用场合比较

如果讲坦克、军用车辆,无语了。为了保障军车在核爆后的存活率,都是很原始的东西。例如仪表,连数 码管都不给用。

8、基于 CAN 总线来对车上的电子设备/ECU 等等进行在线测试,是一个大方向,可否详细介绍一下这方面 的测试技术和标准的设计思想?

答:测试标准分为软件测试和物理层测试:

物理层测试也分为两个部份,一个部份是细化了 J1939 对物理层的测试方法,第二个部份是有一定的创造 性的它包括信号完整性测试,物理层的时延测试和 EMC 测试。

软件测试,软件测试包括通信的实时性测试和软件对通信错误处理能力的测试。

关于 CAN 的测试,我前前后花了一年多的时间,现在还没有完全,而且内容多,不可能一下子公布,有些 还涉及到其它方面的问题。

CAN 开发应该分为两个阶段,一个阶段是功能开发,另一个阶段是性能开发。

1 CAN 的功能开发,就是指能否利用 CAN 传输消息,即 CAN 调通没有调通。这个我就不说了,可以说现 在大家干的基本上都在这一层次上。

2 CAN 的性能开发。CAN 的性能开发又分为两个阶段,其一是物理层设计,其二是 CAN 信息的实时性。

2.1 CAN 物理层设计,CAN 的物理层设计主要涉及两个方面 CAN 的传输时延和 EMC。大家知道 CAN 的 传输距离和抗干扰能力主要由信号的传输时延决定的,当 CAN 发送消息后,在规定的时间内接收不到 ACK 就认为传输失败,这和 RS485 通信是有本质的区别的。在物理层的实际设计过程中,为了增强 CAN 的抗 干扰能力必定要加光耦,电容,TVS 和电感类拟的东西,这些东西的加入无形中要增大信号的时延,本来 为了增强 CAN 的抗干扰能,由于传输时延的增加,反而降低了 CAN 的抗干扰能力,这是我在近十几年在

(23)

www. EET china.com

www. EET china.com

国内一些同行设计的 CAN 系统中发现的问题。目前我设计的 CAN 系统在 500K 的通信速率下在 J1939 的 电缆中传输 100M 都不会发生错误;而前几天国内一家比较有实力的单位设计 CAN 系统在 125K 的通信速率 下仅能传输几十米。同时我也测试过 BOSCH 的产品,其性能是非常高的。所以我在 863 电动汽车重大专 项的总线会议上经常强调要设计一个具有竞争力的 CAN 系统,并不是简单地使用 82C250,与 82C250 相 关的每一个电阻,电容,电感和 PCB 上的每一根线都要认真考虑。对 CAN 的物理层设计的评估有一套方 法,在这套方法的测试下就能分清优劣。

我为什么要研究 CAN 的测试方法,这是因为在前年我参观专项中一次 CAN 联调,发现总有一些 CAN 节 点不能正常通信,而所有的零部件单位都说他们的没有问题,这时谁也不知道这是谁的问题。为了解决这 些问题于是我开始 CAN 测试方面的工作,没有想到这一干就是两年。

2.2 CAN 的实时性测试是指 CAN 的消息是否能准时发送。由于 CAN 自身存在优先级反转和软件开人员水 平的限制,特别容易出现消息的周期抖动(jitter),我在测试中发现一家零部件研发单位采用 POWER PC 作 为 ECU 的 CPU,其 CPU 的负载很低,但他发送一条周期为 10ms 的消息,有时需要 100 多 ms 才发送出来,

有时还不到 5ms 就发出来了。如果在 CAN 系统中出现这样一条消息,我想 CAN 的通信功能都实现了,但 其控制质量肯定得不到保证。

对于 CAN 的测试技术是否成熟,我一直认为国外从事发动机,制动和变速控制的研发公司都有严格而完善 的测试方法和标准,但我们得不到(也可能包括在华的合资和独资企业,因为如果在华的合资和独资企业有,

我们也可能通过各种方式了解到)。这就需要我们去探索。

实际上 CAN 的测试设备有的很贵,需要买,但很多可以用现有的通用设备和自制。

9、就目前国内车载网络总线发展的状况而言,CAN 应该是主流,接触 CAN 的机会比较多,请问 CAN 网 络的测试规范和标准该如何制定?

答:各个大汽车公司针对自己的车载 CAN 网络制定了各自的测试规范和标准,归纳起来可以分为:

1、正常的通讯测试 2、电气稳定性测试

3、故障情况下的 CAN 通讯测试

测试需要覆盖物理层、数据链路层、交互层、网络管理层等内容。

10、CAN 系统设计的关键点分析

答:我们是一群通信电子行业的工程师.经过一段时间的观察和分析,我们发现 CAN 网络的设计和构建并 不是十分困难的。关键点如下:

1 首先要清楚地认识到,CAN 网络是一个由多个网络节点(由各 ecu 控制)组成的无中心分布式网络。这种 特性决定了整个网络的行为模式与整车设计关系不大,更多地是由网络上各部件(如,发动机,ABS 等)的 通信接口(API)相关。所以整车厂商一旦选定了部件供应商,网络的需求和特性就基本确定了。我在论坛里 看见整车厂代表和部件厂代表争吵不休,还经常感叹各大整车厂商垄断应用层协议,颇感不解。粗粗阅读 OSEK/VDX 的相关文件,发觉其中已涵盖各种应用协议。只要知道了各部件的特性,就没有什么秘密可言 了。

(24)

www. EET china.com

www. EET china.com

2 CAN 网络对环境的要求比较高,高低温,震动和电磁兼容等特性必须过关。如果有比较丰富的电子系统 产品设计经验,这些也是不难搞定的。

3 CAN 网络的基本硬件平台和底层协议已有成熟的解决方案,不必花费太大的时间和精力。

4 CAN 网络的网络管理可能涉及比较大的工作量。因为网络的容错纠错能力,设备的管理能力,网络冗余 度的处理等需要花不少功夫。

综上所述,CAN 网络的设计和实现并不存在不可逾越的技术障碍。只要投入时间和金钱,还是很有希望在 近一两年内实现。

11、能否描述一下 CAN 控制器的节点状态处理过程,如节点的状态,各状态之间是如何转换的?

答:目前仅有看到 OSEK/VDX 的 NM 有规范叙述到节点状态机制,实际上,规范内也制定了一些 API,而 发展 OSEK/VDX 实现工具也有支持这些状态机制。

网络状态不过也就区分 Direct NM 和 Indirect NM,说穿了不过节点 Sleep、Awake,和 Suspended 之间状态 机制的互换,那什么时候和条件下,要转换到相对应的机制上,也很简单,直接看看 OSEK NM 可以很快 的明白,对了别去看 OSEK OS 和 COM,整套 OSEK 标准让我看到很想去死。

实现方面,可以藉由 Simulink 发展状态机器模型,产生 ANSI C Code,移植到所发展的 MCU 上。

Actually,未来 AutoSAR 也会对网络状态进行规范,并且 ThirdParty 发展厂商也会提供相对应的 API。如果,

你仅是要自行设计小型网络,套用节点状态机制管理,或许可以参考 OSEK 的 NM 去启发你设计的 Source Code。

目前,OSEK/VDX 实现工具厂商仅有几家,Freescale OSEKturbo、3Soft,不过都要价不匪。并且,因应 AutoSAR 的问世,这些工具的 Maintance 这些厂商也都未再继续维护。但是,读读 OSEK 会让你发现另外 一片新的视野。

12、我们是搞车载娱乐系统的,虽然目前国产车的娱乐系统还很落后、还没有与总线接口,但随着 CAN 等总线应用的不断普及,娱乐系统与其接口只是时间问题。借助这个平台想多了解一些 CAN 总线的知识,

例如:CAN 总线的主要功能及特点,娱乐系统与其接口的技术规范,测试方法等。

答: 对于总线的应用,娱乐系统我认为应该分为两个部分,其一是娱乐控制部分,其二是娱乐数据的传输。

对于娱乐控制部分,CAN,LIN 和 VAN 在实际中都有应用,方向盘上的开关(娱乐),基本上都是采用总 线,从成本控制上来说,LIN 都能满足要求,但具体情况要由主机厂定。

在娱乐数据的传输部分,按理说应该用 MOST 与 IDB1394 之类,虽然早期有个 CAN 传输娱乐数据的国际 标准,但后来没有影了。但在实际应用中,就有用 CAN 传输声音数据的。

我个人认为,国内开发娱乐系统的厂家应该在其新开发的装置上有 CAN\LIN 接口,同时还应考虑 CPU 的 资源。

(25)

www. EET china.com

www. EET china.com

至于测试,内容大多,一下谈不清,有机会我们再交互.至于标准,好像现在还没有通用的。

节点式娱乐系统一般是双 uP 结构,有个单独的控制 uP。

如果不是很复杂的话,音视频数据一般用传统电缆实现。

13、CAN 总线如何和 ECU 可靠的连接?CAN 协议是不是必须得用 SEA1939,这个协议好像是商用的吧?

答:CAN 只有物理层和数据链路层,在具体应用中还应当根据实际情况按 ISO 的 7 层协议的要求制定其它 层.J1939 只是建立在 CAN 之上的应用层协议,类似的还有 GMLAN,CANOPEN 等。J1939 叫商用车应 用协议.因为车通常分为商用车和乘用车,J1939 是为商用车用的,而不是“商用的”.

14、现在 can 在轿车中很普遍了。对于 can 总线的应用层,各个汽车公司像大众通用等汽车公司是不是都 有自己的协议?如果想自己设计应用层的协议(如果可能的话),应该考虑哪些方面呢?j1939 协议前景如何 呢?

答 1:从技术的角度来看,应该自己设计应用层协议,实际也是整车厂的知识产权。这也是为什么大众、

通用都有自己的协议但是还不对外公开的原因。设计中要考虑的主要问题举个例子来说:

比如 ABS 提供车速信号、自动变速箱需要车速信号。在设计应用协议的时候就必须考虑使用合适的消息传 送车速信号,主要考虑的因素就是 ID 应该是多少、周期是多少。影响 ID 分配的主要就是延时(或时延)问 题。但是目前的设计技术很难保证这一点,建议参考国外目前研究比较热的设计技术,那就是基于控制消 息延时的设计技术。其核心思想就是考虑从信号产生、总线传输到信号用于控制全过程的时间要求。也就 是对从 ABS 产生车速信号,通过总线发送,到自动变速箱使用车速信号进行控制的全过程的时间提出时间 要求。ID、周期的设计都必须满足这个时间要求。考虑整车网络,考虑每个这样的相互关系,最终对整车 网络的应用层协议进行设计,并可以进行整车的网络优化。

Mentor Graphics 的 VNA 是采用该技术实现应用层协议设计的自动化工具,它根据用户提出的时间要求,

可以自动实现整车网络规划和应用层协议设计。了解这个工具的技术点,可能有助于理解,另请参考以下 方面的文献:实时任务调度算法、CAN 消息延迟时间计算、CAN 调度等等。

J1939 协议是由 SAE(美国汽车工程师协会)——卡车和公共汽车电气电子委员会下的卡车和公共汽车控制 和通讯网络分委员会制定的高层 CAN 网络通讯协议。它主要用于为重型道路车辆上电子部件间的通讯提供 标准的体系结构。

其应用的主要对象是大型载货卡车、客车。在这方面的应用比较成熟,国内这方面还是空白。因此在卡车、

客车上的应用是非常有潜力的。

但是如果把它照搬到轿车上,我个人还是持保留意见的。

答 2:J1939 的应用在国内早就开始了,如:一汽的 AMT,还有北京路上跑的不少公交车都有国内自已研 发的零部件与国外零部件共处于一个 J1939 的网络中,所以 J1939 在国内应用可不是空白.

答 3:Bosch 最早开发 CAN 的标准和协议,Bosch 做了最早的硬件、软件和测试,不过现在的软件也不全

(26)

www. EET china.com

www. EET china.com

都是 Bosch 开发的了,也有很大一部分是瑞典 Volcano(现属于 Mentor Graphics)为 Bosch 开发的,其中包 括很多测试软件、代码生成工具等等。

VW 有用于 Powertrain/Driveline 的 High Speed CAN 和用于 Infotainment 的 Low Speed CAN 两种基本的总线、

网络传输协议 TP2.0,当然另外还有基于 CAN 的 EOBD 诊断总线,以及各种网关。目前 CAN 的协议是和 软件供应商 Vector、IAV 以及几个主要 ECU 供应商 Bosch、Siemens VDO 等一同开发的。

GM、Ford、DCX 的 CAN 来源比欧洲要复杂,GMLAN Single Wire CAN (J2411)是源于 Class II 的,其中很 多思想比如 Power Mode 和 Class II 是相同的,而 HSCAN 就是基于 J2284 的。GMLAN、Ford NOS 和 DC CAN 现在还没有完全开发完整,主要的应用也是和 Vector 和其它供应商一同开发的。

答 4:我始终认为 CAN 网络是一个无中心的分布式网络。CAN 协议处理器只负责数据的传送而不参与具 体操作。真正操作的是发动机,刹车系统,照明系统等等,所以除了自身的网络管理外根本不存在什么 CAN 网络的应用程序。

关于控制协议的问题,我认为实际上是各个部件的接口决定的。只不过由于国际大厂家自己拥有设计制造发 动机,变速箱等关键部件的能力,希望部件配套厂家改变接口以适应他们的系统(当然也得花钱)来达到协 调统一。也没什么神秘的,对于无法提供关键部件的整车厂商,还得使用部件厂商(如博世,TRW 等)的接 口。总而言之,整车厂的控制协议不同的根本原因是由于使用不同部件造成的。

当然我们不能否定国际大厂垄断的企图。但是我们应当理解协议差异性的根本所在。从而明白,只要各部 件都公开各自的控制协议接口,就完全可以协调统一。

答 5:目前世界各大汽车公司都有自己的协议,这些协议可以根据不同的车系和功能配置进行裁减,适用 于不同的平台。不同厂家的协议彼此互不兼容。如果要自己制订功能完善、适应能力很强的协议,对协议 制订者有很高的技术要求。协议开发小组必须对协议应用的领域非常熟悉(如车身控制系统,动力总成系 统),只有这样才能准确定义协议中的信号、报文以及对它们的具体要求。协议制订者必须熟悉现场总线通 讯技术(CAN、LIN)。这些技术包含传输协议、网络管理、故障诊断等方面的内容。协议制订者需要全面 掌握与协议相关的多方面的技术内容。J1939 协议是美国汽车工程协会开发的汽车网络协议,主要用于卡车、

巴士和工程车辆,轿车不使用该协议。

答 6:各个汽车公司的确针对自己的各个系统拥有不同的 CAN 应用协议。

我们自己的汽车公司想制定自己的应用层协议,需要考虑的问题我觉得应该包括:

1、功能的满足:报文内容是否覆盖了所有节点的信息获取需求;

2、性能的满足:报文的周期、ID 的选择是否能够满足节点在规定的时间获取到需要的报文;

3、容错能力:对于例如动力总线等要求数据正确性高的总线系统,需要考虑是否在报文中正加校验数据,

如果报文出错状况下是否应该有备用方案等容错的措施;

4、传输协议的考虑:包括是否需要多包报文发送、是否需要握手信号和应答信号等 5、故障诊断协议:如何实现故障诊断(该方面的具体实现会覆盖了 1、2、4 方面的内容)

J1939 目前在重型车辆上使用还是比较广泛的,国内外有许多使用 J1939 作为重型卡车 CAN 网络的案例。

由于它的规范制定比较完整,用户使用起来也比较方便。

15、请问,基于消息的延时如何做到多 Master 间的同步,有无使用时间戳。

(27)

www. EET china.com

www. EET china.com

答:消息的延时主要受应用层影响,CAN 就是多 Master 系统(你是否另有所指?),你这里的同步具体指什 么呢,物理层的同步还是应用层级握手,或者是...

16、从所发表的期刊论文上来看,CAN 在国内的应用好像是在工业控制上,而且也很少提及上层协议。现 在汽车工业热起来了,CAN 的应用又回归到汽车上面。只知道 1939 是为卡车写的协议,那其它的车辆,

如小型客车,上应用的协议一般是哪些,像欧洲的 DeviceNet、CANOpen、CANKingdom 等是不是都是为 汽车的应用写的,我国是不是有这方面的应用实例了?

答 1:1939 是所有的协议基础。小型客车上应用的协议没有太大的区别同卡车的协议。各个公司有所不同。

答 2:CANKingdom 被认为是基于 CAN 的高层协议的原型,但是它不是一种基于 OSI 参考模型的应用层。

CANKingdom 起源于北欧瑞士,由 Kvaser 建议将 CAN 应用到纺织机械厂,并在该领域建立“CAN 纺织 机械用户集团”。1989 年,他们研究出通讯原理,1990 年早期建立“CAN Kingdom”开发环境。

CANopen 是基于将高层应用协议标准化这样一个目标而开发。1992 年,由 VMEbus 杂志主管发起,将用 户和厂商集中在一起讨论应用协议标准化问题,试图建立促进 CAN 技术发展的中立平台。同年 5 月成立 CiA“CAN in Automation”组织。该组织在 Philips 医疗系统的 CAN 应用经验的基础之上,设计了 CAL—

—“CAN 应用层”。但是应用 CAL 协议需要用户建立自己的子协议,所以没有实现真正意义上的标准化。

从 93 年起,在 Esprit project ASPIC 范围内,由 Bosch 领导的欧洲协会研究出一个原型,由此发展成为 CANopen。它是一个基于 CAL 的子协议,用于产品部件的内部网络控制。在项目完成之后,CANopen 规 范移交给 CiA 组织,由其进行维护和发展。在 1995 年,CiA 发表了完整版的 CANopen 通讯子协议。CANopen 不仅定义了应用层和通讯子协议,也为可编程系统、不同器件、接口、应用子协议定义了页状态。主要应 用与工业机械自动化,如航海、医疗系统等

DeviceNet 和 CANopen 是 两个定位于不 同市场的标准 应用层协议。 它的产生非常 有意思,来源 于 AllenBradley、Honeywell 合资项目的终止。因此 AllenBradley 研究出了 DeviceNet,Honeywell 研制出了 SDS。

DeviceNet 面向工厂自动化控制。

此外 J1939 也是应用层协议标准化发展过程的产物,源于农业交通工具总线系统 LBS 被制定出。

17、一个新手接触 CAN 不久,请教 CAN 测试重要还是协议制定重要?论坛上有的人说测试重要,国内的 讨论也是铺天盖地。又有人说协议制定重要。

答 1:测试和设计的重要性,在不同设计思路中有不同的体现目前应用层协议制定的方法可以分为两大类,

一类是测试为重心的方法,一类是设计为重心的方法。

第一种方法也称为投票法或试验法。这是一种工程设计方法,各个供应商对协议提出要求,整车厂集成要 求,通过测试验证协议可行性,随后发布协议。测试的功能除了验证协议的实现外,还有一个重要的任务 就是对协议设计进行测试,试图解决 ID 分配不合理、消息冲突问题等等。这种方法的重心就是测试,因此 测试比较重要。

第二种方法是系统级设计法。这是一种理论设计方法,它提出了完全不同的需求,供应商只需要提供相应

(28)

www. EET china.com

www. EET china.com

的参数,根据一定的理论模型对网络通讯特性进行计算,如信号延迟、总线负载等。以此为基础,考虑设 计需求,通过一定的调度算法,对每条消息的 ID 进行分配。方法的核心就是优化这些特性参数,保证整车 网络通讯的实时性能。因此在这种设计方法中,设计是重点。从 V 型图来看,第一种方法重点在 V 型图的 右边,第二种方法覆盖的是 V 型图的左边。

测试就是验证?验证表示的是我们有一个标准,测试被测对象是否符合。但是目前汽车电子的测试不能一 概的称为验证,因为它还要测试协议设计是否正确,协议设计中是否有瑕疵。验证的输入是被测对象的特 性,参照的是标准,输出的是两者是否符合。

而我们现在的测试,输入的既有被测对象的特性,又有所谓的标准,输出的是协议是否需要修改、系统是 否可行、设计是否符合需要。注意这里引出了一个难以让人理解的地方,我们要测试 ECU 是否符合标准,

但是我们却又在根据测试结果在怀疑这个标准。因此除非你有非常雄厚的技术和经验积累,否则你始终在 这两者之间徘徊,浪费时间和金钱。中国目前就处于这种状态,但是我们却要依靠测试来推动技术的发展,

难以想象。

我们需要的是一条新的发展思路,而不是沿着老外的旧路重新来过。

如果依靠测试就能提高我们的设计水平的话,我们真应该回顾中国这几年都做了些什么?我照着国外的数 据库,每天都在测试,每天都在修改协议。。。因此事实是我们在基于测试做设计,而不是国内对于设计普 遍比较重视。

没有设计怎么说的上测试呢?相反设计才决定了测试的体系。举个例子,整车网络的电气特性参数,比如 ECU 的终端电阻、电容,这些参数都是与特定的网络环境有关系的。可能因为线束走线不同就有所不同。

设计人员知道影响这些参数的原因和可能出现的问题,而这些都可以成为建立测试方法的输入。

测试是比较重要,但是一定要比较的话,我倾向于选择设计更重要。其实电子行业的发展可以成为参考,

请大家考虑为什么 EDA 工具在电子设计中处于如此重要的地位?而且现在国际上的趋势是基于系统级的 设计、建模等等。重点是系统级!如果我们还在强调测试的话,走的是国外过去发展的道路,是背离系统 级的设计思路,根本就没有考虑国际发展的趋势。

答 2:我觉得这两样很难放在一起比较。离开了特点的协议,工程师只能说是有了 CAN 的概念和一堆标准,

并没有一个实实在在的 CAN 总线系统。一个 CAN 总线的存在很大意义上取决于通讯协议的建立。无可非 议的,协议制定的质量将会直接决定 CAN 总线系统的性能。

对于一个 CAN 系统来说,很多的工作量是后期的测试工作。只有通过后期的大量的测试,才能保证这个系 统并不是一个实验室里的‘雏形’,而是具有一定实际意义的,可以面向实际应用的系统。事实上也只有通 过测试,才能最终验证协议制定的好坏。

所以,从我的观点出发,协议制定和测试应该是属于 CAN 总线系统中的一头一尾两个关键,其重要性都不 容质疑,也不能进行比较。

答 3:协议和测试是 V 模型开发流程中的两个独立部分,两者的参考依据都是系统需求。协议是保证如何 满足系统需求的基本标准与原则;测试则是检验这些标准与原则是否符合实际的需求。两者相辅相成,没

參考文獻

相關文件

Knowledge 知識領域 Customer and Personal Service.

线性拟合与二次拟合 数据拟合的线性模型 一次多项式拟合公式..

• 全面品質的工具讓公司的員工,無論是工 程師、技術員或現場作業員,甚至是辦公 室職員,能夠完成他們的工作。這些工具

打商务电话要用“您好”开头,多 说“请”字,以“谢谢”收尾。通话态 度要亲和,声音大小要适中,始终保持

有个人出名之前,穿得很随便。朋友对他说,应该买件漂亮的大衣。他 笑着回答:

[r]

形成原因 反应物具有的总能量 生成物具有的总能量. 反应物具有的总能量

是偏振光。 光的偏振现象应用很广,如汽车夜间行车时,为了避免 对方汽车的灯光晃眼以保证行车安全,可以在所有汽车的车窗玻 璃和车灯前装上与水平方向成