CAN总线系统测试基础理论_第1页
CAN总线系统测试基础理论_第2页
CAN总线系统测试基础理论_第3页
CAN总线系统测试基础理论_第4页
CAN总线系统测试基础理论_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. OSEK/VDX 网络管理体系目前,由不同的生产厂商提供的不同的电子控制单元被广泛应用到整车系统中,然后通过汽车总线连接成汽车网络,OSEK/VDX 网络管理的主要目的就是保证由各个电子控制单元组成的车载通讯网络的可靠性和安全性,为各个 ECU 节点之间的网络互连提供一个规范化的网络连接标准。OSEK/VDX网络管理规定了应用程序接口规范和网络管理的相关机制。OSEK/VDX 标准主要包含4个基本的模块,实际的操作系统 OSEK OS 模块、通讯子系统 OSEK COM 模块、网络管理系统 OSEK NM 模块、实现语言OSEK OIL 模块。各个模块版本可以分别定义。OSEK/VDX

2、标准的体系结构如图1所示。OSEK网络管理提供了两种网络管理模式:直接网络管理和间接网络管理。直接网络管理是基于令牌环的网络结构来实现的,网络上的节点同时被其他节点监控,在总线上的节点都有一个地址队列,分别对应自己和逻辑环前后的节点状态,整个网路组成一个统一的环形结构,任何新节点的加入或取消都会使得环结构重新建立。间接网络管理是指在网络上有一个主控节点,由该节点通过网络周期监控其他节点的网络状态。l 逻辑环OSEK NM规定逻辑环中的消息是由网络地址小的节点传送到网络地址大的节点,网络地址最大的节点再将消息传给网络地址最小的节点,从而首尾相接组成了一个环结构。CAN 网络中的消息是以广播的形式

3、发送的,网络中的一个节点发送消息,网络中的其余节点都可以收到,收到消息的各个节点按照特定的后继检测算法,判断自己是不是发送方节点的逻辑后继,如果是,该节点就接收该消息,如果不是,则将消息抛弃,通过节点的消息过滤功能,实现消息按照逻辑环传输。逻辑环的消息传输结构如图所示。Node1广播一个消息,此时Node2和Node3同时收到,但是Node3根据后继检测算法判断发现自己不是Node1的后继,于是放弃这个消息,Node2通过后继检测算法判断之后,发现自己是该消息发送节点的后继节点,于是接收该消息,同理,Node3接收到Node2的网络管理消息,Node1接收到Node3的网络管理消息,从而组成一

4、个逻辑环结构。(1) 直接网络管理直接网络管理是通过专门的NM消息来实现的,这种管理方法会给整个网络带来较高的负载,但可以对网络信息进行精确的配置。直接网络管理功能可分为:启动时初始化、运行时节点状态监测、睡眠管理和相关的硬件操作。在OSEK NM中,每个节点都是一个独立的逻辑个体,具有各种状态,并且能够传输消息。OSEK NM中的每个节点都有一个唯一网络地址,也就是标识符。网络中的节点通过标识符发送特定的网络管理消息进行通信。主要的网络管理消息有alive消息,ring消息,limphome消息。l Alive消息Alive 消息主要是通知网络上的其他节点,本地节点要上线,即加入到逻辑环中。

5、当网络管理功能启动之后,经过一系列初始化操作,节点开始发送的第一个消息是不带睡眠标志的 alive 消息,当节点被跳过时,节点同样发送不带睡眠标志的 alive 消息,告诉网络中的节点自己被跳过,请求重新加入到逻辑环中。网络中的节点收到 alive 消息之后,经过判断,找到该节点在逻辑环中的位置。l Ring 消息负责逻辑环的正常通信。当网络中的所有节点成功建立逻辑环之后,节点就在逻辑环中传输 Ring消息,Ring消息的传输类似于令牌环机制,Ring消息相当于令牌。l LimpHome消息在LimpHome 模式下发送的周期性的网络管理消息,目的是为了保证网络中的其他节点能够监听到本地节点。

