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

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

3天内不再提示

车载ECU嵌入式软件的测试入门

上海控安 来源:上海控安 作者:上海控安 2023-01-30 17:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

来源 |鉴源实验室

01车辆研发基本知识

1.1整车电源状态

整车所有电子零配件均工作在一定电源状态下,没有供电的话零部件将无法工作。关于零部件在何种状态下应对进入何种工作状态,在对应车型的技术文档网络部分中均有详细要求和描述,每个厂家的文档名称可能不一致,但是该技术文档肯定存在。

整车的电源状态正常情况下有以下几种:深度休眠、休眠、锁车未休眠、ACC 、ON、点火、RUN。

深度休眠、休眠、锁车未休眠,这三个状态容易理解,我们主要讲解其余几个状态。在机械钥匙启动的车辆中,通常我们都会看到钥匙插口对应如下图所示的状态。

pYYBAGPXky-AI8wIAAFIDxK--oI862.png

图1 钥匙插口状态

(1)LOCK状态:术语是锁止档,此时是机械钥匙仅插入或将拔出时的状态。整车电子设备中故障报警灯、大灯、发动机防盗系统等非常少量的设备处于工作,其他设备均热关机准备进入休眠状态。

(2)ACC状态:附属设备通电档,此档位在LOCK基础之上会增加少部分设备进入唤醒工作状态,整车内部油路系统部分油泵开始启动工作,润滑机械部件为发动起启动进行准备,所以当钥匙拧到此档位时我们可以听到一些机械设备运转的轻微声音。另外有收音机、空调风扇等均可以正常工作。

(3)ON状态:整车通电档,顾名思义此状态下全车电路接通,同时整车进行自检,可以在仪表台上看到自检设备灯亮起,自检完成大部分灯会熄灭。尾气排放等自检灯会在发动机启动后自动熄灭。

(4)START状态:发动机启动档,此状态跟其余状态均不一样,其余状态均是车辆可以长时间保存的状态,SRART状态是发动机启动点火的一小段时间状态,当车辆机械钥匙拧到此状态后立即触发车辆点火启动,松开钥匙后,机械钥匙会自动弹回ON状态档位。如果通过设备连接车辆网络,追踪整车电源状态信号(SYSPowerMode各个车辆命名可能不一样)点火前的状态信号值为ON;点火后钥匙同样是在ON档,但电源状态信号的值会变为RUN;而点火的那一瞬间,钥匙指向START时电源状态信号的值会是CRANK(各个车型命名可能不一致)。

需要注意的是,当前主流研发车型钥匙虽然都配备了机械备用钥匙,但是车辆点火一般都是无钥匙启动。在这些类型的整车电源状态中,相比传统机械钥匙车型,电源状态少了1个,只有3个状态,无钥匙启动车型将上文的ACC和ON两个状态进行了合并。

在测试中工程师们为了方便,经常会使用一些流传的术语,常有几个电源状态相关术语如下:

·车辆下电:指的是车辆熄火,未落锁未休眠;

·车辆上低压电:一般指的是车辆进入电源ON状态;

·车辆上高压电:一般指新能源车进入电源RUN状态,燃油车发动起启动;

·车辆上KL15电:之所以有KL15此类的专业术语,是因为整个汽车行业受德国汽车工业的影响比较深远,KL是德语Klemme(ECU针脚)的缩写。KL15电指的就是车辆发动机启动后整车发动机供电,即常说的上高压电;

·车辆上KL30电:对应KL15,KL30电指的是发动机熄火,由车辆蓄电池供电。

1.2 车辆研发里程碑节点

之所以在测试入门就介绍项目的相关知识,是因为在汽车行业项目研发过程中,项目组一旦确定并发布了里程碑节点,这些时间节点通常情况下就不会变更。如要发生变更车型项目总监则需向企业领导层进行说明并获得批准,这种变更的影响一般都比较大。我们所有的活动安排都需要适配项目的里程碑节点,包括所有的研发和测试活动。

德国汽车制造业对国内的影响是巨大的,上汽集团以及部分新兴造车企业受德国大众的影响,研发体系的项目管理基本都沿用大众的体系,当然广汽受丰田影响,更多使用了丰田的体系,还有其他类似的体系。本文中我们介绍的是大众集团车型研发项目管理里程碑的划分。

整个车型研发过程中共有15个项目节点,A4-A1(架构开发阶段节点),G9-G0(整车开发阶段节点),还有项目关闭节点。G9阶段基本都是企业高层战略设计规划相关的工作,另外项目生命周期结束关闭节点,这两个节点跟一般工程师都不相关,下图中省略。

