0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MIMXRT1176支持8位列地址的SDRAM器件W9864G6

li1756686189 来源:嵌入式 MCU 作者:嵌入式 MCU 2022-12-01 15:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MIMXRT1176的开发板配套的 SDRAM是W9825G6KH,对应的列地址是9位的。

b4e76dd2-7145-11ed-8abf-dac502259ad0.png

MIMXRT1176支持的列地址是 8/9/10/11/12位。

b51d9d58-7145-11ed-8abf-dac502259ad0.png

SDRAM 替换成 W9864G6后,Column地址变为 8位的。

b54f6fc2-7145-11ed-8abf-dac502259ad0.png

SDK中例程目录 evkmimxrt1170driver_examplessemcsdramcm7,修改semc_sdram.c文件配置如下。

status_t BOARD_InitSEMC(void)

{

semc_config_t config;

semc_sdram_config_t sdramconfig;

uint32_t clockFrq = EXAMPLE_SEMC_CLK_FREQ;

/* Initializes the MAC configure structure to zero. */

memset(&config, 0, sizeof(semc_config_t));

memset(&sdramconfig, 0, sizeof(semc_sdram_config_t));

/* Initialize SEMC. */

SEMC_GetDefaultConfig(&config);

config.dqsMode = kSEMC_Loopbackdqspad; /* For more accurate timing. */

SEMC_Init(SEMC, &config);

/* Configure SDRAM. */

sdramconfig.csxPinMux = kSEMC_MUXCSX0;

sdramconfig.address = 0x80000000;

sdramconfig.memsize_kbytes = 1 * 8* 1024; /* 8MB*/

sdramconfig.portSize = kSEMC_PortSize16Bit;

sdramconfig.burstLen = kSEMC_Sdram_BurstLen8;

sdramconfig.columnAddrBitNum = kSEMC_SdramColunm_8bit;

sdramconfig.casLatency = kSEMC_LatencyThree;

sdramconfig.tPrecharge2Act_Ns = 15; /* tRP 15ns */

sdramconfig.tAct2ReadWrite_Ns = 15; /* tRCD 15ns */

sdramconfig.tRefreshRecovery_Ns = 70; /* Use the maximum of the (Trfc , Txsr). */

sdramconfig.tWriteRecovery_Ns = 2; /* tWR 2ns */

sdramconfig.tCkeOff_Ns =

42; /* The minimum cycle of SDRAM CLK off state. CKE is off in self refresh at a minimum period tRAS.*/

sdramconfig.tAct2Prechage_Ns = 40; /* tRAS 40ns */

sdramconfig.tSelfRefRecovery_Ns = 70;

sdramconfig.tRefresh2Refresh_Ns = 60;

sdramconfig.tAct2Act_Ns = 2; /* tRC/tRDD 2ns */

sdramconfig.tPrescalePeriod_Ns = 160 * (1000000000 / clockFrq);

sdramconfig.refreshPeriod_nsPerRow = 64 * 1000000 / 8192; /* 64ms/8192 */

sdramconfig.refreshUrgThreshold = sdramconfig.refreshPeriod_nsPerRow;

sdramconfig.refreshBurstLen = 1;

sdramconfig.delayChain = 6; /* For all tempeatures. */

return SEMC_ConfigureSDRAM(SEMC, kSEMC_SDRAM_CS0, &sdramconfig, clockFrq);

}

static void SEMC_SDRAMReadWrite8Bit(void)

{

uint32_t index;

uint32_t datalen = SEMC_EXAMPLE_DATALEN;

uint8_t *sdram = (uint8_t *)EXAMPLE_SEMC_START_ADDRESS; /* SDRAM start address. */

bool result = true;

PRINTF(" SEMC SDRAM Memory 8 bit Write Start, Start Address 0x%x, Data Length %d ! ", sdram, datalen);

memset(sdram_writeBuffer, 0, sizeof(sdram_writeBuffer));

memset(sdram_readBuffer, 0, sizeof(sdram_readBuffer));

/* Prepare data and write to SDRAM. */

for (index = 0; index < datalen; index++)

{

sdram_writeBuffer[index] = index % 0x100;

sdram[index] = sdram_writeBuffer[index];

}

PRINTF(" SEMC SDRAM Read 8 bit Data Start, Start Address 0x%x, Data Length %d ! ", sdram, datalen);

#if defined(CACHE_MAINTAIN) && CACHE_MAINTAIN

DCACHE_InvalidateByRange(EXAMPLE_SEMC_START_ADDRESS, 4U * SEMC_EXAMPLE_DATALEN);

#endif

/* Read data from the SDRAM. */

for (index = 0; index < datalen; index++)

{

sdram_readBuffer[index] = sdram[index];

}

PRINTF(" SEMC SDRAM 8 bit Data Write and Read Compare Start! ");

/* Compare the two buffers. */

while (datalen--)

{

if (sdram_writeBuffer[datalen] != sdram_readBuffer[datalen])

{

result = false;

break;

}

}

if (!result)

{

PRINTF(" SEMC SDRAM 8 bit Data Write and Read Compare Failed! ");

}

else

{

PRINTF(" SEMC SDRAM 8 bit Data Write and Read Compare Succeed! ");

}

}

