基于 ART-PI FMC驱动SDRAM
创始人
2025-05-30 07:08:59
0

引脚接线图

SDRAMGPIO解释
FMC A0:5PF0:5地址线
FMC A6:9PF12:15地址线
FMC A10:12PG0:2地址线
FMC D0:1PD14:15数据线
FMC D2:3PD0:1数据线
FMC D4:12PE7:15数据线
FMC D13:15PD8:10数据线
FMC BA0PG4Bank地址输入
FMC BA1PG5Bank地址输入
FMC NBL0PE0数据掩码
FMC NBL1PE1数据掩码
FMC SDNEPC2片选
FMC SDCKEPC3时钟使能信号,选择哪个Bank主要就是看这个引脚
FMC SDNCASPG15列地址选通(低电平有效)
FMC SDNRASPF11行地址选通(低电平有效)
FMC SDNWEPH5写入使能(低电平有效)
FMC SDCLKPG8同步时钟

地址映射

Bank0开始地址为0xC000 0000(本文使用)
Bank1开始地址为0xD000 0000
在这里插入图片描述

ioc模式配置

  1. 使用 SDRAM Bank1所以选择 SDRAM1

  2. 使能片选和时钟

  3. 每个WB芯片内部在这里插入图片描述
    有4个bank

  4. 地址13位,数据16位

  5. 使用地址掩码功能所以启用Byte Enable
    在这里插入图片描述

  6. GPIO速度注意使用Very High

ioc configuration配置

  1. 使用Bank1
  2. 行列地址参考华邦数据手册,行地址是13位,列地址是9位
    在这里插入图片描述
  3. CAS延迟,参考华邦手册
    在这里插入图片描述
  4. 写保护:由于要使用读写功能所以不开启写保护
  5. SDRAM Common Clock,参考STM32数据手册,H750配置HCLK频率为400MHz,2分频就是200MHz,3分频就是133MHz
    在这里插入图片描述
  6. 使用突发读可以提高一点点性能,这里就不开启了
  7. 读管道延迟:在CAS延迟之后插入的延迟时间,配置为默认选项(0)
    在这里插入图片描述
    在这里插入图片描述
  8. Row to column Delay 行到列延迟(trcd),不能小于20ns
    SDRAM时钟频率=HCLK3=4003MHz,SDRAM时钟周期=7.5nsSDRAM时钟频率=\frac{HCLK}{3}=\frac{400}{3}MHz,SDRAM时钟周期=7.5nsSDRAM时钟频率=3HCLK​=3400​MHz,SDRAM时钟周期=7.5ns
    所以20ns至少需要3个周期,所以Row to column Delay 写3
    在这里插入图片描述
  9. 行预充电延迟(trp)查手册不低于20ns,配置为3
  10. 写恢复延迟(twr)2个tck(时钟周期),但是最低只能配置3(cubemx约束)
  11. 行循环延迟(trc)65ns,配置为8
  12. 自刷新时间(tras)45ns,配置为6
  13. 退出自刷新时间(txsr)75ns,配置为10
  14. 加载模式寄存器激活时间(trsc),配置2个时钟周期
    在这里插入图片描述

在这里插入图片描述

初始化SDRAM

参考华邦数据手册,翻译大概如下:

1. 在上电过程中,当输入信号保持在“NOP”状态时,所有VDD和VDDQ引脚必须同时爬升到指定电压(所有引脚电平拉高)。任何输入引脚或VDD电源的上电电压不得超过VDD + 0.3V
2. 通电后,需要先暂停200uS,然后使用precharge命令对所有Banks进行预充电。
3. 为了防止上电过程中DQ总线上的数据争用,需要在初始暂停期间将DQM和CKE引脚保持在高位。
4. 所有Bank预充电完成后,必须发出模式寄存器设置命令来初始化模式寄存器。
5. 在编程模式寄存器之前或之后,还需要额外的8个自动刷新周期(CBR),以确保正确的后续操作。

在这里插入图片描述

在这里插入图片描述

  /* USER CODE BEGIN FMC_Init 2 */
//自己填充的代码,第一步给SDRAM提供时钟FMC_SDRAM_CommandTypeDef Command;Command.CommandMode= FMC_SDRAM_CMD_CLK_ENABLE;Command.CommandTarget=FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber=1;Command.ModeRegisterDefinition = 0;HAL_SDRAM_SendCommand(&hsdram1,&Command,0xFFFF);
//第二步HAL_Delay(1);//至少延时200us//第三步 对所有bank预充电 Command.CommandMode= FMC_SDRAM_CMD_PALL;Command.CommandTarget=FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber=1;Command.ModeRegisterDefinition = 0;HAL_SDRAM_SendCommand(&hsdram1,&Command,0xFFFF);
//第四步 插入8个自动刷新周期Command.CommandMode= FMC_SDRAM_CMD_AUTOREFRESH_MODE;Command.CommandTarget=FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber=8;Command.ModeRegisterDefinition = 0;HAL_SDRAM_SendCommand(&hsdram1,&Command,0xFFFF);//第五步 编程SDRAM加载模式寄存器Command.CommandMode= FMC_SDRAM_CMD_LOAD_MODE;Command.CommandTarget=FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber=1;Command.ModeRegisterDefinition = 0x230;HAL_SDRAM_SendCommand(&hsdram1,&Command,0xFFFF);//第六步,配置自动刷新周期HAL_SDRAM_ProgramRefreshRate(&hsdram1,1022);/* USER CODE END FMC_Init 2 */

