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

    文章

    4449

    浏览量

    51068
收藏 人收藏

    评论

    相关推荐

    开发者必读!CircleCI 组件测试与单元测试全解析

    场景。本文深入解析这两种测试方式的关键差异、优缺点以及适用场景,并结合 CircleCI 的功能,分享实施测试的最佳实践,为开发人员选择合适
    的头像 发表于 12-03 09:18 197次阅读

    【北京迅为】itop-3588开发板快速测试手册-银河麒麟系统功能测试

    【北京迅为】itop-3588开发板快速测试手册-银河麒麟系统功能测试
    的头像 发表于 09-09 14:44 719次阅读
    【北京迅为】itop-3588<b class='flag-5'>开发</b>板快速<b class='flag-5'>测试</b>手册-银河麒麟系统<b class='flag-5'>功能</b><b class='flag-5'>测试</b>

    网关路由器的对比分析

    网关路由器作为计算机网络中的关键设备,各自承担着不同的角色和功能。下面将从定义、功能、应用场景、性能等多个方面对网关
    的头像 发表于 08-27 10:20 1142次阅读

    恒讯科技分析:常用的vps路由测试的工具和方法

    VPS(虚拟私人服务器)路由测试是评估服务器网络性能的重要环节,以下是一些常用的工具和方法: 1、BestTrace:这是一款路由追踪客户端软件,可以测试VPS的去程
    的头像 发表于 08-08 22:54 361次阅读

    智能家居Zigbee网关定制开发测试篇,助力IoT开发

    本文以东胜物联Zigbee智能家居网关为例讲解了一系列测试说明及用例,包括灵敏度测试、持续运行测试以及开关操作测试。相信读完本文,各位工程师
    的头像 发表于 06-25 11:23 1023次阅读
    智能家居Zigbee<b class='flag-5'>网关</b>定制<b class='flag-5'>开发</b><b class='flag-5'>测试</b>篇,助力IoT<b class='flag-5'>开发</b>者

    详解工业网关在线探测功能及用途

    详解工业网关在线探测功能及用途 工业网关作为工业物联网(IIoT)架构中的关键组件,扮演着桥梁的角色,它连接了现场的各类传感器、执行器以及更高级别的云平台或企业系统。在线探测功能是工业
    的头像 发表于 06-20 13:55 332次阅读
    详解工业<b class='flag-5'>网关</b>在线探测<b class='flag-5'>功能及</b>用途

    工业网关功能及应用场景解析

    在工业领域,工业网关是一种关键的网络设备,其主要功能是在网络层面对工业数据进行采集、传输、处理和控制。本文将详细解析工业网关功能及应用场景,以帮助大家更好地了解其在工业自动化和智能制
    的头像 发表于 06-03 17:24 616次阅读
    工业<b class='flag-5'>网关</b>的<b class='flag-5'>功能及</b>应用场景解析

    接口测试属于功能测试吗为什么

    接口测试功能测试是软件测试中的两种不同类型,它们之间有一定的联系,但也存在明显的区别。本文将详细讨论接口测试
    的头像 发表于 05-30 14:57 459次阅读

    功能测试是白盒还是黑盒测试

    功能测试是软件测试的一种方法,主要用于验证软件的功能是否满足需求规格说明书中的要求。功能测试可以
    的头像 发表于 05-30 14:53 841次阅读

    功能测试主要做什么 功能测试包含哪些测试

    功能测试是软件测试的一个重要组成部分,主要目的是验证软件的功能是否满足需求规格说明书(SRS)中定义的功能要求。
    的头像 发表于 05-29 16:05 5428次阅读

    功能测试和接口测试的区别

    功能测试和接口测试是软件测试的两个重要方面,它们在确保软件质量和性能方面发挥着关键作用。本文将详细介绍功能
    的头像 发表于 05-29 16:02 925次阅读

    功能测试和性能测试的区别与联系

    功能测试和性能测试是软件测试的两个重要方面。它们在确保软件质量和性能方面发挥着关键作用。本文将详细探讨功能
    的头像 发表于 05-29 15:40 1010次阅读

    蓝牙网关是什么?具有哪些功能

    远程管理和监控,通过云平台,用户可以通过手机或网页界面进行远程控制和管理,实现智能化管理。 路由功能:蓝牙网关具有强大的路由功能,能够在多个
    发表于 01-19 15:05

    网关路由器的区别 用网关的wifi好还是路由器的好

    网关路由器是网络中常见的两种设备,它们在网络架构中发挥不同的功能。虽然它们都是用于连接网络设备并进行数据传输的,但是它们之间存在一些关键的区别。在这篇文章中,我们将详细介绍网关
    的头像 发表于 01-18 14:07 6818次阅读

    什么是DevOps中的持续测试?持续测试如何融入DevOps?

    持续测试(CT) 是在整个软件开发生命周期(SDLC) 中自动测试软件应用程序和组件的实践。在 DevOps 中,持续测试是在整个DevOp
    的头像 发表于 01-09 09:10 561次阅读
    什么是DevOps中的持续<b class='flag-5'>测试</b>?持续<b class='flag-5'>测试</b>如何融入DevOps?