<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 牛人業(yè)話(huà) > 時(shí)序就像脈搏,一點(diǎn)都錯不得

時(shí)序就像脈搏,一點(diǎn)都錯不得

作者:光華居士 時(shí)間:2018-11-07 來(lái)源:電子產(chǎn)品世界 收藏

浪子三唱,不唱悲歌,紅塵間,悲傷事,已太多。

本文引用地址:http://dyxdggzs.com/article/201811/393985.htm

佛祖有云,人生八苦交煎,所謂八苦者,生、老、病、死、求不得、怨憎會(huì )、愛(ài)別離、五陰熾盛。春天百花開(kāi),秋天黃葉落,人之生老病死在所難免,但樂(lè )觀(guān)主義者每每在生活的荊棘中找出一條小徑來(lái),肩住黑暗的閘門(mén),灑下光明的福音。他們以飲食有節、起居有定、鍛煉有時(shí)抵抗衰老和病痛,調素琴,閱金經(jīng),清心寡欲,也可逃過(guò)求不得、怨憎會(huì )、愛(ài)別離之折磨,但唯有這五陰熾盛,如影子隨身,揮之不去。

五陰者,色、受、想、行、識。色者,肉身也,雖然微觀(guān)上生滅不已,但以其變化緩慢,總讓人產(chǎn)生青春永駐、歲月靜好之錯覺(jué),只是蒼天愛(ài)輪回,又曾饒過(guò)誰(shuí)?受、想、行、識卻都在精神層面,感受(受)時(shí)而無(wú)風(fēng)無(wú)浪,如靜海深流,時(shí)而大風(fēng)大雨、肆意磅礴;想法(想)此起彼伏,像個(gè)五六歲的小男孩一樣鬧個(gè)不停;念念遷流不?。ㄐ校?,前赴后繼;其背后的“識”也總在夢(mèng)中像個(gè)畫(huà)師一樣,勾勒出五彩的夢(mèng)境。在灑家看來(lái),人生最苦就在這五陰熾盛了。因為,每次工作中遇到了大bug,身體都會(huì )被搞得疲憊不堪,內心誠惶誠恐,腦袋里想法一個(gè)接著(zhù)一個(gè),想閉目休息一下吧,念頭還總是一個(gè)接一個(gè)地不斷蹦出來(lái),攪擾得不得安寧,真真叫一個(gè)苦??!

1

魯迅先生說(shuō)過(guò),“人生最苦痛的是夢(mèng)醒了無(wú)路可以走。做夢(mèng)的人是幸福的,倘沒(méi)有看出可走的路,最要緊的是不要去驚醒他?!蔽以谧右箷r(shí)分悄然醒來(lái),一時(shí)竟不知身在何處。重慶的夜異常寂靜,月色如洗,爬過(guò)窗臺,傾瀉了一地,在朦朧的月光中,好像罩著(zhù)一層輕紗,溫柔地撫慰著(zhù)喧囂了一天后沉沉入睡的大地。我躺在賓館的床上,腦袋空空,心中一片茫然,反復咀嚼著(zhù)魯迅先生的這句話(huà)。折騰一天,好不容易睡著(zhù),本該好好休息了,偏偏五陰熾盛起來(lái),攪了清夢(mèng)不說(shuō),偏偏“夢(mèng)醒了無(wú)路可以走”,豈非是先生所言“人生最苦痛的”?

自從接了這個(gè)BCM的活,兩度寒暑,時(shí)間不長(cháng)不短,卻也光顧重慶多次了。調試、測試、路試、試產(chǎn)、量產(chǎn),一步步走來(lái),步步驚心。自上回修改路試出現的問(wèn)題之后,已經(jīng)過(guò)去一年有余了,灑家做的這款BCM也終于量產(chǎn)裝車(chē)了。都說(shuō)好事多磨,這不,裝車(chē)數量過(guò)了千臺,卻偏偏又出了問(wèn)題!

問(wèn)題的表現形式倒也干脆,就是開(kāi)了幾天車(chē)之后,不知道為了什么,再打轉向燈時(shí)就會(huì )出現倍頻閃爍的情況,但是它來(lái)得也快去得也瀟灑,停車(chē)鎖門(mén)關(guān)窗辦點(diǎn)事之后,再次行車(chē)期間,這個(gè)故障就又莫名其妙地消失了。奇也怪了個(gè)哉!

