车载TBOX嵌入式设备软件的功能测试

news2025/1/11 17:05:43

作者 | 李伟 上海控安安全测评中心安全测评部总监

来源 | 鉴源实验室

01 Tbox简介

Tbox(Telematics Box)是汽车座舱系统中的一个ECU,物理外观上是一个方正的盒子,通常会有线束接口、HSD接口、通讯和导航天线接口等。软件上Tbox一般会基于Linux操作系统如Ubuntu、CentOS等,配合上层软件进行深度定制。而车机系统目前一般选择Android进行深度定制。

Tbox的作用是作为车辆的网络出口,将独立的车辆网络环境跟互联网进行连接,促进了现在车联网的形成。综合起来看,Tbox是带通讯功能的盒子,内含SIM卡,一般是物联网SIM卡,与这个盒子配套硬件还有GPS天线,4G天线等。

当前已经有主机厂和大的零部件供应商在研究一体式的车机系统,将传统的车机和Tbox合二为一,从而取消独立的Tbox物理设备。

02 Tbox的通讯

Tbox通常挂载在诊断Can上,且诊断CAN一般只有Tbox一个电子控制零部件。

Tbox通常内部有MCU和MPU两个控制单元,相互之间的通讯一般基于UART协议。

Tbox的外部系统通讯一般有以下几个部分:

(1)基于4G或5G通讯模组的上网通讯以及卫星导航定位,这部分都是集成移动通信供应商标准模组,主机厂或Tbox零部件供应商自定义程度较低。

(2)Tbox与主机厂TSP(运营商服务平台)云端平台间通讯,通常使用主机厂自定义的通讯协议。

(3)新能源车基于国标GB/T 32960规范要求的直连和转发通讯。

(4)Tbox跟车内其他零部件间的CAN或车载以太网通讯。

(5)Tbox跟车机娱乐系统间的HSD(高速数据)连接,基于IP网络socket通讯。

(6)Tbox跟其他设备间的专用通讯,需要看项目具体设计,如跟SRS(安全气囊)硬线连接通讯等。

03 Tbox的功能划分

从上个章节我们可以看出Tbox本身有多个跟其他系统的交互模块,这些模块基本都会对应不同的上层应用,此外还有Tbox维持本身正常工作的功能设计模块等等,总体情况下Tbox可以有以下大体划分:UDS诊断功能、电源管理功能、注册激活功能、车况上报功能、报警上报功能、安防报警功能、大数据上报、远程控制、娱乐主机功能、Bcall功能、电子围栏、蓝牙功能、无线通信功能、导航定位功能、新能源国标上报、泊车测试、FOTA功能等等。

对于这么多功能模块的测试设计,我们可以依据的文档还是比较多的,直接关注和应用的文档大体上有:TBox产品功能技术规范(不同主机厂的命名可能不一样)、Tbox项目的诊断规范、Tbox与TSP后台通讯技术规范、Tbox功能信号表(不同主机厂的命名可能不一样)、Tbox与娱乐主机USB通讯技术规范、整车FOTA功能技术规范、自动泊车功能技术规范等等。

主机厂各个技术规范的编制过程关系大体如下图所示:

04 Tbox测试

汽车零部件包括Tbox在内,从设计研发到整车商用发售这个过程中,大体会经历以下几个测试阶段:零部件单元测试、子系统集成测试、整车系统测试、功能专项测试,其中功能专项测试一般与前面的常规测试并行,基于子系统的成熟度,最早在集成测试阶段开始,最晚在整车系统测试阶段开始执行。

4.1 零部件单元测试

Tbox的单元测试一般从A样正式交付后开始进行,到释放C样给OTS造车开阀结束,主要对设备的基本功能进行模块测试。单元测试阶段各个零部件均处于研发阶段,子系统零部件之间的接口和功能测试受到条件限制,测试重点通常着眼于对零部件自身功能实现的保证。

在单元测试阶段Tbox功能和接口测试会占用单元测试的很大部分时间,特别是电源管理和网络诊断两部分。直接关系产线电检测试的成功与否,影响EP造车和OTS造车质检反馈。

