• 697查看
  • 0回复

[系统功能] 工程问题——雷达报文丢帧

[复制链接]


该用户从未签到

发表于 21-1-2024 11:38:24 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


01

工程背景

标定的同事反馈控制器上接收的雷达数据会出现丢失的情况,从而展开了一系列的查验修改工作。此前郑重声明:本人十分爱国,没有任何黑某品牌雷达的问题存在。有闲聊群名为证:

工程问题——雷达报文丢帧w1.jpg

写一些小玩意记录下工作的思路吧,也慢慢培养一下自己不打游戏的习惯~

02

问题现象

通过公司自研的上位机可以看到,上位机在解析mcu发出的雷达数据时有一部分数据丢失了,显示为0,但是从目标物的总数来看,雷达是发出了目标物的确切总数。

工程问题——雷达报文丢帧w2.jpg

03

问题分析

那作为一名合格的软件工程师,怎么可能是我的软件有问题呢?首先质疑是雷达发错了!

于是找标定工程师录制了一段雷达的报文,结果很遗憾:

工程问题——雷达报文丢帧w3.jpg

咱们使用canoe的图表功能查看,雷达的报文并不存在某些数据发0的情况。那会不会是雷达发丢了报文呢?

结果也很遗憾:把报文从blf转成asc再通过excel筛选出来以后对比发现,雷达的报文并不存在丢帧的情况。

工程问题——雷达报文丢帧w4.jpg

工程问题——雷达报文丢帧w5.jpg

那接下来就只能从mcu自身找问题了,将报文回放给mcu,调试看看数据的情况。但是中间出了点小插曲,由于手残,没有将mcu发送的报文屏蔽再发送,导致回放报文的过程一直有错误帧,误以为台架有问题,所以去实车上验证耽误了不少时间。

既然都决定上车了,就在com的接收端简单写一点测试代码,再用trace32添加条件断点看看情况:

工程问题——雷达报文丢帧w6.jpg

工程问题——雷达报文丢帧w7.jpg

果然是mcu接收就出现了问题,才会导致往上层再组包发送给上位机出现了问题。但是mcu使用的是中断接收啊,中断优先级比task还高怎么会丢呢?于是想到了去看cpu_load

工程问题——雷达报文丢帧w8.jpg

发现了问题的现象,在mcu跑起来一分钟之后,cpuload增长到以上时,就会出现雷达丢帧的情况,且轻松复现。

04

问题解决

这里简单说明下雷达报文的发送方式:比方说0x60A为信息报文,周期为60ms,告诉其他控制器这60ms内检测到了20个目标物,那么接下来将以很短的周期去发送20条0x60B-E去描述这20个目标物的具体信息,数据量确实比较大。那定位到了就是负载高导致的问题,我们怎么去解决呢?感兴趣的小伙伴可以去百度搜下Basic CAN 和 Full CAN的区别。

最终想到了用轮询的方式去处理雷达的报文:配置下bsw Can下的mailbox,CANIF下的Hrh/Pdu,再去MCAL中配置轮询和fifo大小,最终解决了问题。

工程问题——雷达报文丢帧w9.jpg

工程问题——雷达报文丢帧w10.jpg

可以看到mcu接收到的报文帧数已经与CAN上位机发送的帧数一致了。

05

心路历程

作为一名工程师,可能遇到问题的必要素质就是冷静分析了吧。

“遇到问题不要慌,先点根烟~” 烟鬼同事:“陪一根!”

虽然是一篇流水账,写这篇文章也是博君一笑而已。但是还是觉得,尤其是做项目工程,做记录做分析也是很有必要的吧。铁打的项目,流水的工程师,好的开发流程可以给接手的同事一些喘息空间,遇到问题不至于束手无策。


该用户从未签到

发表于 15-3-2025 10:32:01 | 显示全部楼层
针对雷达报文丢帧问题,作为汽车工程师,分析如下:

工程背景中提及同事反馈雷达数据丢失,但雷达目标物总数正常,表明雷达本身可能无问题。

问题现象显示上位机在解析数据时部分数据丢失。初步判断可能是数据传输过程中的问题或是软件解析存在缺陷。

作为软件工程师,首先需要确认雷达发送的数据格式和标准是否与软件接收的预期一致。如格式无误,应考虑软件解析部分是否存在漏洞,导致数据丢失。此外,数据传输过程中的丢包或延迟也可能导致此问题。建议通过抓包工具进一步分析雷达报文,并对比历史正常数据,以确定具体原因。接下来可考虑优化软件解析逻辑或调整数据传输方式以解决问题。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 15-3-2025 10:32:01 | 显示全部楼层
针对雷达报文丢帧问题,本人进行以下专业回复:

工程背景方面,我了解同事反馈的雷达数据丢失情况,对此已经展开查验修改工作,并确认该问题不涉及任何品牌雷达的偏见问题。关于问题现象,通过公司自研的上位机观察到雷达数据丢失,但目标物总数显示正常,这表明雷达在发送数据方面可能存在异常。在问题分析阶段,作为一名汽车工程师,首先需要确认雷达设备是否正常工作,发送数据是否准确。接下来,我会检查MCU与雷达之间的通信协议和连接线路,确认是否存在通信干扰或连接不良导致的数据丢失。此外,我也会检查软件处理逻辑是否存在问题,以确保上位机能够正确解析并处理雷达数据。针对此问题,我会逐步排查并寻找解决方案。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 15-3-2025 10:32:01 | 显示全部楼层
针对雷达报文丢帧问题,经过分析,初步判断可能存在以下原因:

一、雷达数据发送端可能存在异常,导致数据发送不完整或存在错误。

二、数据接收端处理逻辑存在问题,无法正确接收所有数据帧。

针对此问题,建议采取以下措施进行排查和修复:

一、检查雷达设备发送数据的稳定性和准确性,确保数据发送无误。

二、检查接收端软件逻辑处理是否正确,是否存在丢帧处理不当的情况。

三、进行通信协议校验,确保数据传输过程中无误码和丢失。针对上位机显示雷达数据丢失的情况,需重点检查数据解析部分是否存在问题。后续将进行更深入的分析和修复工作,确保系统正常运行。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 15-3-2025 10:32:02 | 显示全部楼层
针对雷达报文丢帧问题,作为一名汽车工程师,我进行了以下分析和回应:

工程背景方面,了解到雷达数据丢失情况,已排除与某品牌雷达相关的问题。

问题现象方面,通过公司自研的上位机观察到雷达数据丢失,具体表现为部分数据显示为0,但目标物总数正常。

问题分析方面,首先不轻易断定是软件问题。雷达发送数据出错的可能性也存在。接下来建议进行以下排查:

1. 验证雷达硬件是否正常工作,包括其连接线和接口;
2. 检查雷达报文格式及通信协议是否正确;
3. 对比同一时刻不同数据源的数据,以确认是否确实是雷达数据丢失;
4. 若以上均正常,则考虑软件解析部分是否存在问题。

后续将详细记录工作思路,逐步分析并解决问题。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 21:45 , Processed in 0.329760 second(s), 38 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.