[STM32F4]

这地址和数据之间好乱

[复制链接]
1015|15
手机看帖
扫描二维码
随时随地手机跟帖
chenho|  楼主 | 2016-5-29 16:59 | 显示全部楼层 |阅读模式
平台: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是我要写的数据,但是这地址和数据之间好乱,
chenho|  楼主 | 2016-5-29 17:00 | 显示全部楼层

使用特权

评论回复
gongche| | 2016-5-29 17:02 | 显示全部楼层
别的呢

使用特权

评论回复
chenho|  楼主 | 2016-5-29 17:04 | 显示全部楼层
还有FSMC_NEx,FSMC_WEn信号都非常乱,并且我只写了一个16bit的数据写一次,
FSMC_OEn为什么也变有效了,同样是乱。

使用特权

评论回复
huanghuac| | 2016-5-29 17:06 | 显示全部楼层
地址怎么定义的

使用特权

评论回复
chenho|  楼主 | 2016-5-29 17:06 | 显示全部楼层

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

使用特权

评论回复
happy_10| | 2016-5-29 17:07 | 显示全部楼层
不是很了解   这一块   楼主   帮你顶一个  看看别人的意见  看看有没有高手能够解决这个问题  顶一个

使用特权

评论回复
冰清玉洁| | 2016-5-29 17:08 | 显示全部楼层
我感觉你的FPGA录的波形有问题,SignalTapII在刷新时经常会乱掉,但这个是软件问题,跟底层没关系

使用特权

评论回复
wenfen| | 2016-5-29 17:11 | 显示全部楼层
如果你这个是长时间存在的问题,那就要好好看看你的配置了

使用特权

评论回复
zhuhuis| | 2016-5-29 17:12 | 显示全部楼层
问个问题,楼主fpga中的SRAM是怎么和单片机连接的

使用特权

评论回复
chenho|  楼主 | 2016-5-29 17:13 | 显示全部楼层
你怎么搞的?

使用特权

评论回复
zhuhuis| | 2016-5-29 17:14 | 显示全部楼层
我直接用的block ram generator,把一个端口用ucf连接到外部synthesis可以过

使用特权

评论回复
chenho|  楼主 | 2016-5-29 17:15 | 显示全部楼层
可以的啊

使用特权

评论回复
zhuhuis| | 2016-5-29 17:16 | 显示全部楼层
但是map就出了很奇怪的问题,找不到答案都

使用特权

评论回复
chenho|  楼主 | 2016-5-29 17:16 | 显示全部楼层
无能为力了,结贴了先

使用特权

评论回复
可可球| | 2016-5-29 20:50 | 显示全部楼层
MCU和FPGA是什么通信方式

使用特权

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

本版积分规则

748

主题

9853

帖子

5

粉丝