您當前的位置:首頁 > 收藏

電子工程師常犯錯誤大集錦,有你嗎?

作者:由 安信可科技 發表于 收藏時間:2018-12-20

電子工程師

指從事各類電子裝置和資訊系統研究、教學、產品設計、科技開發、生產和管理等工作的高階工程技術人才。一般分為硬體工程師和軟體工程師。

硬體工程師

:主要負責電路分析、設計;並以電腦軟體為工具進行PCB設計,待工廠PCB製作完畢並且焊接好電子元件之後進行測試、除錯;

軟體工程師

:主要負責微控制器、DSP、ARM、FPGA等嵌入式程式的編寫及除錯。FPGA程式有時屬硬體工程師工作範疇。

是人就會犯錯,何況是工程師呢?雖然斗轉星移,工程師們卻經常犯同樣的錯誤!下面,就請各位對號入座,看看自己有沒有中招。

這些拉高/拉低的電阻用多大的阻值關係不大,就選個整數5K吧。

點評:市場上不存在5K的阻值,最接近的是 4。99K(精度1%),其次是5。1K(精度5%),其成本分別比精度為20%的4。7K高4倍和2倍。20%精度的電阻阻值只有1、1。5、2。2、 3。3、4。7、6。8幾個類別(含10的整數倍);類似地,20%精度的電容也只有以上幾種值,如果選了其它的值就必須使用更高的精度,成本就翻了幾 倍,卻不能帶來任何好處。

這部分電路只要要求軟體這樣設計就不會有問題。

點評:硬體上很多電氣特性直接受軟體控制,但軟體是經常發生意外的,程式跑飛了之後無法預料會有什麼操作。設計者應確保不論軟體做什麼樣的操作硬體都不應在短時間內發生永久性損壞。

這點邏輯用74XX的閘電路搭也行,但太土,還是用CPLD吧,顯得高檔多了。

點評:74XX的閘電路只幾毛錢,而CPLD至少也得幾十塊。成本提高了N倍不說,還給生產、文件等工作增添數倍的工作。

這板子的PCB設計要求不高,就用細一點的線,自動布吧。

點評:自動佈線必然要佔用更大的PCB面積,同時產生比手動佈線多好多倍的過孔,在批次很大的產品中,PCB廠家降價所考慮的因素除了商務因素外,就是線寬和過孔數量,它們分別影響到PCB的成品率和鑽頭的消耗數量,節約了供應商的成本,也就給降價找到了理由。

我們這系統是220V供電,就不用在乎功耗問題了。

點評:低功耗設計並不僅僅是為了省電,更多的好處在於降低了電源模組及散熱系統的成本、由於電流的減小也減少了電磁輻射和熱噪聲的干擾。隨著裝置溫度的降低,器件壽命則相應延長(半導體器件的工作溫度每提高10度,壽命則縮短一半)

這些匯流排訊號都用電阻拉一下,感覺放心些。

點評:訊號需要上下拉的原因很多,但也不是個個都要拉。上下拉電阻拉一個單純的輸入訊號,電流也就幾十微安以下,但拉一個被驅動了的訊號,其電流將達毫安 級,現在的系統常常是地址資料各32位,可能還有244/245隔離後的匯流排及其它訊號,都上拉的話,幾瓦的功耗就耗在這些電阻上了(不要用8毛錢一度電 的觀念來對待這幾瓦的功耗)。

CPU和FPGA的這些不用的I/O口怎麼處理呢?先讓它空著吧,以後再說。

點評:不用的I/O口如果懸空的話,受外界的一點點干擾就可能成為反覆振盪的輸入訊號了,而MOS器件的功耗基本取決於閘電路的翻轉次數。如果把它上拉的話,每個引腳也會有微安級的電流,所以最好的辦法是設成輸出(當然外面不能接其它有驅動的訊號)

這款FPGA還剩這麼多門用不完,可盡情發揮吧。

點評:FGPA的功耗與被使用的觸發器數量及其翻轉次數成正比,所以同一型號的FPGA在不同電路不同時刻的功耗可能相差100倍。儘量減少高速翻轉的觸發器數量是降低FPGA功耗的根本方法。

