| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 超实用LIN总线高效测试方案 -> 正文阅读 |
|
[嵌入式]超实用LIN总线高效测试方案 |
? //??
自LIN总线发明到LIN 2.2A规范发布,LIN总线在汽车行业中的应用越来越广泛,包括车窗控制、座椅控制、后视镜控制、天窗控制、灯光控制等。由于LIN总线本身具有低速、主从式通信、单线传输等特点,其主节点对于整条总线上所有从节点的通信调度和网络管理至为关键,同时对于网络上多个不同从节点如何能正确响应主节点也非常重要。因此为保证LIN通信的可靠性和稳定性,对于LIN主节点和从节点进行协议一致性测试就变得尤为重要。 针对上述问题,怿星科技自研的Neptune CAN/LIN测试系统提供了有效的解决方案,下面跟着小编详细了解一下。 LIN总线协议一致性测试点首先,我们先来了解一下LIN总线协议一致性的测试内容,它主要分为物理层测试 、通信层测试、网络管理测试、容错性测试四部分。 01物理层测试点LIN物理层测试主要包括电阻测试、高低压通信范围测试、位时间测试、占空比测试等。
下面重点介绍一下位时间测试和占空比测试的测试方法。
LIN数据帧通常由同步间隔场、同步场、标识符场(帧ID)、数据场、校验和场组成,如下图所示: 对于同步场、标识符场(帧ID)、数据场、校验和场,都固定为1个字节,每个字节占10个bit位,包括起始位和结束位,如下图所示: 测试目的 验证LIN总线位时间偏差是否在设计范围之内 测试设备 PicoScope示波器? 测试步骤 以LIN从节点为例,测量数据场Byte1字节的平均位时间。 ■?Step1:设置电源电压为Vnormal,控制DUT上电,触发本地唤醒源 ■?Step2:捕捉DUT发送的LIN帧,测量LIN帧中数据场Byte1的时间长度,并计算出平均位时间tBit 判定标准 位时间tBit:1/19.20*1000 ≈ 52.08μs,误差±2%,51.04μs<=?tBit<=53.12μs LIN波特率:19.2kbit/s 测试结果 如下图,使用PicoScope示波器抓取报文Id为0x18的波形,数据场Byte1的长度为519.994μs,Byte1共10bit,计算位时间:tBit= 519.994/10 = 51.9994μs,符合预期。 ? 占空比测试介绍 LIN总线信号的显性电平和隐性电平时间宽度需要满足占空比要求,占空比定义如图所示: Vnormal?= 12V(DUT供电电压) VSUP?=?Vnormal-0.6V THRec(max)=0.744*VSUP THDom(max)=0.581*VSUP THRec(min)=0.422*?VSUP THDom(min)=0.284*?VSUP 计算公式: ■ 隐性状态下占空比计算公式: ■ 显性状态下占空比计算公式: 测试目的 验证LIN信号显隐性电平占空比是否符合设计要求 测试设备 PicoScope示波器 测试步骤 ■ Step1:设置电源电压为Vnormal,控制DUT上电,触发本地唤醒源 ■ Step2:调用示波器捕捉DUT发送的LIN帧,测量并计算隐性电平最小占空比: ? ?D1=tBUS_rec(min)/(2*tBit) ■ Step3:测量并计算隐性电平最大占空比: ? ?D2=tBUS_rec(max)/(2*tBit) ■ Step4:测量并计算显性电平最小占空比: ? ?D3=tBUS_dom(min)/(2*tBit) ■ Step5:测量并计算显性电平最大占空比: ? ?D4=tBUS_dom(max)/(2*tBit) 重复Step2~Step5测试多次 判定标准 每次测试的占空比都满足要求: 隐性状态下占空比:D1 > 0.396;D2 < 0.581 显性状态下占空比:D3 > 0.419;D4 < 0.604 测试结果 隐性状态下占空比: tBUS_rec(min)?= 50772ns,如图所示: tBUS_rec(max)?= 54806ns,如图所示: D1=?tBus_rec(min)/(2 x?tBit)= (50772)/(2*51999) =0.488,大于0.396,符合预期。 D2=?tBus_rec(max)/(2 x?tBit) =(54806)/(2*51999) =0.527,小于0.581,符合预期。 显性状态下占空比: tBUS_dom(min)=49343ns,如图所示: tBUS_dom(max)=53381ns,如图所示: D3=?tBus_dom(min)?/ (2 x?tBit) = (49343)/(2*51999) = 0.474,大于0.419,符合预期。 D4 =?tBus_dom(max)?/ (2 x?tBit) =(53381)/(2*51999) = 0.513,小于0.604,符合预期。 02?通信层测试点LIN通信层测试主要验证DUT发送LIN报文属性及调度表属性是否与数据库定义一致。
03网络管理测试点 LIN网络管理测试主要包括网络启动时间、网络唤醒、网络休眠等。
下面详细介绍LIN网络管理相关内容。 网络管理-状态切换 ? 网络睡眠 ■?睡眠指令:ID:0x3C Data:0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF。 ■?主节点发送一帧睡眠指令,从节点在接到睡眠指令之后,也可以选择不进入睡眠状态而继续工作,这根据应用层协议而定。 ■?当总线空闲4到10秒的时候,所有从节点必须进入睡眠状态。 ? 网络唤醒 ■?在一个处于睡眠状态的LIN网络中,任何一个节点都可以发送唤醒信号。 ■?唤醒信号是一个250μs到5ms的显性电平,发送唤醒信号的节点发送唤醒信号后150ms~250ms没有收到其他节点的唤醒信号,发送唤醒信号的节点发送新的唤醒信号。 ■?每一个从节点都需要具备以下两点: ? ·?检测唤醒信号(持续150μs以上的显性位) ??·?当检测到唤醒信号之后,在100ms以内完成初始化工作 ■?主节点除了需要完成唤醒以外,还需要检测出发送唤醒信号的节点(利用信号)。 ? ·?当从节点发出唤醒信号之后150ms,主节点仍未发送报头时,从节点可以再次发送唤醒信号。 ? ·?当连续发送了3次唤醒信号之后如果主节点仍未发送报头,从节点要等待1.5s以后才可以再次发送唤醒信号。 ? 网络管理-睡眠测试(主节点) 测试目的 验证DUT是否能正确执行休眠机制 测试步骤 Step1:设置电源电压为Vnormal,控制DUT上电,触发本地唤醒源 Step2:移除本地唤醒源,检测是否执行休眠机制 测试结果 如下图,触发睡眠事件后,主节点发送3C报文,总线无LIN帧传输,符合预期。 ? 网络管理-唤醒测试(主节点) 测试目的 验证DUT是否能正确执行唤醒机制 测试方法 Step1:设置电源电压为Vnormal,控制DUT上电,触发本地唤醒源 Step2:移除本地唤醒源,使DUT处于休眠状态 Step3:测试仪发送1000μs的唤醒脉冲信号(DUT被唤醒,并在150ms内发出帧头) 测试结果 发送1000μs的唤醒脉冲信号,总线在106.8ms内恢复LIN帧传输,符合预期。 04?容错性测试点容错性测试主要验证DUT发生故障时或针对LIN总线施加干扰时,DUT故障处理和恢复机制是否符合设计要求。
Neptune CAN/LIN测试系统架构针对LIN协议一致性测试,我们提供了Neptune CAN/LIN测试系统,系统由CANoe测试软件、测试硬件系统、ECU被测系统组成。 CANoe测试软件: 自动化测试操作管理软件,用户可以进行测试参数配置、测试用例选择、测试执行、测试报告管理和Log记录及分析等。 测试硬件系统: 主要功能是模拟硬件测试环境,进行ECU电源控制、I/O信号控制及仿真、报文监控及仿真、LIN总线故障注入、LIN总线信号采集等。一次可同时部署多个DUT,程序自动切换测试,实现高效便捷操作。 DUT被测系统: 被测LIN总线节点,符合LIN2.2A规范。 这套怿星自研的Neptune CAN/LIN测试系统不但能提高测试覆盖度,自适应不同测试环境,大幅减少测试工作量,而且操作简单,对测试人员的技术要求较低,同时还具备其他特点:
对此,感兴趣的小伙伴可以联系我们进行咨询! ↓↓↓↓↓↓↓ 喜欢此篇文章欢迎评论、收藏、分享支持小编~ 更多技术干货,行业前沿动态,请关注上海怿星科技官方公众号:怿星科技eplanet ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 2:45:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |