在线时间25 小时
UID347991
ST金币0
蝴蝶豆0
注册时间2012-3-17
中级会员
- 最后登录
- 2020-3-16
|
a0a.1 0b0c
【STM32F429开发日志】——网络收集的例程分享(包括所有STM32F429Discovery板上外设驱动)
更多分享
探索套件的SDRAM有8MB,比较可观,用好才可以使stm32f429的性能得到最大发挥。下面简单说下。
第一部分,硬件连接情况
STM32F429探索套件内含64Mbit大小的SDRAM。有12根复用地址线(12根ROW,8根Column)表示一个bank有1M地址空间,一共有4个bank,通过BA0,BA1区分每个块。有16根数据线。板卡中的芯片是IS42S16400J,其管脚定义如下所示。
其中,说下CKE表示时钟使能,高电平有效,低电平表示低功耗状态,自我刷新状态,时钟挂起状态等等。LDQM和UDQM分别表示低字节和高字节有效的信号,与STM32的NBL0/1相对应。BA0/1是选择块的和stm32的BA是对应的。
再说下SDRAM和STM32F429的连接情况,如下图。
这里要说下SDRAM的片选接到了STM32的FMC的SDNE1:SDRAM Bank 2 Chip Enable,接到了stm32的BANK2。这个bank和上面的bank不同,注意区分。
第二部分 软件设置情况
探索套件的固件例程里,在system_stm32f4xx.c有个DATA_IN_ExtSDRAM宏。定义这个宏,并且将变量定义到SDRAM的空间,会在访问这个变量时进入硬fault。这是因为SystemInit_ExtMemCtl函数并没有根据探索套件里的硬件进行设置(尽管函数说明里是这么说的)。简单的方法是用探索套件里SDRAM_Init函数代替SystemInit_ExtMemCtl函数即可。复杂的就要牵涉到内部一些寄存器的设置。主要过程是配置GPIO,开相关时钟,配置SDCR和SDTR(配置时序)寄存器。开SDRAM时钟,等待完成。全部预充电,等待完成。自动刷新设置,等待完成。设置MRD寄存器等待完成,设置自动刷新计数,关闭写保护。
|
|