0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

硬件工程師經(jīng)常犯的幾個典型錯誤

電子Online ? 來源:電子Online ? 作者:電子Online ? 2022-11-07 10:59 ? 次閱讀

完成一個項目設計,需要考慮的因素很多。對于硬件工程師來說,一不留神就會犯錯,以下總結(jié)了一些在系統(tǒng)成本、低功耗設計、信號完整性、可靠性設計上容易陷入的誤區(qū),供大家參考。

節(jié)約成本

現(xiàn)象一

這些拉高/拉低的電阻用多大的阻值關(guān)系不大,就選個整數(shù)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的整數(shù)倍)。類似地,20%精度的電容也只有以上幾種值,如果選了其它的值就必須使用更高的精度成本就翻了幾倍,卻不能帶來任何好處。

現(xiàn)象二

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

74XX的門電路只幾毛錢,而CPLD至少也得幾十塊,(GAL/PAL雖然只幾塊錢,但公司推薦使用)。成本提高了N倍不說,還給生產(chǎn)、文檔等工作增添數(shù)倍的工作。

現(xiàn)象三

我們的系統(tǒng)要求這么高,包括MEM、CPU、FPGA等所有的芯片都要選最快的

在一個高速系統(tǒng)中并不是每一部分都工作在高速狀態(tài)。而器件速度每提高一個等級,價格差不多要翻倍,另外還給信號完整性問題帶來極大的負面影響。

現(xiàn)象四

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

自動布線必然要占用更大的PCB面積,同時產(chǎn)生比手動布線多好多倍的過孔。在批量很大的產(chǎn)品中,PCB廠家降價所考慮的因素除了商務因素外,就是線寬和過孔數(shù)量,它們分別影響到PCB的成品率和鉆頭的消耗數(shù)量。節(jié)約了供應商的成本,也就給降價找到了理由。

現(xiàn)象五

程序只要穩(wěn)定就可以了,代碼長一點、效率低一點不是關(guān)鍵

CPU的速度和存儲器的空間都是用錢買來的。如果寫代碼時多花幾天時間提高一下程序效率,那么從降低CPU主頻和減少存儲器容量所節(jié)約的成本絕對是劃算的。CPLD/FPGA設計也類似。

低功耗設計

現(xiàn)象一

我們這系統(tǒng)是220V供電,就不用在乎功耗問題了

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

現(xiàn)象二

這些總線信號都用電阻拉一下,感覺放心些

信號需要上下拉的原因很多,但也不是個個都要拉。上下拉電阻拉一個單純的輸入信號,電流也就幾十微安以下。但拉一個被驅(qū)動了的信號,其電流將達毫安級?,F(xiàn)在的系統(tǒng)常常是地址數(shù)據(jù)各32位,可能還有244/245隔離后的總線及其它信號,都上拉的話,幾瓦的功耗就耗在這些電阻上了。

現(xiàn)象三

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

不用的I/O口如果懸空的話,受外界的一點點干擾就可能成為反復振蕩的輸入信號了,而MOS器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。如果把它上拉的話,每個引腳也會有微安級的電流,所以最好的辦法是設成輸出。

現(xiàn)象四

這款FPGA還剩這么多門用不完,可盡情發(fā)揮吧

FGPA的功耗與被使用的觸發(fā)器數(shù)量及其翻轉(zhuǎn)次數(shù)成正比,所以同一型號的FPGA在不同電路不同時刻的功耗可能相差100倍。盡量減少高速翻轉(zhuǎn)的觸發(fā)器數(shù)量是降低FPGA功耗的根本方法。

現(xiàn)象五

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

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

現(xiàn)象六

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

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

系統(tǒng)效率

現(xiàn)象一

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

系統(tǒng)的處理能力牽涉到多種多樣的因素,在通信業(yè)務中其瓶頸一般都在存儲器上,CPU再快,外部訪問快不起來也是徒勞。

現(xiàn)象二

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

CACHE的增大,并不一定就導致系統(tǒng)性能的提高,在某些情況下關(guān)閉CACHE反而比使用CACHE還快。原因是搬到CACHE中的數(shù)據(jù)必須得到多次 重復使用才會提高系統(tǒng)效率。所以在通信系統(tǒng)中一般只打開指令CACHE,數(shù)據(jù)CACHE即使打開也只局限在部分存儲空間,如堆棧部分。

同時也要求程序設計 要兼顧CACHE的容量及塊大小,這涉及到關(guān)鍵代碼循環(huán)體的長度及跳轉(zhuǎn)范圍,如果一個循環(huán)剛好比CACHE大那么一點點,又在反復循環(huán)的話,那就慘了。

