亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PowerPC嵌入式系統(tǒng)中的SDRAM接口設(shè)計(jì)

        2008-04-12 00:00:00劉麗君賀占莊
        現(xiàn)代電子技術(shù) 2008年2期

        摘 要:嵌入式微處理器的高速性及其實(shí)時(shí)嵌入式操作系統(tǒng)的實(shí)時(shí)性、多任務(wù)性等,決定了嵌入式系統(tǒng)發(fā)展的前景。系統(tǒng)以目前應(yīng)用廣泛的PowerPC G4處理器MPC7410作為核心處理器,以Tsi107作為北橋芯片搭建嵌入式系統(tǒng)的硬件平臺(tái)。詳細(xì)介紹Tsi107芯片組中與SDRAM相關(guān)的寄存器的配置,討論SDRAM接口的VxWorks BSP開發(fā)設(shè)計(jì)。

        關(guān)鍵詞:PowerPC;Tsi107芯片組;SDRAM;BSP

        中圖分類號(hào):TP368.4 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004-373X(2008)02-007-03

        SDRAM Interface Design in Embedded System Based on PowerPC

        LIU Lijun,HE Zhanzhuang,LI Hao

        (Xi′an Microelectronics Technology Institute,Xi′an,710054,China)

        Abstract:The high processing speed of microprocessor and the real-time,multitask characteristics of embedded operating system decide the embedded system will have a good future.The system uses MPC7410 of PowerPC G4 processor which has been used widely as the core processor,Tsi107 as north bridge chip design an embedded system′s hardware platform.Introduc[CD*4]ing the setting of register related to SDRAM in the Tsi107 chip in detail.Discussing the design of SDRAM interface in the VxWorks BSP.

        Keywords:PowerPC;Tsi107 chip;SDRAM;BSP

        MPC7410是新一代G4處理器,具有高性能和低功耗的特點(diǎn)。通過(guò)加入A1tiVec技術(shù),處理能力達(dá)到了4 G FLOPS。而1.8 V的低電壓操作大大降低了芯片的功耗,提高了系統(tǒng)的穩(wěn)定性[1]。系統(tǒng)采用Tundra公司為PowerPC專門設(shè)計(jì)的橋芯片/存儲(chǔ)器控制器Tsi107的memory控制器管理SDRAM。SDRAM在嵌入式系統(tǒng)中占據(jù)著非常重要的地位,必須使SDRAM 能夠正常訪問(wèn)。文中介紹了SDRAM接口的VxWorks BSP的開發(fā)。

        1 基于PowerPC的硬件電路設(shè)計(jì)

        整個(gè)電路的硬件設(shè)計(jì)如圖1所示。系統(tǒng)中使用了MPC7410作為核心處理器,外接一個(gè)2 MB L2 CACHE作為二級(jí)緩存,以提高運(yùn)算速度。Tsi107作為北橋芯片,利用60X總線和MPC7410相接,用以把60X總線信號(hào)轉(zhuǎn)化為PCI總線信號(hào),并管理FLASH和SDRAM[2]。SDRAM用于存放用戶的數(shù)據(jù)和代碼,為程序的運(yùn)行和保存臨時(shí)文件提供空間。SDRAM 的管理由Tsi107的Memory控制器來(lái)實(shí)現(xiàn),數(shù)據(jù)寬度配置為64 b。Tsi107的SDRAM接口有以下特點(diǎn):SDRAM器件必須與SDRAM的JEDEC規(guī)范兼容,32位和64位數(shù)據(jù)可選寬度,支持頁(yè)面式訪問(wèn),支持8個(gè)物理bank,最大支持1 GB的存儲(chǔ)容量[3]。設(shè)計(jì)中采用5片MT48L32M16A2作為SDRAM,其中的一片用于校驗(yàn)數(shù)據(jù),SDRAM的總?cè)萘繛?56 MB,總線時(shí)鐘是100 MHz。

        在布線時(shí)應(yīng)注意SDRAM各個(gè)時(shí)鐘信號(hào)線必須等長(zhǎng)。如果SDRAM的地址線和控制線采用星型布線難度會(huì)很大,因而設(shè)計(jì)中把5片SDRAM中的必2片放在頂層,剩下的3片放在底層,使5片SDRAM基本平行的放在Tsi107芯片組的Memory控制引腳周圍。芯片組的Memory地址線和控制線與中間的1個(gè)SDRAM器件相連,然后其他的SDRAM器件與中間的SDRAM器件采用菊花鏈的方式相接。SDRAM器件數(shù)據(jù)線的連接要盡量等長(zhǎng)。由于SDRAM的頻率較高,需要注意布線的長(zhǎng)度和路徑,以保證信號(hào)的完整性。

        2 SDRAM的VxWorks BSP的開發(fā)

        BSP即Board Support Package,板級(jí)支持包,是對(duì)目標(biāo)系統(tǒng)的底層支持軟件。對(duì)于具體的硬件平臺(tái),與硬件相關(guān)的代碼都被封裝在BSP中,由BSP向上提供虛擬的硬件平臺(tái),BSP與操作系統(tǒng)通過(guò)定義的接口進(jìn)行交互。BSP是所有與硬件相關(guān)的代碼體的集合,是介于底層硬件和上層操作系統(tǒng)之間一層,主要目的是為了支持操作系統(tǒng),使之能夠更好地運(yùn)行于硬件系統(tǒng)。

        對(duì)SDRAM的BSP的開發(fā)主要是對(duì)Tsi107芯片組中與SDRAM相關(guān)的一些寄存器的設(shè)置。這些寄存器包括:Memory邊界寄存器、Memory bank使能寄存器、Memory頁(yè)面方式寄存器、Memory控制配置寄存器。

        2.1 Memory邊界寄存器

        擴(kuò)展開始地址寄存器(EMSAR1和EMSAR2)和開始地址寄存器(MSAR1和MSAR2)為每個(gè)memory bank定義低地址邊界,計(jì)算公式如下: 

        bankn低邊界=0b00||<擴(kuò)展開始地址n>||<開始地址n>||0x0_0000。

        擴(kuò)展結(jié)束地址寄存器(EMEAR1和EMEAR2)和結(jié)束地址寄存器(MEAR1和MEAR2)為每個(gè)memory bank定義高地址邊界,計(jì)算公式如下:

        bankn高邊界=0b00||<擴(kuò)展結(jié)束地址n>||<結(jié)束地址n>||0xF_FFFF。

        Tsi107提供了8個(gè)片選信號(hào)CS[0:7],每個(gè)片選信號(hào)控制1個(gè)物理bank,每個(gè)物理bank的大小和類型可不相同,每個(gè)bank的大小可配置為1~512 MB。因設(shè)計(jì)中SDRAM的總?cè)萘繛?56 MB,故只使用1個(gè)bank0,該物理bank由CS[0]控制。SDRAM的開始地址為0x0000_0000,結(jié)束地址為0x0FFF_FFFF。bank1~bank7都映射到0x3FF0_0000~0x3FFF_FFFF。在設(shè)置memory bank使能寄存器時(shí)將會(huì)關(guān)閉bank1~bank7。memory邊界寄存器將分別設(shè)置為:

        MSAR1:0xFFFF_FF00;MSAR2:0xFFFF_FFFF;EMSAR1:0x0303_0300; EMSAR2:0x0303_0303; MEAR1:0xFFFF_FFFF; MEAR2:0xFFFF_FFFF;

        EMEAR1:0x0303_0300; EMEAR2:0x0303_0303。

        2.2 memory bank使能寄存器

        該寄存器的大小為1個(gè)字節(jié),用于使能各個(gè)Memory bank,寄存器的每一位用于使能一個(gè)Memory bank,如果只使能bank0,則寄存器被設(shè)置為00000001。 

        2.3 memory頁(yè)面模式寄存器

        該寄存器的大小也是1個(gè)字節(jié),包含的PGMAX參數(shù)控制Tsi107訪問(wèn)當(dāng)前頁(yè)面的時(shí)間。PGMAX定義了從激活到預(yù)先加電的時(shí)間間隔,也稱作tRAS。PGMAX參數(shù)值乘以64產(chǎn)生實(shí)際時(shí)間間隔的周期數(shù)。當(dāng)PGMAX被設(shè)置為0x00,頁(yè)模式不被使能。

        PGMAX的值與使用的SDRAM,ROM系統(tǒng)和Tsi107的頻率有關(guān)。當(dāng)PGMAX定義的時(shí)間間隔到達(dá),Tsi107需使用一個(gè)預(yù)先加電命令關(guān)閉當(dāng)前頁(yè)面;在進(jìn)行memory訪問(wèn)時(shí),如果PGMAX時(shí)間到達(dá),Tsi107須等到訪問(wèn)完成再對(duì)SDRAM進(jìn)行預(yù)先加電;如果ROM連接在memory總線上,則潛在的延遲一個(gè)預(yù)先加電命令的最長(zhǎng)操作是對(duì)ROM的突發(fā)讀操作;如果ROM連接在PCI總線上,則最長(zhǎng)的Memory訪問(wèn)是對(duì)SDRAM的突發(fā)讀操作;Tsi107發(fā)送一個(gè)預(yù)先加電命令到SDRAM器件需要兩個(gè)時(shí)鐘周期[3]。于是,PGMAX的計(jì)算公式為:

        PGMAX<[tRAS(MAX)-(memory訪問(wèn)的最長(zhǎng)時(shí)間)-2]/64

        2.4 Memory控制配置寄存器

        Memory控制配置寄存器包含4個(gè)32位寄存器(MCCRs),用于設(shè)置所有的RAM和ROM參數(shù)。在所有的Memory配置參數(shù)設(shè)置完后,初始化軟件使用MCCR1中的MEMGO位啟動(dòng)Memory接口。首次向MCCR1,2,3和4中寫時(shí),先不設(shè)置MEMGO位,然后執(zhí)行一個(gè)read-modify-write操作設(shè)置MEMGO[3]。

        [BT4]2.4.1 Memory控制配置寄存器1

        下面只介紹和SDRAM有關(guān)的一些重要寄存器位的設(shè)置:

        SREN位設(shè)置為0,表示在睡眠模式時(shí)禁止SDRAM的self 刷新。RAM_TYRE位設(shè)置為0,表明RAM類型是SDRAM。MCCR1[15:0]用于bank0~bank7的行參數(shù)的設(shè)置,其表明每一個(gè)bank的行地址位多少。因?yàn)橹皇褂胋ank0,所以只設(shè)置MCCR[1:0],MCCR[15:2]使用默認(rèn)值即可。對(duì)于器件MT48L32M16A2使用了13個(gè)行地址位,4個(gè)邏輯bank[4],故MCCR[1:0]設(shè)置為10。

        [BT4]2.4.2 Memory控制配置寄存器2

        INLINE_PAR_NOT_ECC: In-line奇偶校驗(yàn)——不是ECC。執(zhí)行Memory讀時(shí)在in-line數(shù)據(jù)通路的ECC和奇偶校驗(yàn)/糾正裝置中選擇其一,該位置0。INLINE_WR_EN:使能In-line奇偶校驗(yàn)錯(cuò)誤報(bào)告。控制在向Memory寫時(shí)是否Tsi107使用in-line奇偶校驗(yàn)電路報(bào)告60X總線上的奇偶校驗(yàn)錯(cuò)誤,該位置1。INLINE_RD_EN: In-line讀操作奇偶或ECC校驗(yàn)/糾正使能。控制是否Tsi107在in-line數(shù)據(jù)通路使用ECC/奇偶校驗(yàn)和/或糾正電路報(bào)告Memory系統(tǒng)讀操作時(shí)的ECC或奇偶校驗(yàn)錯(cuò)誤,該位置1。

        REFINT:Tsi107的Memory接口為SDRAM提供CBR刷新,該位表明了CBR刷新周期之間的時(shí)鐘周期數(shù)。REFINT的值與使用的RAM器件和Tsi107的操作頻率有關(guān)。當(dāng)REFINT時(shí)間到達(dá)且Memory總線空閑,Tsi107向SDRAM發(fā)送一個(gè)預(yù)先加電命令和一個(gè)刷新命令。當(dāng)Memory總線正忙,刷新請(qǐng)求將不被執(zhí)行,一個(gè)內(nèi)部的、4位、未執(zhí)行刷新計(jì)數(shù)器將加1,刷新間隔計(jì)時(shí)器恢復(fù)到REFINT中的值,被中斷的操作將繼續(xù)進(jìn)行。當(dāng)REFINT時(shí)間到達(dá)并且總線空閑,Tsi107將執(zhí)行所有的未執(zhí)行的刷新操作,未執(zhí)行刷新計(jì)數(shù)器將清零。如果未執(zhí)行的刷新次數(shù)超過(guò)16,計(jì)數(shù)器溢出并產(chǎn)生一個(gè)刷新溢出錯(cuò)誤[3]。REFINT值通過(guò)下面的公式計(jì)算可得:[HJ1]

        [JZ]REFINT

        上式中,器件的刷新周期數(shù)RP=每一個(gè)bank的刷新周期×bank的數(shù)量×Memory的頻率,n=(每個(gè)bank的行數(shù)×每個(gè)器件的bank數(shù))/16,ROH=2×同時(shí)打開的bank數(shù)+PRETOACT+4+1,TWACC是Memory總線上最慢的設(shè)備被訪問(wèn)時(shí)所占用的時(shí)間。對(duì)于器件MT48L32M16A2,計(jì)算可得REFINT<741.5時(shí)鐘周期,故存儲(chǔ)在REFINT中的值將是0b00_0010_1110_0101(或741個(gè)時(shí)鐘周期)。

        2.4.3 Memory控制配置寄存器3

        BSTOPRE[2~5]:該參數(shù)與BSTOPRE[0~1](MCCR4中的19~18位)和BSTOPRE[6~9]( MCCR4中的3~0位)控制頁(yè)面打開的時(shí)間間隔。在每次訪問(wèn)頁(yè)面時(shí),BSTOPRE[0~9] 的值加載到計(jì)數(shù)器,當(dāng)計(jì)數(shù)器的值到達(dá),則發(fā)送一個(gè)SDRAM預(yù)先加電命令關(guān)閉此打開的頁(yè)面。該參數(shù)置為0111。REFREC:從SDRAM刷新命令到可以發(fā)送SDRAM激活命令的時(shí)間間隔。SDRAM器件的參數(shù)tRC表明了最小的刷新——激活的時(shí)間間隔。MT48L32M16A2的tRC=66 ns,Memory總線的頻率為100 MHz時(shí),REFREC=66 ns×100 MHz=6.6,向上取整得7,因而該參數(shù)置為0111。RDLAT:從SDRAM讀命令到可從數(shù)據(jù)總線上獲得第一個(gè)數(shù)據(jù)的時(shí)間間隔。RDLAT的值不能大于6個(gè)時(shí)鐘周期,該參數(shù)置為0100。

        2.4.4 Memory控制配置寄存器4

        PRETOACT:從SDRAM預(yù)先加電命令到允許發(fā)送一個(gè)SDRAM激活命令的時(shí)間間隔。該值由SDRAM器件的tRP參數(shù)決定,MT48L32M16A2的tRP=20 ns,Memory總線的頻率為100 MHz時(shí),PRETOACT =20 ns×100 MHz=2,因而該參數(shù)置為0010。ACTOPRE:從SDRAM激活命令到允許發(fā)送一個(gè)SDRAM預(yù)先加電命令的時(shí)間間隔。該值由SDRAM器件的tRAS參數(shù)決定,計(jì)算方法類似于PRETOACT,該參數(shù)置為0101。ACTORW:從SDRAM激活命令到允許一個(gè)SDRAM讀或?qū)懨畹臅r(shí)鐘周期。該值由SDRAM器件的tRCD參數(shù)決定,該參數(shù)置為0010。 

        最后,MCCR1~MCCR4的設(shè)置如下:MCCR1:0x16600002(MEMGO為0);MCCR2:0x661C0B95;MCCR3:0x77400000;MCCR4:0x25402225;MCCR1:0x16680002(MEMGO為1)。

        3 配置寄存器的訪問(wèn)

        Tsi107中的32位配置寄存器地址是0x8000_00nn,nn是寄存器的相對(duì)偏移地址。對(duì)配置寄存器的訪問(wèn)采用間接方式,將配置寄存器的地址寫到CONFIG_ADDR端口,則配置寄存器的內(nèi)容將在CONFIG_DATA端口獲得。CONFIG_ADDR端口的地址為:0xFEC0_0000~0xFEDF_FFFC,CONFIG_DATA端口的地址為0xFEE0_0000~0xFEEF_FFFF[3]。

        4 結(jié) 語(yǔ)

        以MPC7410為核心處理器搭建嵌入式系統(tǒng)硬件平臺(tái),重點(diǎn)介紹Tsi107中和SDRAM相關(guān)的一些寄存器,闡述SDRAM接口的VxWorks BSP的設(shè)計(jì),使SDRAM在系統(tǒng)中能被正常訪問(wèn)。

        參 考 文 獻(xiàn)

        [1]Freescale Semiconductor.MPC7410 RISC Microprocessor User′s Manual [EB/OL].www.freescale.com,2002.

        [2]單惠平,楊樹元,唐志峰.PowerPC主機(jī)處理器的SDRAM接口設(shè)計(jì)開發(fā)[J].計(jì)算機(jī)工程,2006,32(6):263-265.[3]Tundra Semiconductor Corporation.Tsi107 PowerPC Host Bridge User Manual[EB/OL].www.tundra.com,2006.

        [4]Micron Semiconductor.MT48L32M16A2 Datasheet [EB/OL].www.micron.com/dramds,2006.

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

        日本在线 | 中文| 亚洲乱码中文字幕综合69堂| 在线视频自拍视频激情| 久久久亚洲精品一区二区| 亚洲熟妇一区二区蜜桃在线观看| 亚洲av永久无码精品一福利| 欧美亚洲日本国产综合在线| 亚洲AV成人无码久久精品四虎| 亚洲成生人免费av毛片| 日韩精品久久中文字幕| 日本高清视频www| 一级呦女专区毛片| 蜜桃视频高清在线观看| 亚洲精品粉嫩美女一区| 久久精品免费观看国产| 免费一区啪啪视频| 国产高清不卡在线视频| 国产福利一区二区三区在线视频| 欧美粗大猛烈老熟妇| 亚洲AV肉丝网站一区二区无码| 亚洲av高清一区三区三区| 国产午夜片无码区在线播放 | 国产精品视频二区不卡| 国产成人久久精品激情91| 91久久精品人妻一区二区| 日本免费一区二区三区在线播放| 视频一区视频二区制服丝袜| 成年无码av片完整版| 久久久国产不卡一区二区| 一本久道久久丁香狠狠躁| 国产精品中文久久久久久久 | 一区二区三区四区日韩亚洲| 精品亚洲麻豆1区2区3区| 国产日韩精品中文字无码| 初高中生精品福利视频| 亚洲av一区二区三区网站| 91中文人妻熟女乱又乱| 欧美gv在线观看| 久久久久久久久高潮无码| 国产亚洲精品90在线视频| 337p西西人体大胆瓣开下部|