硬件設(shè)計(jì)的雞毛蒜皮_第1頁
硬件設(shè)計(jì)的雞毛蒜皮_第2頁
硬件設(shè)計(jì)的雞毛蒜皮_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、硬件設(shè)計(jì)的雞毛蒜皮這是本人在兩年前就職的公司寫的東西,到現(xiàn)在應(yīng)不再有太多的約束,貼出來給業(yè)內(nèi)的朋友參考,也許有點(diǎn)價(jià)值,尤其是對(duì)新入行的朋友- 作者 xukaiguo雞毛蒜皮之一:成本節(jié)約現(xiàn)象一:這些拉高/拉低的電阻用多大的阻值關(guān)系不大,就選個(gè)整數(shù) 5K 吧點(diǎn)評(píng):市場(chǎng)上不存在 5K 的阻值,最接近的是 4.99K(精度 1%),其次是 5.1K(精度 5%),其成本分別比精度為 20%的 4.7K 高 4 倍和 2 倍。20%精度的電阻阻值只有 1、1.5、2.2、3.3、 4.7、6.8 幾個(gè)類別(含 10 的整數(shù)倍);類似地,20%精度的電容也只有以上幾種值,如果選了其它的值就必須使用更高的

2、精度,成本就翻了幾倍,卻不能帶來任何好處?,F(xiàn)象二:面板上的指示燈選什么顏色呢?我覺得藍(lán)色比較特別,就選它吧點(diǎn)評(píng):其它紅綠等顏色的不管大小(5MM 以下)封裝如何,都已成熟了幾十年,價(jià)格一般都在 5 毛錢以下,而藍(lán)色卻是近三四年才發(fā)明的東西,技術(shù)成熟度和供貨穩(wěn)定度都較差,價(jià)格卻要貴四五倍。目前藍(lán)色指示燈只用在不能用其它顏色替代的場(chǎng)合,如顯示等?,F(xiàn)象三:這點(diǎn)邏輯用 74XX 的門電路搭也行,但太土,還是用 CPLD 吧,顯得高檔多了信號(hào)點(diǎn)評(píng):74XX 的門電路只幾毛錢,而 CPLD 至少也得幾十塊,(GAL/PAL 雖然只幾塊錢,但公司不使用)。成本提高了N 倍不說,還給生產(chǎn)、文檔等工作增添數(shù)倍的

3、工作?,F(xiàn)象四:的系統(tǒng)要求這么高,包括 MEM、CPU、FPGA 等所有的都要選最快的點(diǎn)評(píng):在一個(gè)高速系統(tǒng)中并不是每一部分都工作在高速狀態(tài),而器件速度每提高一個(gè)等級(jí),價(jià)格差不多要翻倍,另外還給信號(hào)完整性問題帶來極大的影響?,F(xiàn)象五:這板子的 PCB 設(shè)計(jì)要求不高,就用細(xì)一點(diǎn)的線,自動(dòng)布吧點(diǎn)評(píng):自動(dòng)布線必然要占用更大的 PCB 面積,同時(shí)產(chǎn)生比手動(dòng)布線多好多倍的過孔,在批量很大的產(chǎn)品中,PCB 廠家降價(jià)所考慮的除了商務(wù)外,就是線寬和過孔數(shù)量,它們分別影響到 PCB 的成品率和鉆頭的消耗數(shù)量,節(jié)約了供應(yīng)商的成本,也就給降價(jià)找到了理由?,F(xiàn)象六:程序只要穩(wěn)定就可以了,代碼長(zhǎng)一點(diǎn),效率低一點(diǎn)不是關(guān)鍵點(diǎn)評(píng):C

4、PU 的速度和器的空間都是用錢買來的,如果寫代碼時(shí)多花幾天時(shí)間提高一下程序效率,那么從降低 CPU 主頻和減少也類似。器容量所節(jié)約的成本絕對(duì)是劃算的。CPLD/FPGA 設(shè)計(jì)雞毛蒜皮之二:低功耗設(shè)計(jì)現(xiàn)象一:這系統(tǒng)是 220V 供電,就不用在乎功耗問題了點(diǎn)評(píng):低功耗設(shè)計(jì)并不僅僅是為了省電,的好處在于降低了電源模塊及散熱系統(tǒng)的成本、由于電流的減小也減少了電磁輻射和熱噪聲的干擾。隨著設(shè)備溫度的降低,器件則相應(yīng)延長(zhǎng)(半導(dǎo)體器件的工作溫度每提高 10 度,現(xiàn)象二:這些總線信號(hào)都用電阻拉一下,感覺放心些則縮短一半)點(diǎn)評(píng):信號(hào)需要上下拉的原因很多,但也不是個(gè)個(gè)都要拉。上下拉電阻拉一個(gè)單純的輸入信號(hào),電流也就