测试代码

uint32_t pbuff[32*1024*1024/4] __attribute__((at(0xC0000000)));//bank1 放置到另一个拓展内存里for(int count=0;count<0x20000000/4;count++){pbuff[count]=count/3;}for(int count=0;count<0x20000000/4;count++){if(pbuff[count]!=count/3){goto checkFailed;}}
checkFailed:while(1);/* USER CODE END 3 */

引脚电路图参考

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

工程代码

gitee

相关内容

热门资讯

路透解析“马斯克集团”:Spa... SpaceX 凤凰网科技讯 北京时间1月31日,据路透社报道,长期以来,埃隆·马斯克(Elon Mu...
启动“二改” 永辉在京完成21... 北京商报讯(记者 赵述评 实习记者 毛思怡)1月31日,永辉超市北京龙湖长楹天街店经一个多月闭店调改...
《宜宾散装白酒连锁经营规范》团... 近日,由宜宾市酒类协会牵头归口、宜宾安宁酒厂主导起草,四川谊宾酒业、宜宾学院、劲牌南溪酒业等多家本地...
印度牙医博士打造全印首款人形机... 2026 年 1 月 23 日,印度浦那的 Muks Robotics 正式宣布,自主研发的社交人形...
金银价创新高,引发全球“贵金属... 【环球时报记者 倪浩 环球时报特约记者 甄翔】连日来,国际市场金银价格持续大涨。1月29日当天,亚太...
财经观察丨“爱你老己”背后的消... 新华网北京1月31日电岁末年初,一句“爱你老己,明天见”席卷社交网络,成为年轻人自我关怀的新表达。热...
重磅!珠海科技产业集团与农行广... 1月30日,珠海科技产业集团与中国农业银行广东省分行在广州签署全面战略合作协议暨独立授信合作。农行广...
原创 黄... 谁能想到,2026年开年就上演金融魔幻现实主义! 国际黄金1月31日凌晨暴跌9.25%,盘中狂泻12...
云南省本级社会保险基金银行存款... 近日,云南省财政厅、云南省人力资源和社会保障厅、云南省医疗保障局联合印发《云南省本级社会保险基金银行...
病毒在身体里“安家”却相安无事... 很多人听说“乙肝携带者”,总会下意识和“乙肝患者”画上等号,担心自己或身边人被传染,也害怕携带者最终...
库迪确认:取消全场9.9元 来源:滚动播报 (来源:新消费日报) 有消息称,库迪咖啡发布门店价格策略和活动调整通知。通知指出,...
原创 雷... 不知道大家有没有发现,这个周六可能是进入2026年之后最消停的一个周六。因为各品牌基本上都没什么大事...
原创 特... 特朗普对委内瑞拉的举动,表面上看是一场能源棋局,实则背后隐藏着深刻的战略考量。对他而言,掌握能源就意...
原创 李... 01、“私募魔女”李蓓再引争议 半夏投资创始人、“私募魔女”李蓓,最近又成为投资圈的焦点。 1月2...
爱美客:AestheFill产... 上证报中国证券网讯(记者 王子霖)备受医美行业瞩目的AestheFill产品独家经销权纠纷迎来重要进...
雷军明晚直播,在北京小米汽车工... IT之家 1 月 31 日消息,今天午间,小米创办人、董事长兼 CEO 雷军在微博发文宣布,2 月 ...
字节阿里DeepSeek决战春... 新智元报道 编辑:艾伦 【新智元导读】这个春节,中国 AI 迎来「决战时刻」。据《The Info...
皇台酒业开始过年? 富凯摘要:有钱没钱喝酒过年。 作者|欧文 1月30日,白酒板块再现分化行情,皇台酒业却延续强势表现,...
深交所修订可持续发展报告编制指... 上证报中国证券网讯 据深交所1月30日消息,深交所发布实施《深圳证券交易所上市公司自律监管指南第3号...
面试餐饮|新手零经验,小红书开... 有没有餐饮人跟我一样?想靠小红书引流拓客,却卡在第一步:不知道怎么开店、怎么发笔记不踩雷,看着别人的...