正常情況下,點(diǎn)火開(kāi)關(guān)處于ON檔,車(chē)燈組合開(kāi)關(guān)撥到轉向位置,轉向燈就按照固定頻率閃爍起來(lái),亮了又滅,滅了又亮,仿佛無(wú)聲地訴說(shuō)著(zhù)塵世的輪回。倍頻閃爍倒也不是毫無(wú)來(lái)由,空穴來(lái)風(fēng),BCM在轉向燈閃爍期間檢測各個(gè)轉向燈的工作電流,如果檢測出“掉燈”故障,就將轉向燈以正常閃爍頻率的兩倍閃爍。不消說(shuō),肯定是誤檢測出了掉燈故障,才會(huì )觸發(fā)“倍頻”閃爍的??墒?,轉向燈開(kāi)關(guān)檢測和轉向燈電流檢測的時(shí)序是固定的,現在的程序設計保證了只有在轉向燈閃爍的點(diǎn)亮期間才會(huì )檢測轉向燈電流,不可能出現轉向燈滅掉期間檢測轉向燈電流的情形,所以,按理不會(huì )出現“誤檢測”掉燈故障。我又翻了翻代碼,確認了這個(gè)問(wèn)題。

轉向燈開(kāi)關(guān)信號來(lái)自L(fǎng)IN總線(xiàn)上的組合開(kāi)關(guān)節點(diǎn),根據LIN報文長(cháng)度和波特率可以計算得出,檢測出有效轉向燈開(kāi)關(guān)信號的時(shí)刻大概都是在(60 *n)+ 6ms的位置,而B(niǎo)CM同時(shí)以50ms為周期循環(huán)進(jìn)行轉向燈的電流檢測,先根據轉向燈的亮滅狀態(tài)設置ADC檢測通道,在轉向燈亮時(shí)使能相應端口的ADC檢測,考慮到驅動(dòng)芯片的電流回饋引腳需要一定的準備時(shí)間,因此在設置了ADC檢測通道之后,間隔2ms后進(jìn)行實(shí)際轉換,檢測時(shí)間大概都是在(50 * m)+2ms的位置,顯然,只要(50 * m)時(shí)刻轉向燈是點(diǎn)亮狀態(tài),(50 * m)+2ms也是點(diǎn)亮狀態(tài)。

基于這個(gè)“無(wú)懈可擊”的判斷,我過(guò)早地做出了這次故障和時(shí)序無(wú)關(guān)的結論,當然也造成了我“夢(mèng)醒了無(wú)路可以走”的苦痛。

2

自個(gè)兒研發(fā)期間沒(méi)有測出來(lái)這個(gè)問(wèn)題,路試人員也不明所以,顯然,“不是國軍無(wú)能,而是共軍太狡猾?!边@次出了事被揪過(guò)來(lái),戰戰兢兢地鼓搗半天,我同樣沒(méi)有復現出這個(gè)故障來(lái)。

車(chē)廠(chǎng)技術(shù)人員是個(gè)老相識了,長(cháng)著(zhù)一對像小孩子一樣的招風(fēng)大耳朵,忽閃著(zhù)兩只因為年輕而顯得格外有神的眼睛,站在兩步開(kāi)外,看著(zhù)我在那里忙得焦頭爛額,觀(guān)摩許久,便把雙手插在口袋里,悠悠地說(shuō):“光華居士,看來(lái)你的人品格外好,你一來(lái),你家的BCM就老實(shí)了?!?/p>

“咳,咳,”聽(tīng)著(zhù)他充滿(mǎn)善意的戲謔,心虛的我竟然不知所措起來(lái)?!耙苍S吧?!?/p>

“吃飯去吧,請你吃重慶小面!”這位仁兄倒是一副好心情??粗?zhù)他那張沒(méi)心沒(méi)肺的笑臉,心中就像壓了一塊石頭的我多少也坦然了些,便跟在他那矯健的步伐后面,亦步亦趨地去了。

傍晚的飯店亂哄哄的,夾雜著(zhù)嘈雜的說(shuō)話(huà)聲和哧溜哧溜的吃飯聲的空氣中,飄蕩著(zhù)一股淡淡的牛肉湯味道和濃濃的辣椒氣味。找地坐定,這位仁兄便打開(kāi)了話(huà)匣子,“我從庫房里提出這臺故障車(chē)以后也測試了一下,剛開(kāi)始也沒(méi)有發(fā)現轉向燈快閃的故障,中間出現過(guò)幾回,再后來(lái)又消失了??磥?lái),想測出來(lái)故障還得靠運氣?!彼腴_(kāi)玩笑似地說(shuō)。

測了小半天仍然不得要領(lǐng)的我一邊無(wú)精打采地吃著(zhù)面,一邊不經(jīng)意地問(wèn)道?!爸澳切┕收宪?chē)是用戶(hù)測出來(lái)的還是你們自個(gè)測出來(lái)的?”