单元测试阶段通常是在测试台架上进行,单元测试阶段Tbox的测试内容大体有:

· 白盒测试 在研发质量体系对代码的编码规范有约束要求的情形下,通常在从项目开始就要进行代码的静态规则检测,在项目功能安全设计作等级要求时,通常还会对代码进行结构覆盖度测试,即动态代码测试。常用的工具通常有:Helix QAC、SmartRocket TestGrid、LDRA TestBed等。

· 功能测试 在本阶段发布的版本质量要求上,零部件所有重要功能都必须实现,允许存在故障,但不能是致命级别导致设备无法使用的故障。Tbox在单元测试阶段的功能测试通常可以和接口测试一起执行,这样可以有效减少重复的测试工作,像是诊断、车况和报价信号等的正确性测试之类。对于功能比较独立的测试类似注册激活、电源管理、通讯模块AT测试之类在测试过程中都存着循环迭代的过程,建议在做测试计划时通过功能测试+回归测试的方式提高效率,在所有故障和功能在回归测试中都验证良好的情况下,再执行全功能覆盖遍历的功能测试。

· 接口测试 零部件的模块间接口和零部件对外的设备接口测试在单元测试阶段完成,通常这个接口测试比较简单,Tbox在进行内外部接口测试时通常会通过tester模拟发送各种信号,测试人员验证Tbox收到各种信号的反馈是否正确,这里的接口指的是本文前面提到的所有通讯接口。

4.2 子系统集成测试

Tbox的子系统集成测试一般从OTS造车交付开始进行,到释放版本给PPV造车开阀结束。此阶段零部件硬件开发基本冻结,集成测试阶段的目标是确保子系统中各零部件工作正常,各功能在所有零部件间的实现可靠、正常。尽可能发现和解决问题,为PPV(G4)开阀造车做好充分准备。

在子系统集成测试阶段已有实车可以提供测试,相对于子系统的用车需求部门数,实车数量是较少的,所以这个阶段子系统硬件在环的台架测试工作量通常还是大于实车工作量的,一般情况下都是硬件台架验证完成确认问题修复后,才会到实车进行大规模验证。

这个阶段的零部件测试已经不再聚焦零部件内部了,而是把重点放在子系统内部的各个零部件间接口和功能的验证,所以在子系统内其他配合零部件状态良好的情况下,功能专项测试就此开始,如远程控车、自动泊车、整车FOTA、新能源车的国标考试内部验证等等。

在集成测试的过程中,无论是专项测试,还是实车或台架测试,所依据的技术基础都是子系统内不同零部件间的各个通讯协议,实际项目中特别需要注意的是Tbox和其他零部件在细分上不是一个研发项目组控制,这种情况在不同零部件间普遍存在,就会容易导致一个问题,零部件之间的通讯协议是不停迭代的,而零部件的软件研发版本也是基于协议在迭代,这样就会出现不同零部件释放的用于子系统集成测试的软件版本,依据的通讯协议版本不一致。所以子系统集成测试,或者专项功能测试时版本的基线特别要注意,这也是我要强调的在实际项目中Tbox联调时遇到的项目管理问题要比产品本身的技术问题多,因为整车系统中所有零部件的上网功能都是通过Tbox来完成的,对接的配合件比较多。

相对于实车环境的复杂和存在的大量干扰因素,台架测试环境相对比较干净,Tbox的台架测试拓扑图如下:

4.3 整车系统测试

Tbox的整车系统测试一般从PPV造车交付开始进行,到出版本给PP造车开阀结束。正常情况下在这个阶段Tbox以及其他零部件状态都比较好(项目管理把控弱,质量失控的除外),所有零部件的重大问题都已完成修复,在此阶段的工作就是通过大量的实车测试,发现异常场景下的问题,以及一些功能优化调整。

需要特别注意的是在这个阶段最好做到所有已知问题修复清零,一些主机厂质量管理和考核体系中,PP阀点后车辆路试组发现的问题会归属于工程问题,不再是简单研发故障,对于考核绩效会有影响(质量绩效管理不是这样的当我没说)。

