车机黑屏问题分析

2023-10-07 05:59
文章标签 分析 问题 黑屏 车机

本文主要是介绍车机黑屏问题分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着汽车的智能化,电动化进程加快。车上屏幕也越来越多。仪表屏,中控屏,副驾屏,扶手屏,后座屏等等。这些功能的增加,给我们带来极致的用户体验的时候,也引入了一些不稳定因素。比如屏幕突然黑了,或者突然重启是怎么回事?下面主要从软件角度去分析一下吧。

 

 

 

 

一、硬件,线束,电源等方面的原因。

如果非软件原因,其实是相对比较好查的。如果是车辆电源电压低或者不稳当导致汽车黑屏重启,那么其他器件也会受相应的影响。比如一块屏幕黑屏了,但是其他屏幕和功能正常,那么可以排除整车电源问题。剩下硬件和线束可以通过更换屏幕器件或测量线束电压来确定是不是硬件或者线束有问题。总之一句话,只要保证给屏幕机器供电正常,那么就可以排除整车问题。

二、软件问题。

黑屏主要分以下三类。

 

1.仅仅无背光,其他功能正常:针对功能正常,只是无背光的情况,一般怀疑背光控制逻辑,所以主要查背光的控制逻辑即可。这类黑屏问题相对来说容易排查,且严重程度较低。现在很多车可以语音交互,可以尝试语音唤醒来确认机器是否正常;如果方向盘带复位车机功能,也可以尝试用方向盘复位车机。因为这种情况仅仅屏幕没有背光,其他功能是ok的。当然,这种情况是比较少见的。

2.大部分功能失效,只是程序还活着,可以通过重启软件或者休眠唤醒恢复:

由于程序还活着,并不是程序死得透透的,所以这类黑屏问题主要借助log,去分析代码中状态机或者某些语句是否存在死循环,因为很多高优先级中断会把低优先级任务打断,所以在低优先级任务如果出现死循环,程序可能不一定会通过看门狗复位。侧重排查点亮屏幕前的代码和关闭屏幕后的代码。

3.所有功能失效,无法通过重启或者休眠唤醒恢复:当遇到这类情况,则严重程度非常高,客户抱怨非常严重。遇到这类问题一般只能通过把蓄电池的方法恢复。一般这类问题只能推测底层程序卡死,且只能发生在初始化阶段或者休眠阶段。因为正常工作阶段,即使卡死也会触发看门狗复位。这类问题一般没有log,只能代码review方式去排查。

当出现以上黑屏问题时,我们先尽量通过以下三种方式看能否将车机恢复

1.整车休眠唤醒:即锁车关机,人远离车辆,过10分钟左右再回来启动车机看机器能否恢复。

2.复位车机:如果车上方向盘有复位功能,可通过方向盘复位,如果没有估计需要去售后用诊断仪复位。

3.断蓄电池:如果以上两种方式都不行,那么需要通过最暴力手段去尝试复位车机,即断蓄电池电3分钟左右。在尝试这一步操作前,需要把车上状态记录清楚以便供应商分析。如方向盘上灯是否亮?转向灯是否有声音?车辆能否正常行驶和倒退?语音能否交互?问题出现的时间点以及尝试了哪些恢复手段等!当然如果有log还需要把log导出供厂家分析。

如果出现上面第三种方式(这种问题比较严重,也比较少见),我们还是需要基于软件角度去分析。考虑到车辆黑屏没有复位(一般黑屏会触发看门狗复位),所以重点需要在开背光前以及使能看门狗前代码是否出现死循环,或者在关背光和关看门狗后的代码出现死循环。

下面出一张黑屏鱼骨图

 

如果你从事汽车行业或者想了解汽车知识,上面的应该对你有些许帮助。帮忙点赞,关注下哈。如果想了解哪方面知识评论区告诉我,会倾囊相告。

这篇关于车机黑屏问题分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/156486

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

如何解决Spring MVC中响应乱码问题

《如何解决SpringMVC中响应乱码问题》:本文主要介绍如何解决SpringMVC中响应乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC最新响应中乱码解决方式以前的解决办法这是比较通用的一种方法总结Spring MVC最新响应中乱码解

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py