0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

测试开发实践:网关路由功能及测试

北汇信息POLELINK 2022-07-27 11:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.前言

当前,车内通信技术越来越复杂,协议类型更加多样,不同总线及协议间的转换和路由等也更为复杂,网关作为通信枢纽的载体,其测试的复杂程度和重要性也越来越高。本文将分享网关路由测试开发过程中的经验和遇到的问题。

2.网关功能简介

网关主要功能是通过报文路由转发、报文过滤与信号重组等工作实现信息的交换,包括不同通信协议间的交互,如Ethernet、FlexRay、CAN、CAN FD、LIN。传统的网关按照实现方式可分为独立网关和集成网关, 集成网关指集成路由功能的仪表或车身控制器,使用集成网关时,其网络拓扑相对简单;独立网关主要实现路由功能,网络拓扑相对复杂。近几年E/E架构逐渐向域控方向发展,新的域控制器,通常也具备网关路由的功能。

目前,典型的网络拓扑主要有以下三种:

1)传统的EE架构,Central Gateway与所有ECU直连,独立完成整车所有的信息交互任务。

pYYBAGLgq0-ARm1NAAB6QpVM8I0015.png

图1传统网络架构及网关

2)基于Domain的EE架构,整车拓扑中除了Central Gateway还存在Domain Gateway,Domain Gateway参与下属节点间的信息交互,也承载了网关的功能。

poYBAGLgq16AKK0rAABwKQ1rVRc312.png

图2基于域控制器的网络架构及网关

3)混合的E/E架构,在从传统网络架构到基于域控制器的网络架构的过渡阶段存在的网络架构,兼具两种网络架构的特点。

poYBAGLgq3CAPv9KAACIRIeG-R0160.png

图3混合网络架构及网关

以上基于域节点的网络架构的Central Gateway和Domain Gateway直接通过以太网点对点连接,域节点间的信息交互通过L2的Switch和L3的IP Router实现。

除了基本的路由功能,网关通常还具有以下属性和功能:

1)各功能域物理隔离:网关区分各个功能域,将不同的功能域区分开

2)外部沟通媒介与网络安全防护:网关是整车与外部信息交互的媒介,因此网关需要过滤外部信息,避免整车内部网络被攻击

3)网络休眠唤醒管理:网关依据整车休眠唤醒条件,协调各个网段间的休眠唤醒

4)OTA Master功能:实现整车远程刷写功能,获取ECU升级数据包并存储在本地,当满足刷写条件时,网关可作为刷写机,以既定的刷写流程将刷写数据传输给待升级ECU

5)整车状态管理和能量管理:管理整车模式和用户使用模式

由于网关功能多样和复杂,且部分功能具有功能安全要求,需要通过测试来保证最终软件的成熟度。针对网关的不同功能需要做相应的测试,本文重点探讨基本的路由功能测试。

3.网关路由类型介绍

网关路由的类型可以分为3种:信号路由、报文路由、TP路由(诊断路由)。以下针对这三种路由类型分别做介绍。

1)信号路由:从源网段接收到的一条或多条报文中的部分信号(或信号组)打包在新报文中,然后在目标网段上按照定义的方式发送出来。 信号从源网段到目标网段的路由过程中,信号所在报文的发送方式、信号在报文中的位置、信号所在报文的ID和信号所在报文的周期都可以改变,另外源网段和目标网段的通信协议也可以不一致。

AUTOSAR架构下定义了信号和信号组的Update bit,对于有Update bit的信号和信号组,只有在其Update bit置位的情况下网关才对其进行转发,并在目标网段更新Update bit,当源网段信号丢失时网关转发的信号的Update bit持续不置位,指示接受该信号的控制器信号超时。而针对非AUTOSAR架构 ,部分OEM定义了Timeout flag,指示源网段信号超时。

pYYBAGLgq4uAdaS3AAB1yDPDDmw204.png

图4信号路由

2)报文路由:从源网段接收到报文后转发到目标网段。根据目标网段的发送形式,报文路由又可以分为事件型报文路由和周期型报文路由。事件型报文路由在源网段收到报文后立即触发目标网段的发送;周期型报文路由在源网段和目标网段都有固定的周期,源网段接收到报文的周期和目标网段发送的报文周期没有必然关系。

poYBAGLgq5iAckIPAABB455zMl8309.png

图5报文路由

3)TP路由:带有传输协议报文的路由称为TP路由。TP路由又可分为两种:不带协议转换的TP路由(一般称为报文透传)和带有协议转换的TP路由。前者在部分OEM的定义中和事件型报文路由未作区分,但实际两种路由的应用场景是不同的,事件型报文路由针对应用报文,要求转发延时低且最新的信号值最具重要性(latest value is the most important);报文透传对速率的要求不高,但要求先入先出(first in first out)和不丢帧。带有协议转换的TP路由主要特点是:可以实现协议转换(源网段和目标网段的协议可以不一致),且网关作为传输连接的一部分,在源网段的接收和转发均须符合传输层协议,不符合传输协议的不转发。