poYBAGPXk0OAfV2yAAK0-GIFN2k711.png

图2车型研发项目节点

一个全新产品车型的开发过程总体可以分为架构开发阶段和整车产品开发阶段两个。且架构开发是整车开发的前导阶段,理论上架构工作完成后才进入整车开发阶段,实际项目中在架构进入实质性的开发阶段后,主项目就开始并行启动。

工程师通常从G8(Program Commencement)阶段介入项目,不过此时介入的一般是项目总工,以及部分的VSE(Vehicle Systems Engineer)和DRE(Design Release Engineer),一般零配件的DRE只是接到通知参与前期的工作会议,做前期的准备工作。

poYBAGPXk1mAeEA6AAI6atWxaBg731.png

图3车型开发总过程

一般工程师在G6(Program Approval项目批准)开阀成功后,开始满负荷投入。

测试工程师的测试时间阶段通常如下表所示。

poYBAGPXk2yAdYtgAAGv6cCceXo381.png

表1 测试时间阶段

*注:

VDR:Verified Data Release 造型数模发布

OTS:Off Tool Sample 全工装零件造车

G5:Engineering Release 工程发布

G2:Pilot 试生产

02CAN网络数据帧

为什么在测试入门的第一课讲述CAN相关的知识,在上一篇中我们就CAN网络的重要性进行了表述。CAN网络将整车所有电子零部件进行了连接,从零部件到子系统,至整车电子,我们测试中每时每刻都在使用CAN网络,CAN网络相关知识是汽车测试基础中的基础。

在CAN网络的使用上,目前乘用车系统主要使用高速CAN,低速CAN主要用在卡车、货车等工程车辆中。高速CAN由ISO 11898进行规范,低速CAN由ISO 11519进行规范。

车辆零部件通常会以三种场景使用CAN网络进行通讯。1.零部件基本都会周期性的主动通过CAN网络向网关、其他ECU(设计需要的ECU)周期发送特定报文的;2.零部件探测到某种条件,受到触发主动通过CAN网络向其他ECU发送触发信息(如故障报警等);3.零部件接收到其他ECU或tester发送的报文,根据设计对报文进行响应(网络诊断)。

本章节我们给大家讲解我们工具观察到的CAN网络数据帧如何进行初步分析和识别。如下图所示,使用了Tester工具向某ECU发出服务请求报文,ECU进行了响应回答。工具通常显示的实时报文如下所示。

poYBAGPXk4qAepu8AAWkvRMS2zc510.png

图 4

(1)Time:通常时间可以在相对时间和实际时间之间进行切换,相对时间将第一帧报文时间设置为起始时间,后继报文跟此报文时间差进行累计显示,如上图中所示。实际时间软件系统会跟当前的日期时间进行同步后,将每个报文标记当前时间。无论哪种方式,我们都可以通过相邻两个报文的时间差计算得到报文的间隔时间。

(2)Bus:总线编号,我们在上一篇中讲述了车辆CAN总线有多路CAN,如动力CAN、车身CAN等等,每路CAN上ECU均需要通过网关进行报文的交互,而本网络上的广播报文是不能在其他网络上接收到的,因此工具一般会有支持多路CAN功能,在实车测试时,通过不同CAN转接出的OBD口,分别连接需要使用的CAN网络,这样就需要通过编号来标记不同的CAN网络,就是此处Bus的意义。

(3)Type:Tx意思是由此Tester发送的报文,Rx的意思是接收到的报文。

(4)ID:是此Tester发送报文的目标ECU的网络ID,跟Rx报文的接收ID成对。一个ECU通常有3个地址,分别对应物理寻址的接收和发送地址,如本条最开始的叙述,图中的0X717为此ECU的报文接收地址,0X71F为此ECU的报文发送地址。此外ECU还有一个功能寻址地址通常为0X7DF。

(5)DLC:报文数据部分的长度,CAN网络报文数据长度固定为8字节,如果长度不够则补全为8字节,报文超过8字节时超长帧分为多帧发送。

(6)Data:数据部分。网络上的周期性报文在工具软件加载了项目网络DBC(网络信号矩阵数据库)之后,工具会自动解析显示为我们可以直接阅读的格式。展开报文后如下图所示。如报文不能展开就表明工具软件尚未加载对应DBC。

pYYBAGPXk5qAM1NAAAFsroi8Nig836.png

图 5

