首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

未来汽车中的终端节点通讯

未来汽车中的终端节点通讯

本文旨在介绍本地互联网(LIN)这种低成本的串行通讯协议,它主要用于汽车的分布式电子系统和基于网络的车辆概念中。
本文介绍了现行的LIN版本,即从原来的LIN1.3版升级而来的LIN 2.0,并介绍了LIN网络的一些基本知识。作为实施LIN2.0的实例,本文还介绍了支持LIN的无刷直流电机(BLDC)发动机风扇控制的应用,它以飞思卡尔的8位MCU为基础,使用了Volcano LIN 开发包。
车内网络解决方案
新技术为车辆带来的众多改变之一就是电子零部件的不断增加,同时,带有多种传感器、执行器、电子控制器的高级控制系统也对车用通讯技术提出了巨大需求。显而易见,这些需求只能通过使用这种网络解决方案来满足,因为车内环境各不相同,所以,本文将介绍三种能满足成本、安全性和通讯速度需求的主要通讯标准。
FlexRay
CAN -控制器局域网络
LIN -本地互联网络
以上三种通讯标准在通讯速度和每个节点的成本方面的比较,见图1


图1: 主要汽车通讯协议


每个通讯标准都有各自的优点和目标应用平台:
FlexRay--高速度(每信道高达10 Mbps)、双信道、时间触发、强大的容错协议,设计用作骨干网。一般的目标应用是所谓的X-by-wire(线控)概念。其目的是通过电子信号传输来替代传统的制动踏板和制动器或方向盘和车轮之间的机械传动。
CAN(控制器局域网)--中等速度(最高1Mbps)、单信道、双线容错协议,目前不仅在汽车业,还在许多工业应用中广泛使用。CAN协议的目标应用可以包括电机控制、悬架控制和车内信息娱乐功能。
LIN-本地互联网络--低速(最高20kbps)、单线低成本协议,可用于终端节点应用。LIN的概念注定这种协议用于传感器/执行器中,一般用于低速通讯,即速度不是关键因素的应用中。
图2是面向总线的汽车设计理念的一个例子。这种设计显示三种通讯协议的共存。


图2:总线车概念


LIN--本地互联网络
如上所述,LIN是一种低成本的单线串行通讯接口。它基于通用的UART/SCI接口,可以20 kbps的波特率保证数据的可靠传输。LIN总线一般应用于集成装置,比如门、方向盘、座椅、温度控制和发动机冷却风扇等。在这些装置中,LIN网络对成本敏感的特性使其采用了一系列先进的机械电子装置,如智能传感器/执行器。此外,通过用数字编码代替模拟编码,机械电子装置可以轻松连接到车辆网络系统,并易于进行各种诊断和维修,包括系统的重新编程和更新。
LIN协议的另一个主要特征是从节点中可以自动完成同步而无需晶振或陶瓷振荡器。这一特性和基于SCI的通讯的简便性是任何LIN实施提供经济高效性的主要因素。
操作基础
LIN的操作概念基于一主多从的拓扑结构。在这种情况下,LIN集群(LIN 2.0版中LIN网络的同义词)包含一个主节点和几个(多达15个)从节点。


图3: 操作概念


如图3所示,LIN节点实际上可以分成两个独立的部分:
主任务(Master task),负责决定何时传输哪个帧
从任务(Slave task),提供将通过LIN总线传输的数据,并允许通过节点从低功耗模式中唤醒LIN集群。
典型的主节点包含主任务和从任务,而从节点只包含从任务。
帧的组成
通过LIN总线传输的数据单位叫作帧。每个帧包含两个主要部分:
主任务提供的报头。
从任务处理的响应。


图4:LIN帧的组成


报头包含以下几个部分:
中断(Break) - 至少13位长的LIN总线的主导状态,由主任务产生,包含每个LIN帧。
同步字段(Synchronisation field) - 数据值在0x55的位字段,使从任务能与主时钟同步。
受保护的识别符(PID) - 独特地定义消息内容但不定义接收方的地址。PID以一个6位长的识别符开始,后面跟有两个奇偶校验位。
LIN帧的响应部分是节点的从任务提供的,可分为以下两部分:
数据字段--传输1到8个字节的数据。
检验和字段--包含反向转化的8个字节总和,包括后续(Carry Over)数据字节。
LIN帧的结构见图5。


