STM32F7 同时挂载两片SDRAM时无法使用BANK6

2019-07-20 01:25发布

大家好,我根据原子大大的 STM32F7 CORE核心板 自己制作了一版PCB, 我设计了两片SDRAM,接线图如下:

SDRAM型号:与原子大大的核心板一样,W9825G6DH-6

第一个 W9825G6DH 与 第二个 W9825G6DH 的  地址线A0-A12 ,BA0-BA1,数据线D0-D15 , 时钟 SDCLK, NBL0 NBL1 , SDNWE, SDNCAS, SDNRAS,  全部共用。

第一个 W9825G6DH 与 第二个 W9825G6DH 的 SDNE 与 SDCKE 分别独立连接 (第一个SDRAM 用 SDNE0 SDCKE0,第二个SDRAM 用 SDNE1 SDCKE1), NE0 和NE1 分别独立连接上拉电阻10K


然后,上板子开始调试 :


首先单独测试 BANK5 SDRAM (也就是 SDNE0 SDCKE0 的SDRAM),跑108MHZ 没压力,也用RGB屏测试了。


然后,我在 SDRAM寄存器版本测试例程中,模仿 原子大大的写法,在SDRAM_INIT 初始化中,加入对 BANK6的初始化,如下:


在sdram.H 中加入 #define Bank6_SDRAM_ADDR    ((u32)(0XD0000000))

在sdram.C中 加入
        //使能H 管脚,定义 H6 H7,(也就是 SDNE1 SDCKE1)
        RCC->AHB1ENR|=1<<7;   
        GPIO_Set(GPIOH,PIN6|PIN7,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);       
        GPIO_AF_Set(GPIOH,6,12);       
        GPIO_AF_Set(GPIOH,7,12);

        // 因为两个SDRAM是同一型号,则设置相同参数
        FMC_Bank5_6->SDCR[1]=sdctrlreg;
        FMC_Bank5_6->SDTR[1]=sdtimereg;

        // CMD指令,设置BANK5的同时也设置BANK6
        SDRAM_Send_Cmd(0,1,0,0);               
        SDRAM_Send_Cmd(1,1,0,0);               
        delay_us(500);                                       
        SDRAM_Send_Cmd(0,2,0,0);               
        SDRAM_Send_Cmd(1,2,0,0);               
        SDRAM_Send_Cmd(0,3,8,0);               
        SDRAM_Send_Cmd(1,3,8,0);               
       
        mregval|=3<<0;                                       
        mregval|=0<<3;                                       
        mregval|=3<<4;                                       
        mregval|=0<<7;                                       
        mregval|=1<<9;                                       
        SDRAM_Send_Cmd(0,4,0,mregval);
        SDRAM_Send_Cmd(1,4,0,mregval);
       
        FMC_Bank5_6->SDRTR=824<<1;               




至此, SDRAM初始化完成。

然后,我再主程序中用FOR循环 验证数据,发现,*(vu8*)(Bank5_SDRAM_ADDR+i) BANK5 的SDRAM工作没问题,怎么测试都对(所有地址都进行读写测试了)。 但是 *(vu8*)(Bank6_SDRAM_ADDR+i) 却是错误,怎么弄也不对。

请问大家,同时挂载两个SDRAM的话,我这样的初始化是不是有问题呢?
谢谢大家!

       








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
Eastar
1楼-- · 2019-07-21 04:26
楼主的BANK6调通了吗? 因为我这边也遇到楼主描述的相同的问题。 BANK5正常,BANK6不正常。
orta
2楼-- · 2019-07-21 09:41
 精彩回答 2  元偷偷看……
Eastar
3楼-- · 2019-07-21 14:43
orta 发表于 2018-1-5 10:19
没有。。后来放弃了,因为时间紧。。。

嗯 我也准备放弃。整了很长时间了。目前我看了很多论坛,都没有看到使用2片SDRAM的先例,都有点怀疑第2片可能没有实际被应用过了^_^ 我的第2片做了等长处理也没有效果。看来只有把这个片子作为低端产品用用了,否则浪费了,唉。
orta
4楼-- · 2019-07-21 19:11
Eastar 发表于 2018-1-8 10:26
嗯 我也准备放弃。整了很长时间了。目前我看了很多论坛,都没有看到使用2片SDRAM的先例,都有点怀疑第2片 ...

嗯嗯,确实官方也没有给出例子,不好参考。
andybj4
5楼-- · 2019-07-21 23:50
 精彩回答 2  元偷偷看……
ruoshui123456
6楼-- · 2019-07-22 00:05
andybj4 发表于 2018-1-31 15:18
**** 作者被禁止或删除 内容自动屏蔽 ****

能看看你的4块电路图吗?

一周热门 更多>