整车系统测试的重点在于大量的实车测试,对于Tbox来说重点在于实车特殊测试场景的设计,如隧道、高架、山地、地下、高楼间等等,注意导航信号的准确性,2G、3G、4G、5G不同网络间的信号切换等等。

需要特别注意的是在这个阶段最好做到所有已知问题修复清零,一些主机厂质量管理和考核体系中,PP阀点后车辆路试组发现的问题会归属于工程问题,不再是简单研发故障,对于考核绩效会有影响(质量绩效管理不是这样的当我没说)。

整车系统测试的重点在于大量的实车测试,对于Tbox来说重点在于实车特殊测试场景的设计,如隧道、高架、山地、地下、高楼间等等,注意导航信号的准确性,2G、3G、4G、5G不同网络间的信号切换等等。

05 总结

对于Tbox的测试我们从整体上按照常规做法在各阶段完成对应的测试工作,就可以保证产品在各阶段的应有质量。

目前整车新功能新技术的发展很快,新能源车很多概念炒作的比较火热,但是实际在量产车型上,各主机厂的设计一般相对没有采取激进的方式,新的零部件和功能的设计都是建立在可靠性的基础之上。Tbox也同样如此,对于主机厂而言,Tbox的技术已经相当成熟,新车型的Tbox一般都是进行项目的适配性开发,我们测试所要关注的重点通常都在项目子系统其他功能配合零部件的联调进度上,Tbox本身测试设计和执行难度不大,所以测试工作不能仅仅关注测试本身,测试项目管理相关的事情同样非常重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/94747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

音视频面试涨知识(二)

1.YUV知识点 1.1 为什么要有YUV YUV的亮度信号Y和色度信号U/V是分离的,如果只有Y信号分量而没有U/V分量,这样的图像就是黑白灰度图像,从黑白到彩色的兼容方案。 相对RGB,YUV的最大优点是只占用较小的频宽,RGB需要至少…

EasyPytest测试平台开发日志之系统设计

EasyPytest测试平台,帮你高效管理Pytest测试用例。 EP平台的定位是Pytest测试用例管理平台,80%的自动化用例开发在PyCharm等专业的IDE中进行,20%的用例调度和结果查看就交给EP平台来管理。 EP平台是对teprunner测试平台的一次全新升级&#x…

【设计模式】 工厂模式 (三)

文章目录4.2 工厂模式4.2.1 概述4.2.2 简单工厂模式4.2.2.1 结构4.2.2.2 实现4.2.2.4 优缺点4.2.2.3 扩展4.2.3 工厂方法模式4.2.3.1 概念4.2.3.2 结构4.2.3.3 实现4.2.3.4 优缺点4.2.4 抽象工厂模式4.2.4.1 概念4.2.4.2 结构4.2.4.2 实现4.2.4.3 优缺点4.2.4.4 使用场景4.2.5 …

【电脑使用】硬盘无法引导进入系统,无法退出BIOS

前言 因为想要给自己的笔记本添置装备,于是想着把老电脑上的固态拆下来,但是考虑到老电脑虽然不常用,但还是偶尔会用,不能是瘫痪状态,于是想把我之前淘到的一个机械硬盘换上去,结果发现无法引导进入系统&am…

【JavaEE】HTTP(Part1 含面试题)

努力经营当下,直至未来明朗! 文章目录前言一、HTTP协议抓包工具协议总格式(重要!!)二、HTTP协议中的细节【HTTP请求】【HTTP中的“方法”】【GET】:最常用的HTTP请求【POST】【认识请求“报头”…

SecureBridge Alexandria Release 2和iOS 15的支持

SecureBridge Alexandria Release 2和iOS 15的支持 添加了对Embarcadero RAD Studio 11 Alexandria Release 2的支持。 增加了对Apple iOS模拟器ARM 64位目标平台的支持。 增加了对Lazarus 2.2.2的支持。 添加了对Apple iOS 15的支持。 增加了对Android 12的支持。 SSH、SFTP、…

ubuntu 安装 colmap

目录 一、安装colmap 二、报错解决 三、安装成功 四、colmap使用教程 一、安装colmap 参考安装:​​​​​​​chttps://blog.csdn.net/weixin_46132232/article/details/124211233 官方:COLMAP 官方information 二、报错解决 2.1 在安装colmap的…

