×
单片机 > 单片机程序设计 > 详情

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

发布时间:2021-01-22 发布时间:
|

这些芯片在设置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为命令左移位数。


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


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


移位数的确定方法:

#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

 




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈msp430f5529入门(2)----时钟配置.例程分析