<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 電子技術(shù)分享:對(duì)于DDR2內(nèi)存的布線設(shè)計(jì)經(jīng)驗(yàn)

          電子技術(shù)分享:對(duì)于DDR2內(nèi)存的布線設(shè)計(jì)經(jīng)驗(yàn)

          作者: 時(shí)間:2016-12-09 來源:網(wǎng)絡(luò) 收藏

            做主板已經(jīng)兩年多了,做過龍芯2F內(nèi)存條和板載內(nèi)存顆粒的設(shè)計(jì),做過凌動(dòng)N450內(nèi)存條和板載內(nèi)存顆粒的設(shè)計(jì)。想寫點(diǎn)東西總結(jié)一下,發(fā)現(xiàn)網(wǎng)上已經(jīng)有很多這類的文章了,現(xiàn)在再寫一點(diǎn)就當(dāng)作是參考補(bǔ)充吧。以下內(nèi)容主要是針對(duì)DDR2 667內(nèi)存的設(shè)計(jì)。

          本文引用地址:http://www.ex-cimer.com/article/201612/328216.htm

            信號(hào)分組:

            DDR2的布線中習(xí)慣把信號(hào)分成若干組來進(jìn)行設(shè)計(jì),分成同組的信號(hào)具有相關(guān)或者相似的信號(hào)特性。

            時(shí)鐘組:

            差分時(shí)鐘信號(hào),每一對(duì)信號(hào)都是同頻同相的。ckp0和ckn0為一對(duì)。

            數(shù)據(jù)組:

            對(duì)主板64位DDR2內(nèi)存來說數(shù)據(jù)每8位(也就是一個(gè)byte)為一組可以分為八組,數(shù)據(jù)dq[0:7]、數(shù)據(jù)掩碼dqm0、數(shù)據(jù)選通差分信號(hào)dqsp0和dqsn0為一組,以此類推。同個(gè)數(shù)據(jù)組的信號(hào)應(yīng)該在同一個(gè)信號(hào)層上走線,換層也應(yīng)該一起換,為了方便在同一個(gè)信號(hào)層走線可以將數(shù)據(jù)位互換。比如dq2信號(hào)在走線的時(shí)候發(fā)現(xiàn)如果按照原理圖來走線會(huì)跟dq4交錯(cuò),這樣就不得不換層走線,我們通過互換數(shù)據(jù)位就可以使信號(hào)走同層,對(duì)內(nèi)存來說每一位存進(jìn)什么內(nèi)容讀出也是什么內(nèi)容,互換不會(huì)受影響,但是互換的條件必須是在同一組內(nèi)8個(gè)bit之間。

            地址/命令組:

            MA[0:14]、BA0、BA1、BA2、RAS、CAS、WE

            控制組:

            時(shí)鐘使能CKE、片選CS、終端電阻選通ODT為一組,對(duì)內(nèi)存條來說DIMM0用到了CKE0、CKE1、CS0、CS1、ODT0、ODT1。做板載內(nèi)存設(shè)計(jì)的時(shí)候,可以只用CKE0、CS0、ODT0,控制4片16位的內(nèi)存芯片。

            PCB疊層:

            對(duì)六層板來說一般的疊層都是top、GND、singnal2、singnal3、POWER、bottom,信號(hào)一般情況下以GND為參考平面比較好。走線的阻抗由走線寬度、走線的銅箔厚度、走線到參考平面的距離、參考平面的銅箔厚度和板介質(zhì)材料決定,PCB設(shè)計(jì)的時(shí)候應(yīng)該遵守CPU廠家阻抗設(shè)計(jì)要求來設(shè)置疊層。一般PCB設(shè)計(jì)軟件也能計(jì)算阻抗,找PCB生產(chǎn)廠家了解了板材介質(zhì)厚度的資料后可以自行設(shè)計(jì)疊層、線寬。地址/命令信號(hào)、控制信號(hào)可以以1.8V內(nèi)存工作電壓為參考平面。

            長(zhǎng)度控制:

            對(duì)DDR2這種高頻的信號(hào)來說走線長(zhǎng)度應(yīng)該計(jì)算到CPU核心,這就引入了一個(gè)叫封裝長(zhǎng)度的概念。硅晶元經(jīng)過物理化學(xué)的方法刻蝕而成CPU核心,再將CPU核心封裝到一塊小的PCB基板上就成了我們常見的CPU。那塊小的PCB上管腳到CPU核心的走線長(zhǎng)度被稱為封裝長(zhǎng)度。

            到同一行列(rank)內(nèi)存的時(shí)鐘長(zhǎng)度應(yīng)該控制在正負(fù)5mil以內(nèi)。

            同一個(gè)數(shù)據(jù)組內(nèi)所有走線長(zhǎng)度控制在數(shù)據(jù)選通信號(hào)DQS的正負(fù)20mil范圍內(nèi)為宜,不同數(shù)據(jù)組之間長(zhǎng)度可以不同,但是應(yīng)該控制在時(shí)鐘信號(hào)的正負(fù)500mil以內(nèi)。

            地址/命令組信號(hào)長(zhǎng)度控制不是特別嚴(yán)格,INTEL凌動(dòng)N450要求控制在時(shí)鐘信號(hào)負(fù)500mil到正1000mil以內(nèi)。也就是說最長(zhǎng)和最短的信號(hào)可以相差1500mil,但是布線的時(shí)候還是盡量把信號(hào)長(zhǎng)度差縮小比較好。布線的時(shí)候這組信號(hào)長(zhǎng)度完全相等也沒有問題,但是這樣占用的PCB空間也大,花費(fèi)的時(shí)間也多。如果地址/命令信號(hào)長(zhǎng)度超出時(shí)鐘信號(hào)幾千mil,那就需要在BIOS固件中好好調(diào)節(jié)了??刂圃贑PU要求的范圍內(nèi),需要做板載內(nèi)存的時(shí)候只需要配置好內(nèi)存SPD就可以了。

            控制組信號(hào)長(zhǎng)度控制要求和地址/命令組信號(hào)的要求類似,設(shè)計(jì)的時(shí)候應(yīng)該按照CPU廠家的要求來做,INTEL凌動(dòng)N450要求控制在時(shí)鐘信號(hào)0mil到正1000mil以內(nèi)。

            走線間距:

            一般來說走線都應(yīng)該按照3W原則來走線,也就是同一個(gè)平面上線與線的間距為3倍線的寬度。但是這個(gè)不是必須的,intel要求的就比較小。一般走線蜿蜒線的間距可以為16到20mil,對(duì)時(shí)鐘信號(hào)可以加大到30mil。不同組信號(hào)之間的距離應(yīng)該適當(dāng)拉大,可以為20mil以上,地址/命令組和控制組信號(hào)的間距可以比較小8mil以下都可以。BGA扇出的地方間距可以小,出線后應(yīng)該以CPU設(shè)計(jì)要求來走線。

            其它:

            VREF走線可以用一根20mil的線,每接到一個(gè)器件應(yīng)該加一個(gè)0.1uf的電容。

            VTT走線應(yīng)該在135mil以上,每四個(gè)電阻接一個(gè)0.1uf電容,兩端接10uf大電容。

            點(diǎn)對(duì)多點(diǎn)的信號(hào),如地址/命令信號(hào)、控制信號(hào)、時(shí)鐘信號(hào)應(yīng)該按照“T”形走線,也就是芯片中間走上再分支,長(zhǎng)度應(yīng)該滿足CPU設(shè)計(jì)要求。附拓?fù)?/strong>圖:

            

          圖 CPU設(shè)計(jì)拓?fù)鋱D



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();