6、当该节点能够成功接收到其他节点发送的网络管理消息时,说明节点已经恢复正常,它会发送 Alive消息,重新加入逻辑环。l 直接网络管理逻辑状态转换NM Off状态是系统复位后的初始状态,通过调用网络管理初始化函数启动网络管理之后,网络便进入NM On状态,这个状态是网络管理的运行状态,网络的故障检测和睡眠都是在这个状态完成的。网络进入NM On状态之后,首先进入NM Init初始化状态,进行网络管理初始化操作。初始化操作完成之后,网络中的节点便进入NM Awake状态。NM Awake 状态是网络没有进入睡眠的一种状态,系统一般会保持在该状态直到系统满足进入睡眠状态的条件,系统则进入睡眠状态。当

7、网络进入NM Bus Sleep状态之后,网络中的节点也可以被唤醒,然后重新初始化、运行,进行正常的操作。从NM Awake状态默认进入的子状态是NM Reset。在NM Reset状态下,节点发送alive类型的网络管理消息。如果消息发送成功,节点将进入NMNormal状态,并在此状态下重复发送逻辑环消息Ring消息,进行网络管理的相关检查等操作。如果alive消息发送不成功或者 Ring 消息接收或者发送失败,节点将进入NM LimpHome状态。进入NM LimpHome状态之后,节点周期性地发送LimpHome消息,以便及时报告自己的故障情况,同时它又不断的监听网络上的其它节点的网络管

8、理消息,直到该故障节点可以成功传输网络管理消息并且它能够正确接收网络上其他节点的网络管理消息。此时,该节点重新进入NM Reset状态进行重启,然后进行一般的网络管理操作。l 协商睡眠机制OSEK直接网络管理定义了一套睡眠协商机制,能够使网络上的所有节点在同一时刻进入睡眠。基本原理是:当某个节点不需要通信时,在发送自己的Ring消息时,将睡眠指示位置1,然后发送给自己的后继节点,其后继节点如果同意睡眠请求,则重复这一动作,如果不同意,可以将睡眠指示位置0,发送不带睡眠标志的Ring消息,将整个网络保持在唤醒状态。当网络中所有节点都同意睡眠,即带有睡眠标志的Ring消息在逻辑环中传递一周,发送睡

9、眠标志的节点发送一个睡眠确认消息,网络中的节点都等待CANNM_MSG_WAIT_BUSSLEEP_TIME 时间之后同时进入睡眠状态。睡眠协商的过程如图所示。应用程序通过网络管理模块的GotoMode(BusSleep)函数,设定睡眠操作码sleep.ind和 sleep.ack控制节点进入睡眠状态。其中 sleep.ind置1表示发送带有睡眠标志的网络管理消息,sleep.ack置1表示发送带有睡眠确认的网络管理消息。当应用程序调用GotoMode(Awake)或者ECU内部产生睡眠唤醒事件时,网络管理消息中的睡眠指示位被置0,节点进入NMReset状态,重新启动网络管理并构建逻辑环结构。

10、在LimpHome状态下的节点接收到带有睡眠请求的网络管理消息,会将自己的睡眠标志置 1,等待WaitBusSleepTime 时间之后进入睡眠状态。(2) 间接网络管理间接网络管理是通过监控网络管理消息来实现网络监控的。间接网络管理的实现很简单、负载也较低,但是容易受到应用消息的影响,相对直接网络管理来讲,很难提供网络配置的精确信息间接网络管理是通过监控应用消息来达到监控的目的,所以网络中的节点必须在正常操作模式下周期性地发送特定的消息。间接网络管理提供两种消息定时的方法:全局定时器和独立定时器。l 全局定时器是指总线上所有节点的周期性消息的发送均采用同一个定时器TIMEOUT_TIME。它

11、具有占用资源少,实时性差等特点。但是,这种定时器不能保证系统的实时性。如果预定时间TIMEOUT_TIME之内没有收到其他节点的网络管理 消 息,则该节点认为网络上没有其他节点在线,如果在TIMEOUT_TIME超时之前收到来自其他节点的网络管理消息,则设置该消息的发送节点为在线状态。若节点超过预定时间TIMEOUT_TIME都没有收到自己发送的网络管理消息,则设置本地节点为静音模式,反之设为非静音模式。l 独立定时器是指为每个节点独立分配一个定时器Timerx,用于监控各个节点的周期性消息。每个节点可以根据自己的特点设置不同的定时时间,从而满足系统的实时性要求,但是独立定时器占用系统资源较多