這些小晶片的功耗都很低,不用考慮。

點評:對於內部不太複雜的晶片功耗是很難確定的,它主要由引腳上的電流確定,一個ABT16244,沒有負載的話耗電大概不到1毫安,但它的指標是每個腳可 驅動60毫安的負載(如匹配幾十歐姆的電阻),即滿負荷的功耗最大可達60*16=960mA,當然只是電源電流這麼大,熱量都落到負載身上了。

儲存器有這麼多控制訊號,我這塊板子只需要用OE和WE訊號就可以了,片選就接地吧,這樣讀操作時資料出來得快多了。

點評:大部分儲存器的功耗在片選有效時(不論OE和WE如何)將比片選無效時大100倍以上,所以應儘可能使用CS來控制晶片,並且在滿足其它要求的情況下儘可能縮短片選脈衝的寬度。

這些訊號怎麼都有過沖啊?只要匹配得好,就可消除了。

點評:除了少數特定訊號外(如100BASE-T、CML),都是有過沖的,只要不是很大,並不一定都需要匹配,即使匹配也並非要匹配得最好。象TTL的輸 出阻抗不到50歐姆,有的甚至20歐姆,如果也用這麼大的匹配電阻的話,那電流就非常大了,功耗是無法接受的,另外訊號幅度也將小得不能用,再說一般訊號 在輸出高電平和輸出低電平時的輸出阻抗並不相同,也辦法做到完全匹配。所以,TTL、LVDS、422等訊號的匹配只要做到過沖可以接受即可。

降低功耗都是硬體人員的事,與軟體沒關係。

點評:硬體只是搭個舞臺,唱戲的卻是軟體,總線上幾乎每一個晶片的訪問、每一個訊號的翻轉差不多都由軟體控制的,如果軟體能減少外存的訪問次數(多使用寄存 器變數、多使用內部CACHE等)、及時響應中斷(中斷往往是低電平有效並帶有上拉電阻)及其它爭對具體單板的特定措施都將對降低功耗作出很大的獻。

這主頻100M的CPU只能處理70%,換200M主頻的就沒事了。

點評:系統的處理能力牽涉到多種多樣的因素,在通訊業務中其瓶頸一般都在儲存器上,CPU再快,外部訪問快不起來也是徒勞。

CPU用大一點的CACHE,就應該快了。

點 評:CACHE的增大,並不一定就導致系統性能的提高,在某些情況下關閉CACHE反而比使用CACHE還快。原因是搬到CACHE中的資料必須得到多次 重複使用才會提高系統效率。所以在通訊系統中一般只打開指令CACHE,資料CACHE即使開啟也只侷限在部分儲存空間,如堆疊部分。同時也要求程式設計 要兼顧CACHE的容量及塊大小,這涉及到關鍵程式碼迴圈體的長度及跳轉範圍,如果一個迴圈剛好比CACHE大那麼一點點,又在反覆迴圈的話,那就慘了。

一個CPU處理不過來,就用兩個分佈處理,處理能力可提高一倍。

點評:對於搬磚頭來說,兩個人應該比一個人的效率高一倍;對於作畫來說,多一個人只能幫倒忙。使用幾個CPU需對業務有較多的瞭解後才能確定,儘量減少兩個CPU間協調的代價,使1+1儘可能接近2,千萬別小於1。

這個CPU帶有DMA模組,用它來搬資料肯定快。

點評:真正的DMA是由硬體搶佔匯流排後同時啟動兩端裝置,在一個週期內這邊讀,那邊些。但很多嵌入CPU內的DMA只是模擬而已,啟動每一次DMA之前要做 不少準備工作(設起始地址和長度等),在傳輸時往往是先讀到晶片內暫存,然後再寫出去,即搬一次資料需兩個時鐘週期,比軟體來搬要快一些(不需要取指令, 沒有迴圈跳轉等額外工作),但如果一次只搬幾個位元組,還要做一堆準備工作,一般還涉及函式呼叫,效率並不高。所以這種DMA只對大資料塊才適用。

