首页 > 其他分享 >LIN休眠唤醒及测试心得

LIN休眠唤醒及测试心得

时间:2022-11-22 10:44:44浏览次数:68  
标签:样件 唤醒 LIN 休眠 测试 心得 节点

前言

 

 

上期LIN测试小课堂,我们分享了LIN总线帧结构及各场干扰,如何测试样件是否不响应错误的帧结构。

 

这次我们的介绍主题是LIN休眠唤醒,一起看看标准和差异性,开发和测试的关系,实际的案例分享也来了。

 

 

一、LIN控制器休眠唤醒类型介绍

 


虽新架构的发展促进着通信技术的升级换代,但作为车载通信技术的常青树之一的LIN通信,由于其自身的特点,将会继续发光发热。其中LIN的休眠唤醒作为整车休眠唤醒的重要组成部分,需引起开发和测试工程师足够的重视。本文将介绍此方面的内容,LIN总线是主从结构,下面将从LIN主/从节点分别展开。

 

1、主节点休眠唤醒

 

  主节点的唤醒条件在LIN协议2.1规范中定义的是被唤醒信号唤醒,但是实际应用OEM多是依据自己的需求进行开发的。


常见的几种唤醒方式如下:


1.硬线唤醒(硬线唤醒源实质就是定义唤醒线的电平变化,如传统车的KL15上电)


2.网络唤醒(网络唤醒即是网络管理报文唤醒,此处网络管理报文指的是LIN的上层网络总线(CAN/FlexRay),LIN本身不存在网络管理报文,上层网络唤醒伴随LIN网络唤醒)


3.特定信号唤醒(例:车辆使用模式信号为特定值时LIN网络才能唤醒)

 

 

LIN Specification Rev 2.1en

 

规范描述在主节点不发送帧头时,从节点应发送唤醒信号来唤醒主节点。这种唤醒必须满足两个条件:


1.从节点必须支持发送唤醒信号


2.主节点能够被唤醒信号唤醒


但是实际测试中发现,从节点一般不支持发送唤醒信号唤醒(实车测试遇到过网络唤醒休眠异常情况,排查发现为从节点阳光雨量控制器不断发送唤醒信号导致的,即取消了该控制器能发送唤醒信号的功能)。随着局部网络唤醒的应用,主节点唤醒方式大多为网络唤醒,LIN网络做成与上层网络同睡同醒的机制。

 

主节点休眠的最终表现形式都是发送睡眠指令,当然休眠与唤醒本就是强关联,且主节点的唤醒休眠条件多是依据OEM自身需求而定,我们就不进行展开了。


2. 从节点休眠唤醒

 

 

从节点的唤醒条件同样为接收到唤醒信号,LIN协议2.1规范中描述从节点唤醒条件可能为接收到主节点发送同步间隔场,这是LIN通信机制的缘故,从节点进行通信必须接收到主节点发送的帧头才能发送从节点响应部分,而帧头可以充当唤醒信号,从节点在接收到唤醒信号完成初始化后即可正常通信。

 

LIN Specification Rev 2.1en

 

规范描述从节点的两种休眠条件如下:


1.接收到睡眠指令


2.总线空闲4-10S


正是由于从节点需求的通用性,我们才能总结出各零部件供应商的实现差异点,沉淀测试经验来优化我们的测试。其中从节点最典型的测试就是休眠唤醒遍历测试,下文将对此进行详细展开。

 

 

二、休眠唤醒测试案例分享

 


案例1:连续仿真发送从节点响应的某帧帧头时,样件会不断重复休眠唤醒的过程

 

造成该现象的根本原因是该零部件供应商除了上述两种休眠条件外还增加了另外一个休眠条件:检测主节点丢失(即接收到主节点的发送报文);我们测试休眠唤醒为了避免其它帧头对测试造成影响,所以选择该从节点响应的某一帧进行休眠唤醒测试,这就造成了主节点丢失的条件,从节点会进入休眠;休眠之后又会被周期仿真的帧头唤醒,所以就出现重复休眠唤醒的现象。

 

检测到主节点丢失休眠条件在各节点工作正常是不会产生任何影响,但可以在LIN总线短地的条件下使样件进入休眠,防止由于LIN线短地造成样件无法休眠导致整车馈电,此是在满足标准基础上的设计优化。当然,具体的问题要依据具体设计而定,有可能总线空闲的判断逻辑覆盖了低电平时情况,未检测到电平变化就识别为总线空闲,这样就无需增加休眠条件了。

 

