一:這板子的 PCB 設計要求不高,就用細一點的線,自動布吧
點評:自動布線必然要占用更大的 PCB 面積,同時產生比手動布線多好多倍的過孔,在批量很大的產品中,PCB 廠家降價所考慮的因素除了商務因素外,就是線寬和過孔數量,它們分別影響到 PCB 的成品率和鉆頭的消耗數量,節約了供應商的成本,也就給降價找到了理由。
點評:信號需要上下拉的原因很多,但也不是個個都要拉。上下拉電阻拉一個單純的輸入信號,電流也就幾十微安以下,但拉一個被驅動了的信號,其電流將達毫安級,現在的系統常常是地址數據各 32 位,可能還有 244/245 隔離后的總線及其它信號,都上拉的話,幾瓦的功耗就耗在這些電阻上了。
三: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 等)、及時響應中斷(中斷往往是低電平有效并帶有上拉電阻)及其它爭對具體單板的特定措施都將對降低功耗作出很大的貢獻。
九:CPU 用大一點的 CACHE,就應該快了
點評:CACHE 的增大,并不一定就導致系統性能的提高,在某些情況下關閉 CACHE 反而比使用 CACHE 還快。原因是搬到 CACHE 中的數據必須得到多次重復使用才會提高系統效率。所以在通信系統中一般只打開指令 CACHE,數據 CACHE 即使打開也只局限在部分存儲空間,如堆棧部分。同時也要求程序設計要兼顧 CACHE 的容量及塊大小,這涉及到關鍵代碼循環體的長度及跳轉范圍,如果一個循環剛好比 CACHE 大那么一點點,又在反復循環的話,那就慘了。
十:存儲器接口的時序都是廠家默認的配置,不用修改的
點評:BSP 對存儲器接口設置的默認值都是按最保守的參數設置的,在實際應用中應結合總線工作頻率和等待周期等參數進行合理調配。有時把頻率降低反而可提高效率,如 RAM 的存取周期是 70ns,總線頻率為 40M 時,設 3 個周期的存取時間,即 75ns 即可;若總線頻率為 50M 時,必須設為 4 個周期,實際存取時間卻放慢到了 80ns。
十一:這個 CPU 帶有 DMA 模塊,用它來搬數據肯定快
點評:真正的 DMA 是由硬件搶占總線后同時啟動兩端設備,在一個周期內這邊讀,那邊寫。但很多嵌入 CPU 內的 DMA 只是模擬而已,啟動每一次 DMA 之前要做不少準備工作(設起始地址和長度等),在傳輸時往往是先讀到芯片內暫存,然后再寫出去,即搬一次數據需兩個時鐘周期,比軟件來搬要快一些(不需要取指令,沒有循環跳轉等額外工作),但如果一次只搬幾個字節,還要做一堆準備工作,一般還涉及函數調用,效率并不高。所以這種 DMA 只對大數據塊才適用。
十二:100M 的數據總線應該算高頻信號,至于這個時鐘信號頻率才 8K,問題不大。
點評:數據總線的值一般是由控制信號或時鐘信號的某個邊沿來采樣的,只要針對這個邊沿保持足夠的建立時間和保持時間即可,此范圍之外有干擾也罷過沖也罷都不會有多大影響(當然過沖最好不要超過芯片所能承受的最大電壓值),但時鐘信號不管頻率多低(其實頻譜范圍是很寬的),它的邊沿才是關鍵的,必須保證其單調性,并且跳變時間需在一定范圍內。
十三:既然是數字信號,邊沿當然是越陡越好
點評:邊沿越陡,其頻譜范圍就越寬,高頻部分的能量就越大;頻率越高的信號就越容易輻射(如微波電臺可做成手機,而長波電臺很多國家都做不出來),也就越容易干擾別的信號,而自身在導線上的傳輸質量卻變得越差,因此能用低速芯片的盡量使用低速芯片。
十四:信號匹配真麻煩,如何才能匹配好呢?
點評:總的原則是當信號在導線上的傳輸時間超過其跳變時間時,信號的反射問題才顯得重要。信號產生反射的原因是線路阻抗的不均勻造成的,匹配的目的就是為了使驅動端、負載端及傳輸線的阻抗變得接近,但能否匹配得好,與信號線在 PCB 上的拓撲結構也有很大關系,傳輸線上的一條分支、一個過孔、一個拐角、一個接插件、不同位置與地線距離的改變等都將使阻抗產生變化,而且這些因素將使反射波形變得異常復雜,很難匹配,因此高速信號僅使用點到點的方式,盡可能地減少過孔、拐角等問題。
審核編輯黃昊宇
-
pcb
+關注
關注
4317文章
23006瀏覽量
396311
發布評論請先 登錄
相關推薦
評論