999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PowerPC嵌入式系統中的SDRAM接口設計

2008-04-12 00:00:00劉麗君賀占莊
現代電子技術 2008年2期

摘 要:嵌入式微處理器的高速性及其實時嵌入式操作系統的實時性、多任務性等,決定了嵌入式系統發展的前景。系統以目前應用廣泛的PowerPC G4處理器MPC7410作為核心處理器,以Tsi107作為北橋芯片搭建嵌入式系統的硬件平臺。詳細介紹Tsi107芯片組中與SDRAM相關的寄存器的配置,討論SDRAM接口的VxWorks BSP開發設計。

關鍵詞:PowerPC;Tsi107芯片組;SDRAM;BSP

中圖分類號:TP368.4 文獻標識碼:B 文章編號: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處理器,具有高性能和低功耗的特點。通過加入A1tiVec技術,處理能力達到了4 G FLOPS。而1.8 V的低電壓操作大大降低了芯片的功耗,提高了系統的穩定性[1]。系統采用Tundra公司為PowerPC專門設計的橋芯片/存儲器控制器Tsi107的memory控制器管理SDRAM。SDRAM在嵌入式系統中占據著非常重要的地位,必須使SDRAM 能夠正常訪問。文中介紹了SDRAM接口的VxWorks BSP的開發。

1 基于PowerPC的硬件電路設計

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

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

2 SDRAM的VxWorks BSP的開發

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

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

2.1 Memory邊界寄存器

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

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

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

bankn高邊界=0b00||<擴展結束地址n>||<結束地址n>||0xF_FFFF。

Tsi107提供了8個片選信號CS[0:7],每個片選信號控制1個物理bank,每個物理bank的大小和類型可不相同,每個bank的大小可配置為1~512 MB。因設計中SDRAM的總容量為256 MB,故只使用1個bank0,該物理bank由CS[0]控制。SDRAM的開始地址為0x0000_0000,結束地址為0x0FFF_FFFF。bank1~bank7都映射到0x3FF0_0000~0x3FFF_FFFF。在設置memory bank使能寄存器時將會關閉bank1~bank7。memory邊界寄存器將分別設置為:

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個字節,用于使能各個Memory bank,寄存器的每一位用于使能一個Memory bank,如果只使能bank0,則寄存器被設置為00000001。 

2.3 memory頁面模式寄存器

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

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

PGMAX<[tRAS(MAX)-(memory訪問的最長時間)-2]/64

2.4 Memory控制配置寄存器

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

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

下面只介紹和SDRAM有關的一些重要寄存器位的設置:

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

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

INLINE_PAR_NOT_ECC: In-line奇偶校驗——不是ECC。執行Memory讀時在in-line數據通路的ECC和奇偶校驗/糾正裝置中選擇其一,該位置0。INLINE_WR_EN:使能In-line奇偶校驗錯誤報告??刂圃谙騇emory寫時是否Tsi107使用in-line奇偶校驗電路報告60X總線上的奇偶校驗錯誤,該位置1。INLINE_RD_EN: In-line讀操作奇偶或ECC校驗/糾正使能??刂剖欠馮si107在in-line數據通路使用ECC/奇偶校驗和/或糾正電路報告Memory系統讀操作時的ECC或奇偶校驗錯誤,該位置1。

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

[JZ]REFINT

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

2.4.3 Memory控制配置寄存器3

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

2.4.4 Memory控制配置寄存器4

PRETOACT:從SDRAM預先加電命令到允許發送一個SDRAM激活命令的時間間隔。該值由SDRAM器件的tRP參數決定,MT48L32M16A2的tRP=20 ns,Memory總線的頻率為100 MHz時,PRETOACT =20 ns×100 MHz=2,因而該參數置為0010。ACTOPRE:從SDRAM激活命令到允許發送一個SDRAM預先加電命令的時間間隔。該值由SDRAM器件的tRAS參數決定,計算方法類似于PRETOACT,該參數置為0101。ACTORW:從SDRAM激活命令到允許一個SDRAM讀或寫命令的時鐘周期。該值由SDRAM器件的tRCD參數決定,該參數置為0010。 

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

3 配置寄存器的訪問

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

4 結 語

以MPC7410為核心處理器搭建嵌入式系統硬件平臺,重點介紹Tsi107中和SDRAM相關的一些寄存器,闡述SDRAM接口的VxWorks BSP的設計,使SDRAM在系統中能被正常訪問。

參 考 文 獻

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

[2]單惠平,楊樹元,唐志峰.PowerPC主機處理器的SDRAM接口設計開發[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.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 亚洲欧美另类日本| 久久香蕉国产线看观看式| 亚洲无码熟妇人妻AV在线| 免费aa毛片| 亚洲欧洲一区二区三区| 国产69精品久久久久妇女| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲青涩在线| 成人自拍视频在线观看| 亚洲日韩精品综合在线一区二区 | 国产麻豆精品久久一二三| 久久久久夜色精品波多野结衣| 国产视频一区二区在线观看 | 欧美日韩一区二区在线免费观看| 国产精品一区在线麻豆| 国产91高跟丝袜| 亚洲成人动漫在线观看| 91黄视频在线观看| 日韩欧美中文在线| 国产成人精品在线1区| 伊人91在线| 无码精品国产dvd在线观看9久| 亚洲中文字幕无码爆乳| 91尤物国产尤物福利在线| 亚洲v日韩v欧美在线观看| 国产精品女熟高潮视频| 全部无卡免费的毛片在线看| 亚洲成人精品在线| 午夜精品一区二区蜜桃| 国产日韩AV高潮在线| 国产精品一区二区无码免费看片| 午夜精品区| 久久精品丝袜| 国产精品久久国产精麻豆99网站| 97人妻精品专区久久久久| Jizz国产色系免费| 粉嫩国产白浆在线观看| 国产一级毛片在线| 亚洲成年网站在线观看| 亚洲av日韩av制服丝袜| 成人一区在线| 国产区在线观看视频| 精品91自产拍在线| 一级做a爰片久久免费| 永久免费无码日韩视频| 国产嫩草在线观看| 亚洲无限乱码| 欧美伦理一区| 重口调教一区二区视频| 国产成人精品18| 精品国产中文一级毛片在线看| 国产福利免费在线观看| 少妇人妻无码首页| 亚洲国产精品一区二区第一页免| www亚洲精品| 亚洲天堂视频在线观看| 国产成人高清在线精品| 亚洲v日韩v欧美在线观看| 国产黄在线观看| 国产在线一区视频| 国产主播在线观看| 免费看美女毛片| 成人午夜视频网站| 精品日韩亚洲欧美高清a| 国产打屁股免费区网站| 乱人伦99久久| 亚洲最新在线| 亚洲第一av网站| 乱人伦99久久| 国产凹凸一区在线观看视频| 色首页AV在线| 国产女人18毛片水真多1| 成人欧美日韩| 亚洲国产天堂久久九九九| 亚洲第一视频区| 国产网站黄| 日本在线国产| 国产v欧美v日韩v综合精品| 久久精品中文字幕免费| 性69交片免费看| 国产在线小视频| 亚洲无码视频图片|