5、幾十微安以下,但拉一個(gè)被驅(qū)動(dòng)了的信號(hào),其電流將達(dá)毫安級(jí),現(xiàn)在的系統(tǒng)常常是地址數(shù)據(jù)各 32 位,可能還有 244/245后的總線及其它信號(hào),都上拉的話,幾瓦的功耗就耗在這些電阻上了(不要用 8 毛錢一度電的觀念來對(duì)待這幾瓦的功耗)。 現(xiàn)象三:CPU 和 FPGA 的這些不用的 I/O 口怎么處理呢?先讓它空著吧,以后再說點(diǎn)評(píng):不用的 I/O 口如果懸空的話,受外界的一點(diǎn)點(diǎn)干擾就可能成為反復(fù)振蕩的輸入信號(hào) 了,而 MOS 器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。如果把它上拉的話,每個(gè)引腳也會(huì)有微安級(jí)的電流,所以最好的辦法是設(shè)成輸出(當(dāng)然外面不能接其它有驅(qū)動(dòng)的信號(hào))現(xiàn)象四:這款 FPGA這么多門用不完

6、,可盡情發(fā)揮吧點(diǎn)評(píng):FGPA 的功耗與被使用的觸發(fā)器數(shù)量及其翻轉(zhuǎn)次數(shù)成正比,所以同一型號(hào)的 FPGA 在不同電路不同時(shí)刻的功耗可能相差 100 倍。盡量減少高速翻轉(zhuǎn)的觸發(fā)器數(shù)量是降低 FPGA 功耗的根本方法?,F(xiàn)象五:這些小的功耗都很低,不用考慮點(diǎn)評(píng):對(duì)于不太復(fù)雜的功耗是很難確定的,它主要由引腳上的電流確定,一個(gè)ABT16244,沒有負(fù)載的話耗電大概不到 1 毫安,但它的指標(biāo)是每個(gè)腳可驅(qū)動(dòng) 60 毫安的負(fù)載(如匹配幾十歐姆的電阻),即滿負(fù)荷的功耗最大可達(dá) 60*16=960mA,當(dāng)然只是電源電流這么大,熱量都落到負(fù)載身上了?,F(xiàn)象六:器有這么多控制信號(hào),我這塊板子只需要用 OE 和WE 信號(hào)就可

7、以了,片選就接地吧,這樣讀操作時(shí)數(shù)據(jù)出來得快多了。點(diǎn)評(píng):大部分器的功耗在片選有效時(shí)(不論 OE 和WE 如何)將比片選無效時(shí)大 100 倍以上,所以應(yīng)盡可能使用 CS 來控制,并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬度?,F(xiàn)象七:這些信號(hào)怎么都有過沖?。恐灰ヅ涞煤?,就可消除了點(diǎn)評(píng):除了少數(shù)特定信號(hào)外(如 100BASE-T、CML),都是有過沖的,只要不是很大,并不一定都需要匹配,即使匹配也并非要匹配得最好。象 TTL 的輸出阻抗不到 50 歐姆,有的甚至 20歐姆,如果也用這么大的匹配電阻的話,那電流就非常大了,功耗是無法接受的,另外信號(hào)幅度也將小得不能用,再說一般信號(hào)在輸出和輸出低

8、電平時(shí)的輸出阻抗并不相同,也沒辦法做到完全匹配。所以對(duì) TTL、LVDS、422 等信號(hào)的匹配只要做到過沖可以接受即可?,F(xiàn)象八:降低功耗都是硬件的事,與沒關(guān)系點(diǎn)評(píng):硬件只是搭個(gè)舞臺(tái),唱戲的卻是,總線上幾乎每一個(gè)的、每一個(gè)信號(hào)的翻轉(zhuǎn)差不多都由控制的,如果能減少外存的次數(shù)(多使用寄存器變量、多使用CACHE 等)、及時(shí)響應(yīng)中斷(中斷往往是低電平有效并帶有上拉電阻)及其它爭(zhēng)對(duì)具體單板的特定措施都將對(duì)降低功耗作出很大的貢獻(xiàn)。雞毛蒜皮之三:系統(tǒng)效率現(xiàn)象一:這主頻 100M 的 CPU 只能處理 70%,換 200M 主頻的就沒事了點(diǎn)評(píng):系統(tǒng)的處理能力牽涉到多種多樣的,在通信業(yè)務(wù)中其瓶頸一般都在器上,CP

