整數(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)象二:面板上的指示燈選什么顏色呢?我覺得藍色比較特
別,就選它吧?
點評:其它紅綠黃橙等顏色的不管大?。?MM以下)封裝如何,
都已成熟了幾十年,價格一般都在5毛錢以下,而藍色卻是近三
四年才發(fā)明的東西,技術成熟度和供貨穩(wěn)定度都較差,價格卻
要貴四五倍。目前藍色指示燈只用在不能用其它顏色替代的場
合,如顯示視頻信號等
現(xiàn)象三:這點邏輯用74XX的門電路搭也行,但太土,還是用
CPLD吧,顯得高檔多了?
點評:74XX的門電路只幾毛錢,而CPLD至少也得幾十塊,
(GAL/PAL雖然只幾塊錢,但公司不推薦使用)。成本提高了N
倍不說,還給生產、文檔等工作增添數(shù)倍的工作。
現(xiàn)象四:我們的系統(tǒng)要求這么高,包括MEM、CPU、FPGA等所有
的芯片都要選最快的?
點評:在一個高速系統(tǒng)中并不是每一部分都工作在高速狀態(tài),
而器件速度每提高一個等級,價格差不多要翻倍,另外還給信
號完整性問題帶來極大的負面影響。
現(xiàn)象五:這板子的PCB設計要求不高,就用細一點的線,自動布
吧?
點評:自動布線必然要占用更大的PCB面積,同時產生比手動布
線多好多倍的過孔,在批量很大的產品中,PCB廠家降價所考慮
的因素除了商務因素外,就是線寬和過孔數(shù)量,它們分別影響
到PCB的成品率和鉆頭的消耗數(shù)量,節(jié)約了供應商的成本,也就
給降價找到了理由。
現(xiàn)象六:程序只要穩(wěn)定就可以了,代碼長一點,效率低一點不
是關鍵?
點評:CPU的速度和存儲器的空間都是用錢買來的,如果寫代碼
時多花幾天時間提高一下程序效率,那么從降低CPU主頻和減少
存儲器容量所節(jié)約的成本絕對是劃算的。CPLD/FPGA設計也類
似。
第二部分 低功耗設計常見錯誤電平
現(xiàn)象一:我們這系統(tǒng)是220V供電,就不用在乎功耗問題了?
點評:低功耗設計并不僅僅是為了省電,更多的好處在于降低
了電源模塊及散熱系統(tǒng)的成本、由于電流的減小也減少了電磁
輻射和熱噪聲的干擾。隨著設備溫度的降低,器件壽命則相應
延長(半導體器件的工作溫度每提高10度,壽命則縮短一
半)。
現(xiàn)象二:這些總線信號都用電阻拉一下,感覺放心些?
點評:信號需要上下拉的原因很多,但也不是個個都要拉。上
下拉電阻拉一個單純的輸入信號,電流也就幾十微安以下,但
拉一個被驅動了的信號,其電流將達毫安級,現(xiàn)在的系統(tǒng)常常
是地址數(shù)據(jù)各32位,可能還有244/245隔離后的總線及其它信
號,都上拉的話,幾瓦的功耗就耗在這些電阻上了(不要用幾
毛錢一度電的觀念來對待這幾瓦的功耗)。
現(xiàn)象三:CPU和FPGA的這些不用的I/O口怎么處理呢?先讓它空
著吧,以后再說?
點評:不用的I/O口如果懸空的話,受外界的一點點干擾就可能
成為反復振蕩的輸入信號了,而MOS器件的功耗基本取決于門電
路的翻轉次數(shù)。如果把它上拉的話,每個引腳也會有微安級的
電流,所以最好的辦法是設成輸出(當然外面不能接其它有驅
動的信號)。
現(xiàn)象四:這款FPGA還剩這么多門用不完,可盡情發(fā)揮吧?
點評:FGPA的功耗與被使用的觸發(fā)器數(shù)量及其翻轉次數(shù)成正比,
所以同一型號的FPGA在不同電路不同時刻的功耗可能相差100
倍。盡量減少高速翻轉的觸發(fā)器數(shù)量是降低FPGA功耗的根本方
法。
現(xiàn)象五:這些小芯片的功耗都很低,不用考慮?
點評:對于內部不太復雜的芯片功耗是很難確定的,它主要由
引腳上的電流確定,一個ABT16244,沒有負載的話耗電大概不
到1毫安,但它的指標是每個腳可驅動60毫安的負載(如匹配幾
十歐姆的電阻),即滿負荷的功耗最大可達60*16=960mA,當然
只是電源電流這么大,熱量都落到負載身上了。
現(xiàn)象六:存儲器有這么多控制信號,我這塊板子只需要用OE和
WE信號就可以了,片選就接地吧,這樣讀操作時數(shù)據(jù)出來得快
多了?
點評:大部分存儲器的功耗在片選有效時(不論OE和WE如何)
將比片選無效時大100倍以上,所以應盡可能使用CS來控制芯
片,并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬
度。
現(xiàn)象七:這些信號怎么都有過沖???只要匹配得好,就可消除
了?
點評:除了少數(shù)特定信號外(如100BASE-T、CML),都是有過
沖的,只要不是很大,并不一定都需要匹配,即使匹配也并非
要匹配得最好。象TTL的輸出阻抗不到50歐姆,有的甚至20歐
姆,如果也用這么大的匹配電阻的話,那電流就非常大了,功
耗是無法接受的,另外信號幅度也將小得不能用,再說一般信
號在輸出高電平和輸出低電平時的輸出阻抗并不相同,也沒辦
法做到完全匹配。所以對TTL、LVDS、422等信號的匹配只要做
到過沖可以接受即可。
現(xiàn)象八:降低功耗都是硬件人員的事,與軟件沒關系?
點評:硬件只是搭個舞臺,唱戲的卻是軟件,總線上幾乎每一
個芯片的訪問、每一個信號的翻轉差不多都由軟件控制的,如
果軟件能減少外存的訪問次數(shù)(多使用寄存器變量、多使用內
部CACHE等)、及時響應中斷(中斷往往是低電平有效并帶有上
拉電阻)及其它爭對具體單板的特定措施都將對降低功耗作出
很大的貢獻。
第三部分 系統(tǒng)效率的常見錯誤與電平
現(xiàn)象一:這主頻100M的CPU只能處理70%,換200M主頻的就沒事了?
點評:系統(tǒng)的處理能力牽涉到多種多樣的因素,在通信業(yè)務中其瓶
頸一般都在存儲器上,CPU再快,外部訪問快不起來也是徒勞。
現(xiàn)象二: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)的話,
那就慘了。
現(xiàn)象三:這么多任務到底是用中斷還是用查詢呢?還是中斷快
些吧?
點評:中斷的實時性強,但不一定快。如果中斷任務特別多的
話,這個沒退出來,后面又接踵而至,一會兒系統(tǒng)就將崩潰
了。如果任務數(shù)量多但很頻繁的話,CPU的很大精力都用在進出
中斷的開銷上,系統(tǒng)效率極為低下,如果改用查詢方式反而可
極大提高效率,但查詢有時不能滿足實時性要求,所以最好的
辦法是在中斷中查詢,即進一次中斷就把積累的所有任務都處
理完再退出。
現(xiàn)象四:存儲器接口的時序都是廠家默認的配置,不用修改
的?
點評:BSP對存儲器接口設置的默認值都是按最保守的參數(shù)設置
的,在實際應用中應結合總線工作頻率和等待周期等參數(shù)進行
合理調配。有時把頻率降低反而可提高效率,如RAM的存取周期
是70ns,總線頻率為40M時,設3個周期的存取時間,即75ns即
可;若總線頻率為50M時,必須設為4個周期,實際存取時間卻
放慢到了80ns。