备注:在 MIMXRT1050 MCU 上只支持9/10/11/12位,不支持 8位的。

b8651036-7145-11ed-8abf-dac502259ad0.png

SDRAM 配置参考文档:

https://www.nxp.com.cn/docs/en/nxp/application-notes/AN12026.pdf


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDRAM
    +关注

    关注

    7

    文章

    458

    浏览量

    57846
  • 开发板
    +关注

    关注

    26

    文章

    6419

    浏览量

    120843

原文标题:MIMXRT1176 支持8位列地址的SDRAM器件W9864G6

文章出处:【微信号:嵌入式 MCU,微信公众号:嵌入式 MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MIMXRT1166和W9812G6KB SDRAM运行几分钟后,应用程序崩溃并显示不同的错误消息,为什么?

    I have a custom board which uses MIMXRT1166 and W9812G6KB SDRAM at 166 MHz. I\'ve configured
    发表于 04-23 06:22

    RT1176 定制板 – 重置后 LED 闪烁应用程序不运行怎么解决?

    用MCUXpresso 配置工具GPIO10_IO00。 What I have done so far: 项目设置 使用 SDK for MIMXRT1176 在 MCUXpresso IDE 中创建了一个
    发表于 04-06 07:54

    恩智浦推出IW693和IW623高集成度Wi-Fi 6E器件

    恩智浦推出IW693和IW623高集成度Wi-Fi 6E器件。IW693支持并发双Wi- Fi (CDW) 和蓝牙运行,支持四种工作模式。IW623
    的头像 发表于 03-28 10:14 2105次阅读
    恩智浦推出IW693和IW623高集成度Wi-Fi <b class='flag-5'>6</b>E<b class='flag-5'>器件</b>

    IP6860支持qi 认证的无线充电发射控制SOC

    IP6860支持qi认证的无线充电发射控制SOC简介IP6860是一款高集成度,符合WPCqi标准的无线充电发射控制芯片。芯片内部集成H桥驱动模块、ASK通讯解调模块、适配器快充Sink协议等必要
    发表于 03-18 19:22 0次下载

    IP2345支持PD3.0等多种快充协议 支持4~6节串联电池最大充电功率30W异步升降压充电IC

    IP2345支持PD3.0等多种快充协议支持4~6节串联电池最大充电功率30W异步升降压充电IC简介IP2345是一款外置MOS管,采用异步开关架构,
    发表于 03-18 18:49 0次下载

    如何让S32K396支持FreeRTOS的多核运行?

    如何让S32K396支持FreeRTOS的多核运行
    发表于 02-26 10:03

    256Mb x4、x8、x16 SDRAM特性解析与应用指南

    256Mb x4、x8、x16 SDRAM特性解析与应用指南 在电子设计领域,SDRAM作为关键的存储器件,其性能和特性对系统的整体表现起着至关重要的作用。今天,我们就来深入探讨一下2
    的头像 发表于 02-02 16:05 688次阅读

    CW32F030支持哪些协议及功能?

    CW32F030支持哪些协议及功能
    发表于 12-22 06:18

    CW32W扩频因子介绍

    扩频因子:扩频后chip速率和扩频前信号速率的比值,直接反映了扩频增益。 无线射频CW32W031支持SF因子7~12,支持扩频因子自动识别; 通信距离比传统的无线射频通信距离扩大3 ~ 5 倍,非常适合窄带物联网产品应用领域。
    发表于 12-15 08:10

    请问CW32F003支持printf函数吗?

    CW32F003支持printf函数吗?
    发表于 11-21 07:48

    CW32L011支持哪些实时操作系统?

    CW32L011支持哪些实时操作系统?
    发表于 11-17 06:51

    AFE639D2 12 智能模拟前端技术总结

    AFE639D2支持一个 I 2C 控制器接口,以与外部数字温度传感器连接。AFE639D2和AFE539A4支持电压输出,AFE439A2支持PWM输出。AFEx39xx 支持用于故
    的头像 发表于 10-28 14:27 680次阅读
    AFE639D2 12 <b class='flag-5'>位</b>智能模拟前端技术总结

    IP2317支持PD快充协议的单节锂电池同步开关降压充电 IC

    IP2317支持快充协议的单节锂电池同步开关降压充电IC简介IP2317是一款支持快充的单串锂电池同步降压充电IC,支持FCP、AFC、USB-CPD2.0/PD3.0输入快充协议,可向适配器申请
    发表于 10-10 18:56 4次下载

    stm32支持canfd和dma结合使用吗?

    stm32支持canfd和dma结合使用吗
    发表于 08-01 07:15

    K230支持ONVIF上传视频吗?

    K230支持ONVIF上传视频吗
    发表于 06-20 07:11