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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > [ARM筆記]存儲控制器及其訪問外設的原理

          [ARM筆記]存儲控制器及其訪問外設的原理

          作者: 時間:2016-11-29 來源:網(wǎng)絡 收藏

            1. S3C2410/S3C2440地地址空間

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

            S3C2410/S3C2440對外引出的27根地址線ADDR0~ADDR26的訪問范圍只有128MB,那么是如何達到1GB的空間的呢?CPU對外還引出了8根片選信號nGCS0~nGCS7,對應于BANK0~BANK7,當訪問BANKx的地址空間時,nGCSx引腳輸出低電平用來選中外接的設備。這樣,每個nGCSx對應128MB的地址空間,8個nGCSx信號總共就對應了1GB的地址空間。這8個BANK的地址空間如:http://weimenlove.blog.163.com/blog/static/17775473201101013847857/

            S3C2410/S3C2440作為32位的CPU,可以使用的地址范圍理論上可達到4GB。除去上述用于連接外設的1GB的地址空間外,還有一部分是CPU內(nèi)部寄存器的地址,剩下的地址空間沒有使用。注意:這里的地址指的是物理地址。

            2. 與外設的關系

            所以要確定一個器件的地址,首先看它位于哪個Bank區(qū),再看它連在Addr[26:0]地址線所確定的地址,將該區(qū)的起始值和它的地址線地址相加即得該器件的地址。

              

           

            BANK0~BANK5的連接方式類似,BANK6連接SDRAM時復雜一點,CPU提供了一組用于SDRAM的信號。

            1) SDRAM時鐘有效信號SCLK;

            2) SDRAM時鐘信號SCLK0/SCLK1;

            3) 數(shù)據(jù)掩碼信號DQM0/DQM1/DQM2/DQM3;

            4) SDRAM片選信號nSCS0(它與nGCS6是同一引腳的兩個功能);

            5) SDRAM行地址選通脈沖信號nSRAS;

            6) SDRAM列地址選通脈沖信號nSCAS;

            7) 寫允許信號nWE(它不是專用于SDRAM)。

            SDRAM的內(nèi)部是一個存儲陣列,陣列就如同表格一樣,將數(shù)據(jù)“填”進去。和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),就可以準確地找到所需要的單元格,這就是SDRAM尋址的基本原理。這個單元格被稱為存儲單元,這個表格(存儲陣列)就是邏輯Bank(Logic Bank,下文簡稱L-Bank),SDRAM一般含有4個L-Bank。

            可以想象,對SDRAM的訪問可以分為如下4個步驟:

            1)CPU發(fā)出的片選信號nSCS0有效,它選中SDRAM芯片。

            2)SDRAM中有4個L-Bank,需要兩根地址信號來選中其中一個,如圖中所示的是用ADD24、ADD25作為L-Bank的片選信號。

            3)對被選中的芯片進行統(tǒng)一的行/列(存儲單元)尋址。

            根據(jù)SDRAM芯片的列地址線數(shù)目設置CPU的相關寄存器后,CPU就會從32位的地址中自動分出L-Bank選擇信號、行址址信號、列地址信號,然后先后發(fā)出行地址信號、列地址信號。L-Bank選擇信號在發(fā)出行地址信號的同時發(fā)出,并維持到列地址信號結(jié)束。

            在圖中,行地址、列地址共用地址線ADD2~ADD14(BANK6的位寬為32,ADDR0/1沒有使用),使用nSRAS、nSCAS兩個信號來區(qū)分它們。如上圖中,使用兩根地址線Addr24、Addr25作為L-Bank的選擇信號;HY57V561620使用13根行地址,9根列地址,所以當nSRAS信號有效時,ADDR2~ADDR14上發(fā)出的是行地址信號,它對應32位地址空間的bit[23:11];當nSCAS信號有效時,ADDR2~ADDR10上發(fā)出的是列地址信號,它對應32位地址空間的bit[10:2];由于Bank6以32位的寬度外接SDRAM,ADDR0、ADDR1恒為0,不參與譯碼。

            又因為Bank6的起始地址為0x3000_0000,所以SDRAM的訪問地址為0x3000_0000~0x33ff_ffff,共64MB(2片*(4*Bank*2^22)*16bit)。



          關鍵詞: ARM 存儲控制器

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();