hpdell 发表于 2019-3-29 21:21:39

请教下,sdram 调试有数据错乱 ??

本帖最后由 hpdell 于 2019-3-29 21:27 编辑

请教下,sdram 调试有数据错乱 ??




上图片中,2个框框里面的数据内容会同步发生变化,这个是怎么回事啊 ?

sdram 使用 MT48LC16M16

相关配置代码如下:

uint8_t BSP_SDRAM_Init(void)
{
uint8_t sdramstatus = SDRAM_ERROR;
      FMC_SDRAM_TimingTypeDef SDRAM_Timing;
      SDRAM_HandleTypeDef       SDRAM_Handle;
      FMC_SDRAM_CommandTypeDef command = {0};
      
/* SDRAM device configuration */
SDRAM_Handle.Instance = FMC_SDRAM_DEVICE;

      SDRAM_Timing.LoadToActiveDelay    = 2;
      SDRAM_Timing.ExitSelfRefreshDelay = 7;
      SDRAM_Timing.SelfRefreshTime      = 4;
      SDRAM_Timing.RowCycleDelay      = 7;
      SDRAM_Timing.WriteRecoveryTime    = 2;
      SDRAM_Timing.RPDelay            = 2;
      SDRAM_Timing.RCDDelay             = 2;

      SDRAM_Handle.Init.SDBank             = FMC_SDRAM_BANK2;               /*   由硬件决定,使用 FMC_SDNE1, FMC_SDCKE1*/
      SDRAM_Handle.Init.ColumnBitsNumber   = FMC_SDRAM_COLUMN_BITS_NUM_9;
      SDRAM_Handle.Init.RowBitsNumber      = FMC_SDRAM_ROW_BITS_NUM_13;   
      SDRAM_Handle.Init.MemoryDataWidth    = FMC_SDRAM_MEM_BUS_WIDTH_16;      
      SDRAM_Handle.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
      SDRAM_Handle.Init.CASLatency         = FMC_SDRAM_CAS_LATENCY_3;      
      SDRAM_Handle.Init.WriteProtection    = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
      SDRAM_Handle.Init.SDClockPeriod      = SDCLOCK_PERIOD;                /* FMC时钟200MHz,2分频后给SDRAM,即100MHz */
      SDRAM_Handle.Init.ReadBurst          = FMC_SDRAM_RBURST_ENABLE;       /* 使能读突发 */
      SDRAM_Handle.Init.ReadPipeDelay      = FMC_SDRAM_RPIPE_DELAY_0;      

/* SDRAM controller initialization */

//BSP_SDRAM_MspInit(&SDRAM_Handle, NULL); /* __weak function can be rewritten by the application */

if(HAL_SDRAM_Init(&SDRAM_Handle, &SDRAM_Timing) != HAL_OK)
{
    sdramstatus = SDRAM_ERROR;
}
else
{
/* SDRAM initialization sequence */
    BSP_SDRAM_Initialization_sequence(&SDRAM_Handle, &command);
    sdramstatus = SDRAM_OK;
}

return sdramstatus;
}

MT48LC16M16 相关资料


我的行列设置应该是没有错的吧 ???

sdram读写测试代码:









hpdell 发表于 2019-3-30 12:25:53

终于搞好了 ,原来是有根地址线没有搞对

toofree 发表于 2019-3-31 01:27:13

缺地址线A7,或A7不受控。

hpdell 发表于 2019-4-1 15:57:50

toofree 发表于 2019-3-31 01:27
缺地址线A7,或A7不受控。

是的,a7地址线不知道是怎么搞的,结果搞到 接地上去了,悲催
页: [1]
查看完整版本: 请教下,sdram 调试有数据错乱 ??