9、U 再快,外部快不起來也是徒勞?,F(xiàn)象二:CPU 用大一點(diǎn)的 CACHE,就應(yīng)該快了點(diǎn)評(píng):CACHE 的增大,并不一定就導(dǎo)致系統(tǒng)性能的提高,在某些情況下關(guān)閉 CACHE 反而比使用CACHE 還快。原因是搬到 CACHE 中的數(shù)據(jù)必須得到多次重復(fù)使用才會(huì)提高系統(tǒng)效率。所以在通信系統(tǒng)中一般只打開指令 CACHE,數(shù)據(jù) CACHE 即使打開也只局限在部分空間,如堆棧部分。同時(shí)也要求程序設(shè)計(jì)要兼顧 CACHE 的容量及塊大小,這涉及到關(guān)鍵代碼循環(huán)體的長(zhǎng)度及跳轉(zhuǎn)范圍,如果一個(gè)循環(huán)剛好比 CACHE 大那么一點(diǎn)點(diǎn),又在反復(fù)循環(huán)的話,那就慘了?,F(xiàn)象三:這么多任務(wù)到底是用中斷還是用查詢呢?還是中斷快些吧點(diǎn)評(píng):

10、中斷的實(shí)時(shí)性強(qiáng),但不一定快。如果中斷任務(wù)特別多的話,這個(gè)沒退出來,后面又接踵而至,一會(huì)兒系統(tǒng)就將了。如果任務(wù)數(shù)量多但很頻繁的話,CPU 的很大精力都用在進(jìn)出中斷的開銷上,系統(tǒng)效率極為低下,如果改用查詢方式反而可極大提高效率,但查詢有時(shí)不能滿足實(shí)時(shí)性要求,所以最好的辦法是在中斷中查詢,即進(jìn)一次中斷就把積累的所有任務(wù)都處理完再退出?,F(xiàn)象四:點(diǎn)評(píng):BSP 對(duì)器接口的時(shí)序都是廠家默認(rèn)的配置,不用修改的器接口設(shè)置的默認(rèn)值都是按最保守的參數(shù)設(shè)置的,在實(shí)際應(yīng)用中應(yīng)結(jié)合總線工作頻率和等待周期等參數(shù)進(jìn)行合理調(diào)配。有時(shí)把頻率降低反而可提高效率,如 RAM 的存 取周期是 70ns,總線頻率為 40M 時(shí),設(shè) 3

11、個(gè)周期的存取時(shí)間,即 75ns 即可;若總線頻率為 50M時(shí),必須設(shè)為 4 個(gè)周期,實(shí)際存取時(shí)間卻放慢到了 80ns。現(xiàn)象五:一個(gè) CPU 處理不過來,就用兩個(gè)分布處理,處理能力可提高一倍點(diǎn)評(píng):對(duì)于搬磚頭來說,兩個(gè)人應(yīng)該比一個(gè)人的效率高一倍;對(duì)于作畫來說,多一個(gè)人只能 幫倒忙。使用幾個(gè) CPU 需對(duì)業(yè)務(wù)有較多的了解后才能確定,盡量減少兩個(gè) CPU 間協(xié)調(diào)的代價(jià),使 1+1 盡可能接近 2,千萬別小于 1?,F(xiàn)象六:這個(gè) CPU 帶有 DMA 模塊,用它來搬數(shù)據(jù)肯定快點(diǎn)評(píng):真正的 DMA 是由硬件搶占總線后同時(shí)啟動(dòng)兩端設(shè)備,在一個(gè)周期內(nèi)這邊讀,那邊些。 但很多嵌入 CPU 內(nèi)的 DMA 只是模擬而

12、已,啟動(dòng)每一次 DMA 之前要做不少準(zhǔn)備工作(設(shè)起始地址和長(zhǎng)度等),在傳輸時(shí)往往是先讀到內(nèi)暫存,然后再寫出去,即搬一次數(shù)據(jù)需兩個(gè)時(shí)鐘周期,比來搬要快一些(不需要取指令,沒有循環(huán)跳轉(zhuǎn)等額外工作),但如果一次只搬幾個(gè)字節(jié),還要做一堆準(zhǔn)備工作,一般還涉及函數(shù)調(diào)用,效率并不高。所以這種 DMA 只對(duì)大數(shù)據(jù)塊才適用。雞毛蒜皮之四:信號(hào)完整性現(xiàn)象一:這些信號(hào)都經(jīng)過仿真了,絕對(duì)沒問題點(diǎn)評(píng):仿真模型不可能與實(shí)物一模一樣,連不同批次加工的實(shí)物都有差別,就更別說模型 了。再說實(shí)際情況千差萬別,仿真也不可能窮舉所有可能,尤其是串?dāng)_。曾經(jīng)有一教訓(xùn)是某單板只有特定長(zhǎng)度的包極易丟包,最后的原因是長(zhǎng)度域的值是 0 xFF,