現(xiàn)象三

這么多任務到底是用中斷還是用查詢呢?還是中斷快些吧

中斷的實時性強,但不一定快。如果中斷任務特別多的話,這個沒退出來,后面又接踵而至,一會兒系統(tǒng)就將崩潰了。如果任務數(shù)量多但很頻繁的話,CPU的很大精力都用在進出中斷的開銷上,系統(tǒng)效率極為低下。如果改用查詢方式反而可極大提高效率,但查詢有時不能滿足實時性要求。所以,最好的辦法是在中斷中查 詢,即進一次中斷就把積累的所有任務都處理完再退出。

現(xiàn)象四

存儲器接口的時序都是廠家默認的配置,不用修改的

BSP對存儲 器接口設置的默認值都是按最保守的參數(shù)設置的,在實際應用中應結(jié)合總線工作頻率和等待周期等參數(shù)進行合理調(diào)配。有時把頻率降低反而可提高效率,如RAM的存取周期是70ns,總線頻率為40M時,設3個周期的存取時間,即75ns即可;若總線頻率為50M時,必須設為4個周期,實際存取時間卻放慢到了 80ns。

現(xiàn)象五

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

對于搬磚頭來說,兩個人應該比一個人的效率高一倍;對于作畫來說,多一個人只能幫倒忙。使用幾個CPU需對業(yè)務有較多的了解后才能確定,盡量減少兩個CPU間協(xié)調(diào)的代價,使1+1盡可能接近2,千萬別小于1。

現(xiàn)象六

這個CPU帶有DMA模塊,用它來搬數(shù)據(jù)肯定快

真正的DMA是由硬件搶占總線后同時啟動兩端設備,在一個周期內(nèi)這邊讀,那邊些。但很多嵌入CPU內(nèi)的DMA只是模擬而已,啟動每一次DMA之前要做不少準備工作(設起始地址和長度等)。

在傳輸時往往是先讀到芯片內(nèi)暫存,然后再寫出去,即搬一次數(shù)據(jù)需兩個時鐘周期,比軟件來搬要快一些(不需要取指令, 沒有循環(huán)跳轉(zhuǎn)等額外工作),但如果一次只搬幾個字節(jié),還要做一堆準備工作,一般還涉及函數(shù)調(diào)用,效率并不高。所以這種DMA只對大數(shù)據(jù)塊才適用。

信號完整性

現(xiàn)象一

這些信號都經(jīng)過仿真了,絕對沒問題

仿真模型不可能與實物一模一樣,連不同批次加工的實物都有差別,就更別說模型了。再說實際情況千差萬別,仿真也不可能窮舉所有可能,尤其是串擾。其它數(shù)據(jù)也會對WE產(chǎn)生干擾,但干擾在可接受的范圍內(nèi),可是當8位總線同時由0變1時,附近的信號就招架不住了。結(jié)論是仿真結(jié)果僅供參考,還應留有足夠的余 量。

現(xiàn)象二

100M的數(shù)據(jù)總線應該算高頻信號,至于這個時鐘信號頻率才8K,問題不大

數(shù)據(jù)總線的值一般是由控制信號或時鐘信號的某個邊沿來采樣的,只要針對這個邊沿保持足夠的建立時間和保持時間即可。此范圍之外有干擾也罷過沖也罷都不會有多大影響(當然過沖最好不要超過芯片 所能承受的最大電壓值)。但時鐘信號不管頻率多低(其實頻譜范圍是很寬的),它的邊沿才是關(guān)鍵的,必須保證其單調(diào)性,并且跳變時間需在一定范圍內(nèi)。

現(xiàn)象三

既然是數(shù)字信號,邊沿當然是越陡越好

邊沿越陡,其頻譜范圍就越寬,高頻部分的能量就越大;頻率越高的信號就越容易輻射,也就越容易干擾別的信號,而自身在導線上的傳輸質(zhì)量卻變得越差,因此能用低速芯片的盡量使用低速芯片。

現(xiàn)象四

為保證干凈的電源,去偶電容是多多益善

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

現(xiàn)象五

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

總的原則是當信號在導線上的傳輸時間超過其跳變時間時,信號的反射問題才顯得重要。信號產(chǎn)生反射的原因是線路阻抗的不均勻造成的,匹配的目的就是為了 使驅(qū)動端、負載端及傳輸線的阻抗變得接近。