為保證乾淨的電源,去偶電容是多多益善。

點評:總的來說去偶電容越多電源當然會更平穩,但太多了也有不利因素:浪費成本、佈線困難、上電衝擊電流太大等。去偶電容的設計關鍵是要選對容量並且放對地方,一般的晶片手冊都有爭對去偶電容的設計參考,最好按手冊去做。

  訊號匹配真麻煩,如何才能匹配好呢?

點 評:訊號產生反射的原因是線路阻抗的不均勻造成的,匹配的目的就是為了 使驅動端、負載端及傳輸線的阻抗變得接近,但能否匹配得好,與訊號線在PCB上的拓撲結構也有很大關係,傳輸線上的一條分支、一個過孔、一個拐角、一個接 外掛、不同位置與地線距離的改變等都將使阻抗產生變化,而且這些因素將使反射波形變得異常複雜,很難匹配,因此高速訊號僅使用點到點的方式,儘可能地減少 過孔、拐角等問題。

使用者操作錯誤發生問題就不能怪我了。

點評:要求使用者嚴格按手冊操作是沒錯的,但使用者是人,就有犯錯的時候,不能說碰錯一個鍵就宕機,插錯一個插頭就燒板子。所以對使用者可能犯的各種錯誤必須加以保護。

這板子壞的原因是對端的板子出問題了,也不是我的責任。

點評:對於各種對外的硬體介面應有足夠的相容性,不能因為對方訊號不正常,你就歇著了。它不正常只應影響到與其有關的那部分功能,而其它功能應能正常工作,不應徹底罷工,甚至永久損壞,而且一旦介面恢復,你也應立即恢復正常。

我們的系統要求這麼高,包括MEM、CPU、FPGA等所有的晶片都要選最快的。

點評:在一個高速系統中並不是每一部分都工作在高速狀態,而器件速度每提高一個等級,價格差不多要翻倍,另外還給訊號完整性問題帶來極大的負面影響。

最後講一下電容小知識,也是工程師容易犯錯誤的。

為什麼兩個電容並聯:

一是:同種型別的電容並聯作用主要是擴容;

二是:不同種類型的電容並聯一般是一個感性強、一個感性弱。

小容量電容高頻訊號易透過,大容量電容低頻訊號易透過。大電容在低頻時能提供好的通路,而在高頻時由於其寄生電感的存在阻抗將變大而無法提供濾波通路,所以大電容不能濾高頻,而小電容在低頻時阻抗太大而無法提供濾波通路,所以不能共同一電容濾高頻和低頻。

電容並聯的好處:在於增大容值,減小容抗。並聯數量越多,效果越明顯,不過成本就越高。 電解是用來濾低頻,陶瓷是用來濾高頻的。此外,電解有漏電電流,所以後面在接陶瓷來消除漏電流的。

在開關電源中,兩個電容並聯的作用為電容大的那個是用來濾波的,小的那個電容是用來消除大的電容在高頻時產生的感性特性的!

電容的作用(四類常見)

1、濾波作用:在電源電路中,整流電路將交流變成脈動的直流,而在整流電路之後接入一個較大容量的電解電容,利用其充放電特性,使整流後的脈動直流電壓變成相對比較穩定的直流電壓。

2、耦合作用:在低頻訊號的傳遞與放大過程中,為防止前後兩級電路的靜態工作點相互影響,常採用電容藕合。為了防止訊號中韻低頻分量損失過大,一般總採用容量較大的電解電容。

3、退耦電容:並接於放大電路的電源正負極之間,防止由電源內阻形成的正反 饋而引起的寄生振盪。

4、旁路電容:在交直流訊號的電路中,將電容並接在電阻兩端或由電路的某點跨接到公共電位上,為交流訊號或脈衝訊號設定一條通路,避免交流訊號成分因透過電阻產生壓降衰減。

本文轉載自愛板網,轉載的目的在於傳遞更多知識,如有侵權請於30日內聯絡我們刪除,尊重原創!

電子工程師常犯錯誤大集錦,有你嗎?

標簽: 電容  訊號  點評  功耗  CPU