12、。如果节点n的定时器Timern超时,但是节点n并没有收到来自其他节点的网络管理消息,则设置其他节点为离线状态,反之,配置其他节点为在线状态。如果直到Timern超时,节点n都没有收到自己发送的网络管理消息,则设置自己为静音模式,反之设为非静音模式。l 间接网络管理状态转换间接网络管理的状态转换如图所示。间接网络管理主要包括 NMOff 和NMOn 两种状态,其中NMOn状态又包括NM BusSleep和Awake两个子状态,Awake又包括子状态 NMNormal、NMWaitBusSleep和NMLimpHome。NM Awake是系统进入NM On之后的默认状态,而 NM Normal又

13、是进入Awake之后的默认状态。在间接网络管理中,只有当数据链路层出现重大错误时,节点才会进入NM LimpHome状态,这一转换条件与直接网络管理不同。当故障排除之后,节点将重新返回NM Normal状态。NMWaitBusSleep是节点进入睡眠状态之前的一个等待状态。当计时器 WAIT_BUSSLEEP_TIME 超时后,所有节点进入睡眠状态。在间接网络管理中,节点睡眠不采用直接网络管理的协商机制,而是采用主节点控制的管理方法。当从节点需要睡眠时便向主节点发出睡眠请求,主节点询问其他从节点,若有从节点不同意睡眠,则网络维持在唤醒状态,若网络中节点都同意睡眠,则主节点发送睡眠命令,控制所有

14、从节点进入等待睡眠状态,然后等待定时器WaitBusSleepTime超时之后,网络进入睡眠状态。2. AUTOSAR网络管理体系AUTOSAR定义的通信系统总体架构可以分为两个大方面:面向用户的调用接口层,包括COM层以及PDU Router层,对应ISO/OSI模型的应用层与会话层;面向不同总线的通信栈,包括CAN/LIN/FlexRay TransPort层、CAN/LIN/FlexRay Interface层以及CAN/LIN/FlexRay Driver层,分别对应ISO/OSI模型的网络层、数据链路层。AUTOSAR COM各个层次之间的关系如图所示,COM层和PDU Router

15、层处理的数据协议单元称为I-PDU,CAN TransPort层处理的数据协议单元称为CAN N-PDU,CAN Interface层处理数据协议单元称为CAN L-PDU,CAN Driver层处理数据协议单元称为CAN Frame。与COM联系密切的AUTOSAR的四个基础软件组:l DCM(Diagnostic Communication Manager)诊断通信管理器DCM为诊断提供通信服务,为DEM提供诊断数据,同时从DEM中获取外部诊断工具所需要的信息并通过COM通信系统传递。l DEM(Diagnostic Event Manager)诊断事件管理器DEM的主要任务是处理和存储诊

16、断事件和相关数据。DEM根据COM通信系统传递到的一些信息和相关标准生成一个故障码,并通过COM通信系统将故障码传递到外部诊断工具。l DET(Development Error Tracer35)开发错误跟踪器当程序运行期间出现错误时,COM系统会实时将错误出现的模块以及对应的错误代码上报给DET模块,DET根据用户配置决定如何处理错误。l ECU State Manager(EcuSM,ECU状态管理器)EcuSM是AUTOSAR的架构中处理ECU事件、管理ECU中所有组件的模块,同时也是开启COM通信功能的模块。此外,COM需要提供了EcuSM状态查询、事件查询以及事件通知的接口,方便其管理组件。网络管理模块位于通信服务模块之中,其主要功能是负责通信管理,防止因为节点故障而浪费通信资源,第二个功能是节点状态监控,通过保证每个节点最基本的管理帧发送,使每个节点能够被其它节点发现。AUTOSAR网络管理的基本状态转换如图。AU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论