“我們自己測出來(lái)的,用戶(hù)還沒(méi)有反饋過(guò)這個(gè)問(wèn)題??赡苁且驗檫@個(gè)故障是偶發(fā)性的,即使出現了,用戶(hù)也不一定能注意得到,而且出現過(guò)之后又會(huì )莫名其妙消失,所以也沒(méi)當成回事?!痹诒粺狎v騰的面條蒸汽模糊了的臉龐上,他那兩片肥肥的亮油油的嘴唇格外引人注目。

‘為什么沒(méi)早點(diǎn)測出來(lái)?’我心里不禁嘀咕道,全然忘記了這雷本該自己來(lái)背?!肮收舷前l(fā)生在車(chē)輛休眠又喚醒之后?”我突然想起來(lái)自己這小半天一直是開(kāi)著(zhù)門(mén),車(chē)輛都沒(méi)有進(jìn)過(guò)低功耗狀態(tài)。

“對對對,還真是這樣,出現故障之后,總是消除不掉,鎖了車(chē),過(guò)了一段時(shí)間又回來(lái),故障就消失了?!彼氏乱粔K牛肉,又急又快地回答我。

幾根面條歪歪扭扭地躺在碗中,綠油油的香菜若有若無(wú)地點(diǎn)綴在清湯里,看著(zhù)面前的清湯寡水,我也心思澄明起來(lái),肯定是低功耗改變了轉向燈開(kāi)關(guān)檢測和轉向燈電流檢測的時(shí)序,使得設置ADC通道時(shí)轉向燈還是亮的,但是2ms后就已經(jīng)是滅的了,對,肯定是這樣,我模模糊糊地回想著(zhù)代碼。

彎彎的月牙好像跨過(guò)了一條看不出的界限,把夕陽(yáng)擠進(jìn)了山的那一邊,被微風(fēng)撕碎的幾片白云也換上了青灰色的衣裳。本著(zhù)多年的經(jīng)驗,我已然可以確定低功耗對時(shí)序的改變,心情大好的我一抹嘴,站起身來(lái),掏出一張紅色大票,拍在桌子上,“我請客!”

3

回到賓館,打開(kāi)電腦,直奔低功耗處理程序,一切都了然了。

休眠程序實(shí)際上是一個(gè)睡眠-臨時(shí)喚醒-睡眠-臨時(shí)喚醒。。的循環(huán),睡眠24ms,臨時(shí)喚醒2ms,如果在臨時(shí)喚醒模式期間,喚醒條件有效,BCM退出休眠,否則,再次進(jìn)入休眠,如此往復。

臨時(shí)喚醒期間,所有軟件定時(shí)器共用的計時(shí)基準Timer_ticked也在累加,它每次硬件定時(shí)器中斷都會(huì )累加1,累加到255后再回到0。顯然,假設退出休眠時(shí),轉向燈電流檢測定時(shí)器已經(jīng)計滿(mǎn),而轉向燈開(kāi)關(guān)檢測定時(shí)器還未計滿(mǎn),比如在56ms的位置,退出休眠后轉向燈電流檢測定時(shí)器便會(huì )因為計滿(mǎn)清零,而喪失了和轉向燈開(kāi)關(guān)檢測定時(shí)器的同步,它們之間錯位的幅度為6ms。結果就造成可能出現轉向燈開(kāi)關(guān)檢測程序在設置ADC通道時(shí)轉向燈處于點(diǎn)亮狀態(tài),而2ms后轉向燈滅掉的狀態(tài),這就會(huì )導致“誤檢測”出掉燈故障,從而出現無(wú)故倍頻閃爍的情況。

問(wèn)題找到了,修改也很簡(jiǎn)單,在A(yíng)DC轉換中斷服務(wù)程序中,添加對轉向燈亮滅狀態(tài)的判斷。只有在轉向燈亮時(shí),才將ADC結果寄存器中的值賦值給存放轉向燈反饋電流的變量,如此這般即可。

第二天,陽(yáng)光和煦,春風(fēng)送暖,問(wèn)題解決地及時(shí)而且準確,給車(chē)廠(chǎng)技術(shù)人員解釋一番,提交了整改報告后,他們也就高高舉起,輕輕落下,放我們一馬了,只需要把庫房里的庫存都刷新程序就可以了。那么多件,一件件地刷程序是個(gè)不小的體力活,但是,不罰款,也不影響正常裝車(chē),這就應該燒高香了不是?要啥自行車(chē)??!

后記

嵌入式系統的正常運轉,在于各個(gè)模塊的密切配合,除了在空間(體現為RAM空間中的信號量、事件、全局變量等)上共通有無(wú)之外,還需要在時(shí)間上準確而無(wú)誤。正所謂,時(shí)序就是嵌入式系統的脈搏,一點(diǎn)都錯不得。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>