pYYBAGLgq6yAFrL8AABxyEH_Ulw251.png

图6 TP路由

下图以CAN-LIN的TP路由为例介绍带协议转换的TP路由,由于CAN和LIN的传输协议不一致,网关在源网段以CAN的传输层协议接收数据后,在LIN的网段按照LIN传输层协议发送数据。CAN和LIN的报文虽然都是8字节,但由于传输层协议不同, CAN和LIN网段的每帧报文传输的数据内容都是不一致的。此外,由于CAN和LIN的传输速率不一样,CAN网段接收数据后存储在缓存中,在LIN网段按顺序发出。

poYBAGLgq7qAFR_MAADgqG2FQXs915.png

图7 CAN-LIN2.1 TP路由

由于带协议转换的TP路由需要在源网段接收到数据后先存储到缓存中,因此需要占用较多的内存资源,但同时这也是并行刷写的实现基础,网关在高带宽的网段接收到诊断数据后先行存储,然后按照低带宽网段的传输协议,并行分发到各个低带宽网段,在此过程中最大效率的利用了高带宽网段的带宽,提高整车的刷写效率。

4.网关路由测试实践

对于具备多种路由形式的网关,为了验证是否满足设计需求,应该根据每种路由类型设计测试规范和测试场景,本节将探讨路由测试的痛点与积累的经验。

信号路由测试

信号路由测试的难点在于信号路由的数量众多并且路由信息的提取困难。根据北汇过往项目经验来看,基于非域控架构(所有控制器都和中央网关直连)的信号路由数量大约有800+;基于域控的网络架构则更加复杂,每个域控制器都具有网关行为。在信号路由数量如此庞大的情况下手动验证已几乎不可能。此外,基于AUTOSAR架构的信号路由和信号组路由,通过人工方式更难获取相关的信息。

为了实现信号路由自动化测试,北汇通过定制开发,实现了从ARXML文件中提取信号路由信息并将信号路由和信号组路由加以区分,定义了标准的路由表模板,也可基于OEM给定的通信矩阵或路由模板进行定制适配。下图为支持Update bit的信号路由的自动化测试报告。

pYYBAGLgq8qAGja2AAIWORKbo_o889.png

图8信号路由自动化测试报告

报文路由测试

报文路由测试与信号路由测试一样,都面临路由条目众多的问题,此外针对于事件型报文路由和周期型报文路由,由于路由机制不同,对应的测试策略需要分别制定。

pYYBAGLgq9mAJdv4AADjMrx-4Os450.png

图9路由自动化测试工

TP路由测试

针对报文透传,除了测试路由一致性外,还需要考虑在各种应用场景(EOL、刷写、标定等)下,网关需保证不丢帧不乱序。

针对带有协议转换的TP路由测试,测试难点在于针对各个通信协议其传输层机制不同,测试中需要按照各网段对应的传输层协议发送和接收数据。在支持并行刷写的TP路由测试中,需要考虑多个传输连接同时发送和接收数据。这种路由方式需同步关注缓存数量、缓存大小以及Upper_Link和Lower_Link网段传输层机制和参数。

pYYBAGLgq-SAJ67kAAHCUJIwxT4819.png

图10带有协议转换的TP路由测试

5.总结

随着以太网通信技术的应用、OTA的推广以及电子电器架构的更新换代,网关的“形态”和功能都呈现了新的变化。

北汇信息紧跟网关技术发展态势,专注于汽车电子测试,通过与各OEM的合作,从源头掌握了各类型网关路由的策略和设计需求,积累了丰富的测试实践经验,覆盖了第一代和第二代架构下的网关。后续文章我们将针对新一代“网关”,其新的功能特点、构成形态以及测试方案与大家继续探讨和分享。

参考文献

