干产品就是查别人的缺、补自己的漏

  作者:天雷君 时间:2019-09-20来源:电子产品世界

据说,一个人从事某种工作久了,就会患上相应的职业病。

比如说,在这个姑娘们袒胸露背花枝招展的季节里,如果有一个中年油腻男带着一种思考人生哲学的深邃目光上下打量她们,请你先不要“以小人之心度君子之腹”,对他嗤之以鼻。因为,也许他是一名医术精湛的中医,正在怀着医者仁心,对这些姑娘们望闻但不问切,看看她们是气血不足,还是脾虚肾亏。

洒家秉持“非礼勿视”的君子之道,对街头的美女们自然视若无睹,却总是喜欢打量路边停着的汽车,尤其是发现有车灯未曾关掉时,总会忍不住去看看这辆车是否已经落锁。同样的,洒家没有什么不轨之心,也绝不是将自己的快乐建立在别人的痛苦之上,喜欢看到车耗没了电而打不着火的情形。

虽然打不着火开不了车想来也颇为快意,但是绝非洒家本怀!

因为,这是洒家的职业病。干汽车电子多年,总想看看各大外资、中资、中外合资的汽车上的车身控制单元会不会出现落锁后关不掉车灯的情况。

1

这一天,洒家的心情格外开心。因为洒家在上班路上发现了一起汽车小灯未正常关闭的生动案例。

当大肚便便的车主从车上踱下来时,洒家只是下意识地摸了摸自己那一块腹肌的肚皮。目力所及之处,是比大肚子更美好温馨的画面。一个年轻的妈妈正牵着自己的儿子去上幼儿园,在被拖拽地磕磕绊绊的小不点身旁,一位长发披肩、面容姣好的长腿美女正兀自婀娜地走着。

一抹淡淡的云彩若即若离地悬挂在碧海似的天空中,微风轻轻地推动着长发美女缓缓前行。小胳膊小腿的小不点半走半跑着,追赶着妈妈轻盈的脚步。

一股甜滋滋的惆怅在我心里酝酿着,翻腾着。‘人生是多么美好啊!’

1568958775687155.jpg

在高跟鞋悦耳且规律的哒哒声中,一声不和谐的喇叭声响了起来,洒家稍稍收回炯炯的目光,在心中mark了一下,“汽车落锁了,喇叭响一声,转向闪三次”,接着洒家又着意看了一下小灯,发现还在亮着。“许是小灯开关没关,不过落锁五秒后小灯会自动关掉的。”且不管它,继续前行,欣赏人生的美景。

那边厢,大肚子肥腻男一边缓缓地踱着分不开腿的步子,一边转动着不大灵活的脖子,带着睥睨的目光从我身上一扫而过,然后变换了神情,在年轻妈妈和长发美女身上轮回般地扫视着。起初,洒家有些愤愤然,‘美女与野兽。。。’,但是很快,我又变得释然了。

因为我发现,他那辆车的小灯一直在亮着!

两个前小灯就像是汽车的眼睛,诡异地注视着周围的一切。

对美女与野兽的迷思瞬间烟消云散,职业精神爆棚的洒家的技术神经被迅速唤醒了。

照理说,即使小灯开关没关,落锁5秒后也该自动关掉了,这是所有车身控制器都应该实现的功能。要不然,一直耗电的可不是只有这四个小灯(前后各两个),这台车上可能所有电子零部件(ECU)都进不了低功耗状态。

1568958853617715.jpg

按照每个小灯的功率是5瓦来算,消耗电流在1.5A以上,车上所有电子零部件在唤醒状态的耗电电流至少2A,按照汽车蓄电池电量为60Ah来算,这台车基本上15个小时就耗没电了。

洒家在脑海里飞快地进行这些计算时,大肚男正依依不舍地拗过头去,带着逐渐远去的背影消失在一座写字楼的门口里。

2

人生啊,就是一个谜。冥冥中似乎有一种无形的力量,将你的昨天、今天和明天奇妙般地串在一起。

目睹大肚男汽车小灯没关上的事情还不到一周,这个命运就诡异般地落到了我的头上。

那天,洒家专心致志地搭着模型,做着仿真,正在物我两忘之际,一个好长时间没有联系的合作伙伴把电话打了过来。

“不得了了,天雷君,咱的车身控制器把一台试验车给耗没电了。”张工急促的声音,跨过上千公里,腾地一声把我从座椅上拽起。

平地惊雷一声起,上周的幸灾乐祸居然成为了灾难的序曲!大肚男睥睨的眼神在洒家脑海里一闪而过,像一阵秋风,带来阵阵凉意。

前方军情紧急,快马加鞭不停蹄,第二天,我就和张工一起出现在汽车厂的办公室里。

汽车厂的王工是老相识了,见面寒暄几句,就给我们交了底。

那天,王工和同事开车回来,同事熟练地按着门把手开关锁上了车,跑到一边打起了电话。

