狗蛋(驱动小白)和老王(硬件老司机)关于硬件那点事儿的一次密谈
“老王,有個bug啊,很緊急啊?” QA急忙反饋到。
“什么問題? 老王心里咯噔了下,心想,NND,被QA纏住,看來今晚又得和我的躺椅相依為伴了。”
“這個陀螺儀有低概率會漂啊,定不住啊?”QA焦慮到。馬上要發(fā)版本了,才測出這個問題,QA也是很急。
“我分析分析看先,#@@##@#@#%¥¥¥@!!”一分鐘過去了,一小時(shí)過去了,一個通宵過去了。。。。。。
“QA,起床了,分析出來了,原來是這個機(jī)器的LCD屏異常了,然后軟件上重新拉了下它的LDO電源,然而這路LDO又和陀螺儀是共用的,所以LDO重新下電,上電導(dǎo)致陀螺儀也復(fù)位了,最終導(dǎo)致其數(shù)據(jù)異常,亂飄了。”老王疲倦的吧啦吧啦到。
“那趕緊解決吧,老板盯得很緊了。”QA說道。
“解不了,硬件設(shè)計(jì)問題,這個得找硬件。和SW沒有關(guān)系。”老王理直氣壯的回答到。
“什么?。。。10分鐘過后。”
“老張啊,老王說這個是硬件問題啊,你看怎么解決啊?很緊急啊。”QA拉著硬件部的老張說道。
“這個我是按照參考設(shè)計(jì)來的,HW已經(jīng)定版了,改不了。老王,你看軟件上能不能規(guī)避下?”
“暈,又是規(guī)避,每次硬件出問題,都讓SW來擦屁股,有沒有天理啊,這已經(jīng)是第幾次了啊?” 我心里極度憤怒。”
“老張啊,不行啊,軟件改的話如果LCD異常,只能做reset,不一定有用啊?,這個本來是硬件上設(shè)計(jì)的疏漏啊,不能一路LDO為兩個芯片同時(shí)供電啊,萬一其中一個LDO被復(fù)位,另外一個芯片不就懵逼了?”
“先改改,讓QA測測吧,HW這邊實(shí)在沒辦法改啊,你們軟件改幾行代碼就能搞定的了。只有你們SW想辦法啦。”
“我&**……%%¥¥¥,好吧,看來還是我們軟件萬能啊,我只想到這一句話。”
結(jié)論:做驅(qū)動的永遠(yuǎn)都和做硬件的是一對歡喜冤家啊,與其事后出事兩相埋怨,還是事先我們多多溝通,避免設(shè)計(jì)上的疏漏吧。
最后老王想起了一首歌詞:
因?yàn)槲覀兪且患胰?br style="margin:0px; padding:0px; max-width:100%; word-wrap:break-word!important" />相親相愛的一家人最后也因此引發(fā)了這次軟件和硬件的一次密談,目的是為了坦誠溝通,消除隔閡。讓我們來一起圍觀下他們的對話吧。
1. 硬件板的幾個常見概念,它們之間的關(guān)系
狗蛋(軟件小白):PCB?
老王(硬件大拿):Printed Circuit Board 印刷線路板,PCB沒有任何元器件。
狗蛋:PCBA?
老王:Printed Circuit Board +Assembly 線路板組裝成品。通過SMT或者插件加工在原材料PCB板上焊接組裝上所需的電子元器件,例如IC,電阻,電容,晶振,變壓器等電子元器件,經(jīng)過回流焊爐高溫加熱,就會形成元器件與PCB板之間的機(jī)械連接,從而形成PCBA。
狗蛋:面包板?
老王:面包板是由于板子上有很多小插孔,專為電子電路的無焊接實(shí)驗(yàn)設(shè)計(jì)制造的。由于各種電子元器件可根據(jù)需要隨意插入或拔出,免去了焊接,節(jié)省了電路的組裝時(shí)間,而且元件可以重復(fù)使用,所以非常適合電子電路的組裝、調(diào)試和訓(xùn)練。
狗蛋:SMT?
老王:表面組裝技術(shù)(Surface Mount Technology的縮寫),它是一種將無引腳或片狀元器件安裝在印制電路板(PCB)的表面或其它基板的表面上,通過回流焊或浸焊等方法加以焊接組裝的電路裝連技術(shù)。是目前電子組裝行業(yè)里最流行的一種技術(shù)和工藝。
狗蛋:驅(qū)動可能涉及的問題,如何應(yīng)對?
老王:
1) SMT時(shí)爐溫引起的虛焊,如DDR/CPU/各種外設(shè)。一些硬件單體異常問題可以考慮這種情況。
2) SMT貼錯/貼反/漏貼器件。
2. 主要器件的擺放位置(BB/RF/MEMORY)
狗蛋:如何找器件?
老王:根據(jù)原理圖的器件標(biāo)識號結(jié)合器件的位號圖來找。
狗蛋:如何確認(rèn)器件貼片是否正確?
老王:觀察芯片的PIN腳順序。
3. 其他附件
狗蛋:屏蔽罩?
老王:用屏蔽體將元部件,電路,組合件,電纜或整個系統(tǒng)的干擾源包圍起來,防止干擾電磁場向外擴(kuò)散;用屏蔽體將接收電路,設(shè)備或系統(tǒng)包圍起來,防止它們受到外界電磁場的影響。
狗蛋:定位孔?
老王:代表芯片第一個引腳的位置,用來識別芯片的引腳的,有的可能代表焊接或者插入芯片插座的正確方向。
4. 關(guān)于驅(qū)動
狗蛋:驅(qū)動調(diào)試的順序?
老王:
1)器件的位置,型號,接口(讀寫接口,電源,其他信號如中斷等等)。
2)軟件配置(增加驅(qū)動代碼,配置接口)。
3)讀取關(guān)鍵調(diào)試信息(CHIP ID,驅(qū)動加載是否成功,獲取數(shù)據(jù)是否正確)。
4)貼片是否正確,外圍電路是否有缺失。
5)量取信號(電源,中斷,讀寫總線是否有數(shù)據(jù),以及更進(jìn)一步的數(shù)據(jù)是否正確,比如時(shí)序,干擾,電平,時(shí)鐘)。
狗蛋:PCB評審時(shí)驅(qū)動注意什么?
老王:
1)器件高度(大電容/TVS/ESD等和屏蔽罩/殼體的干涉)。
2)PCB強(qiáng)度。
2)走線距離板邊。
4)重要信號調(diào)試點(diǎn)是否預(yù)留,尤其是新器件。
5. 認(rèn)識各個模塊的電路?
狗蛋:模塊電路關(guān)注什么?
老王:
1)每個模塊有哪些重要信號。
2)輸入輸出引腳。
3)硬件控制的原理。
4)是否曾經(jīng)有重要的Bug。
6. 電路中的重要器件和概念???
狗蛋:上下拉電阻的作用?
老王:
1)加大高電平輸出時(shí)引腳的驅(qū)動能力。
2)電平匹配,拉高低電平。
3)芯片閑置管腳接上拉,提高輸入電平,管腳懸空易受電磁干擾。
4)上拉電阻是解決驅(qū)動能力不足時(shí)提供電流,下拉電阻用于吸收電流,解決灌電流。
狗蛋:0歐姆電阻的作用?
老王:
1)跳線,考慮兼容,為調(diào)試預(yù)留位置,美觀方便。
2)數(shù)字地和模擬地的單點(diǎn)連接。
3)配置電路,類似撥碼開關(guān),比如選擇器件地址,更改電路功能。
4)做保險(xiǎn)絲用,PCB走線熔斷電流較大,而0歐姆電阻電流承受能力較弱,在短路過流時(shí)發(fā)生熔斷,保護(hù)重要電路。
狗蛋:電感在電路中的作用?
老王:
通直流,阻交流;當(dāng)直流通過時(shí),電感相當(dāng)于導(dǎo)線,在交流電路中,產(chǎn)生阻抗,但它與電阻阻礙電流不同,電阻阻礙電流是以消耗電能為標(biāo)準(zhǔn),而電感則阻礙電流的變化,則是純粹不讓電流變化,當(dāng)電流增加時(shí),阻礙電流增加,并將能量以磁場的形式存儲起來,在電流減小時(shí),將儲藏的能量釋放出來,以結(jié)果來說,就是阻礙電流變化。
狗蛋:電容在電路中的作用?
老王:
1)旁路,將輸入信號中的干擾作為濾除對象。
2)去耦,是把輸出信號的干擾作為濾除對象,防止干擾信號返回。
3)濾波,隔直通交,一般接在電源正負(fù)極之間,以濾除直流電源中不需要的交流成分,使直流電平滑。
狗蛋:什么是驅(qū)動能力?
老王:驅(qū)動能力就是指輸出端口的電流最大流入流出能力或者限制。
狗蛋:什么是電平匹配?
老王:電平匹配指的是電路級連時(shí)前級的輸出電壓與后級要求的輸入電壓相近或相同,凡是電平匹配的前后級可以直連,否則要經(jīng)過適當(dāng)?shù)碾娖睫D(zhuǎn)換,例如,同樣TTL數(shù)字集成電路因電平匹配就可以直接互連,而TTL要驅(qū)動CMOS集成電路就要因?yàn)殡娖讲黄ヅ湟~外加轉(zhuǎn)換芯片。
狗蛋:什么是差分信號?
老王:通俗地說,就是驅(qū)動端發(fā)送兩個等值、反相的信號,接收端通過比較這兩個電壓的差值來判斷邏輯狀態(tài)“0”還是“1”。而承載差分信號的那對走線就稱為差分走線。
特點(diǎn)
a.抗干擾能力強(qiáng)。
b.能有效抑制 EMI。
c.時(shí)序定位精確。
狗蛋:如何看datasheet?
老王:由單元電路組成,包括主控制芯片,存儲,電源,射頻,輔助功能電路(TP/LCM/SENSOR/CAMEMRA/GPS等)。芯片命名規(guī)則,特性,Pin,控制信號,工作原理,重要寄存器,時(shí)序,電氣特性。
好了,這次對話應(yīng)該能為以后軟件和硬件的合作打下良好的基礎(chǔ)。希望以后軟件不用再為硬件擦屁股了。硬件也不用給軟件量信號,協(xié)助分析軟件問題了,傷不起啊。
碼農(nóng)大講堂這節(jié)課就到這吧,下課。老王要補(bǔ)覺去了,哇咔咔。
迎關(guān)注老王微信公眾號:“嵌入式職場加油站” 查看更多精彩文章。希望能夠在一些技術(shù)點(diǎn)上為大家拋磚引玉,答疑解惑。你們的關(guān)注將是激勵我堅(jiān)持創(chuàng)作和分享更多干貨技能的源動力。更多技術(shù)干貨經(jīng)驗(yàn)技巧會第一時(shí)間發(fā)布在公眾號上,歡迎查閱!
總結(jié)
以上是生活随笔為你收集整理的狗蛋(驱动小白)和老王(硬件老司机)关于硬件那点事儿的一次密谈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 异步阻塞_大白话搞懂什么是同步
- 下一篇: 得力条码扫描器怎么用_广东智能物流控制系