久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

s3c44b0存儲器初始化簡介

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年12月19日   【字體:

s3c44b0存儲器初始化的問題困擾已久,今天總算是搞明白了點,如下總結吧。

貼段代碼先:

SMRDATA DATA
  DCD   BWSCON_val  ;bank0=OM[1:0] bank1-bank7=16bit bank2=8bit
  DCD   ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC));bankcon0
  DCD   ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC));bankcon1
  DCD   ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC));bankcon2
  DCD   ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC));bankcon3
  DCD   ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC));bankcon4
  DCD   ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC));bankcon5
  DCD   ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) ;bankcon6
  DCD   ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) ;bankcon7
  DCD   ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)  ;refresh register
  DCD   0x16   ;SCLK power mode  bank6/7size=8M/8M
  DCD   0x20   ;MRSR6 CL=2clk
  DCD   0x20   ;MRSR7
  ALIGN

ADS1.2下的存儲器初始化代碼。剛開始看到的時候一頭霧水,因為不懂的:SMRDATA DATA 。。。ALIGN

格式怎么用的,后來再慢慢看,在該段代碼前發現這一段代碼:

ldr   r0,=SMRDATA
  ldmia  r0,{r1-r13}
  ldr   r0,=BWSCON
  stmia r0,{r1-r13}

總算才明白,原來是定義了13個4字節數據 用于初始化以BWSCON寄存器開始的連續13個寄存器。

BWSCON=0x01c80000    BANKCON0=0x01c80004     BANKCON1=0x01c80008    

BANKCON2=0x01c8000c    BANKCON3=0x01c80010          BANKCON4=0x01c80014 

BANKCON5=0x01c80018         BANKCON6=0x01c8001c     BANKCON7=0x01c80020 

REFRESH=0x01c80024      BANKSIZE=0x01c80028      MRSRB6=0x01c8002c

MRSRB7=0x01c80030 這13個寄存器用于存儲器的讀寫時鐘及刷新等的設置,且只能用STMIA指令來操作。所以這就是為什么存儲器初始化的操作都是如上的形式。

這篇日志的重點也許并不在這,而在于怎么求的上述分配數據空間所給的初始值。

BWSCON用于定義存儲器的數據寬度,由于板子上的flash,sdram都是16bit的,故BSWCON_val=0x01000000

由于只用到板子上的flash為BANK0 sdram為BANK6 故只需設置BANKCON0 BANKCON6。

現給出相關參數及其解釋:

Tacs:設置nGCSn有效前地址的建立時間
Tcos:設置nOE有效前片選信號的建立時間 //讀
Tacc:訪問周期
Tcoh:nOE無效后片選信號的保持時間
Tcah:nGCSn無效后地址信號的保持時間
Tacp:頁模式的訪問周期
PMC:頁模式的配置,每次讀寫的數據數

依據flash芯片手冊(sst39vf160-90)得知下列AC CHARACTAR

tRC(min) = 90 ns  tACC(max) = 90 ns  tCE(max) = 90 ns   tOE(max) = 45 ns

依據flash讀時序和s3c44b0存儲器操作時序圖得知:

Tacs = tACC - tCE = 90 - 90 =0
Tcos = tCE - tOE = 90 - 45 = 45 ns
Tacc = tRC - tACC +tOE = 90 - 90 + 45 = 45 ns
Toch = 0
Tcah = 0

并通過s3c44b0手冊上如下描述:All types of master clock in this memory controller correspond to the bus clock. For example, MCLK in DRAM and SRAM is same as the bus clock, and SCLK in SDRAM is also the same as the bus clock. In this chapter (Memory Controller), one clock means one bus clock.

可知:存儲器操作周期與總線時鐘頻率的關系,故可知道BANKCON0 中各參數字段的取值如下:

pllout=40Mhz (板子系統時鐘設置為40MHZ)
Tclk = 1 / 40Mhz = 25ns
Tacs = 0/25ns =0 clk
Tcos = 45/25 = 1.8 clk (4clk)(11)     (取大于計算的時鐘周期是為了使系統運行的更穩定)
Tacc = 45/25 = 1.8 clk (2clk) (001)  (同上)
Toch = 0 = 0 clk
Tcah = 0 = 0 clk

MRSRB6,BANKCON6及REFESH各寄存器求值如下:

據HY57V641620HGT -7芯片手冊,SCAN = 00 column address number = 8-bit (Column addrdess:CA0~CA7)

Trcd = 20 ns CL = 2 clk Fsdram = 100MHZ T=10 ns 所以

Trcd = 20/10 = 2 clk (01) Trp = 2 clk(00) Trc = 7clk(11)

同樣,查看s3c44b0芯片手冊:

Refresh period(us) = (2^11 - refresh_count +1)/MCLK(Mhz)
4096 refresh cycles / 64ms
refresh period(us) = 64ms/4096 = 15.625 us
MCLK = 40 Mhz
refresh_count = 1424

BWSCON_val= 0x11110090

而據sdram芯片手冊,得知其大小均為8M(B)= 4(bank)*1M*16bit(SDRAM)

至此,有關存儲器的初始化的一些數值上的計算算是完了~~

 

難點還是時序圖的理解吧,其實只要理解了所要用的幾個參數段的意義就容易在復雜的時序圖中找出其中的換算關系~~~~關鍵還是要看得懂datasheet ,英文的,難~~
 

關閉窗口

相關文章

主站蜘蛛池模板: 中文字幕一区二区三区四区五区 | 成人中文字幕在线 | 欧美一区二区三区 | 日本在线看 | 日韩aⅴ在线观看 | 日韩精品视频一区二区三区 | 91精品国产综合久久久久蜜臀 | 免费欧美视频 | 国产精品高潮呻吟久久 | 国产传媒在线观看 | 天堂一区二区三区 | 欧美一区免费在线观看 | 成人精品在线观看 | 中文字幕一区二区三区精彩视频 | 久www| 在线一区视频 | 国产女人第一次做爰毛片 | 大香在线伊779 | 狠狠久久综合 | 亚洲精品国产综合区久久久久久久 | 日本在线播放一区二区 | 国产精品成人69xxx免费视频 | 青青久久| 亚州视频在线 | 91九色在线观看 | 亚洲一区免费 | 精品日韩在线 | 99国产精品99久久久久久粉嫩 | 欧美成人一区二区 | 久久艹免费视频 | 成人av在线播放 | 免费在线观看一区二区 | 四虎影院免费在线 | 91se在线| 日韩a视频 | 欧州一区二区三区 | 免费在线色 | 久久精品小视频 | 久草高清视频 | 九九久久在线看 | 成人午夜在线 |