王工刚想上楼,发现自己的包落在了车上,本想找同事要钥匙来着,结果看到同事左手拿着钥匙右手拿着手机,正在专心致志地咕噜叽里,于是乎心中一动,就没有找他要钥匙。

王工估摸着车门和同事之间的距离,觉得车上的PEPS(这台车上装有无钥匙进入/启动系统)应该能扫描到车外的钥匙,于是就按了一下门把手开关,只要PEPS扫描到这把钥匙,车门就会开锁。

王工说,就是这么不经意的一按,一个大bug跳了出来!

车门和同事手中的钥匙距离着实有些远,所以车门没能开了锁,王工本来也没有报太大希望,这倒没什么。

关键是,负责车身电子产品几个年头的王工的职业病也不小,他“本能”地看了一下仪表盘,发现小灯指示灯居然亮了起来!赶紧跑到车前一看,小灯果然亮着!

发现问题的王工兴奋地和同事测试了好几遍,发现了bug出没的规律:

在锁车之前,保持小灯开关为打开状态,锁上车五秒后,小灯关掉,等上半分钟,整车进入休眠状态。这时,把钥匙拿远一些,另一个人按下门把手开关,这时候,车门固然开不了锁,但是小灯会亮起来,并打算一直亮到地老天荒。

1568958976473006.jpg

王工的描述很清晰,我做了一下“翻译”,解释给张工-按下门把手开关,PEPS被唤醒,通过CAN总线又唤醒了车身控制器。这时候车身控制器竟然打开了小灯,结果就一直回不到低功耗状态了。

3

张工拖着肥肥的双下巴,45度斜仰着肥硕的大脑袋,呆呆地注视着空无一物的天空。显然,他陷入了沉思当中,或者陷入了“做沉思状”的角色扮演中。

和王工混得很熟的洒家,没有心情跟张工一起玩角色扮演,因为我一眼就察觉出了问题可能的所在。

正如上述所示的那样,这里的休眠-唤醒路径是:PEPS 通过CAN总线唤醒了车身控制器,车身控制器通过LIN线又唤醒了组合开关节点。车身控制器不会无缘无故打开小灯,肯定是组合开关节点通过LIN报文向我发送了关闭小灯、打开小灯的命令!

至于组合开关节点为什么会发生打开状态->关闭状态->打开状态的切换,既然现在的小灯开关没有关上,从编码的角度也就很容易理解了。组合开关节点休眠再唤醒之后,执行了开关状态的初始化,将小灯开关状态初始化为关闭状态(默认就是关闭),此时通过LIN报文发送的是“小灯开关关闭”,经过一定的滤波时间(假设为100毫秒)后测得小灯开关为打开状态,此时通过LIN报文发送的是“小灯开关打开”。

故而,在我的车身控制器中,唤醒后组合开关节点发送小灯开关关闭,然后又发送了小灯开关打开,于是车身控制器重新打开了小灯。换句话说,如果小灯开关通过LIN报文发送过来的一直是打开状态的话,车身控制器也不会重新打开小灯。

我把这个分析告诉了王工,王工带着蒙拉丽莎似的微笑不置可否,让我抓个LIN报文看看。张工麻利地接上OBD口,打开canoe,抓“小灯开关状态”这个LIN信号的波形。果然,这个组合开关节点在唤醒后不合时宜地先发送了“小灯关闭”,紧接着一直发送“小灯打开”。

问题坐实了!组合开关节点的处理确实有漏洞。但是王工又提出了一个问题:既然功能规范中要求车门闭锁五秒后关闭小灯,这车门没有成功解锁,是不是车身控制器也应该在唤醒之后五秒后再关闭小灯呢?

02.jpg

斯言诚哉!车门没成功解锁,仍然处于闭锁状态,即使没有车门闭锁这个动作,从唤醒开始计时5秒似乎也是应有之义,因为,总不能让小灯一直亮着,整个车一直处于非休眠状态吧!

4

当我灰溜溜地改代码时,张工踅摸到我跟前,跟我咬起了耳朵。

原来,A点车身控制器供应商不久之前也被叫了过来测试这个问题,测试结果当然是一样的。但是,在王工提出修改代码的要求后,A点技术人员义正言辞地表示,谁的错就谁改,既然是组合开关节点的错,怎么能迁就他们而让自己改呢?

结果,王工无奈之下只好让组合开关节点供应商修改。张工带着愤愤然的神色,“哎,就知道欺负B点供应商,难道,不把B点供应商当人吗?”

张工话音甫落,我的眼前忽然浮起王工那蒙娜丽莎的微笑,so de si ne!

timg.gif

不过,做为修行人,推功揽过本是应有之义,别人的产品确实有缺陷,但是自己的产品也不能说是十足完美。静坐常思己过,闲谈莫论人非,于是我跟颇有些不平的张工说道:

干产品,本来就是查别人的缺,补自己的漏嘛!

何委屈之有哉!

关键词:

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版