99%的電子工程師都會(huì)犯:29個(gè)常見設(shè)計(jì)錯(cuò)誤匯總
發(fā)布時(shí)間:2019-05-31 責(zé)任編輯:xueqi
【導(dǎo)讀】以下為大家總結(jié)了29個(gè)常見設(shè)計(jì)錯(cuò)誤,希望大家在日常設(shè)計(jì)中,可以避開這些雷區(qū)。從成本,可靠性,系統(tǒng)效率,低功耗設(shè)計(jì),信號(hào)完整性這5大方面進(jìn)行詳細(xì)分析。
誤區(qū)一:成本節(jié)約
常見錯(cuò)誤1:面板上的指示燈選什么顏色呢?我個(gè)人比較喜歡藍(lán)色,就選它吧。
正解:對(duì)于市面上的指示燈,紅綠黃橙等顏色的,不管大小(5MM以下)、封裝如何,都已成熟了幾十年,所以價(jià)格便宜一般都在5毛錢以下。而藍(lán)色指示燈卻是近三四年才發(fā)明出來的,技術(shù)成熟度和供貨穩(wěn)定度都較差,所以價(jià)格要貴出四五倍。如果你設(shè)計(jì)的面板堆指示燈顏色沒有特殊要求,就不要選藍(lán)色了。目前藍(lán)色指示燈一般只用在不能用其它顏色替代的場(chǎng)合,如顯示視頻信號(hào)等。
常見錯(cuò)誤2:這些拉低 / 拉高的電阻,用多大的阻值好像都沒太大關(guān)系,就選個(gè)整數(shù)5K吧。
正解:其實(shí)市場(chǎng)上不存在5K的阻值,最接近的是 4.99K(精度1%),其次是5.1K(精度5%),其成本價(jià)格分別比精度為20%的4.7K高4倍和2倍。20%精度的電阻阻值只有1、1.5、2.2、 3.3、4.7、6.8幾個(gè)種類(含10的整數(shù)倍);相應(yīng)的,20%精度的電容也一樣只有以上幾種容值。對(duì)于電阻和電容來說,如果選了這幾種之外的其它的值,就必須使用更高的精度,成本就翻了幾倍,如果對(duì)精度的要求并不大,這樣做是成本上的浪費(fèi)。除此之外,電阻質(zhì)量也非常重要,有時(shí)候一批劣質(zhì)的電阻足以毀掉一個(gè)項(xiàng)目,建議大家在立創(chuàng)商城等正品自營(yíng)商城購買。
常見錯(cuò)誤3:這點(diǎn)邏輯用74XX的門電路搭也行,但太土,還是用CPLD吧,顯得高檔多了。
正解:74XX的門電路只幾毛錢,而CPLD至少也得幾十塊(GAL/PAL雖然只幾塊錢,但不推薦使用),成本提高了很多倍不說,還給生產(chǎn)、文檔等工作增添數(shù)倍的工作。在不影響性能的前提下,使用性價(jià)比更高的74XX顯然更合適。
常見錯(cuò)誤4:這板子的PCB設(shè)計(jì)要求不高,就用細(xì)一點(diǎn)的線,自動(dòng)布吧。
正解:自動(dòng)布線必然要占用更大的PCB面積,同時(shí)產(chǎn)生比手動(dòng)布線多好多倍的過孔,在批量很大的產(chǎn)品中,PCB廠家在定價(jià)方面,線寬、過孔數(shù)量是重要的考量因素,它們分別影響到PCB的成品率和鉆頭的消耗數(shù)量,此外PCB板的面積也是影響價(jià)格的一方面。所以自動(dòng)布線勢(shì)必會(huì)增加線路板的生產(chǎn)成本。
常見錯(cuò)誤5:我們的系統(tǒng)要求這么高,包括MEM、CPU、FPGA等所有的芯片都要選最快的。
正解:在一個(gè)高速系統(tǒng)中并不是每一部分都工作在高速狀態(tài),而器件速度每提高一個(gè)等級(jí),價(jià)格差不多要翻倍,另外還給信號(hào)完整性問題帶來極大的負(fù)面影響。所以,在選擇芯片時(shí),要根據(jù)不同部分器件的使用程度來考量,而不是都用最快的。
常見錯(cuò)誤6:程序只要穩(wěn)定就可以了,代碼長(zhǎng)一點(diǎn)、效率低一點(diǎn)不是關(guān)鍵。
正解:CPU的速度和存儲(chǔ)器的空間都是用錢買來的,如果寫代碼時(shí)多花幾天時(shí)間提高一下程序效率,那么從降低CPU主頻和減少存儲(chǔ)器容量所節(jié)約的成本絕對(duì)是劃算的。CPLD/FPGA設(shè)計(jì)也類似。
誤區(qū)二:可靠性設(shè)計(jì)
常見錯(cuò)誤7:這塊單板已小批量生產(chǎn)了,經(jīng)過長(zhǎng)時(shí)間測(cè)試沒發(fā)現(xiàn)任何問題,不用再看芯片手冊(cè)了。
正解:硬件設(shè)計(jì)和芯片應(yīng)用必須符合相關(guān)規(guī)范,尤其是芯片手冊(cè)中提到的所有參數(shù)(耐壓、I/O電平范圍、電流、時(shí)序、溫度PCB布線、電源質(zhì)量等)必須嚴(yán)格遵循設(shè)定,不能光靠試驗(yàn)來驗(yàn)證。很多公司有不少產(chǎn)品都有過慘痛的教訓(xùn),產(chǎn)品賣了一兩年,IC廠家換了個(gè)生產(chǎn)線,板子就不轉(zhuǎn)了,原因就是人家的芯片參數(shù)發(fā)生了點(diǎn)變化,但并沒有超出手冊(cè)的范圍。如果你以手冊(cè)為準(zhǔn),那他怎么變化都不怕,如果參數(shù)變得超出手冊(cè)范圍了還可找他索賠(假如這時(shí)你的板子還能轉(zhuǎn),那你的可靠性就更牛了)。
常見錯(cuò)誤8:用戶操作錯(cuò)誤發(fā)生問題就不能怪我了。
正解:要求用戶嚴(yán)格按手冊(cè)操作是沒錯(cuò)的,但用戶是人,就有犯錯(cuò)的時(shí)候,不能說碰錯(cuò)一個(gè)鍵就死機(jī),插錯(cuò)一個(gè)插頭就燒板子。所以對(duì)用戶可能犯的各種錯(cuò)誤必須提前預(yù)測(cè)到并加以保護(hù)。
常見錯(cuò)誤9:這板子壞的原因是對(duì)端的板子出問題了,也不是我的責(zé)任。
正解:對(duì)于各種對(duì)外的硬件接口應(yīng)有足夠的兼容性,不能因?yàn)閷?duì)方信號(hào)不正常,你就徹底罷工了。它不正常只應(yīng)影響到與其有關(guān)的那部分功能,而其它功能應(yīng)能正常工作,不應(yīng)徹底罷工,甚至永久損壞,而且一旦接口恢復(fù),你也應(yīng)立即恢復(fù)正常。
常見錯(cuò)誤10:這部分電路只要要求軟件這樣設(shè)計(jì)就不會(huì)有問題。
正解:硬件上很多器件特性直接受軟件控制,但軟件是經(jīng)常出現(xiàn)bug的,程序跑飛了之后無法預(yù)料會(huì)有什么操作。設(shè)計(jì)者應(yīng)確保不論軟件做什么樣的操作硬件都不應(yīng)在短時(shí)間內(nèi)發(fā)生永久性損壞。
誤區(qū)三:系統(tǒng)效率
常見錯(cuò)誤11:這么多任務(wù)到底是用中斷還是用查詢呢?還是中斷快些吧。
正解:中斷的實(shí)時(shí)性強(qiáng),但不一定快。如果中斷任務(wù)特別多的話,這個(gè)沒退出來,后面又接踵而至,一會(huì)兒系統(tǒng)就將崩潰了。如果任務(wù)數(shù)量多但很頻繁的話,CPU的很大精力都用在進(jìn)出中斷的開銷上,系統(tǒng)效率極為低下,如果改用查詢方式反而可極大提高效率,但查詢有時(shí)不能滿足實(shí)時(shí)性要求,所以最好的辦法是在中斷中查詢,即進(jìn)一次中斷就把積累的所有任務(wù)都處理完再退出。
常見錯(cuò)誤12:這主頻100M的CPU只能處理70%,換200M主頻的就沒事了。
正解:系統(tǒng)的處理能力牽涉到多種多樣的因素,在通信業(yè)務(wù)中其瓶頸一般都在存儲(chǔ)器上,CPU再快,外部訪問快不起來也是徒勞。
常見錯(cuò)誤13:CPU用大一點(diǎn)的CACHE,就應(yīng)該快了。
正解:CACHE的增大,并不一定就導(dǎo)致系統(tǒng)性能的提高,在某些情況下關(guān)閉CACHE反而比使用CACHE還快。其原因是搬到CACHE中的數(shù)據(jù)必須得到多次重復(fù)使用才會(huì)提高系統(tǒng)效率。所以在通信系統(tǒng)中一般只打開指令CACHE,數(shù)據(jù)CACHE即使打開也只局限在部分存儲(chǔ)空間,如堆棧部分。同時(shí)也要求程序設(shè)計(jì)要兼顧C(jī)ACHE的容量及塊大小,這涉及到關(guān)鍵代碼循環(huán)體的長(zhǎng)度及跳轉(zhuǎn)范圍,如果一個(gè)循環(huán)剛好比CACHE大那么一點(diǎn)點(diǎn),又在反復(fù)循環(huán)的話,那就麻煩了。
常見錯(cuò)誤14:存儲(chǔ)器接口的時(shí)序都是廠家默認(rèn)的配置,不用修改的。
正解:BSP對(duì)存儲(chǔ)器接口設(shè)置的默認(rèn)值都是按最保守的參數(shù)設(shè)置的,在實(shí)際應(yīng)用中應(yīng)結(jié)合總線工作頻率和等待周期等參數(shù)進(jìn)行合理調(diào)配。有時(shí)把頻率降低反而可提高效率,如RAM的 存取周期是70ns,總線頻率為40M時(shí),設(shè)3個(gè)周期的存取時(shí)間,即75ns即可;若總線頻率為50M時(shí),必須設(shè)為4個(gè)周期,實(shí)際存取時(shí)間卻放慢到了80ns。
常見錯(cuò)誤15:這個(gè)CPU帶有DMA模塊,用它來搬數(shù)據(jù)肯定快。
正解:真正的DMA是由硬件搶占總線后同時(shí)啟動(dòng)兩端設(shè)備,在一個(gè)周期內(nèi)這邊讀、那邊些。但是很多嵌入CPU內(nèi)的DMA只是模擬而已,啟動(dòng)每一次DMA之前要做很多準(zhǔn)備工作(設(shè)起始地址和長(zhǎng)度等),在傳輸時(shí)往往是先讀到芯片內(nèi)暫存,然后再寫出去,即搬一次數(shù)據(jù)需兩個(gè)時(shí)鐘周期,比軟件來搬要快一些(不需要取指令, 沒有循環(huán)跳轉(zhuǎn)等額外工作),但如果一次只搬幾個(gè)字節(jié),還要做一堆準(zhǔn)備工作,一般還涉及函數(shù)調(diào)用,效率并不高。所以這種DMA只對(duì)大數(shù)據(jù)塊才適用,不要盲目使用。
常見錯(cuò)誤16:一個(gè)CPU處理不過來,就用兩個(gè)分布處理,處理能力可提高一倍。
正解:對(duì)于搬磚頭來說,兩個(gè)人應(yīng)該比一個(gè)人的效率高一倍;對(duì)于作畫來說,多一個(gè)人只能幫倒忙。使用幾個(gè)CPU需對(duì)業(yè)務(wù)有較多的了解后才能確定,也就說要盡量減少兩個(gè)CPU間協(xié)調(diào)的代價(jià),使1+1盡可能接近2,千萬別小于1。
誤區(qū)四:低功耗設(shè)計(jì)
常見錯(cuò)誤17:這些總線信號(hào)都用電阻拉一下,感覺放心些。
正解:信號(hào)需要上下拉的原因很多,但也不是個(gè)個(gè)都要拉。上下拉電阻拉一個(gè)單純的輸入信號(hào),電流也就幾十微安以下,但拉一個(gè)被驅(qū)動(dòng)了的信號(hào),其電流將達(dá)毫安級(jí),現(xiàn)在的系統(tǒng)常常是地址數(shù)據(jù)各32位,可能還有244/245隔離后的總線及其它信號(hào),都上拉的話,幾瓦的功耗就耗在這些電阻上了(不要用8毛錢一度電的觀念來對(duì)待這幾瓦的功耗,原因往下看)。
常見錯(cuò)誤18:我們這系統(tǒng)是220V供電,就不用在乎功耗問題了。
正解:低功耗設(shè)計(jì)并不僅僅是為了省電,更多的好處在于降低了電源模塊及散熱系統(tǒng)的成本、由于電流的減小也減少了電磁輻射和熱噪聲的干擾。隨著設(shè)備溫度的降低,器件壽命則相應(yīng)延長(zhǎng)(半導(dǎo)體器件的工作溫度每提高10度,壽命則縮短一半)。功耗問題隨時(shí)都要考慮到。
常見錯(cuò)誤19:這些小芯片的功耗都很低,不用考慮。
正解:對(duì)于內(nèi)部不太復(fù)雜的芯片功耗是很難確定的,它主要由引腳上的電流確定,一個(gè)ABT16244,沒有負(fù)載的話耗電大概不到1毫安,但它的指標(biāo)是每個(gè)腳可驅(qū)動(dòng)60毫安的負(fù)載(如匹配幾十歐姆的電阻),即滿負(fù)荷的功耗最大可達(dá)60*16=960mA,當(dāng)然只是電源電流這么大,熱量都落到負(fù)載身上了。
常見錯(cuò)誤20:CPU和FPGA的這些不用的I/O口怎么處理呢?可以讓它空著,以后再說。
正解:不用的I/O口如果懸空的話,受外界的一點(diǎn)點(diǎn)干擾就可能成為反復(fù)振蕩的輸入信號(hào)了,而MOS器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。如果把它上拉的話,每個(gè)引腳也會(huì)有微安級(jí)的電流,所以最好的辦法是設(shè)成輸出(當(dāng)然外面不能接其它有驅(qū)動(dòng)的信號(hào))。
常見錯(cuò)誤21:這款FPGA還剩這么多門用不完,可盡情發(fā)揮吧。
正解:FGPA的功耗與被使用的觸發(fā)器數(shù)量及其翻轉(zhuǎn)次數(shù)成正比,所以同一型號(hào)的FPGA在不同電路不同時(shí)刻的功耗可能相差100倍。盡量減少高速翻轉(zhuǎn)的觸發(fā)器數(shù)量是降低FPGA功耗的根本方法。
常見錯(cuò)誤22:存儲(chǔ)器有這么多控制信號(hào),我這塊板子只需要用OE和WE信號(hào)就可以了,片選就接地吧,這樣讀操作時(shí)數(shù)據(jù)出來得快多了。
正解:大部分存儲(chǔ)器的功耗在片選有效時(shí)(不論OE和WE如何)將比片選無效時(shí)大100倍以上,所以應(yīng)盡可能使用CS來控制芯片,并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬度。
常見錯(cuò)誤23:降低功耗都是硬件人員的事,與軟件沒關(guān)系。
正解:硬件只是搭個(gè)舞臺(tái),唱戲的卻是軟件,總線上幾乎每一個(gè)芯片的訪問、每一個(gè)信號(hào)的翻轉(zhuǎn)差不多都由軟件控制的,如果軟件能減少外存的訪問次數(shù)(多使用寄存 器變量、多使用內(nèi)部CACHE等)、及時(shí)響應(yīng)中斷(中斷往往是低電平有效并帶有上拉電阻)及其它爭(zhēng)對(duì)具體單板的特定措施都將對(duì)降低功耗作出很大的獻(xiàn)。要想板子轉(zhuǎn)得好,硬件軟件必須兩手抓!
常見錯(cuò)誤24:這些信號(hào)怎么都有過沖???只要匹配得好,就可以消除了。
正解:除了少數(shù)特定信號(hào)外(如100BASE-T、CML),都是有過沖的,只要不是很大,并不一定都需要匹配,即使匹配也并非要匹配得最好。象TTL的輸出阻抗不到50歐姆,有的甚至20歐姆,如果也用這么大的匹配電阻的話,那電流就非常大了,功耗是無法接受的,另外信號(hào)幅度也將小得不能用,再說一般信號(hào)在輸出高電平和輸出低電平時(shí)的輸出阻抗并不相同,也辦法做到完全匹配。所以,TTL、LVDS、422等信號(hào)的匹配只要做到過沖可以接受即可。
誤區(qū)五:信號(hào)完整性
常見錯(cuò)誤25:這些信號(hào)都經(jīng)過仿真了,肯定沒問題。
正解:仿真模型不可能與實(shí)物一模一樣,連不同批次加工的實(shí)物都有差別,就更別說模型了。再說實(shí)際情況千差萬別,仿真也不可能窮舉所有可能,尤其是串?dāng)_。曾經(jīng)有一教訓(xùn)是某單板只有特定長(zhǎng)度的包極易丟包,最后的原因是長(zhǎng)度域的值是0xFF,當(dāng)這個(gè)數(shù)據(jù)出現(xiàn)在總線上時(shí),干擾了相鄰的WE信號(hào),導(dǎo)致寫不進(jìn)RAM。其它數(shù)據(jù)也會(huì)對(duì)WE產(chǎn)生干擾,但干擾在可接受的范圍內(nèi),可是當(dāng)8位總線同時(shí)由0邊1時(shí),附近的信號(hào)就招架不住了。結(jié)論是仿真結(jié)果僅供參考,還應(yīng)留有足夠的余量。
常見錯(cuò)誤26:為保證干凈的電源,去偶電容是多多益善。
正解:總的來說,去偶電容越多電源當(dāng)然會(huì)更平穩(wěn),但太多了也有不利因素:浪費(fèi)成本、布線困難、上電沖擊電流太大等。去偶電容的設(shè)計(jì)關(guān)鍵是要選對(duì)容量并且放對(duì)地方,一般的芯片手冊(cè)都有爭(zhēng)對(duì)去偶電容的設(shè)計(jì)參考,最好按手冊(cè)去做。
常見錯(cuò)誤27:既然是數(shù)字信號(hào),邊沿當(dāng)然是越陡越好。
正解:邊沿越陡,其頻譜范圍就越寬,高頻部分的能量就越大;頻率越高的信號(hào)就越容易輻射(如微波電臺(tái)可做成手機(jī),而長(zhǎng)波電臺(tái)很多國(guó)家都做不出來),也就越容易干擾別的信號(hào),而自身在導(dǎo)線上的傳輸質(zhì)量卻變得越差。所以能用低速芯片的盡量使用低速芯片。
常見錯(cuò)誤28:信號(hào)匹配真麻煩,如何才能匹配好呢?
正解:一般來說是當(dāng)信號(hào)在導(dǎo)線上的傳輸時(shí)間超過其跳變時(shí)間時(shí),信號(hào)的反射問題才顯得重要。信號(hào)產(chǎn)生反射的原因是線路阻抗的不均勻造成的,匹配的目的就是為了使驅(qū)動(dòng)端、負(fù)載端及傳輸線的阻抗變得接近,但能否匹配得好,與信號(hào)線在PCB上的拓?fù)浣Y(jié)構(gòu)也有很大關(guān)系,傳輸線上的一條分支、一個(gè)過孔、一個(gè)拐角、一個(gè)接插件、不同位置與地線距離的改變等都將使阻抗產(chǎn)生變化,而且這些因素將使反射波形變得異常復(fù)雜,很難匹配,因此高速信號(hào)僅使用點(diǎn)到點(diǎn)的方式,盡可能地減少 過孔、拐角等問題。
常見錯(cuò)誤29:100M的數(shù)據(jù)總線應(yīng)該算高頻信號(hào),至于這個(gè)時(shí)鐘信號(hào)頻率才8K,問題不大。
正解:數(shù)據(jù)總線的值一般是由控制信號(hào)或時(shí)鐘信號(hào)的某個(gè)邊沿來采樣的,只要爭(zhēng)對(duì)這個(gè)邊沿保持足夠的建立時(shí)間和保持時(shí)間即可,此范圍之外有干擾也罷過沖也罷都不會(huì)有多大影響(當(dāng)然過沖最好不要超過芯片所能承受的最大電壓值),但時(shí)鐘信號(hào)不管頻率多低(其實(shí)頻譜范圍是很寬的),它的邊沿才是最關(guān)鍵的,必須保證其單調(diào)性,并且跳變時(shí)間需在一定范圍內(nèi)。
相信很多新手工程師在設(shè)計(jì)電路時(shí)都有過上面類似的想法,轉(zhuǎn)發(fā)出去給更多的人看到!這些前人趟過的雷就不要去踩了;你還犯過哪些低級(jí)/嚴(yán)重的錯(cuò)誤?不妨分享出來大家一起探討!
特別推薦
- 低功耗藍(lán)牙賦能的太陽鏡為摩托車手提供免分心導(dǎo)航體驗(yàn)
- 【“源”察秋毫系列】柔性可穿戴電子設(shè)備材料的導(dǎo)電測(cè)試
- 羅德與施瓦茨中標(biāo)中國(guó)移動(dòng)RedCap以及Cat1bis一致性測(cè)試系統(tǒng)項(xiàng)目
- Senseair氣體傳感器“Sunlight R290”,適用于檢測(cè)高度易燃制冷劑R290
- 意法半導(dǎo)體推出靈活、節(jié)省空間的車載音頻D類放大器
- 貿(mào)澤電子即日起開售TE Connectivity BESS堆疊式混合連接器
- Vicor 發(fā)布最高密度的車規(guī)級(jí)電源模塊,支持電動(dòng)汽車實(shí)現(xiàn) 48V 電源系統(tǒng)
技術(shù)文章更多>>
- 示波器并非千篇一律:ADC 和低本底噪聲為何至關(guān)重要
- 采用IGBT5.XT技術(shù)的PrimePACK?為風(fēng)能變流器提供卓越的解決方案
- 三極管電路輸入電壓阻抗
- 晶振怎么用,你真的知道嗎?
- 如何在設(shè)計(jì)中輕松搭載GaN器件?答案內(nèi)詳~~
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
防雷
防水連接器
仿真工具
放大器
分立器件
分頻器
風(fēng)力渦輪機(jī)
風(fēng)能
風(fēng)扇
風(fēng)速風(fēng)向儀
風(fēng)揚(yáng)高科
輔助駕駛系統(tǒng)
輔助設(shè)備
負(fù)荷開關(guān)
復(fù)用器
伽利略定位
干電池
干簧繼電器
感應(yīng)開關(guān)
高頻電感
高通
高通濾波器
隔離變壓器
隔離開關(guān)
個(gè)人保健
工業(yè)電子
工業(yè)控制
工業(yè)連接器
工字型電感
功率表