軟硬工程師完美搭配,工作才不會(huì)越干越累
彪悍的人生從不回望過(guò)往,這些勇士們立足當(dāng)下,心系未來(lái),由衷地相信明天會(huì)更好。老衲年近不惑,正是繼往開(kāi)來(lái)、勇往無(wú)前之際,卻每每沉湎過(guò)去,懷念過(guò)去的美好。
本文引用地址:http://m.butianyuan.cn/article/201908/403966.htm因?yàn)椋臀掖顧n的硬件工程師一代不如一代了!
1 想念山竹君
第一任硬件搭檔山竹君已經(jīng)離職五年了,每每被現(xiàn)任硬件搭檔氣得六竅冒煙、一竅堵塞之時(shí),我都無(wú)比地懷念他。
算下來(lái),山竹君是和我搭檔最久的一位硬件工程師了。我們精誠(chéng)合作,攜手干成了兩個(gè)大批量供貨的產(chǎn)品。在那段意氣風(fēng)發(fā)的歲月里,我倆合作默契,珠聯(lián)璧合,在熱火朝天的工作中兄弟齊心,在私下的交往里情投意合,雖無(wú)斷背,但也你儂我儂,在我司堪稱(chēng)一段佳話(huà)。
山竹君是硬件的number one,我是軟件的扛把子。我們倆一軟一硬,一文一武,一唱一和,在歲月的悠悠中彼此相守。我本以為,這種日子會(huì)天長(zhǎng)地久,直到白頭,不成想,人生八苦交煎,怨憎會(huì),愛(ài)別離。
頃刻一聲鑼鼓響,從此馬路朝天,各走四方。
時(shí)光荏苒,再也回不到從前。山竹君走后,接任他和我共事的是他帶出來(lái)的徒弟小徐。
2 現(xiàn)任搭檔小徐
事后想來(lái),除了水平差一點(diǎn),小徐這個(gè)人真的很不錯(cuò)。
當(dāng)時(shí),這一位人很不錯(cuò)的硬件工程師擺在我面前,我卻沒(méi)有珍惜,待他走后又和其它硬件人員搭檔共事時(shí)我才追悔莫及。如果上天能再給我一次機(jī)會(huì),我一定會(huì)勸他不要辭職走人,如果要在這份心意上加一點(diǎn)實(shí)在的資糧,我希望,領(lǐng)導(dǎo)可以把自己的工資勻給他三千元!
小徐跟我搭檔時(shí)工作時(shí)間還不滿(mǎn)兩年,之前一直給山竹君打下手,所以也跟我有很多接觸。給我的感覺(jué),小徐這人很實(shí)在,山竹君讓他干啥他干啥,也很用功,不時(shí)地向我請(qǐng)教軟件編程上面的問(wèn)題。
我一直比較喜歡他,當(dāng)然,是作為山竹君副手的他。
山竹君走后,領(lǐng)導(dǎo)一拍腦袋,讓小徐跟我搭檔,同時(shí)讓我?guī)?,我一拍胸脯,答?yīng)了。
過(guò)了一個(gè)月,我的胸脯后知后覺(jué)地疼了起來(lái)。
山竹君走時(shí),我跟他正一起做著一款直流電機(jī)控制器。當(dāng)時(shí)他已經(jīng)做出了第一版硬件的原理圖,還沒(méi)有畫(huà)好板子,辭職時(shí),山竹君把硬件資料交接給了小徐。小徐接下來(lái)的工作就是把PCB畫(huà)出來(lái),然后制板。
由于這個(gè)產(chǎn)品比較簡(jiǎn)單,電路也不復(fù)雜,本該“帶帶他”的我并沒(méi)有留心。小徐畫(huà)好了PCB,做好了板子、鋼網(wǎng),在我司的小批量生產(chǎn)線(xiàn)上焊好了20塊板,然后調(diào)通了板子,讓我調(diào)試。
我拿著山竹君老版的原理圖按部就班地進(jìn)行著軟件代碼調(diào)試,剛開(kāi)始諸事順利,小徐表現(xiàn)也不錯(cuò),要測(cè)個(gè)什么信號(hào),或者抓個(gè)什么波形,他都認(rèn)真負(fù)責(zé)地配合著。直到調(diào)試到這款產(chǎn)品的過(guò)流保護(hù)功能時(shí),我才發(fā)現(xiàn)他竟然對(duì)原理圖動(dòng)了不該動(dòng)的手腳。
3 問(wèn)題出在哪
這款產(chǎn)品的過(guò)流保護(hù)功能比較簡(jiǎn)單,它是從電流檢測(cè)功能進(jìn)一步演化過(guò)來(lái)的。
關(guān)于電流檢測(cè),山竹君在電機(jī)定子繞組的線(xiàn)路上做了一個(gè)相電流shunt采樣,采樣后進(jìn)入運(yùn)放,再接到MCU的ADC。
過(guò)流保護(hù)則包括直接關(guān)斷和故障存儲(chǔ)兩部分。直接關(guān)斷是通過(guò)比較器實(shí)現(xiàn)的。將采樣-運(yùn)放之后的信號(hào)接到一個(gè)比較器電路上,該比較器電路的輸入和一個(gè)經(jīng)過(guò)計(jì)算的閾值電壓進(jìn)行比較,輸出直接連接到定子繞組供電的MOSFET控制端上。這樣,一旦發(fā)生短路過(guò)流,相電流超過(guò)閾值,比較器的輸出會(huì)直接切斷MOSFET的輸出。
故障存儲(chǔ)則是讓這個(gè)切斷MOSFET輸出的信號(hào)同時(shí)連接到一個(gè)能夠觸發(fā)中斷的數(shù)字IO口上,這樣,比較器輸出切斷MOSFET輸出時(shí),MCU便能第一時(shí)間存儲(chǔ)這個(gè)故障。
這里有一個(gè)需要注意的地方:MCU這個(gè)數(shù)字IO口必須具有中斷功能,因?yàn)檫@種故障就像一顆劃空而過(guò)的流星一樣,必須按下相機(jī)的快門(mén)才能捕捉到它。如果這個(gè)IO口只是一個(gè)沒(méi)有中斷觸發(fā)功能的普通IO,那么,就只能以IO形式來(lái)周期性地采。
可是,機(jī)不可失,時(shí)不再來(lái)。想想吧,比較器輸出切斷了MOSFET后,定子繞組電流就下來(lái)了,采樣-運(yùn)放-比較器的輸出就又回到正常狀態(tài)了??!就是說(shuō),這個(gè)故障根本不可能維持一個(gè)讓你可以周期性采集的一個(gè)周期??!
本來(lái),這里的玄妙之處稍微動(dòng)動(dòng)腦袋就可以想明白的,而且山竹君明明已經(jīng)接到了中斷IO口上,小徐卻自作主張地改變了引腳。
當(dāng)我把這個(gè)過(guò)流保護(hù)功能的來(lái)龍去脈講清楚之后,小徐的精氣神就好像被抽干了一樣,他一邊給我陪著不是,一邊耷拉著腦袋喃喃地說(shuō):“哎,早知道就不改了,當(dāng)時(shí)之所以改,是為了PCB好布線(xiàn)來(lái)著。”
看著他那無(wú)精打采的樣子,我的心底壓抑不住地涌起一股股的悲涼:為了畫(huà)板子好走線(xiàn)就隨便改電路?山竹君怎么教出來(lái)你這么一個(gè)徒弟呢?!哎,我的山竹君吶!
評(píng)論