HashMap源码解析

HashMap源码解析 基础入门 什么是哈希 核心理论:Hash 也称散列、哈希,对应的英文都是 Hash。基本原理就是把任意长度的输入,通过Hash算法变为固定长度输出。 这个映射的规则就是对应的 Hash 算法,而原始数据映射后的二进制串就…

飞桨VisualDL本地运行问题

最近参加了百度飞桨的基于深度学习的自然语言处理 免费AI课程,有一道作业题是要利用飞桨提供的可视化工具VisualDL查看词向量降维效果。由于安全方面的原因,AI Studio中的可视化服务无法使用了。当按照作业步骤,生成日志文件后: 添…

Vue3+Element-ul学生管理系统(项目实战)

Vue3Element-ul学生管理系统(项目实战) 要发奋做一个可爱的人。不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自我的梦,走自我的路! 看本项目的前提自己学过Vue2Vue3Elementui组件库 …

Python学习笔记-操作数据库

记述python中关于数据库的基本操作。 一、数据库编程接口 1.连接对象 数据库连接对象(Connection Object)提供获取数据库游标对象、回滚事物的方法,以及连接、关闭数据库连接。 1.1 获取连接对象 使用connect()方法获得连接对象&#xf…

STM32F4 | 定时器中断实验

文章目录一、STM32F429 通用定时器简介二、硬件设计三、软件设计四、实验现象五、STM32CubeMX 配置定时器更新中断功能这一章介绍如何使用 STM32F429 的通用定时器, STM32F429 的定时器功能十分强大,有 TIME1 和 TIME8 等高级定时器,也有 …

从外包到拿下阿里 offer,这 2 年 5 个月 13 天到底发生了什么?

开篇介绍 个人背景: 不说太多废话,但起码要让你先对我有一个基本的了解。本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了&#xff0…

机器学习100天(一):001 开发环境搭建

机器学习实战需要编写代码,选择一个好的 IDE 能大大提高我们的开发效率。基于 Python 的广泛使用,我们给大家介绍当前最流行的机器学习开发工具包:Anaconda。 一、为什么选择 Anaconda 我们知道 Python 是人工智能的首选语言。为了更好、更方便地使用 Python 来编写机器学…

Linux||后续1:Ubuntu20.04安装MySQL8.0纯命令图文教程(安装+排错+可视化工具+常用命令)

我是碎碎念:) 之前写过一篇用Ubuntu20.04安装MySQL的教程,指路如下 Linux||Ubuntu20.04安装MySQL详细图文教程_Inochigohan的博客-CSDN博客 但方法不是用Linux命令安装的,感觉用着不太顺手😜 索性就重装一遍,纯当是温故而知新好啦…

为什么我们越来越反感「消息通知」?

在日常生活中,我们可以接触到很多「消息通知」: ● 响起门铃声意味着门外有人来访; ● 开车时,仪表盘上显示的发动机温度、行车速度等信息,辅助我们随时了解汽车情况; ● 每当手机电量低于20%时&#xf…

C++ 银行家算法与时间片轮转调度算法结合

一.实验目的 (1) 掌握 RR(时间片调度) 算法,了解 RR 进程调度 (2) 了解死锁概念,理解安全状态,并且理解银行家算法 (3) 利用 RR 进程调度与银行家算法结合,写出一个简单的项目 二.实验原理 2.1 时间片调度算法 在分时系统中都…

SpringBoot整合WebSocket实现简易聊天室

文章目录什么是WebSocket ?WebSocket通信模型为什么需要WebSocketWebsocket与http的关系SpringBoot集成WebSocket什么是WebSocket ? WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动…

Opencv(C++)笔记--腐蚀与膨胀操作、创建滑动条

目录 1--膨胀操作 2--腐蚀操作 3--腐蚀和膨胀的作用 4--创建滑动条 5--实例代码 1--膨胀操作 ① 原理: 将图像(原图像的一部分 A )与核矩阵(结构元素 B )进行运算,将结构元素 B 覆盖图像 A&#xff0…

[附源码]Nodejs计算机毕业设计基于的数字图书馆系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…