打印

STM32F4Discovery FSMC读取FPGA奇怪的波形问题,很乱。

[复制链接]
3435|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 evilchips 于 2013-9-10 16:39 编辑

平台:STM32F4-Discovery(LQFP100,FSMC地址和数据线复用)+FPGA(被当做SRAM方式由MCU访问)
FSMC配置参数:地址和数据线16根复用,BANK1,NE1,PSRAM方式,使用异步访问,用到FSMC_NL(FSMC_NADV),
模式A,数据带宽16b,Timing 如下:
        FSMC_NORSRAMTimingInitStructure.FSMC_AddressSetupTime                 = 10;//1;                           /* 地址建立时间  */
        FSMC_NORSRAMTimingInitStructure.FSMC_AddressHoldTime                 = 0;           
        FSMC_NORSRAMTimingInitStructure.FSMC_DataSetupTime                 = 10;//1;                                   /* 数据建立时间  */
        FSMC_NORSRAMTimingInitStructure.FSMC_BusTurnAroundDuration         = 0;
        FSMC_NORSRAMTimingInitStructure.FSMC_CLKDivision                         = 0;
        FSMC_NORSRAMTimingInitStructure.FSMC_DataLatency                         = 0;
        FSMC_NORSRAMTimingInitStructure.FSMC_AccessMode                         = FSMC_AccessMode_A;        /* FSMC 访问模式 */
SignalTapII捕捉到FSMC时序各信号图:

图上可以看出:
0x8001是我要写的地址,0xFFFF是我要写的数据,但是这地址和数据之间好乱,
还有FSMC_NEx,FSMC_WEn信号都非常乱,并且我只写了一个16bit的数据写一次,
FSMC_OEn为什么也变有效了,同样是乱。

地址定义如下:
#define        ACCESS_REGS                                        (2<<14)                        /*        0x8000        */
#define     CMD_START                              (*((volatile unsigned short *) (BANK1_BASE+((ACCESS_REGS+1)<<1)))) /* CMD->START         0x60008001*/
写数据:
CMD_START = 0xFFFF;

请赐教!Thanks a lot.

沙发
hkcj| | 2013-9-10 18:34 | 只看该作者
不是很了解   这一块   楼主   帮你顶一个  看看别人的意见  看看有没有高手能够解决这个问题  顶一个

使用特权

评论回复
板凳
evilchips|  楼主 | 2013-9-11 08:34 | 只看该作者
hkcj 发表于 2013-9-10 18:34
不是很了解   这一块   楼主   帮你顶一个  看看别人的意见  看看有没有高手能够解决这个问题  顶一个  ...

oh,谢谢

使用特权

评论回复
地板
Luck-夕超| | 2015-7-17 15:36 | 只看该作者
你的源代码和电路图还在吗?又给我一份可好,万分感谢.

使用特权

评论回复
5
charrijon| | 2015-7-17 16:04 | 只看该作者
我感觉你的FPGA录的波形有问题,SignalTapII在刷新时经常会乱掉,但这个是软件问题,跟底层没关系,如果你这个是长时间存在的问题,那就要好好看看你的配置了

使用特权

评论回复
6
wu1169668869| | 2015-7-31 22:01 | 只看该作者
楼主还在吗
好想问个问题,楼主fpga中的SRAM是怎么和单片机连接的
我直接用的block ram generator,把一个端口用ucf连接到外部synthesis可以过
但是map就出了很奇怪的问题,找不到答案都

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

23

帖子

2

粉丝