此外我们在抓取CAN网络需要的报文时,网络上的报文数量非常多,很多是我们不需要的报文,此时就需要通过工具的过滤器进行报文过滤。过滤器基本都支持通过报文ID进行过滤,此种过滤方式也是我们最常用的方式,各个工具的设置方式大同小异,基本都是在过滤器中输入希望抓取的设备ID,或者不希望抓取的设备ID,设置完成后应用即刻生效。

审核编辑黄宇

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

    关注

    9

    文章

    6399

    浏览量

    131669
  • ecu
    ecu
    +关注

    关注

    14

    文章

    991

    浏览量

    57487
  • 汽车
    +关注

    关注

    15

    文章

    4227

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是嵌入式应用开发?

    设计、实现和部署,还包括硬件选择、软件设计、测试、集成和维护等流程‌。 定义和背景 嵌入式应用开发是指将软件部署到嵌入式系统中,这些系统
    发表于 01-12 16:13

    嵌入式软件测试找bug的常见方法和秘诀

    嵌入式软件开发过程中,一般来说,花在测试比花在编码的时间要多很多,通常为3:1(甚至更多)。这个比例随着你的编程和测试水平的提高而不断下降,但不论怎样,
    发表于 01-12 07:07

    C语言单元测试嵌入式软件开发中的作用及专业工具的应用

    方面: ‌早期缺陷发现****‌:单元测试可以在开发早期发现代码中的逻辑错误和边界条件问题,降低后期修复成本 ‌硬件交互验证****‌:嵌入式软件通常需要直接与硬件交互,单元测试可以验
    发表于 12-18 11:46

    新思科技Silver虚拟ECU平台重塑汽车软件创新范式

    在汽车行业的软件定义汽车(SDV)架构中,涵盖电子控制单元(ECU)、区域控制单元(ZCU)和中央计算单元(CCU),软件复杂度与日俱增,导致开发周期冗长拖沓,延缓了嵌入式设备的部署。
    的头像 发表于 12-17 10:21 1761次阅读
    新思科技Silver虚拟<b class='flag-5'>ECU</b>平台重塑汽车<b class='flag-5'>软件</b>创新范式

    嵌入软件单元测试的全面研究与实践

    引言 嵌入软件单元测试是确保嵌入式系统质量和可靠性的关键环节。嵌入式系统广泛应用于汽车电子、工业控制、医疗设备等关键领域,其
    的头像 发表于 12-01 14:31 854次阅读

    CW32嵌入式软件开发的必备知识

    设计的原则和方法,能够设计出高效、可维护的软件系统。 了解嵌入式系统的实时性要求,能够设计出满足实时性要求的软件系统。 8、 测试与验证 掌握单元
    发表于 11-28 07:48

    C语言在嵌入式开发中的应用

    C 语言在汽车电子控制系统开发中的主导地位。 2、设备驱动程序 设备驱动程序是嵌入式系统中连接硬件和软件的桥梁,它负责实现嵌入式系统与外部设备之间的通信和控制。C 语言由于其对底层硬件的直接
    发表于 11-21 08:09

    嵌入式与FPGA的区别

    ,一是嵌入式软件开发,主要与嵌入式cao作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件设计、模拟仿真、 PCB设计等技能。 ✅2
    发表于 11-20 07:12

    嵌入式和FPGA的区别

    嵌入式系统与FPGA的核心差异:软件定义功能VS硬件可重构。嵌入式适合通用计算,开发门槛低;FPGA凭借并行处理实现纳秒级响应,但成本高、开发难。二者融合的SoC器件正成为未来趋势,平衡性能与灵活性
    发表于 11-19 06:55

    嵌入式软件测试与专业测试工具的必要性深度解析

    嵌入式系统作为控制、监视或辅助装置运行的专用计算机系统,其软件测试面临着独特的挑战和严格的要求。专业测试工具在嵌入式
    发表于 09-28 17:42

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread 正式启动2025年度嵌入式软件大赛! 本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-22 16:40 3720次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread正式启动2025年度嵌入式软件大赛!本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-20 10:06 1946次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式软件
    的头像 发表于 08-20 09:15 4204次阅读

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1428次阅读

    嵌入式开发入门指南:从零开始学习嵌入式

    随着物联网、智能硬件的发展,嵌入式开发成为热门技能之一。以下将为初学者提供一份详细的嵌入式开发入门指南,涵盖学习路径、必备工具、推荐资源等内容。 1. 嵌入式系统的定义与应用
    发表于 05-15 09:29