您好,登錄后才能下訂單哦!
下面介紹一下SDRAM的初始化工作。
SDRAM是同步動態隨機存儲器,需要初始化才能正常使用,但是可惜它的初始化太麻煩,里面涉及的東西也是非常之多,那么下面我們概括地分析一下它到底需要哪些初始化步驟:
以三星公司的S5PV210系列芯片為例子,它使用了4個256M的DDR2內存芯片,都是16位的,并聯以后可以當做2個32位內存芯片來訪問使用。這個1Gb(1G bit)的DDR內部被配置為一個8bank的DRAM。
初始化DDR2需要27個步驟,我使用的這個板子,DRAM0連接256MB,DRAM1連接256MB
首先就是三行代碼
ldrr0, =0xf1e00000 //無從知道,數據手冊沒有它的詳細介紹,所以我們不用理它
ldrr1, =0x0 //不用關心
strr1, [r0, #0x0]
這是三星公司自己寫的,在這里我全部保留。
接下來就是DRAM1和DRAM0(bit在0~15位之間)設置IO端口的驅動強度,S5PV210數據手冊的第200頁可以看到這一點(SRAM的DDR部分),設置為1010……也就是0xAAAA;
然后緊接著就是就是設置時鐘(兩塊DDR都要設置),先把CKE設置低(拉低),然后設置給的時鐘信號,然后再拉高CKE(S5PV210數據手冊586頁)
DDR都是同步時鐘,它的時鐘來自于CPU提供,其內部還有一個PLL來倍增頻率,獲得更快的速度。
在之后就是設置memory chip , 邏輯上兩片內存算作一片32位內存,所以說chip = 1 ;
最后設置最后設置命令寄存器,寫這個寄存器就是發送命令,然后用來配置DDR的工作參數。
這里面有很多參數需要了解和設置,能夠跟著數據手冊把它看懂就可以了,沒必要自己會寫。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。