<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 牛人業(yè)話 > 萬(wàn)物皆需濾波,否則系統(tǒng)翻車(chē)

          萬(wàn)物皆需濾波,否則系統(tǒng)翻車(chē)

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

          “這是一個(gè)最好的時(shí)代,也是一個(gè)最壞的時(shí)代,這是一個(gè)智慧的年代,也是一個(gè)愚蠢的年代?!蹦糜?guó)大文豪狄更斯的這段話用來(lái)描述這個(gè)信息爆炸的現(xiàn)代社會(huì)再合適不過(guò)了。

          本文引用地址:http://www.ex-cimer.com/article/201901/397351.htm

            當(dāng)代社會(huì),網(wǎng)絡(luò)四通八達(dá),觸角遍布天下,宅在家中,只要連上網(wǎng),我們似乎就被賦予了神通的力量,生了千里眼,足不出戶,可觀天下,長(zhǎng)了順風(fēng)耳,動(dòng)動(dòng)鼠標(biāo),就能捕捉到空中永不消逝的電波。遠(yuǎn)古時(shí)代交通基本靠走,通信基本靠吼,就連那個(gè)傳奇般的瑯琊閣,也要靠遍布天下的眼線、不斷飛梭的信鴿傳書(shū)才能識(shí)盡天下人,算盡天下事,相比之下,這個(gè)耀眼的大時(shí)代對(duì)我們真是無(wú)私而慷慨。

            但是,這世上的一切都像月亮,總有一個(gè)陰暗面,讓人永遠(yuǎn)看不見(jiàn)。

            在這個(gè)無(wú)序地野蠻生長(zhǎng)的網(wǎng)絡(luò)社會(huì)中,在這個(gè)你方唱罷我登場(chǎng)的自媒體時(shí)代,每個(gè)人既是信息的消費(fèi)者,也是信息的生產(chǎn)者,在數(shù)以億計(jì)生產(chǎn)者有意無(wú)意的輸出中,數(shù)據(jù)終于泛濫的洪水滔天。各類(lèi)垃圾數(shù)據(jù)猶如耀眼的煙花,騰空而來(lái),逐風(fēng)而去,轉(zhuǎn)眼落地成渣。各種虛假的信息野蠻生長(zhǎng),來(lái)得轟轟烈烈,消失地?zé)o聲無(wú)息。總之,無(wú)用的垃圾信息撲面而來(lái),讓網(wǎng)民們防不勝防,白白浪費(fèi)了大好的寶貴時(shí)光。

            面對(duì)信息的汪洋,網(wǎng)民們大都脆弱而迷惘,太多時(shí)候,不想看的應(yīng)有盡有,想看的一無(wú)所有。雖然常在河邊走,哪有不濕鞋,百花叢中過(guò),很難做到片葉不沾身,但是我們?nèi)匀黄谂沃心敲匆欢聣蛘咭粡垷o(wú)形的網(wǎng),把我們不想看的都擋上一擋。

            哪里有壓迫,哪里就有反抗,更何況,信息過(guò)濾也是一個(gè)非常大的市場(chǎng)。于是乎,靠著對(duì)個(gè)人閱讀習(xí)慣的精準(zhǔn)推送,在數(shù)據(jù)洪流上添加了一道過(guò)濾網(wǎng)的今日頭條粉墨登場(chǎng)了。頭條剛剛開(kāi)始嶄露頭角時(shí),灑家就切切實(shí)實(shí)地感受到了它的力量,這種體驗(yàn)實(shí)在太棒了,幾番磨合下來(lái),頭條就像捕捉到了你的所思所想,給的都是想看的,不想看的通通入網(wǎng)。現(xiàn)代社會(huì),效率至上,時(shí)間就是金錢(qián),頭條通過(guò)“濾波”節(jié)約了網(wǎng)民的大量時(shí)間,它也得以迅速成長(zhǎng)。只是后來(lái)的頭條慢慢走了樣,變得空有技術(shù),內(nèi)容干貨越來(lái)越少,我也終于把它一卸了之。

            剛剛成立六年的頭條當(dāng)今市值千億,腳踢騰訊,掌摑百度,足以證明濾波有多么重要。做為嵌入式工程師的筆者,在一次莫名其妙的產(chǎn)品故障之后,也體會(huì)到了電子產(chǎn)品不濾波就翻車(chē)的尿性。

            1

            入冬后的北方越來(lái)越難熬了。

            公司地處偏郊,靠坐班車(chē)來(lái)回通勤。為了節(jié)約班車(chē)運(yùn)營(yíng)成本,司機(jī)師傅總是到點(diǎn)才開(kāi)始熱車(chē),往往路程過(guò)半,車(chē)內(nèi)才稍稍有了一些溫度,到了公司門(mén)前,車(chē)內(nèi)也終于變得一片溫暖。由儉入奢易,由奢入儉難,坐在車(chē)內(nèi)感受溫暖,眼見(jiàn)著車(chē)外凜冽的寒風(fēng)將枯枝吹得亂顫,也就不愿意下車(chē)面對(duì)這惱人的寒。這時(shí)候,只得帶著一百個(gè)不情愿,重新把自己裹得嚴(yán)嚴(yán)實(shí)實(shí),忍凍耐寒地大步奔向公司辦公室。

            到了辦公室,打開(kāi)中央空調(diào)的開(kāi)關(guān),頭兩個(gè)小時(shí)內(nèi)仍然不敢摘下帽子,不愿意伸出手。這段時(shí)間里,大家伙談天的熱情也不高,大都帶著帽子,縮著脖子,畏畏縮縮地坐在電腦桌前,先看看文檔打打前站,等到辦公室內(nèi)終于暖和過(guò)來(lái),同事們才開(kāi)始慢慢活泛起來(lái),自此才開(kāi)始一天熱火朝天的工作。

            灑家雖然一向埋頭苦干,也很耐得了煩,但在剛上班頭一兩個(gè)小時(shí)的冬眠蟄伏期,也頗不愿意遇上一些繁難,這一段時(shí)間,我也只求個(gè)平平安安。

            可是,歲月劍拔弩張,豈能盡如我們的想象?

            這不,剛到辦公室坐下不大會(huì)兒,來(lái)自項(xiàng)目合作方的一通電話就火急火燎地打了過(guò)來(lái)。

            “光華居士,碰上大事了,不知道怎么搞的,轉(zhuǎn)向燈一直閃個(gè)不停?!备糁娫?,仍能聽(tīng)得到合作方小鄭的焦急。

            當(dāng)?shù)弥D(zhuǎn)向燈莫名其妙地閃了一夜之后,灑家心里一個(gè)咯噔,“你們?cè)趺礈y(cè)試出來(lái)的?”打開(kāi)程序后,我迅速鎖定了和轉(zhuǎn)向燈閃爍有關(guān)的代碼后,開(kāi)始心平氣和地問(wèn)起小鄭來(lái)。

            “我們是在對(duì)這款產(chǎn)品進(jìn)行帶負(fù)載試驗(yàn),拿一些時(shí)間繼電器產(chǎn)生開(kāi)關(guān)信號(hào),觸發(fā)產(chǎn)品接通負(fù)載,大概十分鐘就跑完一個(gè)完整的測(cè)試周期了。測(cè)試的第一天一點(diǎn)事沒(méi)有,前天發(fā)現(xiàn)轉(zhuǎn)向燈突然閃個(gè)不停,我們斷了電重新上電,測(cè)到昨天又發(fā)現(xiàn)轉(zhuǎn)向燈突然閃個(gè)不停,到現(xiàn)在都快閃了一天了?!毙∴嵑?jiǎn)短地描述了問(wèn)題產(chǎn)生的背景。

            我頭腦中閃過(guò)幾個(gè)可能的答案。“是不是警示開(kāi)關(guān)壞了?”我提醒小鄭?!叭绻鹃_(kāi)關(guān)一直有效的話,轉(zhuǎn)向燈是會(huì)閃個(gè)不停的!”

            “我們確認(rèn)了所有信號(hào),這些信號(hào)都很正常,光華居士,我們分析了大半天了,現(xiàn)在感覺(jué)應(yīng)該是軟件問(wèn)題,要不你仔細(xì)看看代碼,分析分析哪里是不是有漏洞?”小鄭小心翼翼地提議道。

            很有可能就是軟件的問(wèn)題,我在心里嘀咕道。

            2

            由于無(wú)法在公司重現(xiàn)產(chǎn)品測(cè)試環(huán)境,領(lǐng)導(dǎo)委派我到Z市去解決問(wèn)題。出發(fā)時(shí)正趕上下雪,街邊行人稀少,路過(guò)的美女也藏起了撩人的小蠻腰。公交車(chē)小心翼翼地行駛在有些上凍的路面上,時(shí)而發(fā)出吱呀吱呀的聲音,灑家坐在搖搖晃晃的車(chē)上,有一搭沒(méi)一搭地考慮著這個(gè)問(wèn)題,突然想到了一個(gè)可能的答案。

            ‘可能是定時(shí)器管理程序那里的問(wèn)題,在轉(zhuǎn)向燈多次定時(shí)那里,有個(gè)對(duì)軟件定時(shí)器節(jié)點(diǎn)的計(jì)時(shí)次數(shù)的遞減操作,這是一個(gè)32位的變量,它是不是從0遞減到了2的32次方-1了?’灑家一面盤(pán)算著,一邊打開(kāi)電腦,想驗(yàn)證一下自己的想法。

            看到代碼后,灑家不禁啞然失笑,原來(lái)我早就改變了定時(shí)器管理程序的實(shí)現(xiàn)方式,現(xiàn)在計(jì)時(shí)次數(shù)不是遞減,而是累加了,每次計(jì)時(shí)到達(dá)時(shí)將計(jì)時(shí)次數(shù)累加,然后和設(shè)定好的閾值進(jìn)行比較,如果大于等于閾值就說(shuō)明已經(jīng)完成了多次定時(shí)。

            人的記憶真奇妙,大雁飛過(guò)天空了無(wú)痕,人之前干過(guò)的事情卻在腦子里扎下了根。

            3

            北風(fēng)吹,雪花飄,刮到臉上似鐮刀!在一片肅殺的天寒地凍中,灑家頂風(fēng)冒雪地來(lái)到項(xiàng)目合作方所在的Z市。

            寒暄幾句之后,小鄭把我引到測(cè)試臺(tái)前,一個(gè)高約兩米的測(cè)試機(jī)柜靜靜地矗立在房間的角落,前面有一些清晰但不耀眼的指示燈,后面就是一些時(shí)間繼電器和實(shí)打?qū)嵉能?chē)燈、車(chē)窗等負(fù)載了。

            我探過(guò)頭去看了看,轉(zhuǎn)向燈正閃個(gè)不停,甚是刺眼。

            “你們一直沒(méi)有斷電?”我揉了揉被車(chē)燈晃得發(fā)花的眼睛,問(wèn)起小鄭來(lái)。

            “沒(méi)有,知道你過(guò)來(lái),我們沒(méi)敢斷電,就怕斷了電,問(wèn)題就再也測(cè)不出來(lái)了。”小鄭帶著一絲不好意思的微笑,哎,多么老實(shí)的工程師?。?/p>

            接著是一陣無(wú)言的沉默,看著我攢眉蹙額地想事情,小鄭也識(shí)趣地站遠(yuǎn)了一些。產(chǎn)品線束零亂地接在測(cè)試臺(tái)上,在測(cè)試過(guò)程中,其它負(fù)載仍然有條不紊地相繼接通和關(guān)斷,轉(zhuǎn)向燈暫時(shí)正常一下,執(zhí)行完相關(guān)功能之后再一次返回?zé)o休無(wú)止的通斷輪回中。

            看著簡(jiǎn)陋的測(cè)試環(huán)境和凌亂的接線,我心里多多少少有些不安,這樣的測(cè)試環(huán)境,各個(gè)輸入線上得有多少雜波呀!不過(guò),除了心疼產(chǎn)品要應(yīng)對(duì)這種無(wú)端的騷擾之外,灑家對(duì)雜波會(huì)產(chǎn)生產(chǎn)品功能故障倒是一點(diǎn)也不擔(dān)心,做為一名入職多年的嵌入式軟件工程師,灑家可以想得到,雜波一次次向產(chǎn)品襲來(lái),大無(wú)畏的產(chǎn)品果斷啟用濾波功能,將一道道雜波斬于馬下,就是雜波來(lái)得再猛烈些,濾波也能游刃有余,不在話下!

            4

            灑家遇到問(wèn)題一向喜歡快刀斬亂麻,憑著多年掃過(guò)的雷,掉過(guò)的坑,再輔以神神叨叨的直覺(jué),一般都會(huì)精準(zhǔn)定位,快速爆破,直搗黃龍,這種順風(fēng)順?biāo)?,在一定程度上也滋養(yǎng)了我的輕狂。

            自古年少多輕狂,誰(shuí)不想,輕衣怒馬,仗劍走四方!

            這次,灑家檢查了觸發(fā)轉(zhuǎn)向燈閃爍的幾乎所有代碼,基本上都是有進(jìn)有出,閃爍幾次就會(huì)停下來(lái),絕不至于閃個(gè)不停的。弄了半天還搞不清楚子丑演卯,身在異鄉(xiāng),進(jìn)退恓惶,真想跺跺腳,罵罵娘,以免被憋到抓狂。

            人的世界里充滿了爾虞我詐,計(jì)算機(jī)的世界卻始終表里如一,童叟無(wú)欺。轉(zhuǎn)向燈明明白白地突然在一邊閃個(gè)不停,搞得人心神不寧,再不正視問(wèn)題就是赤裸裸的掩耳盜鈴!

            看來(lái)問(wèn)題就出在還沒(méi)檢查過(guò)的最后一處代碼了,即碰撞報(bào)警功能。這款產(chǎn)品平時(shí)會(huì)檢測(cè)一個(gè)PWM形式的碰撞信號(hào),碰撞信號(hào)有效時(shí),會(huì)觸發(fā)轉(zhuǎn)向燈一直閃爍。

            可能嗎?測(cè)試臺(tái)還能鬼使神差地在碰撞信號(hào)線上產(chǎn)生出一個(gè)PWM形式的雜波來(lái)?

            世界千奇百怪,如果真有這樣的雜波,身經(jīng)百戰(zhàn)的灑家也有些感到奇怪。但是畢竟沒(méi)有了其它懷疑的對(duì)象,于是灑家收拾好心情,好好地分析了一下碰撞信號(hào)的檢測(cè)程序。

            在這款產(chǎn)品中,使用管腳的輸入捕捉功能檢測(cè)碰撞信號(hào),使用上升沿和下降沿同時(shí)捕捉的方式,檢測(cè)到上升沿后,記錄一個(gè)時(shí)間戳A,等到檢測(cè)到下降沿時(shí),再記錄一個(gè)時(shí)間戳B,再等待下一個(gè)上升沿,繼續(xù)記錄時(shí)間戳C。如果信號(hào)線上的高電平持續(xù)時(shí)間(B-A)和低電平持續(xù)時(shí)間(C-B)滿足碰撞信號(hào)形式,便認(rèn)為碰撞信號(hào)有效。

            分析到這里,灑家有些茫然了。

            5

            天外有天有無(wú)常,山外有山有他鄉(xiāng),雜波之外有雜波,難道正是PWM模樣?

            灑家正想沉浸在神秘主義和虛無(wú)主義的情緒里顧影自憐一番,小鄭屁顛屁顛地過(guò)來(lái)了。他帶著一副期待的神情,看了看我,看了看電腦,沉默了一會(huì)兒,終于問(wèn)了出來(lái);“是不是找到原因了?”

            “啊,”我不置可否,“還要再確認(rèn)一下!”

            時(shí)間寶貴,不可浪費(fèi),既然對(duì)碰撞信號(hào)檢測(cè)程序起了懷疑,不管三七二十一,先把代碼改了再說(shuō)。

            于是,我在碰撞信號(hào)的檢測(cè)上也加了一層濾波。

            修改之后,必須連續(xù)三次PWM信號(hào)滿足碰撞信號(hào)形式,才會(huì)認(rèn)為碰撞信號(hào)有效。改完之后,我把新程序灌到板子上,把小鄭叫來(lái),讓他重新對(duì)測(cè)試臺(tái)上了電,便先回了賓館。

            一路奔波,下了車(chē)直接過(guò)來(lái)頂鍋,看著系統(tǒng)的翻車(chē),最后加了一層濾波,灑家也是累了狗了!

            傍晚時(shí)分,我緩緩踱步到了合作方公司,測(cè)試臺(tái)正在有條不紊地執(zhí)行各項(xiàng)功能,指示燈閃來(lái)閃去都很正常。

            接下來(lái)兩天正好是周末,我和小鄭在辦公室盯了兩天,一切正常!心態(tài)放松的我跟小鄭說(shuō)明白了問(wèn)題的來(lái)龍去脈,看著小鄭驚訝地遲遲合不上嘴,我毫不留情地又給了他重重一錘:碰撞信號(hào)輸入線上能引入PWM形式的雜波,你們應(yīng)該檢查檢查到底是測(cè)試臺(tái)的問(wèn)題還是產(chǎn)品硬件的問(wèn)題了!

            6

            回程的路上,我一直禁不住地胡思亂想,電子工程師的工作干得久了,我慢慢地變成了一個(gè)懷疑論者。在電子產(chǎn)品的世界里,一切都有可能發(fā)生,保持開(kāi)放的態(tài)度、發(fā)散的思維對(duì)解決疑難雜癥特別重要。這一次經(jīng)驗(yàn)教訓(xùn)也給我結(jié)結(jié)實(shí)實(shí)地上了一課,正所謂:萬(wàn)物皆需加濾波,否則系統(tǒng)會(huì)翻車(chē)!



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();