lpc177x_8x, 1pc32xx 系列芯片外扩SDRAM配置

这些芯片在设置SDRAM模式寄存器时,具体设置语句如下:

对于16bit SDRAM:

wtemp = *((volatile uint16_t *)(SDRAM_BASE | (0x23<<11)));

对于32bit SDRAM:

wtemp = *((volatile uint32_t *)(SDRAM_BASE | (0x23<<12)));

 

其中0x23为命令,可变,SDRAM_BASE为SDRAM基址,11,12为命令左移位数。

上面的左移位数,有固定的计算方法,国内只在优快云一个博客上搜到了相关信息,作者仅说是手册上提供的计算方法,但该博客的一些留言反映手册上找不到有关移位的任何信息,我确信在手册上确实没有。

然后在国外一个网站上也搜到了相关信息,也是只言片语,不过对使用来说够用了,详细的设置方法到底在什么地方提供了呢?不知道的感觉真是不好。

移位数的确定方法:

#if SDRAM_USE_PERFORMANCE_MODE==1
/* Performance mode : Row - Bank - Col mapping */
modeshift = SDRAM_COLS + bus32 + 1 + SDRAM_BANK_BITS;
bankshift = SDRAM_COLS + bus32 + 1;
#else
/* Low power mode : Bank - Row - Col mapping */
modeshift = SDRAM_COLS + bus32 + 1;
bankshift = SDRAM_COLS + SDRAM_ROWS + bus32 + 1;
#endif

可以看到,有两个计算分支,第一种计算方法对应RBC地址映射模式,第二种对应BRC地址映射模式。

另外bus32的值如此确定:

2片8bit SDRAM,bus32=0

1片16bit SDRAM,bus32=0

2片16bit SDRAM, bus32=1

4片8bit SDRAM,bus32=1

1片32bit SDRAM,bus32=1

 

参考网址:

http://www.sogou.com/websnapshot?ie=utf8&url=http%3A%2F%2Fwww.lpcware.com%2Fzh-hans%2Fcontent%2Fforum%2Flcd-ahb-master-interface-sdram-row-bank-colum&did=f574d8fe6ab0916b-cc9b61008dfcfeba-51b2ec706b21b153a78588c04a6732da&k=dcab7d84b5a997c5792680bf9959b8c4&encodedQuery=modeshift+sdram&query=modeshift+SDRAM&&p=40040100&dp=1&w=01020400&m=0&st=1

http://www.lpcware.com/content/forum/lcd-ahb-master-interface-sdram-row-bank-colum

转载于:https://www.cnblogs.com/reload/archive/2013/05/26/3100216.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值