野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8382|回复: 2

SEMC SDRAM的疑惑

[复制链接]
发表于 2018-6-29 17:18:57 | 显示全部楼层 |阅读模式
看历程里的关于SDRAM的初始化,有一点不明白。
    /* Configure SDRAM. */
    sdramconfig.csxPinMux = kSEMC_MUXCSX0;
    sdramconfig.address = 0x80000000;
    sdramconfig.memsize_kbytes = 32 * 1024; /* 32MB = 32*1024*1KBytes*/
    sdramconfig.portSize = kSEMC_PortSize16Bit;
    sdramconfig.burstLen = kSEMC_Sdram_BurstLen1;
    sdramconfig.columnAddrBitNum = kSEMC_SdramColunm_9bit;
    sdramconfig.casLatency = kSEMC_LatencyThree;
    sdramconfig.tPrecharge2Act_Ns = 18; /* Trp 18ns */
    sdramconfig.tAct2ReadWrtie_Ns = 18; /* Trcd 18ns */
    sdramconfig.tRefreshRecovery_Ns = (60 + 67);
    sdramconfig.tWriteRecovery_Ns = 12; /* 12ns */
    sdramconfig.tCkeOff_Ns = (1000000000 / clockFrq);
    sdramconfig.tAct2Prechage_Ns = 42;   /* Tras 42ns */
    sdramconfig.tSelfRefRecovery_Ns = 67;
    sdramconfig.tRefresh2Refresh_Ns = 60;
    sdramconfig.tAct2Act_Ns = 60;
    sdramconfig.tPrescalePeriod_Ns = 160 * (1000000000 / clockFrq);
    sdramconfig.refreshPeriod_nsPerRow = 64 * 1000000 / 8192; /* 64ms/8192 */
    sdramconfig.refreshUrgThreshold = sdramconfig.refreshPeriod_nsPerRow;
    sdramconfig.refreshBurstLen = 1;
    return SEMC_ConfigureSDRAM(SEMC, kSEMC_SDRAM_CS0, &sdramconfig, clockFrq);


看原理图连接的是GPIO_EMC_29,也就是SEMC_CS0。
但为什么初始化的时候,sdramconfig.csxPinMux = kSEMC_MUXCSX0;  CSX0不是应该是GPIO_EMC_41的管脚嘛?
回复

使用道具 举报

发表于 2018-6-29 18:29:17 | 显示全部楼层
这方面还没研究到
回复 支持 反对

使用道具 举报

发表于 2018-6-30 10:42:49 | 显示全部楼层
本帖最后由 cancore 于 2018-6-30 10:55 编辑

CS0是SDRAM专用的,跟CSX0不一样,CSX0是外接其他外设的片选
sdram.jpg 实际初始化还是CS0
SEMC_ConfigureSDRAM(SEMC, kSEMC_SDRAM_CS0, &sdramconfig, clockFrq);
实际是这里CSX0并没有用上。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-2 22:57 , Processed in 0.049417 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表