干產(chǎn)品就是查別人的缺、補(bǔ)自己的漏
據(jù)說,一個(gè)人從事某種工作久了,就會(huì)患上相應(yīng)的職業(yè)病。
本文引用地址:http://butianyuan.cn/article/201909/405066.htm比如說,在這個(gè)姑娘們袒胸露背花枝招展的季節(jié)里,如果有一個(gè)中年油膩男帶著一種思考人生哲學(xué)的深邃目光上下打量她們,請(qǐng)你先不要“以小人之心度君子之腹”,對(duì)他嗤之以鼻。因?yàn)?,也許他是一名醫(yī)術(shù)精湛的中醫(yī),正在懷著醫(yī)者仁心,對(duì)這些姑娘們望聞但不問切,看看她們是氣血不足,還是脾虛腎虧。
灑家秉持“非禮勿視”的君子之道,對(duì)街頭的美女們自然視若無睹,卻總是喜歡打量路邊停著的汽車,尤其是發(fā)現(xiàn)有車燈未曾關(guān)掉時(shí),總會(huì)忍不住去看看這輛車是否已經(jīng)落鎖。同樣的,灑家沒有什么不軌之心,也絕不是將自己的快樂建立在別人的痛苦之上,喜歡看到車耗沒了電而打不著火的情形。
雖然打不著火開不了車想來也頗為快意,但是絕非灑家本懷!
因?yàn)?,這是灑家的職業(yè)病。干汽車電子多年,總想看看各大外資、中資、中外合資的汽車上的車身控制單元會(huì)不會(huì)出現(xiàn)落鎖后關(guān)不掉車燈的情況。
1
這一天,灑家的心情格外開心。因?yàn)闉⒓以谏习嗦飞习l(fā)現(xiàn)了一起汽車小燈未正常關(guān)閉的生動(dòng)案例。
當(dāng)大肚便便的車主從車上踱下來時(shí),灑家只是下意識(shí)地摸了摸自己那一塊腹肌的肚皮。目力所及之處,是比大肚子更美好溫馨的畫面。一個(gè)年輕的媽媽正牽著自己的兒子去上幼兒園,在被拖拽地磕磕絆絆的小不點(diǎn)身旁,一位長(zhǎng)發(fā)披肩、面容姣好的長(zhǎng)腿美女正兀自婀娜地走著。
一抹淡淡的云彩若即若離地懸掛在碧海似的天空中,微風(fēng)輕輕地推動(dòng)著長(zhǎng)發(fā)美女緩緩前行。小胳膊小腿的小不點(diǎn)半走半跑著,追趕著媽媽輕盈的腳步。
一股甜滋滋的惆悵在我心里醞釀著,翻騰著?!松嵌嗝疵篮冒?!’
在高跟鞋悅耳且規(guī)律的噠噠聲中,一聲不和諧的喇叭聲響了起來,灑家稍稍收回炯炯的目光,在心中mark了一下,“汽車落鎖了,喇叭響一聲,轉(zhuǎn)向閃三次”,接著灑家又著意看了一下小燈,發(fā)現(xiàn)還在亮著。“許是小燈開關(guān)沒關(guān),不過落鎖五秒后小燈會(huì)自動(dòng)關(guān)掉的?!鼻也还芩^續(xù)前行,欣賞人生的美景。
那邊廂,大肚子肥膩男一邊緩緩地踱著分不開腿的步子,一邊轉(zhuǎn)動(dòng)著不大靈活的脖子,帶著睥睨的目光從我身上一掃而過,然后變換了神情,在年輕媽媽和長(zhǎng)發(fā)美女身上輪回般地掃視著。起初,灑家有些憤憤然,‘美女與野獸。。?!?,但是很快,我又變得釋然了。
因?yàn)槲野l(fā)現(xiàn),他那輛車的小燈一直在亮著!
兩個(gè)前小燈就像是汽車的眼睛,詭異地注視著周圍的一切。
對(duì)美女與野獸的迷思瞬間煙消云散,職業(yè)精神爆棚的灑家的技術(shù)神經(jīng)被迅速喚醒了。
照理說,即使小燈開關(guān)沒關(guān),落鎖5秒后也該自動(dòng)關(guān)掉了,這是所有車身控制器都應(yīng)該實(shí)現(xiàn)的功能。要不然,一直耗電的可不是只有這四個(gè)小燈(前后各兩個(gè)),這臺(tái)車上可能所有電子零部件(ECU)都進(jìn)不了低功耗狀態(tài)。
按照每個(gè)小燈的功率是5瓦來算,消耗電流在1.5A以上,車上所有電子零部件在喚醒狀態(tài)的耗電電流至少2A,按照汽車蓄電池電量為60Ah來算,這臺(tái)車基本上15個(gè)小時(shí)就耗沒電了。
灑家在腦海里飛快地進(jìn)行這些計(jì)算時(shí),大肚男正依依不舍地拗過頭去,帶著逐漸遠(yuǎn)去的背影消失在一座寫字樓的門口里。
2
人生啊,就是一個(gè)謎。冥冥中似乎有一種無形的力量,將你的昨天、今天和明天奇妙般地串在一起。
目睹大肚男汽車小燈沒關(guān)上的事情還不到一周,這個(gè)命運(yùn)就詭異般地落到了我的頭上。
那天,灑家專心致志地搭著模型,做著仿真,正在物我兩忘之際,一個(gè)好長(zhǎng)時(shí)間沒有聯(lián)系的合作伙伴把電話打了過來。
“不得了了,天雷君,咱的車身控制器把一臺(tái)試驗(yàn)車給耗沒電了?!睆埞ぜ贝俚穆曇簦邕^上千公里,騰地一聲把我從座椅上拽起。
平地驚雷一聲起,上周的幸災(zāi)樂禍居然成為了災(zāi)難的序曲!大肚男睥睨的眼神在灑家腦海里一閃而過,像一陣秋風(fēng),帶來陣陣涼意。
前方軍情緊急,快馬加鞭不停蹄,第二天,我就和張工一起出現(xiàn)在汽車廠的辦公室里。
汽車廠的王工是老相識(shí)了,見面寒暄幾句,就給我們交了底。
那天,王工和同事開車回來,同事熟練地按著門把手開關(guān)鎖上了車,跑到一邊打起了電話。
王工剛想上樓,發(fā)現(xiàn)自己的包落在了車上,本想找同事要鑰匙來著,結(jié)果看到同事左手拿著鑰匙右手拿著手機(jī),正在專心致志地咕嚕嘰里,于是乎心中一動(dòng),就沒有找他要鑰匙。
王工估摸著車門和同事之間的距離,覺得車上的PEPS(這臺(tái)車上裝有無鑰匙進(jìn)入/啟動(dòng)系統(tǒng))應(yīng)該能掃描到車外的鑰匙,于是就按了一下門把手開關(guān),只要PEPS掃描到這把鑰匙,車門就會(huì)開鎖。
王工說,就是這么不經(jīng)意的一按,一個(gè)大bug跳了出來!
車門和同事手中的鑰匙距離著實(shí)有些遠(yuǎn),所以車門沒能開了鎖,王工本來也沒有報(bào)太大希望,這倒沒什么。
關(guān)鍵是,負(fù)責(zé)車身電子產(chǎn)品幾個(gè)年頭的王工的職業(yè)病也不小,他“本能”地看了一下儀表盤,發(fā)現(xiàn)小燈指示燈居然亮了起來!趕緊跑到車前一看,小燈果然亮著!
發(fā)現(xiàn)問題的王工興奮地和同事測(cè)試了好幾遍,發(fā)現(xiàn)了bug出沒的規(guī)律:
在鎖車之前,保持小燈開關(guān)為打開狀態(tài),鎖上車五秒后,小燈關(guān)掉,等上半分鐘,整車進(jìn)入休眠狀態(tài)。這時(shí),把鑰匙拿遠(yuǎn)一些,另一個(gè)人按下門把手開關(guān),這時(shí)候,車門固然開不了鎖,但是小燈會(huì)亮起來,并打算一直亮到地老天荒。
王工的描述很清晰,我做了一下“翻譯”,解釋給張工-按下門把手開關(guān),PEPS被喚醒,通過CAN總線又喚醒了車身控制器。這時(shí)候車身控制器竟然打開了小燈,結(jié)果就一直回不到低功耗狀態(tài)了。
3
張工拖著肥肥的雙下巴,45度斜仰著肥碩的大腦袋,呆呆地注視著空無一物的天空。顯然,他陷入了沉思當(dāng)中,或者陷入了“做沉思狀”的角色扮演中。
和王工混得很熟的灑家,沒有心情跟張工一起玩角色扮演,因?yàn)槲乙谎劬筒煊X出了問題可能的所在。
正如上述所示的那樣,這里的休眠-喚醒路徑是:PEPS 通過CAN總線喚醒了車身控制器,車身控制器通過LIN線又喚醒了組合開關(guān)節(jié)點(diǎn)。車身控制器不會(huì)無緣無故打開小燈,肯定是組合開關(guān)節(jié)點(diǎn)通過LIN報(bào)文向我發(fā)送了關(guān)閉小燈、打開小燈的命令!
至于組合開關(guān)節(jié)點(diǎn)為什么會(huì)發(fā)生打開狀態(tài)->關(guān)閉狀態(tài)->打開狀態(tài)的切換,既然現(xiàn)在的小燈開關(guān)沒有關(guān)上,從編碼的角度也就很容易理解了。組合開關(guān)節(jié)點(diǎn)休眠再喚醒之后,執(zhí)行了開關(guān)狀態(tài)的初始化,將小燈開關(guān)狀態(tài)初始化為關(guān)閉狀態(tài)(默認(rèn)就是關(guān)閉),此時(shí)通過LIN報(bào)文發(fā)送的是“小燈開關(guān)關(guān)閉”,經(jīng)過一定的濾波時(shí)間(假設(shè)為100毫秒)后測(cè)得小燈開關(guān)為打開狀態(tài),此時(shí)通過LIN報(bào)文發(fā)送的是“小燈開關(guān)打開”。
故而,在我的車身控制器中,喚醒后組合開關(guān)節(jié)點(diǎn)發(fā)送小燈開關(guān)關(guān)閉,然后又發(fā)送了小燈開關(guān)打開,于是車身控制器重新打開了小燈。換句話說,如果小燈開關(guān)通過LIN報(bào)文發(fā)送過來的一直是打開狀態(tài)的話,車身控制器也不會(huì)重新打開小燈。
我把這個(gè)分析告訴了王工,王工帶著蒙拉麗莎似的微笑不置可否,讓我抓個(gè)LIN報(bào)文看看。張工麻利地接上OBD口,打開canoe,抓“小燈開關(guān)狀態(tài)”這個(gè)LIN信號(hào)的波形。果然,這個(gè)組合開關(guān)節(jié)點(diǎn)在喚醒后不合時(shí)宜地先發(fā)送了“小燈關(guān)閉”,緊接著一直發(fā)送“小燈打開”。
問題坐實(shí)了!組合開關(guān)節(jié)點(diǎn)的處理確實(shí)有漏洞。但是王工又提出了一個(gè)問題:既然功能規(guī)范中要求車門閉鎖五秒后關(guān)閉小燈,這車門沒有成功解鎖,是不是車身控制器也應(yīng)該在喚醒之后五秒后再關(guān)閉小燈呢?
斯言誠(chéng)哉!車門沒成功解鎖,仍然處于閉鎖狀態(tài),即使沒有車門閉鎖這個(gè)動(dòng)作,從喚醒開始計(jì)時(shí)5秒似乎也是應(yīng)有之義,因?yàn)?,總不能讓小燈一直亮著,整個(gè)車一直處于非休眠狀態(tài)吧!
4
當(dāng)我灰溜溜地改代碼時(shí),張工踅摸到我跟前,跟我咬起了耳朵。
原來,A點(diǎn)車身控制器供應(yīng)商不久之前也被叫了過來測(cè)試這個(gè)問題,測(cè)試結(jié)果當(dāng)然是一樣的。但是,在王工提出修改代碼的要求后,A點(diǎn)技術(shù)人員義正言辭地表示,誰的錯(cuò)就誰改,既然是組合開關(guān)節(jié)點(diǎn)的錯(cuò),怎么能遷就他們而讓自己改呢?
結(jié)果,王工無奈之下只好讓組合開關(guān)節(jié)點(diǎn)供應(yīng)商修改。張工帶著憤憤然的神色,“哎,就知道欺負(fù)B點(diǎn)供應(yīng)商,難道,不把B點(diǎn)供應(yīng)商當(dāng)人嗎?”
張工話音甫落,我的眼前忽然浮起王工那蒙娜麗莎的微笑,so de si ne!
不過,做為修行人,推功攬過本是應(yīng)有之義,別人的產(chǎn)品確實(shí)有缺陷,但是自己的產(chǎn)品也不能說是十足完美。靜坐常思己過,閑談莫論人非,于是我跟頗有些不平的張工說道:
干產(chǎn)品,本來就是查別人的缺,補(bǔ)自己的漏嘛!
何委屈之有哉!
評(píng)論