資料介紹
不要以為“永遠在改bug”的程序猿是最愛“犯錯誤”的理工男,電子攻城獅也不例外!關鍵是很多時候,工程師并不覺得自己在犯錯誤,反而以為自己找到了更好的解決方式而竊喜呢。
不過,面對林林總總的元器件和復雜的電路圖,工程師們不時出現(xiàn)的小錯誤是難免的,而且說不定就從哪次錯誤中發(fā)現(xiàn)了“新大陸”,那你就成為科技革命的先驅了!
但是對于資歷尚淺的新手工程師來說,這些過來人的經(jīng)驗可能會對你大有裨益,這些前人趟過的雷你就不要再去踩了,快來看看這29個錯誤你有沒有犯過?
誤區(qū)一、成本節(jié)約
常見錯誤1:面板上的指示燈選什么顏色呢?我個人比較喜歡藍色,就選它吧
正解:對于市面上的指示燈,紅綠黃橙等顏色的,不管大小(5MM以下)、封裝如何,都已成熟了幾十年,所以價格便宜一般都在5毛錢以下。而藍色指示燈卻是近三四年才發(fā)明出來的,技術成熟度和供貨穩(wěn)定度都較差,所以價格要貴出四五倍。如果你設計的面板堆指示燈顏色沒有特殊要求,就不要選藍色了。目前藍色指示燈一般只用在不能用其它顏色替代的場合,如顯示視頻信號等。
常見錯誤2:這些拉低 / 拉高的電阻,用多大的阻值好像都沒太大關系,就選個整數(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%精度的電容也一樣只有以上幾種容值。對于電阻和電容來說,如果選了這幾種之外的其它的值,就必須使用更高的精度,成本就翻了幾倍,如果對精度的要求并不大,這樣做是成本上的浪費。
常見錯誤3:這點邏輯用74XX的門電路搭也行,但太土,還是用CPLD吧,顯得高檔多了
正解:74XX的門電路只幾毛錢,而CPLD至少也得幾十塊(GAL/PAL雖然只幾塊錢,但不推薦使用),成本提高了很多倍不說,還給生產(chǎn)、文檔等工作增添數(shù)倍的工作。在不影響性能的前提下,使用性價比更高的74XX顯然更合適。
常見錯誤4:這板子的PCB設計要求不高,就用細一點的線,自動布吧
正解:自動布線必然要占用更大的PCB面積,同時產(chǎn)生比手動布線多好多倍的過孔,在批量很大的產(chǎn)品中,PCB廠家在定價方面,線寬、過孔數(shù)量是重要的考量因素,它們分別影響到PCB的成品率和鉆頭的消耗數(shù)量,此外PCB板的面積也是影響價格的一方面。所以自動布線勢必會增加線路板的生產(chǎn)成本。
常見錯誤5:我們的系統(tǒng)要求這么高,包括MEM、CPU、FPGA等所有的芯片都要選最快的
正解:在一個高速系統(tǒng)中并不是每一部分都工作在高速狀態(tài),而器件速度每提高一個等級,價格差不多要翻倍,另外還給信號完整性問題帶來極大的負面影響。所以,在選擇芯片時,要根據(jù)不同部分器件的使用程度來考量,而不是都用最快的。
常見錯誤6:程序只要穩(wěn)定就可以了,代碼長一點、效率低一點不是關鍵
正解:CPU的速度和存儲器的空間都是用錢買來的,如果寫代碼時多花幾天時間提高一下程序效率,那么從降低CPU主頻和減少存儲器容量所節(jié)約的成本絕對是劃算的。CPLD/FPGA設計也類似。
誤區(qū)二:可靠性設計
常見錯誤7:這塊單板已小批量生產(chǎn)了,經(jīng)過長時間測試沒發(fā)現(xiàn)任何問題,不用再看芯片手冊了
正解:硬件設計和芯片應用必須符合相關規(guī)范,尤其是芯片手冊中提到的所有參數(shù)(耐壓、I/O電平范圍、電流、時序、溫度PCB布線、電源質量等)必須嚴格遵循設定,不能光靠試驗來驗證。很多公司有不少產(chǎn)品都有過慘痛的教訓,產(chǎn)品賣了一兩年,IC廠家換了個生產(chǎn)線,板子就不轉了,原因就是人家的芯片參數(shù)發(fā)生了點變化,但并沒有超出手冊的范圍。如果你以手冊為準,那他怎么變化都不怕,如果參數(shù)變得超出手冊范圍了還可找他索賠(假如這時你的板子還能轉,那你的可靠性就更牛了
常見錯誤8:用戶操作錯誤發(fā)生問題就不能怪我了
正解:要求用戶嚴格按手冊操作是沒錯的,但用戶是人,就有犯錯的時候,不能說碰錯一個鍵就死機,插錯一個插頭就燒板子。所以對用戶可能犯的各種錯誤必須提前預測到并加以保護。
常見錯誤9:這板子壞的原因是對端的板子出問題了,也不是我的責任
正解:對于各種對外的硬件接口應有足夠的兼容性,不能因為對方信號不正常,你就徹底罷工了。它不正常只應影響到與其有關的那部分功能,而其它功能應能正常工作,不應徹底罷工,甚至永久損壞,而且一旦接口恢復,你也應立即恢復正常。
常見錯誤10:這部分電路只要要求軟件這樣設計就不會有問題
正解:硬件上很多器件特性直接受軟件控制,但軟件是經(jīng)常出現(xiàn)bug的,程序跑飛了之后無法預料會有什么操作。設計者應確保不論軟件做什么樣的操作硬件都不應在短時間內(nèi)發(fā)生永久性損壞。
誤區(qū)三:系統(tǒng)效率
常見錯誤11:這么多任務到底是用中斷還是用查詢呢?還是中斷快些吧
正解:中斷的實時性強,但不一定快。如果中斷任務特別多的話,這個沒退出來,后面又接踵而至,一會兒系統(tǒng)就將崩潰了。如果任務數(shù)量多但很頻繁的話,CPU的很大精力都用在進出中斷的開銷上,系統(tǒng)效率極為低下,如果改用查詢方式反而可極大提高效率,但查詢有時不能滿足實時性要求,所以最好的辦法是在中斷中查詢,即進一次中斷就把積累的所有任務都處理完再退出。
常見錯誤12:這主頻100M的CPU只能處理70%,換200M主頻的就沒事了
正解:系統(tǒng)的處理能力牽涉到多種多樣的因素,在通信業(yè)務中其瓶頸一般都在存儲器上,CPU再快,外部訪問快不起來也是徒勞。
常見錯誤13:CPU用大一點的CACHE,就應該快了
正解:CACHE的增大,并不一定就導致系統(tǒng)性能的提高,在某些情況下關閉CACHE反而比使用CACHE還快。其原因是搬到CACHE中的數(shù)據(jù)必須得到多次重復使用才會提高系統(tǒng)效率。所以在通信系統(tǒng)中一般只打開指令CACHE,數(shù)據(jù)CACHE即使打開也只局限在部分存儲空間,如堆棧部分。同時也要求程序設計要兼顧CACHE的容量及塊大小,這涉及到關鍵代碼循環(huán)體的長度及跳轉范圍,如果一個循環(huán)剛好比CACHE大那么一點點,又在反復循環(huán)的話,那就麻煩了。
常見錯誤14:存儲器接口的時序都是廠家默認的配置,不用修改的
正解:BSP對存儲器接口設置的默認值都是按最保守的參數(shù)設置的,在實際應用中應結合總線工作頻率和等待周期等參數(shù)進行合理調(diào)配。有時把頻率降低反而可提高效率,如RAM的 存取周期是70ns,總線頻率為40M時,設3個周期的存取時間,即75ns即可;若總線頻率為50M時,必須設為4個周期,實際存取時間卻放慢到了80ns。
常見錯誤15:這個CPU帶有DMA模塊,用它來搬數(shù)據(jù)肯定快
正解:真正的DMA是由硬件搶占總線后同時啟動兩端設備,在一個周期內(nèi)這邊讀、那邊些。但是很多嵌入CPU內(nèi)的DMA只是模擬而已,啟動每一次DMA之前要做很多準備工作(設起始地址和長度等),在傳輸時往往是先讀到芯片內(nèi)暫存,然后再寫出去,即搬一次數(shù)據(jù)需兩個時鐘周期,比軟件來搬要快一些(不需要取指令, 沒有循環(huán)跳轉等額外工作),但如果一次只搬幾個字節(jié),還要做一堆準備工作,一般還涉及函數(shù)調(diào)用,效率并不高。所以這種DMA只對大數(shù)據(jù)塊才適用,不要盲目使用。
常見錯誤16:一個CPU處理不過來,就用兩個分布處理,處理能力可提高一倍
正解:對于搬磚頭來說,兩個人應該比一個人的效率高一倍;對于作畫來說,多一個人只能幫倒忙。使用幾個CPU需對業(yè)務有較多的了解后才能確定,也就說要盡量減少兩個CPU間協(xié)調(diào)的代價,使1+1盡可能接近2,千萬別小于1。
誤區(qū)四:低功耗設計
常見錯誤17:這些總線信號都用電阻拉一下,感覺放心些
正解:信號需要上下拉的原因很多,但也不是個個都要拉。上下拉電阻拉一個單純的輸入信號,電流也就幾十微安以下,但拉一個被驅動了的信號,其電流將達毫安級,現(xiàn)在的系統(tǒng)常常是地址數(shù)據(jù)各32位,可能還有244/245隔離后的總線及其它信號,都上拉的話,幾瓦的功耗就耗在這些電阻上了(不要用8毛錢一度電的觀念來對待這幾瓦的功耗,原因往下看
常見錯誤18:我們這系統(tǒng)是220V供電,就不用在乎功耗問題了
正解:低功耗設計并不僅僅是為了省電,更多的好處在于降低了電源模塊及散熱系統(tǒng)的成本、由于電流的減小也減少了電磁輻射和熱噪聲的干擾。隨著設備溫度的降低,器件壽命則相應延長(半導體器件的工作溫度每提高10度,壽命則縮短一半功耗問題隨時都要考慮到。
常見錯誤19:這些小芯片的功耗都很低,不用考慮
正解:對于內(nèi)部不太復雜的芯片功耗是很難確定的,它主要由引腳上的電流確定,一個ABT16244,沒有負載的話耗電大概不到1毫安,但它的指標是每個腳可驅動60毫安的負載(如匹配幾十歐姆的電阻),即滿負荷的功耗最大可達60*16=960mA,當然只是電源電流這么大,熱量都落到負載身上了。
常見錯誤20:CPU和FPGA的這些不用的I/O口怎么處理呢?可以讓它空著,以后再說
正解:不用的I/O口如果懸空的話,受外界的一點點干擾就可能成為反復振蕩的輸入信號了,而MOS器件的功耗基本取決于門電路的翻轉次數(shù)。如果把它上拉的話,每個引腳也會有微安級的電流,所以最好的辦法是設成輸出(當然外面不能接其它有驅動的信號)
常見錯誤21:這款FPGA還剩這么多門用不完,可盡情發(fā)揮吧
正解:FGPA的功耗與被使用的觸發(fā)器數(shù)量及其翻轉次數(shù)成正比,所以同一型號的FPGA在不同電路不同時刻的功耗可能相差100倍。盡量減少高速翻轉的觸發(fā)器數(shù)量是降低FPGA功耗的根本方法。
常見錯誤22:存儲器有這么多控制信號,我這塊板子只需要用OE和WE信號就可以了,片選就接地吧,這樣讀操作時數(shù)據(jù)出來得快多了
正解:大部分存儲器的功耗在片選有效時(不論OE和WE如何)將比片選無效時大100倍以上,所以應盡可能使用CS來控制芯片,并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬度。
常見錯誤23:降低功耗都是硬件人員的事,與軟件沒關系
正解:硬件只是搭個舞臺,唱戲的卻是軟件,總線上幾乎每一個芯片的訪問、每一個信號的翻轉差不多都由軟件控制的,如果軟件能減少外存的訪問次數(shù)(多使用寄存 器變量、多使用內(nèi)部CACHE等)、及時響應中斷(中斷往往是低電平有效并帶有上拉電阻)及其它爭對具體單板的特定措施都將對降低功耗作出很大的獻。要想板子轉得好,硬件軟件必須兩手抓!
常見錯誤24:這些信號怎么都有過沖啊?只要匹配得好,就可以消除了
正解:除了少數(shù)特定信號外(如100BASE-T、CML),都是有過沖的,只要不是很大,并不一定都需要匹配,即使匹配也并非要匹配得最好。象TTL的輸出阻抗不到50歐姆,有的甚至20歐姆,如果也用這么大的匹配電阻的話,那電流就非常大了,功耗是無法接受的,另外信號幅度也將小得不能用,再說一般信號在輸出高電平和輸出低電平時的輸出阻抗并不相同,也辦法做到完全匹配。所以,TTL、LVDS、422等信號的匹配只要做到過沖可以接受即可。
誤區(qū)五:信號完整性
常見錯誤25:這些信號都經(jīng)過仿真了,肯定沒問題
正解:仿真模型不可能與實物一模一樣,連不同批次加工的實物都有差別,就更別說模型了。再說實際情況千差萬別,仿真也不可能窮舉所有可能,尤其是串擾。曾經(jīng)有一教訓是某單板只有特定長度的包極易丟包,最后的原因是長度域的值是0xFF,當這個數(shù)據(jù)出現(xiàn)在總線上時,干擾了相鄰的WE信號,導致寫不進RAM。其它數(shù)據(jù)也會對WE產(chǎn)生干擾,但干擾在可接受的范圍內(nèi),可是當8位總線同時由0邊1時,附近的信號就招架不住了。結論是仿真結果僅供參考,還應留有足夠的余量。
常見錯誤26:為保證干凈的電源,去偶電容是多多益善
正解:總的來說,去偶電容越多電源當然會更平穩(wěn),但太多了也有不利因素:浪費成本、布線困難、上電沖擊電流太大等。去偶電容的設計關鍵是要選對容量并且放對地方,一般的芯片手冊都有爭對去偶電容的設計參考,最好按手冊去做。
常見錯誤27:既然是數(shù)字信號,邊沿當然是越陡越好
正解:邊沿越陡,其頻譜范圍就越寬,高頻部分的能量就越大;頻率越高的信號就越容易輻射(如微波電臺可做成手機,而長波電臺很多國家都做不出來),也就越容易干擾別的信號,而自身在導線上的傳輸質量卻變得越差。所以能用低速芯片的盡量使用低速芯片。
常見錯誤28:信號匹配真麻煩,如何才能匹配好呢?
正解:一般來說是當信號在導線上的傳輸時間超過其跳變時間時,信號的反射問題才顯得重要。信號產(chǎn)生反射的原因是線路阻抗的不均勻造成的,匹配的目的就是為了使驅動端、負載端及傳輸線的阻抗變得接近,但能否匹配得好,與信號線在PCB上的拓撲結構也有很大關系,傳輸線上的一條分支、一個過孔、一個拐角、一個接插件、不同位置與地線距離的改變等都將使阻抗產(chǎn)生變化,而且這些因素將使反射波形變得異常復雜,很難匹配,因此高速信號僅使用點到點的方式,盡可能地減少 過孔、拐角等問題。
常見錯誤29:100M的數(shù)據(jù)總線應該算高頻信號,至于這個時鐘信號頻率才8K,問題不大
正解:數(shù)據(jù)總線的值一般是由控制信號或時鐘信號的某個邊沿來采樣的,只要爭對這個邊沿保持足夠的建立時間和保持時間即可,此范圍之外有干擾也罷,過沖也罷,都不會有多大影響(當然過沖最好不要超過芯片所能承受的最大電壓值),但時鐘信號不管頻率多低(其實頻譜范圍是很寬的),它的邊沿才是最關鍵的,必須保證其單調(diào)性,并且跳變時間需在一定范圍內(nèi)。
- 自學電子工程師入門資料 0次下載
- 99%的電子工程師掉進過這29個坑
- pcb工程師網(wǎng)名大全
- pcb工程師
- pcb軟件工程師
- pcb工程師可以自學嘛
- 華為硬件工程師手冊電子版下載 0次下載
- 面向工程師和科學家的MATLAB簡介電子版 0次下載
- 高級PCB工程師要會些什么?資料下載
- 多種電子工程師實用工具大全 139次下載
- 實用電氣工程師手冊(上冊) 0次下載
- 實用電氣工程師手冊(下冊) 0次下載
- 一文看懂電子工程師必備的關鍵技能 54次下載
- 電子元件查詢軟件--電子工程師助手 335次下載
- 電子工程師指南 0次下載
- 電子工程師常用的公式及算法 3532次閱讀
- 電子工程師關注的傳感器技術趨勢 708次閱讀
- 電子工程師注意看 你PCB板就是這樣被抄的 2597次閱讀
- 什么是電氣工程師到底是做什么的 5.8w次閱讀
- 硬件工程師設計100道問答分享 2.7w次閱讀
- 什么是FPGA工程師的核心競爭力 3622次閱讀
- 電子工程師應該要如何解決知識遺忘率的問題 3554次閱讀
- 如何閱讀Datasheet,是作為電子工程師的必備技能! 7836次閱讀
- 電子工程師常犯的20個錯誤,你搞錯哪些? 3687次閱讀
- 電子工程師們都在用哪些APP? 4.9w次閱讀
- 電子工程師必備的八大技能 1w次閱讀
- 電子工程師必備10大免費DIY工具(六):DraftSight、eDrawings 1w次閱讀
- 電子工程師必備10大免費DIY工具(五):DesignSpark PCB、gplEDA 1.3w次閱讀
- 電子工程師必備10大免費DIY工具(四):CoolSpice、TinyCAD 1.1w次閱讀
- 數(shù)字工程師與EMC的糾葛 884次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多