案例2:样件在接收到睡眠指令后偶发性不能进入休眠

 

测试用例我们一般遍历测试接收到睡眠指令后等待300-1100ms样件是否都能正常进入休眠;


造成该问题的根本原因是样件在接收到睡眠指令后有一个预休眠处理,时间为500ms(功能设计于数据保存),在预休眠期间样件不会识别任何帧头;所以只要是遍历等待时间小于500ms,依据自动脚本等待时间代码的时间叠加,就造成样件偶发不能进入休眠的现象。


由于特殊样件有特定的需求,这种情况我们就会优化我们的测试方法。同时在此基础上可以延伸出等待总线空闲临界点的休眠唤醒测试的新场景。

 

总而言之,测试设计以具体需求设计为基础,用以高效发现问题,以及评估设计合理性,这是一个消化吸收、总结沉淀、扩展延伸的过程,需要对设计需求有深入的理解,需要关注和了解具体的实现方法,需要在测试过程中实践和分析。

 

三、小结


通过上述的介绍,相信大家对LIN唤醒休眠有了一定的了解。由于LIN主节点多是OEM根据自己的需求进行开发,就没有对主节点的唤醒休眠测试进行展开;如果大家想了解常见的唤醒方式(同睡同醒),可参照AUTOSAR网络管理部分的分享内容。
北汇信息作为国内多家整车厂(吉利、长城、奇瑞捷豹路虎、一汽红旗)认证的第三方测试企业,提供CAN/CAN FD/LIN/FlexRay/车载以太网等的测试服务,欢迎垂询!

搜索

复制

<iframe height="240" width="320"></iframe>

标签:样件,唤醒,LIN,休眠,测试,心得,节点
From: https://www.cnblogs.com/polelink/p/16914337.html

相关文章

  • Linux学习记录
    Linux学习记录学习背景:当今IT世界,一个合格的后端程序员,熟练掌握Linux系统和容器化部署是必备的,在这里重温加进一步学习这里安装具体过程不作记录,网上有很多一、Ubuntu18.......
  • 使用linux的特点
    1、稳定性和高效性:因为Linux是由Unix发展而来,因此Linux与Unix有许多相似之处,不只是用户接口和操作方式,Linux还继承了Unix卓越的稳定性和高效性。对于使用Linux......
  • 问题解决:Unlink of file '.git/objects/pack/****' failed. Should I try again?
    gitpull拉取代码的时候遇到上面的错误,选择是或者否都不行,貌似说文件被占用了,也尝试用过找到.git里面对应的文件删除掉,也可以解决,不过文件占用多了,不可能一个个手动清......
  • linux常用命令
    文件解压#压缩tar-czvftinyproxy.tar.gztinyproxy/#解压tar-zxvftinyproxy.tar.gz/usr/local/tinyproxy/软链接#ln-s文件或目录软链接的名称ln-s/va......
  • Linux无头模式使用mat分析dump的方法
    摘要mat可以很好的进行jvm的内存dump的分析.但是大部分服务器是没有GUI界面的.而且就算是有GUI界面也很难直接使用.但是随着jvm堆区越来越大.WindowsPC机器已经很难......
  • Linux运维笔记[6]-备份和恢复
    备份[https://www.cnblogs.com/OneDirection/articles/9797833.html]因为服务器主要是通过docker容器运行微服务,所以主要备份docker镜像docker退出状态码[https://z......
  • linux服务器互信配置
    假设有A、B两台服务器目标:A可以通过命令sshB即可登录到B服务器进行操作B可以通过命令sshA即可登录到A服务器进行操作一、简介SecureShell(缩写为SSH),由IETF的网......
  • openkylin基础 查看计算机的默认分区
          OS:openKylin-0.7.5-x86_64      blog:师万物 查看计算机的默认分区 学习资源openKylin(开放麒麟)openKylin文档平台openKylin(gi......
  • openkylin基础 查看软件商店
          OS:openKylin-0.7.5-x86_64      blog:师万物 软件商店可以方便安全地安装软件可以卸载已安装的软件 学习资源openKylin(开放麒麟)......
  • openkylin基础 工具箱 查看整机信息
          OS:openKylin-0.7.5-x86_64      blog:师万物 工具箱查看整机信息硬件参数硬件监测驱动管理 学习资源openKylin(开放麒麟)ope......