電路設(shè)計并不是想當(dāng)然,你腦子一拍就可以設(shè)計出來,有沒有經(jīng)驗設(shè)計出來的東西是相差千里。今天我們來看看電子工程師會出現(xiàn)的下面的幾個誤區(qū),你是不是也這樣想的。
誤區(qū)一: 這板子的PCB 設(shè)計要求不高,就用細(xì)一點的線,自動布吧。
點評:自動布線必然要占用更大的PCB 面積,同時產(chǎn)生比手動布線多好多倍的過孔,在批量很大的產(chǎn)品中,PCB 廠家降價所考慮的因素除了商務(wù)因素外,就是線寬和過孔數(shù)量,它們分別影響到PCB 的成品率和鉆頭的消耗數(shù)量,節(jié)約了供應(yīng)商的成本,也就給降價找到了理由。
點評:信號需要上下拉的原因很多,但也不是個個都要拉。上下拉電阻拉一個單純的輸入信號,電流也就幾十微安以下,但拉一個被驅(qū)動了的信號,其電流將達(dá)毫安級,現(xiàn)在的系統(tǒng)常常是地址數(shù)據(jù)各32位,可能還有244/245 隔離后的總線及其它信號,都上拉的話,幾瓦的功耗就耗在這些電阻上了。
誤區(qū)三: CPU 和FPGA的這些不用的I/O 口怎么處理呢?先讓它空著吧,以后再說。點評:不用的I/O 口如果懸空的話,受外界的一點點干擾就可能成為反復(fù)振蕩的輸入信號了,而MOS 器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。 如果把它上拉的話,每個引腳也會有微安級的電流,所以最好的辦法是設(shè)成輸出(當(dāng)然外面不能接其它有驅(qū)動的信號)。
誤區(qū)四: 這款FPGA還剩這么多門用不完,可盡情發(fā)揮吧。
點評:FGPA的功耗與被使用的觸發(fā)器數(shù)量及其翻轉(zhuǎn)次數(shù)成正比,所以同一型號的FPGA在不同電路不同時刻的功耗可能相差100 倍。盡量減少高速翻轉(zhuǎn)的觸發(fā)器數(shù)量是降低FPGA功耗的根本方法。
誤區(qū)五: 這些小芯片的功耗都很低,不用考慮。
點評:對于內(nèi)部不太復(fù)雜的芯片功耗是很難確定的,它主要由引腳上的電流確定,一個ABT16244,沒有負(fù)載的話耗電大概不到1毫安,但它的指標(biāo)是每個腳可驅(qū)動60毫安的負(fù)載(如匹配幾十歐姆的電阻),即滿負(fù)荷的功耗最大可達(dá)60*16=960mA ,當(dāng)然只是電源電流這么大,熱量都落到負(fù)載身上了。
誤區(qū)六: 存儲器有這么多控制信號,我這塊板子只需要用OE和WE信號就可以了,片選就接地吧,這樣讀操作時數(shù)據(jù)出來得快多了。
點評:大部分存儲器的功耗在片選有效時(不論OE和WE如何)將比片選無效時大100 倍以上,所以應(yīng)盡可能使用CS來控制芯片,并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬度。
誤區(qū)七: 這些信號怎么都有過沖???只要匹配得好,就可消除了。
點評:除了少數(shù)特定信號外,都是有過沖的,只要不是很大,并不一定都需要匹配,即使匹配也并非要匹配得最好。 像TTL的輸出阻抗不到50歐姆,有的甚至20歐姆,如果也用這么大的匹配電阻的話,那電流就非常大了,功耗是無法接受的。 另外信號幅度也將小得不能用,再說一般信號在輸出高電平和輸出低電平時的輸出阻抗并不相同,也沒辦法做到完全匹配。 所以對TTL、LVDS、422等信號的匹配只要做到過沖可以接受即可。
誤區(qū)八: 降低功耗都是硬件人員的事,與軟件沒關(guān)系。
點評:硬件只是搭個舞臺,唱戲的卻是軟件,總線上幾乎每一個芯片的訪問、每一個信號的翻轉(zhuǎn)差不多都由軟件控制的。 如果軟件能減少外存的訪問次數(shù)(多使用寄存器變量、多使用內(nèi)部CACHE等等)、及時響應(yīng)中斷(中斷往往是低電平有效并帶有上拉電阻)及其它爭對具體單板的特定措施都將對降低功耗作出很大的貢獻(xiàn)。
誤區(qū)九: CPU用大一點的CACHE ,就應(yīng)該快了。
點評:CACHE 的增大,并不一定就導(dǎo)致系統(tǒng)性能的提高,在某些情況下關(guān)閉CACHE 反而比使用CACHE 還快。原因是搬到CACHE 中的數(shù)據(jù)必須得到多次重復(fù)使用才會提高系統(tǒng)效率。 所以在通信系統(tǒng)中一般只打開指令CACHE ,數(shù)據(jù)CACHE 即使打開也只局限在部分存儲空間,如堆棧部分。 同時也要求程序設(shè)計要兼顧CACHE 的容量及塊大小,這涉及到關(guān)鍵代碼循環(huán)體的長度及跳轉(zhuǎn)范圍,如果一個循環(huán)剛好比CACHE 大那么一點點,又在反復(fù)循環(huán)的話,那就慘了。
誤區(qū)十: 存儲器接口的時序都是廠家默認(rèn)的配置,不用修改的。
點評:BSP 對存儲器接口設(shè)置的默認(rèn)值都是按最保守的參數(shù)設(shè)置的,在實際應(yīng)用中應(yīng)結(jié)合總線工作頻率和等待周期等參數(shù)進行合理調(diào)配。 有時把頻率降低反而可提高效率,如RAM 的存取周期是70ns,總線頻率為40M 時,設(shè)3 個周期的存取時間,即75ns即可;若總線頻率為50M 時,必須設(shè)為4 個周期,實際存取時間卻放慢到了80ns。
誤區(qū)十一: 這個CPU 帶有DMA 模塊,用它來搬數(shù)據(jù)肯定快。
點評:真正的DMA 是由硬件搶占總線后同時啟動兩端設(shè)備,在一個周期內(nèi)這邊讀,那邊寫。但很多嵌入CPU 內(nèi)的DMA 只是模擬而已,啟動每一次DMA 之前要做不少準(zhǔn)備工作(設(shè)起始地址和長度等)。 在傳輸時往往是先讀到芯片內(nèi)暫存,然后再寫出去,即搬一次數(shù)據(jù)需兩個時鐘周期,比軟件來搬要快一些(不需要取指令,沒有循環(huán)跳轉(zhuǎn)等額外工作),但如果一次只搬幾個字節(jié),還要做一堆準(zhǔn)備工作,一般還涉及函數(shù)調(diào)用,效率并不高。所以這種DMA 只對大數(shù)據(jù)塊才適用。
誤區(qū)十二: 100M的數(shù)據(jù)總線應(yīng)該算高頻信號,至于這個時鐘信號頻率才8K,問題不大。
點評:數(shù)據(jù)總線的值一般是由控制信號或時鐘信號的某個邊沿來采樣的,只要針對這個邊沿保持足夠的建立時間和保持時間即可,此范圍之外有干擾也罷過沖也罷都不會有多大影響(當(dāng)然過沖最好不要超過芯片所能承受的最大電壓值)。 但時鐘信號不管頻率多低(其實頻譜范圍是很寬的),它的邊沿才是關(guān)鍵的,必須保證其單調(diào)性,并且跳變時間需在一定范圍內(nèi)。
誤區(qū)十三: 既然是數(shù)字信號,邊沿當(dāng)然是越陡越好。
點評:邊沿越陡其頻譜范圍就越寬,高頻部分的能量就越大;頻率越高的信號就越容易輻射,也就越容易干擾別的信號,而自身在導(dǎo)線上的傳輸質(zhì)量卻變得越差,因此能用低速芯片的盡量使用低速芯片。
誤區(qū)十四: 信號匹配真麻煩,如何才能匹配好呢?
點評:總的原則是當(dāng)信號在導(dǎo)線上的傳輸時間超過其跳變時間時,信號的反射問題才顯得重要。 信號產(chǎn)生反射的原因是線路阻抗的不均勻造成的,匹配的目的就是為了使驅(qū)動端、負(fù)載端及傳輸線的阻抗變得接近。 但能否匹配得好,與信號線在PCB 上的拓?fù)浣Y(jié)構(gòu)也有很大關(guān)系,傳輸線上的一條分支、一個過孔、一個拐角、一個接插件、不同位置與地線距離的改變等都將使阻抗產(chǎn)生變化。
而且這些因素將使反射波形變得異常復(fù)雜,很難匹配,因此高速信號僅使用點到點的方式,盡可能地減少過孔、拐角等問題。
審核編輯 :李倩
-
pcb
+關(guān)注
關(guān)注
4367文章
23487瀏覽量
409543 -
電路設(shè)計
+關(guān)注
關(guān)注
6705文章
2540瀏覽量
214638
原文標(biāo)題:電路設(shè)計誤區(qū)盤點
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
工程師在電路設(shè)計中的八大誤區(qū)
不得不看的電路設(shè)計八大誤區(qū)
電路可靠性設(shè)計的十大誤區(qū)
電路設(shè)計常見的八個誤區(qū)
電路設(shè)計常見的一些誤區(qū)
電路穩(wěn)定性設(shè)計當(dāng)中有哪些常見誤區(qū)?
電路穩(wěn)定性設(shè)計當(dāng)中的誤區(qū)
步進電機選型原則你都知道嗎_步進電機選型誤區(qū)盤點
電路穩(wěn)定性設(shè)計的十個誤區(qū)你都了解嗎

評論