引 言
嵌入式DDR(Double Data Rate,雙數(shù)據(jù)速率)設(shè)計是含DDR的嵌入式硬件設(shè)計中最重要和最核心的部分。隨著嵌入式系統(tǒng)的處理能力越來越強大,實現(xiàn)的功能越來越多,系統(tǒng)的工作頻率越來越高,DDR的工作頻率也逐漸從最低的 133 MHz提高到200 MHz,從而實現(xiàn)了更大的系統(tǒng)帶寬和更好的性能。然而,更高的工作頻率同時也對系統(tǒng)的穩(wěn)定性提出了更高的要求,這需要硬件設(shè)計者對電路的布局走線有更多的約束和考慮。而影響整個系統(tǒng)能否工作正常且穩(wěn)定的最重要的部分就是DDR部分的電路設(shè)計。
嵌入式系統(tǒng)使用DDR內(nèi)存,可以在傳統(tǒng)的單數(shù)據(jù)數(shù)率內(nèi)存芯片上實現(xiàn)更好的性能。DDR允許在不增加時鐘頻率和數(shù)據(jù)位寬的條件下,一個時鐘周期內(nèi)能夠處理兩個操作。增加的數(shù)據(jù)總線性能是由于源同步數(shù)據(jù)選通允許數(shù)據(jù)同時在選通脈沖的上升沿和下降沿被獲取。
DDR雖然能夠給嵌入式設(shè)計帶來更好的性能,但是設(shè)計者必須比以往的SDR設(shè)計更小心地處理DDR部分的PCB布線部分,否則不僅不能實現(xiàn)好的性能,整個嵌人式系統(tǒng)的穩(wěn)定性也會受到影響。DDR比傳統(tǒng)的SDR有更短的信號建立保持時間、更干凈的參考電壓、更緊密的走線匹配和新的I/O口信號,并且需要合適的終端電阻匹配。這些都是要面對的新的挑戰(zhàn)。
1 DDR總線結(jié)構(gòu)
對于DDR內(nèi)存,JEDEC建立和采用了一個低壓高速信號標準。這個標準稱為“短截線串聯(lián)終結(jié)邏輯(StubSeries Terminated Logic,SSTL)”。SSTL能夠改進數(shù)據(jù)通過總線傳輸?shù)男盘柾暾裕@種終端設(shè)計的目的是防止在高速傳輸下由于信號反射導(dǎo)致的數(shù)據(jù)錯誤。
在一個典型的內(nèi)存拓撲結(jié)構(gòu)中,如果使用了串聯(lián)匹配電阻(RS),那么它應(yīng)該放在遠離DDR控制器的位置。這種方法能夠節(jié)約控制器附近寶貴的電路板空間,避免布線擁塞和繁瑣的引腳扇出;而且也優(yōu)化了從控制器到內(nèi)存芯片的信號完整性,在這些位置往往有很多地址和命令信號需要可靠地被多個內(nèi)存接收。
最普通的SSTL終端模型是一種較好的單終端和并聯(lián)終端方案,如圖1所示。這種方案包含使用一個串聯(lián)終端電阻(Rs)從控制器到內(nèi)存,以及一個并聯(lián)終端電阻(RT)上拉到終端電壓(VTT)。這種方法常見于商用電腦的主板上,但目前的嵌入式主板上為了獲得更好的信號完整性和系統(tǒng)穩(wěn)定性,也常常使用。RS和 RT的值是信賴于具體的系統(tǒng)的,應(yīng)該由板級仿真確定具體的值。
2 嵌入式DDR布線分析
2.1 DDR的信號完整性問題
高速總線信號的傳輸往往需要考慮信號完整性問題。DDR的信號線不是普通的信號線而是傳輸線,因而傳輸線上的過孔,或者連接器等不連續(xù)阻抗因素都會影響接收端的信號完整性。主要有過沖和下沖、振鈴及串擾等影響,交流噪聲以及直流電壓的一些不準確因素也同樣影響信號傳輸?shù)男阅堋?/p>
DDR為了實現(xiàn)更高的信號頻率,SSTL高增益差分接收器的接收電平往往是偏置在參考電平(VREF)附近,使用這樣的接收器允許更小的電壓擺幅、更少的信號反射、更低的電磁干擾和更短的建立時間,比LVTTL能適應(yīng)更高的時鐘頻率。圖2所示的是SSTL接口電平。交流邏輯電平是在接收器端的接收電平,在接收器處交流邏輯參數(shù)(包括建立和保持時間)都必須最佳,而直流邏輯電平則提供一個滯后的接收電平點。當輸入電平穿過DC直流參考點時,接收器轉(zhuǎn)變到新的邏輯電平并且保持這個新的狀態(tài),只要信號不低于門限電平。因此,SSTL總線不易于受過沖、下沖和振鈴的影響。
2.2 基于布線考慮的DDR信號分組
DDR控制器包括超過130個信號,并且提供直接的信號接口連接內(nèi)存子系統(tǒng)。這些信號根據(jù)信號的種類可以分為不同的信號組,如表1所列。
其中,數(shù)據(jù)組的分組應(yīng)該以每個字節(jié)通道來劃分,DM0、DQS0以及DQ0~DQ7為第1字節(jié)通道,DM1、DQS1以及DQ8~DQ15為第2字節(jié)通道,以此類推。每個字節(jié)通道內(nèi)有嚴格的長度匹配關(guān)系。其他信號走線長度應(yīng)按照組為單位來進行匹配,每組內(nèi)信號長度差應(yīng)該嚴格控制在一定范圍內(nèi)。不同組的信號間雖然不像組內(nèi)信號那樣要求嚴格,但不同組長度差同樣也有一定要求。具體布線要求見2.4小節(jié)。
2.3 信號組布線順序
為了確保DDR接口最優(yōu)化,DDR的布線應(yīng)該按照如下的順序進行:功率、電阻網(wǎng)絡(luò)中的pin腳交換、數(shù)據(jù)信號線布線、地址/命令信號布線、控制信號布線、時鐘信號布線、反饋信號布線。
數(shù)據(jù)信號組的布線優(yōu)先級是所有信號組中最高的,因為它工作在2倍時鐘頻率下,它的信號完整性要求是最高的。另外,數(shù)據(jù)信號組是所有這些信號組中占最大部分內(nèi)存總線位寬的部分,也是最主要的走線長度匹配有要求的信號組。
地址、命令、控制和數(shù)據(jù)信號組都與時鐘的走線有關(guān)。因此,系統(tǒng)中有效的時鐘走線長度應(yīng)該滿足多種關(guān)系。設(shè)計者應(yīng)該建立系統(tǒng)時序的綜合考慮,以確保所有這些關(guān)系都能夠被滿足。
2.4 各組信號布線長度匹配
時鐘信號:以地平面為參考,給整個時鐘回路的走線提供一個完整的地平面,給回路電流提供一個低阻抗的路徑。由于是差分時鐘信號,在走線前應(yīng)預(yù)先設(shè)計好線寬線距,計算好差分阻抗,再按照這種約束來進行布線。所有的DDR差分時鐘信號都必須在關(guān)鍵平面上走線,盡量避免層到層的轉(zhuǎn)換。線寬和差分間距需要參考 DDR控制器的實施細則,信號線的單線阻抗應(yīng)控制在50~60 Ω,差分阻抗控制在100~120 Ω。時鐘信號到其他信號應(yīng)保持在20 mil*以上的距離來防止對其他信號的干擾。蛇形走線的間距不應(yīng)小于20 mil。串聯(lián)終端電阻RS值在15~33Ω,可選的并聯(lián)終端電阻RT值在25~68 Ω,具體設(shè)定的阻值還是應(yīng)該依據(jù)信號完整性仿真的結(jié)果。
數(shù)據(jù)信號組:以地平面為參考,給信號回路提供完整的地平面。特征阻抗控制在50~60 Ω。線寬要求參考實施細則。與其他非DDR信號間距至少隔離20 mil。長度匹配按字節(jié)通道為單位進行設(shè)置,每字節(jié)通道內(nèi)數(shù)據(jù)信號DQ、數(shù)據(jù)選通DQS和數(shù)據(jù)屏蔽信號DM長度差應(yīng)控制在±25 mil內(nèi)(非常重要),不同字節(jié)通道的信號長度差應(yīng)控制在1 000 mil內(nèi)。與相匹配的DM和DQS串聯(lián)匹配電阻RS值為0~33 Ω,并聯(lián)匹配終端電阻RT值為25~68Ω。如果使用電阻排的方式匹配,則數(shù)據(jù)電阻排內(nèi)不應(yīng)有其他DDR信號。[!--empirenews.page--]
地址和命令信號組:保持完整的地和電源平面。特征阻抗控制在50~60 Ω。信號線寬參考具體設(shè)計實施細則。信號組與其他非DDR信號間距至少保持在20 mil以上。組內(nèi)信號應(yīng)該與DDR時鐘線長度匹配,差距至少控制在25 mil內(nèi)。串聯(lián)匹配電阻RS值為O~33 Ω,并聯(lián)匹配電阻RT值應(yīng)該在25~68 Ω。本組內(nèi)的信號不要和數(shù)據(jù)信號組在同一個電阻排內(nèi)。
控制信號組:控制信號組的信號最少,只有時鐘使能和片選兩種信號。仍需要有一個完整的地平面和電源平面作參考。串聯(lián)匹配電阻RS值為O~33 Ω,并聯(lián)匹配終端電阻RT值為25~68 Ω。為了防止串擾,本組內(nèi)信號同樣也不能和數(shù)據(jù)信號在同一個電阻排內(nèi)。
2.5 電源部分的設(shè)計分析
通常情況下,DDR供電電壓是2.3~2.7 V,典型值是2.5 V,工作頻率的不同可能引起正常工作電壓的不同。參考電壓VREF是1.13~1.38 V,典型值是1.25 V。VTT以VREF為參考,電壓范圍是(VREF-0.4 V)-(VREF+0.4 V)。由于VREF只是給差分接收器端提供一個直流參考電平,所以電流比較小,最大只有3 mA。VTT的電流由于上拉的緣故,在輸出端輸出高電平時,VTT應(yīng)能流入電流;在輸出端輸出低電平時VTT電流輸出。故VTT必須能同時有流入和流出電流,電流的大小依賴于總線上同時出現(xiàn)的電位狀態(tài),從常用的設(shè)計來看最大可以從2.3 A到3.2 A。
由于VREF電壓作為其他信號接收端的重要參考,故它的布線設(shè)計也是十分重要的。疊加在VREF電壓的串擾或噪聲能直接導(dǎo)致內(nèi)存總線發(fā)生潛在的時序錯誤、抖動和漂移。很多電源芯片會把VREF和VTT從同一源輸出,但是由于使用的目的不同,走線也完全不同。VREF最好和VTT在不同平面,以免VTT產(chǎn)生的噪聲干擾VREF。而且無論是在DDR控制器端還是DDR存儲器端,VREF腳附近都應(yīng)放置去耦電容,消除高頻噪聲。VREF的走線寬度應(yīng)該越寬越好,最好為20~25 mil。
VTT電源應(yīng)該單獨劃分一塊平面來供應(yīng)電流,且最好放在DDR存儲器端。如果并聯(lián)終端匹配使用排阻的方式上拉,那么最好每個排阻都添加一個0.1 μF或0.01μF的去耦電容,這對于改善信號的完整性、提高DDR總線的穩(wěn)定性都有很好的效果。
結(jié) 語
在帶有DDR的嵌入式系統(tǒng)主板中,設(shè)計PCB最難的部分莫過于DDR的走線設(shè)計。好的走線就等于有了好的信號完整性和好的時序匹配,總線在高速輸入/輸出數(shù)據(jù)過程中就不會出錯,甚至能夠有更好的抗串擾和EMC能力。DDR總線并行傳輸且速率較高,在設(shè)計過程中如果沒有按照嚴格的約束進行布線,在設(shè)備后期調(diào)試過程中,將會出現(xiàn)各種各樣異常問題,甚至是系統(tǒng)根本無法啟動。而這些問題在查找和調(diào)試中很難發(fā)現(xiàn),以至于無法完成硬件的開發(fā)。最好的方法就是在設(shè)計時就充分考慮信號完整性和時序匹配的問題,在走線時就把這些規(guī)則運用進去;如果有條件,可以做一下仿真,預(yù)先驗證一下設(shè)計。這樣做出來的設(shè)計,系統(tǒng)的穩(wěn)定性和可靠性才會更高。