13、當(dāng)這個(gè)數(shù)據(jù)出現(xiàn)在總線上時(shí),干擾了相鄰的 WE 信號(hào),導(dǎo)致寫不進(jìn) RAM。其它數(shù)據(jù)也會(huì)對(duì) WE 產(chǎn)生干擾,但干擾在可接受的范圍內(nèi),當(dāng) 8 位總線同時(shí)由 0 邊 1 時(shí),附近的信號(hào)就招架不住了。結(jié)論是仿真結(jié)果僅供參考,還應(yīng)留有足夠的余量。現(xiàn)象二:100M 的數(shù)據(jù)總線應(yīng)該算高頻信號(hào),至于這個(gè)時(shí)鐘信號(hào)頻率才 8K,問題不大點(diǎn)評(píng):數(shù)據(jù)總線的值一般是由控制信號(hào)或時(shí)鐘信號(hào)的某個(gè)邊沿來采樣的,只要爭(zhēng)對(duì)這個(gè)邊沿保持足夠的建立時(shí)間和保持時(shí)間即可,此范圍之外有干擾也罷過沖也罷都不會(huì)有多大影響(當(dāng)然過沖最好不要超過所能承受的最大電壓值),但時(shí)鐘信號(hào)不管頻率多低(其實(shí)頻譜范圍是很寬的),它的邊沿才是關(guān)鍵的,必須保證其單

14、調(diào)性,并且跳變時(shí)間需在一定范圍內(nèi)?,F(xiàn)象三:既然是數(shù)字信號(hào),邊沿當(dāng)然是越陡越好點(diǎn)評(píng):邊沿越陡,其頻譜范圍就越寬,高頻部分的能量就越大;頻率越高的信號(hào)就越容易輻射(如微波電臺(tái)可做成,而長(zhǎng)波電臺(tái)很多國(guó)家都做不出來),也就越容易干擾別的信號(hào),而自身在導(dǎo)線上的傳輸質(zhì)量卻變得越差,因此能用低速現(xiàn)象四:為保證干凈的電源,去偶電容是多多益善的盡量使用低速,。點(diǎn)評(píng):總的來說去偶電容越多電源當(dāng)然會(huì)更平穩(wěn),但太多了也有不利:浪費(fèi)成本、布線、上電沖擊電流太大等。去偶電容的設(shè)計(jì)關(guān)鍵是要選對(duì)容量并且放對(duì)地方,一般的手冊(cè)都有爭(zhēng)對(duì)去偶電容的設(shè)計(jì)參考,最好按手冊(cè)去做?,F(xiàn)象五:信號(hào)匹配真麻煩,如何才能匹配好呢?點(diǎn)評(píng):總的原則是當(dāng)

15、信號(hào)在導(dǎo)線上的傳輸時(shí)間超過其跳變時(shí)間時(shí),信號(hào)的反射問題才顯得重要。信號(hào)產(chǎn)生反射的原因是線路阻抗的不均勻造成的,匹配的目的就是為了使驅(qū)動(dòng)端、負(fù)載端及傳輸線的阻抗變得接近,但能否匹配得好,與信號(hào)線在 PCB 上的拓?fù)浣Y(jié)構(gòu)也有很大關(guān) 系,傳輸線上的一條分支、一個(gè)過孔、一個(gè)拐角、一個(gè)接插件、不同位置與地線距離的改變等都將使阻抗產(chǎn)生變化,而且這些將使反射波形變得異常復(fù)雜,很難匹配,因此高速信號(hào)僅使用點(diǎn)到點(diǎn)的方式,盡可能地減少過孔、拐角等問題。雞毛蒜皮之五:可靠性設(shè)計(jì)現(xiàn)象一:這塊單板已小批量生產(chǎn)了,經(jīng)過長(zhǎng)時(shí)間測(cè)試沒發(fā)現(xiàn)任何問題點(diǎn)評(píng):硬件設(shè)計(jì)和應(yīng)用必須符合相關(guān)規(guī)范,尤其是手冊(cè)中提到的所有參數(shù)(耐壓、I/O 電平范圍、電流、時(shí)序、溫度 PCB 布線、電源質(zhì)量等),不能光靠試驗(yàn)來驗(yàn)證。公司有不少產(chǎn)品都有過慘痛的教訓(xùn),產(chǎn)品賣了一兩年,IC 廠家換了個(gè)生產(chǎn)線,咱們的板子就不轉(zhuǎn)了,原因就是人家的參數(shù)發(fā)生了點(diǎn)變化,但并沒有超出手冊(cè)的范圍。如果你以手冊(cè)為準(zhǔn),那他怎么變化都不怕,如果參數(shù)變得超出手冊(cè)范圍了還可找他索賠(假如這時(shí)你的板子還能轉(zhuǎn),那你的可靠性就更牛了)?,F(xiàn)象二:這部分電路只要要求這樣設(shè)計(jì)就不會(huì)有問題點(diǎn)評(píng):硬件上很多電氣特性直接受控制,但是經(jīng)常發(fā)生意外的,程序跑飛了之后無法預(yù)料會(huì) 久性損壞。操作。設(shè)計(jì)者應(yīng)確

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論