图5:LIN帧结构


在LIN帧的响应部分传输的数据内容有三种类型:
信号 - 响应的数据字段中包含的梯状值或字节阵列。在这种情况下,帧的ID必须在0x00和 0x3B之间。注意,数据段中信号的位置对带有相同 PID的帧来说是固定的。
诊断信息 - 用来传输诊断或配置数据。这些信息总是8位长,并带有预留的ID号。0x3C ID用于主请求, 而0x3D 用于从响应。
保留信息 - 可用于用户定义的扩展名 (这种情况下ID等于0x3E)或预留用于未来的协议改进(ID设为0x3F)。
主任务对报头的传输基于集群的时间表。时间表规定了传送帧的顺序,以及当前和下一个帧之间的间隔。由于时间表的数量从理论上讲没有限制,所以可以定义几个不同的时间表来满足集群运行的不同需求。时间表概念是一个机制,有助于确保网络不会过载,并确保有保证的数据传输。
网络管理
LIN中的网络管理只指集群唤醒和休眠(go-to-sleep)流程。所有其它网络管理功能,如配置检测或自我保护(limp hom)管理都由应用完成。
若想使所有从节点均进入低功耗模式,主节点会发出第一个数据字节为零的主请求(MasterRequest)帧。此帧就是休眠命令。从节点软件负责处理正确进入低功耗模式所需的所有步骤。此外,如果LIN总线处于非活动状态超过25000位时间(在使用LIN 2.0规范的情况下为超过4秒),从节点也应该自动进入低功耗模式。
为了唤醒休眠的LIN集群,任何节点都可以发出唤醒命令。唤醒请求是通过迫使总线进入250ms到5 ms的主导状态发出的。每个从节点都可以检测到唤醒请求,并准备好接收100 ms之内的总线命令。
LIN节点功率管理状态图见图6。


图6:LIN节点功率管理


LIN评估
1996年,沃尔沃和Volcano通讯(VCT) 为Volvo S80系列开发了一种基于UART/SCI的协议,即Volcano Lite。此协议是车辆通讯系统不可缺少的组成部分。1997年,摩托罗拉公司与沃尔沃和沃尔沃通讯合作,帮助它们改进Volcano Lite协议以满足各种不同需求(比如无需晶振的从设备自动同步),并制定可以支持各种半导体产品的开放标准。1998年12月,Audi、BMW、Daimler Chrysler和VW也加入进来,由此形成了LIN协会(http://www.lin-subbus.org)。
LIN 1.0版于1999年7月发布,并受到一些汽车公司使用的VLIT总线的严重影响。LIN标准在2000年经过两次更新,从而产生LIN1.2版本。
2002年11月,LIN协会颁布LIN1.3版标准,主要对物理层进行修改,提高了节点之间的兼容性。
当前的标准版本,即LIN2.0,是2003年9月发布的。由于LIN2.0版是现行标准,所以本文主要介绍此版本。
由于Audi、BMW、Daimler Chrysler、VW、Porsche 和VCT汽车公司在实施过程中发现了一些问题,所以,LIN的新版本目前正在制定当中。2005年5月,VCT被Mentor Graphics (http://www.mentor.com)收购,成为一个大公司的组成部分,因而能持续支持和开发VCT的完整产品线。
LIN 2.0规范包
LIN规范2.0版反映了LIN协会指出的发展趋势。它还包括了SAE J2602 Task Force提供的信息,尤其是在现有从节点的使用方面。LIN2.0规范包包含以下部分:
LIN物理层规范描述了物理层,包括比特率、时钟容限(clock tolrerance)等。
LIN协议规范描述了LIN的数据链路层。
LIN API规范描述了网络和应用程序之间的接口,包括配置和诊断层。
LIN配置语言规范描述了LIN说明文件的句法和语义,此说明文件用于配置完整的网络,并作为开发和分析工具的输入信息。
LIN诊断和配置规范描述了可部署在数据链层上,为诊断消息和节点配置提供信息的服务。
LIN节点功能语言规范定义了用来描述现有从节点的格式。这些从节点可与即插即用工具一同使用,以自动创建LIN描述文件。
图7中的LIN开发工作流程显示了LIN 2.0规范包的各个部分如何组成一个整体。
返回列表