但能否匹配得好,與信號線在PCB上的拓撲結(jié)構(gòu)也有很大關(guān)系,傳輸線上的一條分支、一個過孔、一個拐角、一個接 插件、不同位置與地線距離的改變等都將使阻抗產(chǎn)生變化,而且這些因素將使反射波形變得異常復雜,很難匹配。因此,高速信號僅使用點到點的方式,盡可能地減少 過孔、拐角等問題。

可靠性設計

現(xiàn)象一

這塊單板已小批量生產(chǎn)了,經(jīng)過長時間測試沒發(fā)現(xiàn)任何問題

硬件設計和芯片應 用必須符合相關(guān)規(guī)范,尤其是芯片手冊中提到的所有參數(shù)(耐壓、I/O電平范圍、電流、時序、溫度PCB布線、電源質(zhì)量等),不能光靠試驗來驗證。

公司有不少產(chǎn)品都有過慘痛的教訓,產(chǎn)品賣了一兩年,IC廠家換了個生產(chǎn)線,咱們的板子就不轉(zhuǎn)了,原因就是人家的芯片參數(shù)發(fā)生了點變化,但并沒有超出手冊的范圍。如果你以手冊為準,那他怎么變化都不怕,如果參數(shù)變得超出手冊范圍了還可找他索賠(假如這時你的板子還能轉(zhuǎn),那你的可靠性就更牛了)。

現(xiàn)象二

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

硬件上很多電氣特性直接受軟件控制,但軟件是經(jīng)常發(fā)生意外的,程序跑飛了之后無法預料會有什么操作。設計者應確保不論軟件做什么樣的操作硬件都不應在短時間內(nèi)發(fā)生永久性損壞。

現(xiàn)象三

用戶操作錯誤發(fā)生問題就不能怪我了

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

現(xiàn)象四

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

對于各種對外的硬件接口應有足夠的兼容性,不能因為對方信號不正常,你就歇著了。它不正常只應影響到與其有關(guān)的那部分功能,而其它功能應能正常工作,不應徹底罷工,甚至永久損壞,而且一旦接口恢復,你也應立即恢復正常。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163095
  • 精度
    +關(guān)注

    關(guān)注

    0

    文章

    256

    瀏覽量

    19940
  • 硬件工程師
    +關(guān)注

    關(guān)注

    175

    文章

    354

    瀏覽量

    74870

原文標題:硬件工程師經(jīng)常犯的幾個典型錯誤,給大家整理后貼出來了

文章出處:【微信號:電子Online,微信公眾號:電子Online】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    找STM32硬件開發(fā)兼職工程師

    上海做傳感器的公司,找STM32硬件開發(fā)兼職工程師,會硬件開發(fā),嵌入式軟件開發(fā),可項目外包。有意聯(lián)系:15900460170
    發(fā)表于 06-22 19:12

    嵌入式軟件工程師硬件工程師的區(qū)別?

    嵌入式軟件工程師硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的一種專業(yè)工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    如何入門硬件工程師

    想跨行業(yè)做硬件設計工程師,應該如何學習規(guī)劃呢
    發(fā)表于 03-17 21:49

    一位硬件工程師的歷練之路:從入門學習理論到... #搞笑 #硬件工程師 #電子工程師 #揚興科技

    硬件工程師揚興科技
    揚興科技
    發(fā)布于 :2024年03月13日 17:50:21

    企業(yè)老工程師和高校老師有啥區(qū)別

    電子工程師硬件
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年02月28日 17:50:00

    如何搞崩一個硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚興科技
    發(fā)布于 :2024年02月20日 18:05:49

    硬件工程師面試時最常被問到的8個問題,看看你能答對幾個

    晶振硬件工程師
    揚興科技
    發(fā)布于 :2023年12月08日 18:21:15

    硬件工程師必備的音頻功放電路大全

    硬件工程師必備的音頻功放電路大全
    的頭像 發(fā)表于 12-07 17:25 ?999次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>工程師</b>必備的音頻功放電路大全

    硬件工程師經(jīng)典面試題詳解

    硬件工程師經(jīng)典面試題詳解
    的頭像 發(fā)表于 11-20 15:08 ?1168次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>工程師</b>經(jīng)典面試題詳解

    ?硬件工程師就業(yè)前景和未來發(fā)展方向

    大家好,我是硬件花園,一名樂于分享的硬件工程師。關(guān)注我,了解更多精彩內(nèi)容! 硬件工程師的就業(yè)前景和發(fā)展方向有很多,以下是我整理出來的一些常見
    的頭像 發(fā)表于 10-20 08:43 ?3206次閱讀