【導讀】開(kāi)關(guān)電源設計工程師的工作宗旨就是要設計出更靠譜的產(chǎn)品,做到低成本、低功耗、高效率,完整的信號機高可靠性等。同時(shí)還要得到老板的認可。那么如何能夠讓老板更認同你的設計?如何能夠在節省成本下提高效率、降低功耗?請看下文分解。
對于老板來(lái)說(shuō)如何讓生產(chǎn)出的產(chǎn)品更靠譜,是每個(gè)開(kāi)關(guān)電源設計工程師的一個(gè)考驗,其中涉及到成本的節約、低功耗的設計技術(shù)、系統效率的提高、信號的完整程度以及高可靠性。這些都是最終老板們特別關(guān)注的,這也是我們電源設計工程師們得到工作的依靠。如何能夠讓老板更認同你的設計?如何能夠在節省成本下提高效率、降低功耗?本文為大家分享了如何考慮這些問(wèn)題并給出了實(shí)踐中的經(jīng)驗。
首先我們來(lái)聊一下關(guān)于節省成本的問(wèn)題,以下幾個(gè)實(shí)際例子就可以說(shuō)明我們在選用各項元器件或IC時(shí)候應該考慮的問(wèn)題。關(guān)于拉高/拉低的電阻用多大的阻值?市場(chǎng)最接近的是4.99K(精度1%),其次是5.1K(精度5%),其成本分別比精度為20%的4.7K高4倍和2倍。20%精度的電阻阻值只有1、1.5、2.2、 3.3、4.7、6.8幾個(gè)類(lèi)別(含10的整數倍);類(lèi)似地,20%精度的電容也只有以上幾種值,如果選了其它的值就必須使用更高的精度,成本就翻了幾倍,卻不能帶來(lái)任何好處。針對于面板上的指示燈的顏色問(wèn)題,紅綠黃橙等顏色的不管大小(5MM以下)封裝如何,都已成熟了幾十年,價(jià)格一般都在5毛錢(qián)以下,而藍色卻是近三四年才發(fā)明的東西,技術(shù)成熟度和供貨穩定度都較差,價(jià)格卻要貴四五倍。目前藍色指示燈只用在不能用其它顏色替代的場(chǎng)合,如顯示視頻信號等。74XX的門(mén)電路只幾毛錢(qián),而CPLD至少也得幾十塊,(GAL/PAL雖然只幾塊錢(qián),但公司不推薦使用)。成本提高了N倍不說(shuō),還給生產(chǎn)、文檔等工作增添數倍的工作。
其實(shí)在實(shí)際的電路設計過(guò)程中,系統要求高的情況下,不一定所有的芯片都要選最快的。因為在一個(gè)高速系統中并不是每一部分都工作在高速狀態(tài),而器件速度每提高一個(gè)等級,價(jià)格差不多要翻倍,另外還給信號完整性問(wèn)題帶來(lái)極大的負面影響。自動(dòng)布線(xiàn)必然要占用更大的PCB面積,同時(shí)產(chǎn)生比手動(dòng)布線(xiàn)多好多倍的過(guò)孔,在批量很大的產(chǎn)品中,PCB廠(chǎng)家降價(jià)所考慮的因素除了商務(wù)因素外,就是線(xiàn)寬和過(guò)孔數量,它們分別影響到PCB的成品率和鉆頭的消耗數量,節約了供應商的成本,也就給降價(jià)找到了理由。CPU的速度和存儲器的空間都是用錢(qián)買(mǎi)來(lái)的,如果寫(xiě)代碼時(shí)多花幾天時(shí)間提高一下程序效率,那么從降低CPU主頻和減少存儲器容量所節約的成本絕對是劃算的。CPLD/FPGA設計也類(lèi)似。
然后就是低功耗設計與高系統效率的設計問(wèn)題,其實(shí)低功耗設計是在省電的同時(shí)讓器件的壽命變得更長(cháng)。其降低了電源模塊及散熱系統的成本、由于電流的減小也減少了電磁輻射和熱噪聲的干擾。隨著(zhù)設備溫度的降低,器件壽命則相應延長(cháng)(半導體器件的工作溫度每提高10度,壽命則縮短一半)。針對于高系統性能來(lái)說(shuō)CACHE的增大,并不一定就導致系統性能的提高,在某些情況下關(guān)閉CACHE反而比使用CACHE還快。原因是搬到CACHE中的數據必須得到多次重復使用才會(huì )提高系統效率。所以在通信系統中一般只打開(kāi)指令CACHE,數據CACHE即使打開(kāi)也只局限在部分存儲空間,如堆棧部分。同時(shí)也要求程序設計要兼顧CACHE的容量及塊大小,這涉及到關(guān)鍵代碼循環(huán)體的長(cháng)度及跳轉范圍,如果一個(gè)循環(huán)剛好比CACHE大那么一點(diǎn)點(diǎn),又在反復循環(huán)的話(huà),那就慘了。中斷的實(shí)時(shí)性強,但不一定快。如果中斷任務(wù)特別多的話(huà),這個(gè)沒(méi)退出來(lái),后面又接踵而至,一會(huì )兒系統就將崩潰了。如果任務(wù)數量多但很頻繁的話(huà),CPU的很大精力都用在進(jìn)出中斷的開(kāi)銷(xiāo)上,系統效率極為低下,如果改用查詢(xún)方式反而可極大提高效率,但查詢(xún)有時(shí)不能滿(mǎn)足實(shí)時(shí)性要求,所以最好的辦法是在中斷中查詢(xún),即進(jìn)一次中斷就把積累的所有任務(wù)都處理完再退出。BSP對存儲器接口設置的默認值都是按最保守的參數設置的,在實(shí)際應用中應結合總線(xiàn)工作頻率和等待周期等參數進(jìn)行合理調配。有時(shí)把頻率降低反而可提高效率,如RAM的存取周期是70ns,總線(xiàn)頻率為40M時(shí),設3個(gè)周期的存取時(shí)間,即75ns即可;若總線(xiàn)頻率為50M時(shí),必須設為4個(gè)周期,實(shí)際存取時(shí)間卻放慢到了 80ns。對于搬磚頭來(lái)說(shuō),兩個(gè)人應該比一個(gè)人的效率高一倍;對于作畫(huà)來(lái)說(shuō),多一個(gè)人只能幫倒忙。使用幾個(gè)CPU需對業(yè)務(wù)有較多的了解后才能確定,盡量減少兩個(gè)CPU間協(xié)調的代價(jià),使1+1盡可能接近2千萬(wàn)別小于1。
最后我們要對其信號完整性和可靠性進(jìn)行嚴謹的設計及檢驗。由于仿真模型不可能與實(shí)物一模一樣,連不同批次加工的實(shí)物都有差別,就更別說(shuō)模型了。再說(shuō)實(shí)際情況千差萬(wàn)別,仿真也不可能窮舉所有可能,尤其是串擾。曾經(jīng)有一教訓是某單板只有特定長(cháng)度的包極易丟包,最后的原因是長(cháng)度域的值是0xFF,當這個(gè)數據出現在總線(xiàn)上時(shí),干擾了相鄰的WE信號,導致寫(xiě)不進(jìn)RAM。其它數據也會(huì )對WE產(chǎn)生干擾,但干擾在可接受的范圍內,可是當8位總線(xiàn)同時(shí)由0邊1時(shí),附近的信號就招架不住了。結論是仿真結果僅供參考,還應留有足夠的余量。硬件設計和芯片應用必須符合相關(guān)規范,尤其是芯片手冊中提到的所有參數(耐壓、I/O電平范圍、電流、時(shí)序、溫度PCB布線(xiàn)、電源質(zhì)量等),不能光靠試驗來(lái)驗證。公司有不少產(chǎn)品都有過(guò)慘痛的教訓,產(chǎn)品賣(mài)了一兩年,IC廠(chǎng)家換了個(gè)生產(chǎn)線(xiàn)板子就不轉了,原因就是芯片參數發(fā)生了點(diǎn)變化,但并沒(méi)有超出手冊的范圍。如果以手冊為準,那他怎么變化都不怕,如果參數變得超出手冊范圍了還可找他索賠。硬件上很多電氣特性直接受軟件控制,但軟件是經(jīng)常發(fā)生意外的,程序跑飛了之后無(wú)法預料會(huì )有什么操作。設計者應確保不論軟件做什么樣的操作硬件都不應在短時(shí)間內發(fā)生永久性損壞。要求用戶(hù)嚴格按手冊操作是沒(méi)錯的,但用戶(hù)是人,就有犯錯的時(shí)候,不能說(shuō)碰錯一個(gè)鍵就死機,插錯一個(gè)插頭就燒板子。所以對用戶(hù)可能犯的各種錯誤必須加以保護。