[1] AUTOSAR_SRS_Gateway

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网关
    +关注

    关注

    9

    文章

    6429

    浏览量

    55568
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    新手必备:LuatOS MCU核心库功能测试实践指南

    新手如何快速掌握MCU芯片级开发?本文通过LuatOS的MCU核心库,全面演示时钟频率获取、唯一ID读取、高精度计时、IO复用配置等核心功能测试流程,并提供实用示例,帮助开发者高效入
    的头像 发表于 11-12 14:26 149次阅读
    新手必备:LuatOS MCU核心库<b class='flag-5'>功能</b><b class='flag-5'>测试</b>与<b class='flag-5'>实践</b>指南

    电源在EMC测试中:远不止供电那么简单

    本文导读电磁兼容(EMC)测试,是确保各类电子产品稳定安全工作的重要测试环节。测试电源在其中不仅要提供“稳定纯净”的基准电源,更要具备复杂的干扰模拟功能。PSA6000电源如何满足这些
    的头像 发表于 09-28 11:38 368次阅读
    电源在EMC<b class='flag-5'>测试</b>中:远不止供电那么简单

    诊断路由功能及测试方案介绍

    ,则要求网关具备强大的S2S(SignaltoService)路由能力。本文将重点探讨网关的诊断路由功能,并分享其性能
    的头像 发表于 09-24 10:04 3108次阅读
    诊断<b class='flag-5'>路由</b><b class='flag-5'>功能及</b><b class='flag-5'>测试</b>方案介绍

    【HZ-RK3568开发板免费体验】外设接口测试

    功能正常。 WiFi功能测试开发板板载AP6256模块的底板,通过指令连接手机分享的热点,使用Ping命令测试WiFi网络是否能连接外网。
    发表于 08-12 23:40

    【创龙TL3562-MiniEVM开发板试用体验】--开发板外设与接口测试

    (3)打开网卡,连接网络 没有网络先关再开ifconfig eth0 downifconfig eth0 up 连接网络测试用如下命令ping www.baidu.com -I eth0 这些基本测试开发
    发表于 07-27 16:27

    【HZ-RK3568开发板免费体验】--测试开发

    本篇讲述使用Shell命令测试开发板。 1.开发板温度cat /sys/class/thermal/thermal_zone0/temp 可以看到CPU温度41℃ 2.按键测试HZ_keytest
    发表于 07-27 12:10

    迅为RK3562开发板 Ubuntu系统功能测试

    迅为RK3562开发板 Ubuntu系统功能测试
    的头像 发表于 07-10 13:46 1014次阅读
    迅为RK3562<b class='flag-5'>开发</b>板 Ubuntu系统<b class='flag-5'>功能</b><b class='flag-5'>测试</b>

    【文章转载】CANoe产品体系19版本新功能(下) - 基础功能与XIL测试

    新版本持续为智能电动网联汽车软件开发测试带来全新功能,IDE开发环境支持.NET8.0、Python、MATLAB2024b,VisualStudioCode集成
    的头像 发表于 06-25 10:03 1327次阅读
    【文章转载】CANoe产品体系19版本新<b class='flag-5'>功能</b>(下) - 基础<b class='flag-5'>功能</b>与XIL<b class='flag-5'>测试</b>

    多协议物联网关的方案测试-基于米尔全志T536开发

    本文将介绍基于米尔电子MYD-LT536开发板(米尔基于全志T536开发板)的多协议物联网关方案的开发测试。 摘自优秀创作者-ALSET 米
    发表于 06-20 15:44

    基于米尔全志T536开发板的多协议物联网关的方案测试

    本文将介绍基于米尔电子MYD-LT536开发板(米尔基于全志T536开发板)的多协议物联网关方案的开发测试。摘自优秀创作者-ALSET米尔基
    的头像 发表于 06-19 08:03 1475次阅读
    基于米尔全志T536<b class='flag-5'>开发</b>板的多协议物联<b class='flag-5'>网关</b>的方案<b class='flag-5'>测试</b>

    迅为RK3562开发板Buildroot系统功能测试

    迅为RK3562开发板Buildroot系统功能测试
    的头像 发表于 06-13 13:46 1722次阅读
    迅为RK3562<b class='flag-5'>开发</b>板Buildroot系统<b class='flag-5'>功能</b><b class='flag-5'>测试</b>

    【米尔-全志T536开发板试用体验】- 多协议物联网关开发测试

    本帖最后由 ALSET 于 2025-6-19 13:25 编辑 【米尔-全志T536开发板试用体验】多协议物联网关开发测试 大信(QQ:8125036)前两次已经成功的搭建了
    发表于 06-10 11:48

    整车测试:外观功能测试

    在开展整车外观功能测试前,需要做好充分准备工作。首先要明确车辆的设计图纸、技术规范和验收标准,这是判断车辆外观功能是否合格的重要依据。同时,确保测试场地清洁、干燥且光线充足,避免外界因
    的头像 发表于 05-27 10:51 1405次阅读
    整车<b class='flag-5'>测试</b>:外观<b class='flag-5'>功能</b><b class='flag-5'>测试</b>篇

    华为路由器量子加密传输方案测试成功

    近日,华为与某亚太领先运营商合作,成功完成了IP网络量子加密传输测试,该方案采用华为新一代路由器平台和基于ETSI接口的量子密钥传输方案。本次测试覆盖了量子密钥接收及使用,量子加密和转发性能及
    的头像 发表于 03-31 09:55 736次阅读

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    Verilog测试平台设计方法是Verilog FPGA开发中的重要环节,它用于验证Verilog设计的正确性和性能。以下是一个详细的Verilog测试平台设计方法及Verilog FPGA
    的头像 发表于 12-17 09:50 1558次阅读