S3C2440扩展SDRAM
?本文主要目的是記錄一下S3C2440擴展SDRAM的一些知識,方便以后查閱。
通過查閱手冊我們知道,2440有8個可以用來擴展內存的BANK,其中第6和第7還可用來擴展SDRAM
下面我們來看一下2440擴展SDRAM需要設置哪些寄存器。
一、BWSCON寄存器
該寄存器我們只需要設置和SDRAM有關的bank7和bank6,我的開發(fā)板的SDRAM是連接到bank6的,我們需要配置bank6相關位,不過一般我們bank6和bank7都設置為一樣(我記得兩者好像是有共用什么來著,不記得了,需要查手冊再去看才能想起),ST6位里的UB/LB一般是用于SRAM的,我用的是SDRAM,配置為0;WS6配置為disable,因為我的開發(fā)板擴展了兩片16位的SDRAM,相當于一片32位的SDRAM,DW6選擇32bit。bank7配置和bank6一樣,所以我們配置BWSCON = 0X22000000;
?
二、BANKCON6、BANKCON7
對于MT,因為我們用的是SDRAM,所以配置為11;配置為SDRAM模式后,還需要配置Trcd和SCAN,Trcd是RAS(行地址發(fā)出時間)到CAS(列地址發(fā)出時間)的時間間隔,我們可以直接在我們的SDRAM芯片手冊里查找一下Trcd,結果如下圖
?
因為我的板子上的SDRAM是-6G的,所以最小為18ns,因為2440內存控制器的時鐘為HCLK,我配置為100M,所以Trcd配置為00(2 clocks),至于列地址數,我們可以查看我們的SDRAM芯片的手冊得到以下結果,所以SCAN配置為9個列地址,即把BANKCON6、BANKCON7配置為0X00018001。
?
三、REFRESH寄存器
因為SDRAM需要不斷地刷新才能保存住里面的數據,所以REFEN必須使能;TREFMD配置為自動模式;Trp直接在我們的SDRAM芯片手冊里查找得知-6型號的芯片為18,所以配置為2個clocks,Tsrc在芯片手冊里找不到,但我們可以查找Trc,-6型號的Trc為60ns,所以Tsrc等于60-18等于42,我們配置為5個clocks;配置Refresh Counter需要在SDRAM手冊里查找Refresh period,我的芯片是64ms/8k,根據公式算出Refresh count等于1269,所以REFRESH配置為0X8404F5。
?
四、BANKSIZE寄存器
我們使能突發(fā)訪問(可一次連續(xù)訪問多個字節(jié))和休眠模式,所以bit5和7都配置為1,bit4采用推薦值1,因為我們相當于擴展了一片64M的SDRAM,所以BK76MAP配置為64MB,所以BANKSIZE配置為0XB1。
?
五、MRSRB6、MRSRB7
這個寄存器只有CL是可設置的,其他都為Fixed,因為SDRAM這種內存芯片其實性能不是很好,我們在發(fā)送完地址后,一般需要等待2或3個時鐘周期才有數據返回,CL正是設置這一點的,我們的SDRAM芯片可配置為2或者3,我們配置為2,所以MRSRB6和MRSRB7配置為0X20。
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的S3C2440扩展SDRAM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于MCU、CPU扩展SDRAM的一个小
- 下一篇: 华为智慧屏怎么定位?