SDRAM的調(diào)試總結(jié) 1 概述 實驗平臺: JZ2440 CPU: S3C2440 SDRAM型號: EM63A165TS-6G 2 SDRAM的一些基本概念 2.1 引腳分配 2.2 引腳描述 A0-A12 :地址線 DQ0-DQ15 :數(shù)據(jù)線 LDQM、UDQM :數(shù)據(jù)屏蔽控制 BA0-BA1 :L-BANK地址線 CLK :時鐘 CKE :時鐘使能 CS# :片選 WE# :寫使能 CAS# :列地址選通脈沖 RAS# :行地址選通脈沖 VSS、VSSQ :地 VDD、VDDQ :電源 2.3 內(nèi)部框圖 2.4 基本概念 初始化完成之后,想要對一個L-BANK的陣列進行尋址,需要經(jīng)過片選、選擇L-BANK、激活對應的行,選擇對應的列并發(fā)送讀寫命令,完成對應操作。 2.4.1 行(Row)有效 確定要操作的行,使之處于激活(Active)狀態(tài);行有效操作與片選、L-BANK地址同時進行。 2.4.2 列(Column)尋址 行有效后,經(jīng)過一定的時間間隔后[Trcd(RAS to CAS Delay)],進行列尋址操作,確定要操作的存儲單元;列尋址與讀寫命令同時進行。 2.4.3 數(shù)據(jù)輸出(讀) 從CAS與讀取命令發(fā)出,到第一筆數(shù)據(jù)輸出到數(shù)據(jù)總線上,有一段時間間隔,這個時間間隔成為[Tcl(CAS Latency,CAS潛伏期)];從數(shù)據(jù)總線上有數(shù)據(jù)輸出之前的一個上升沿開始,數(shù)據(jù)已被觸發(fā),經(jīng)過一定的驅(qū)動時間,最終被傳向數(shù)據(jù)總線上,這段驅(qū)動時間,被稱為[Tac(Access Time from CLK,時鐘出發(fā)后的訪問時間)],每個數(shù)據(jù)讀取時,都有Tac,包括連續(xù)讀取,只是在第一個數(shù)據(jù)傳輸?shù)耐瑫r,就開始了第二個數(shù)據(jù)的Tac。 2.4.4 數(shù)據(jù)輸入(寫) 數(shù)據(jù)寫入也是在Trcd之后進行,數(shù)據(jù)與CAS同時發(fā)送,即寫入延時為0,但是為了保證數(shù)據(jù)的寫入可靠,都會留出足夠的寫入、校正時間[Twr(Write Recovery Time)],這個操作也被稱作寫回(Write Back);注意,預充電與寫操作不能同時進行,并且在寫操作完成后,等待Twr的時間間隔,才能執(zhí)行預充電操作。 2.4.5 突發(fā)(Burst) 突發(fā)是指同一行中,相鄰的存儲單元連續(xù)進行數(shù)據(jù)傳輸?shù)募夹g,連續(xù)傳輸所涉及的存儲單元(列)的量,就是突發(fā)長度(Burst Length, BL);只要起始列地址和突發(fā)長度,內(nèi)存就會依次地自動對后面相應數(shù)量的存儲單元進行讀寫操作,而不需要控制器連續(xù)地提供列地址。 Full Page突發(fā)傳輸:L-BANK里,對某一行中所有存儲單元按順序連續(xù)傳輸。 順序傳輸:從指定起始單元開始,按順序傳輸。 交錯傳輸:按照指定規(guī)則,進行數(shù)據(jù)傳輸。 2.4.6 預充電(Precharge) L-BANK關閉現(xiàn)有工作行,準備打開新行的操作,就是預充電操作。實際上,預充電就是對工作行中所有存儲單元進行數(shù)據(jù)重寫,并對行地址進行復位,以準備新行的工作。地址線A10控制著讀寫之后,是否進行自動預充電操作。 在發(fā)出預充電命令之后,要經(jīng)過一定時間才能發(fā)送行有效命令打開新的工作行,這段時間為[Trp(Precharge command period),預充電有效周期]。 2.4.7 刷新(Refresh) 刷新的意義在于保存數(shù)據(jù)。在刷新過程中,所有L-BANK都停止工作,所有的工作命令只能等待而無法執(zhí)行,刷新完成后,才會重新進入工作狀態(tài)。 刷新分為兩種:自動刷新(Auto Refresh, AR)和自刷新(Self Refresh, SR)。 自動刷新:在正常工作狀態(tài)下,芯片周而復始地自動刷新,以保存臨時存儲地數(shù)據(jù)。 自刷新:在休眠狀態(tài)下(在發(fā)出AR命令后,使CKE置于無效狀態(tài),重新使能CKE可退出),芯片內(nèi)部自動刷新,以保證數(shù)據(jù)不丟失。 2.4.8 刷新與預充電地區(qū)別 預充電是對一個或所有L-BANK中的一個工作行進行重寫操作,是不定期的;刷新是對所有行進行重寫操作,以保留那些久久未被重寫的存儲單元的數(shù)據(jù)。 2.4.9 數(shù)據(jù)掩碼 屏蔽不需要的數(shù)據(jù)。在讀取數(shù)據(jù)時,DQM發(fā)出,兩個時鐘周期后生效;在數(shù)據(jù)寫入時,DQM立即生效。 2.4.10 幾種讀取時可能出現(xiàn)的情形 a、頁命中(PH, Page Hit) 要尋址的行與L-BANK是空閑的,直接發(fā)送行有效,再發(fā)送列尋址,即可完成讀寫操作。 b、頁快速命中(PFH, Page Fast Hit) 要尋址的行正好是前一個操作的工作行,即尋址的行已處于選通有效狀態(tài),可以直接發(fā)送列尋址,即可完成讀寫操作。 c、頁錯失(PM, Page Miss) 要尋址的行所在的L-BANK中已經(jīng)有一個激活的工作行(尋址沖突),這時必須先對激活的工作行進行預充電操作,關閉激活的行,再對新行發(fā)送行有效,頁尋址,才能完成讀寫操作。 交錯式內(nèi)存控制:一個L-BANK進行工作時,對下一個要工作的L-BANK進行預充電操作。 3 EM63A165TS 3.1 時序 模式寄存器位映射關系 3.4 AC特性 4 S3C2440芯片配置說明 4.1 原理圖說明 這是一種兩個16位位寬的SDRAM芯片拼接成一個32位位寬的模組接法。 注意,A0連接CPU的哪根地址線,是由模組的數(shù)據(jù)位寬決定的。由于CPU是按字節(jié)尋址的,而SDRAM模組是按字尋址的,所以應該進行地址轉(zhuǎn)換。 4.2 寄存器設置(clocks = 10ns) 4.2.1 BWSCON 說明 [27] 0:把對應的引腳映射為寫字節(jié)使能,該位的作用是,對寫入數(shù)據(jù),屏蔽不需要寫入的字節(jié),實現(xiàn)單個字節(jié)寫操作。 1:把對應的引腳映射為字節(jié)使能,該位的作用是,對讀入數(shù)據(jù),屏蔽不需要讀取的字節(jié),實現(xiàn)單個字節(jié)讀操作。 [26] 如果CPU速度遠遠大于SDRAM速度,當CPU向SDRAM發(fā)送讀取命令時,SDRAM未能及時準備好數(shù)據(jù),可以使能該位,設置等待,保證能讀到數(shù)據(jù)。 4.2.2 BANKCON6 4.2.3 REFRESH 4.2.4 BANKSIZE 4.2.5 MRSRB6 5 參考文檔 《S3C2440用戶手冊》 《EM63A165TS Datasheet》 《高手進階——高級內(nèi)存技術指南》 《嵌入式Linux開發(fā)完全手冊》 來源:http://www./content-4-179601.html |
|