尿蛋白高是什么原因| 梦见橘子是什么意思| 脂蛋白a是什么| 5月5号什么星座| 什么是pin| 专科警校出来干什么| 结肠多发憩室是什么意思| 头顶发热是什么原因| 心衰用什么药| k金是什么| 自相矛盾是什么意思| 女人梦见下雪是什么征兆| 右边腰疼是什么原因| 载脂蛋白a偏高是什么意思| 子宫饱满是什么意思| 2049年是什么年| 喜新厌旧是什么生肖| 学的偏旁部首是什么| grn什么颜色| 吃什么记忆力增强| 北京居住证有什么用| 外阴又疼又痒用什么药| 灯笼裤配什么鞋子好看| 哈达是什么意思| 鸭子喜欢吃什么食物| 出淤泥而不染是什么花| 鬼压床是什么原因造成的| 七七年属什么生肖| 眼帘是什么意思| 瘢痕体质是什么意思| 田反念什么| 三月十九是什么星座| 女人脖子后面有痣代表什么| 葡萄糖属于什么糖| 骨质密度增高是什么意思| 滑膜炎是什么症状| 什么手机信号最好最强| 67岁属什么生肖| 10月7日什么星座| 棘人是什么意思| 人为什么打呼噜| 天津市市长什么级别| 梦见桥断了是什么意思| 脑梗什么东西不能吃| 胚芽是什么| 女人丹凤眼意味什么| 小螃蟹吃什么食物| 疏风解表的意思是什么| 7月19号是什么星座| 钼靶是什么检查| 一例是什么意思| apf值是什么意思| 考护士资格证需要什么条件| 白头翁代表什么生肖| 白术适合什么地方种植| 吃什么主食减肥最快| 吃什么水果对子宫和卵巢好| 男性脾大是什么原因| 百合是什么意思| 耳朵痒是什么预兆| 舌头上有溃疡是什么原因| 阴道撕裂用什么药| 月经不来是什么原因| 3人死亡属于什么事故| 吃什么药死的快| 结婚的礼数都有什么| 白癜风有什么危害| 什么枯石烂| 成吉思汗和忽必烈是什么关系| 意象是什么意思| 为什么小腹隐隐作痛| 健身有什么好处| 规律宫缩是什么感觉| 窗口期是什么意思| 生理期量少是什么原因| 吃什么水果对身体好| 什么得直什么| 好聚好散是什么意思| 今晚吃什么家常菜| 胆囊炎是什么病| 丹桂飘香是什么季节| 盯眝是什么意思| 人生三件大事是指什么| 白羊跟什么星座最配| 2月22日什么星座| 去乙酰毛花苷又叫什么| 总师是什么级别| 头皮痒用什么洗头好| babycare是什么牌子| 九月24日是什么星座| 笔画最多的字是什么| pvc是什么意思| 牛肉可以炒什么菜| 脸上长癣用什么药膏| 胸部ct可以检查出什么| 婴儿喝什么奶粉最好| cot是什么| 很轴是什么意思| 宫颈纳囊多发是什么意思| 献血证有什么用| 祛湿吃什么药| 胸口疼痛吃什么药| 阴性是什么意思| 痔疮的表现症状是什么| 卷心菜是什么菜| 2015年五行属什么| 唇亡齿寒什么意思| 什么叫桥本甲状腺炎| 为什么会胃痛| 美国为什么不敢动朝鲜| 68年属猴的是什么命| 做孕检都检查什么项目| 富不过三代是什么意思| 扁桃体发炎吃什么药效果最好| 利尿是什么意思| 双喜临门的临是什么意思| 梦到公鸡是什么意思| 肠炎吃什么| b型血的孩子父母是什么血型| 囟门闭合早有什么影响| 川军为什么那么出名| 九四年属什么生肖| 为什么一睡觉就做梦| 黄加黑变成什么颜色| art是什么| 天荒地老什么意思| 子宫破裂有什么征兆| 什么人会得免疫性脑炎| 9月9日是什么星座| 悔教夫婿觅封侯是什么意思| 屋尘螨和粉尘螨是什么| 什么东西清肺最好| 乙肝有什么症状| 阳历2月份是什么星座| 尿酸高吃什么水果好| 1.4是什么星座| 禾字加一笔是什么字| 去加一笔是什么字| 多发纳氏囊肿是什么意思| 什么病会引起背部疼痛| 胃间质瘤是什么性质的瘤| 淋巴细胞百分比低是什么意思| ye是什么颜色| 尿酸高是为什么| 变色龙指什么人| 鱼扣是鱼的什么部位| 8.26是什么星座| 手术室为什么在三楼| 人丁兴旺是什么意思| 大佐是什么军衔| 办护照照片有什么要求| 水晶粉是什么粉| eicu是什么意思| 面起子是什么| 心脏什么情况下需要支架| 宫颈管是什么| sss是什么意思| 梦见栽树是什么意思| 尿道口有灼热感是什么原因| 淡奶油能做什么| 何妨是什么意思| 仓鼠为什么喜欢跑轮| 农历2月12日是什么星座| 什么是低保| 宝宝睡觉突然大哭是什么原因| 2月25日什么星座| 毛主席女儿为什么姓李| 骨折什么感觉| 置换是什么意思| 香火是什么意思| 颜面扫地什么意思| 中暑为什么不能打点滴| 做梦梦到鱼是什么意思| 汗臭和狐臭有什么区别怎么辨别| 拔牙后不能吃什么食物| qq是什么| 书法用什么笔| 房速是什么意思| 什么是腰间盘突出| 犯罪心理学属于什么专业| t是什么| 撕漫男是什么意思| s和m是什么意思啊| 法尔如是是什么意思| 为什么有胎记| 螃蟹喜欢吃什么食物| 凝血常规是查什么的| 吃什么能提升血小板| 极端是什么意思| 父母都是b型血孩子是什么血型| 咽喉炎是什么症状| 晕车贴什么时候贴| 心肌供血不足吃什么| 轻断食是什么意思| 稷是什么农作物| 梦见马是什么意思| 才高八斗是什么生肖| 手心出汗什么原因| 茶叶渣属于什么垃圾| 男人眉心有痣代表什么| 槐子泡水喝有什么功效| 盆腔炎做什么检查能查出来| 叫人挪车打什么电话| 黄棕色是什么颜色| 没睡好头疼是什么原因| 梦到男朋友出轨了预示什么意思| 贡菜是什么做的| 梦见办酒席是什么意思| 西元前是什么意思| 什么是cin病变| srpl是什么药| 结甲是什么病| 生物指的是什么| 蛋糕用什么奶油好| 梦到自己牙齿掉了是什么意思| 酊是什么意思| 大使是什么行政级别| 疳积有什么症状| 关节咔咔响是什么原因| 血管痉挛是什么症状| 什么动物是站着睡觉的| 鸡为什么喜欢吃泡沫| 很什么很什么| 猕猴桃是什么季节的水果| 用白醋泡脚有什么好处| 安全期是什么| 1987年属什么生肖| 梦见捡菌子是什么预兆| 啤酒加生鸡蛋一起喝有什么效果| 知了吃了有什么好处| 大姨妈期间同房有什么影响| 90年出生属什么生肖| 检查肺挂什么科| 人流需要准备什么东西| 施华洛世奇什么档次| dumpling是什么意思| 高三学生吃什么补脑抗疲劳| rhino是什么意思| 一个人自言自语的说话是什么病| 什么红酒好喝| 前庭大腺囊肿是什么原因引起的| 孕妇缺钙吃什么食物补充最快| 女人为什么要嫁人| 什么药治尿酸高最有效| 什么是无精症| 缺钾是什么病| 火麻是什么植物| 孩子鼻塞吃什么药| aj是什么鞋子| 基因突变是什么意思| 失败是成功之母是什么意思| 过三关 是什么意思| 石钟乳是什么意思| 沐字五行属什么| 上大便出血是什么原因| 靓女是什么意思| 受精卵着床有什么反应| 灌肤是什么意思| 龙骨是什么东西| 什么不迫| 卵巢筛查要做什么检查| 英文为什么怎么写| 什么贤什么能| 麦芽糖是什么做的| 百度
打印
[APM32E1]

图解:面向全体党员开展的“两学一做”怎么学?

[复制链接]
453|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Reli-eng-z 于 2025-6-18 22:59 编辑

#申请原创# #技术资源#@21小跑堂



揭开SDRAM的神秘面纱:从零开始搞懂APM32E103中的DMC是什

前言
      如果你是第一次接触SDRAM,尤其是用APM32E103单片机开发SDRAM应用,可能会被一个名叫EMMC的东西搞得晕头转向。文档里提到它,代码里配置它,硬件上还得接它,但它到底是个啥?为什么每次谈到SDRAM都绕不开EMMC

1、引言:EMMC是个啥?它有什么作用
eMMC 想象成一个「智能快递仓库」,eMMC 就像一个大仓库,里面既存放临时包裹(动态数据),也存放长期固定的包裹(静态数据)。它内部有两个管理员分工合作:
SMC(静态管理员):管固定货架(SRAMNorFlash 等)
DMC(动态管理员):管流动货架(SDRAM)。处理器从eMMC读取数据(如启动代码)到SDRAM中执行,运行时,应用程序数据从eMMC加载到SDRAM缓存以提高速度。

2eMMC的定义:它到底是个啥?
      
用户手册上,介绍EMMC是外部存储器控制器,EMMC 包括 SMC(静态存储控制器)、DMC(动态存储控制器)。SMC 负责控 制 SRAMPSRAMNandFlashNorFlashPCCardDMC 控制 SDRAM

2.1 SMC 是用来管理扩展静态存储器的外设;可以将 AHB 传输信号转换到适当的外
部设备;内部存在四个存储块,每个存储块都对应控制不同类型的存储器,通过
片选信号加以区分;任一时刻只访问一个外部设备;每个存储块都可以单独配
置,时序可编程以适用外部设备。

2.2 DMC 一个动态存储控制器,外接片外 SDR-SDRAM
DMC 主要特征
l 16 位数据宽度
l 最大支持 2MB 片外 SDR-SDRAM
l SDR-SDRAM 的时序和大小可配置
l 支持 SDR-SDRAM power-down 模式
l 支持 SDR-SDRAM auto-refresh self-refresh

3 EMMCSDRAM:一对好搭档
      
eMMCSDRAM通过各自的专用接口与控制器独立工作,协同完成存储和运行任务:
eMMC提供持久化存储,通过SD/MMC协议由主机控制器访问。
SDRAM作为高速临时存储,由内存控制器直接管理
数据通过CPU/DMA在两者间传输,实现高效的系统运行

4、  EMMC的作用:它具体干了啥?

4.1 SMC(静态管理员)——管「固定货架」
    负责的存储类型:SRAMPSRAMNandFlashNorFlash 等。
    特点:这些存储像「固定货架」:数据存进去后,除非主动搬走,否则一直存在(比如 NorFlash 断电不丢数据)。适合放长期保存的东西(比如系统程序、固件)。
    举例: 你手机的系统文件存在 NorFlash 里,由 SMC 管理,开机时直接读取。

4.2 DMC(动态管理员)——管「流动货架」
    负责的存储类型:SDRAM(比如手机的运行内存)。

    特点: 这些存储像「流动货架」:数据随时搬进搬出,但断电就清空。适合放临时使用的东西(比如正在运行的游戏、APP)。
举例: 你打游戏时,DMC 会把游戏数据快速搬到 SDRAM 里,退出游戏后货架就腾空了。



  5 为什么这样分工?
    SMC 的「固定货架」:速度较慢但稳定,适合长期存储。
    DMC 的「流动货架」:速度快但需要持续供电,适合高速计算。
就像仓库既要存长期货物(SMC管),又要高效处理临时包裹(DMC管),eMMC 通过这两个控制器分工协作,兼顾速度和存储需求。
     
一句话总结
eMMC 是一个大仓库,SMC 管固定存储(像硬盘),DMC 管临时内存(像运行内存),两者配合让设备既存得住数据,又跑得快。
6、 APM32E103中的SDRAM应用:怎么用它?
    6.1.  谁控制 SDRAM
     主要控制器:
       DMC(动态内存控制器)是专门为控制 SDRAMDDR 等动态内存设计的硬件模块,负责:
       内存的初始化、读写时序、刷新(SDRAM 需要定期刷新保持数据)。
       CPU/SoC 通信,将内存请求转换为 SDRAM 能理解的信号。
    其他可能的名称:
        在某些芯片(如 IntelAMD CPU)中,DMC 可能集成在 内存控制器(IMC, Integrated Memory Controller) 中。
         ARM 架构的 SoC 中,DMC 通常是 SoC 内部的一个独立模块(比如三星 Exynos、高通骁龙芯片中的 DMC)。
6.2 为什么需要 DMC
    SDRAM 的特性:
        需要复杂的时序控制(行地址、列地址、预充电、刷新等)。
        数据是“动态”的,断电丢失,且需要定期刷新电容电荷。
        直接由 CPU 控制效率极低,因此需要专用控制器(DMC)来高效管理。
    类比:
DMC 就像一个“交通警察”,负责协调 CPU SDRAM 之间的高速数据流,确保读写有序、及时刷新。
7、  DMC 的实际应用场景
    手机/嵌入式设备:
        SoC 中的 DMC 控制 LPDDR SDRAM(低功耗内存),例如手机运行内存。
    电脑:
        CPU 内置的内存控制器(IMC)控制 DDR SDRAM(如 DDR4/DDR5)。
    其他场景:
       FPGA 或自定义硬件中,可能通过软核(如 Xilinx MIG IP)实现 DMC 功能。
8、 对比:SMC 控制什么?
    SMC(静态内存控制器)管理的是 不需要刷新 的存储器,例如:
        SRAM(静态随机存取存储器,速度快、成本高)。
        NorFlash/NandFlash(非易失性存储,断电不丢数据)。
        它们的特点是接口简单,无需复杂时序控制。
总结
    SDRAM DMC 控制,因为它的动态特性需要专用控制器
    DMC 的核心任务:初始化、时序管理、刷新、高效数据传输。
    不同系统中,DMC 可能以独立模块、集成控制器(IMC)或 IP 核的形式存在。
简单来说:CPU 想用内存时,会通过 DMC 这个“专业管家”来操作 SDRAM,而静态存储(如 Flash)则由 SMC 管理。


9硬件连接
      M12L64 164A-5TG2C为例,APM32E103SDRAM的连接如下:


APM32E103SDRAM连接


10、   DMC工作流程(以SDRAM为例)
    初始化序列:
        时钟使能:发送NOP命令并等待200μs
        预充电所有Bank
        c
SDRAM_Command(SDRAM_CMD_PALL, 0, 0); // 预充电命令
自动刷新8次:
for (int i = 0; i < 8; i++)
    SDRAM_Command(SDRAM_CMD_AUTO_REFRESH, 0, 0);
设置模式寄存器(配置CAS延迟、突发长度):
c
    SDRAM_Command(SDRAM_CMD_LOAD_MODE, 0x230, 0); // CAS=2, Burst=4
读写操作:
    通过行列地址分时复用访问:
    c
*(volatile uint16_t*)0xC0000000 = 0xABCD; // 写入SDRAM
  

11、  DMC驱动设计
    低功耗管理:
        进入自刷新模式(SDRAM在睡眠时保持数据):
        c
    SDRAM_Command(SDRAM_CMD_SELF_REFRESH, 0, 0);
性能优化:
    Bank交错访问:减少行激活延迟。
    突发传输:利用Burst Mode提升吞吐量。

12、  SDRAM驱动关键步骤
    初始化配置(以APM32E103为例):
    c
void SDRAM_Init(void) {
    // 配置GPIOFSMC控制器
    FSMC_Bank5_6->SDCR[0] = 0x000029D9; // 控制寄存器(CAS=2, 16位数据)
    FSMC_Bank5_6->SDTR[0] = 0x00112233; // 时序寄存器(tRCD=2, tRP=2)  
    // 执行初始化序列
    SDRAM_SendCmd(FMC_SDRAM_CMD_CLK_ENABLE, 0, 0); // 时钟使能
    delay(1);
    SDRAM_SendCmd(FMC_SDRAM_CMD_PALL, 0, 0);       // 预充电所有Bank
    SDRAM_SendCmd(FMC_SDRAM_CMD_AUTOREFRESH, 0, 8); // 自动刷新8
    // 设置模式寄存器(突发长度=4
    uint32_t mode_reg = 0x230; // CAS=2, Burst=4
    SDRAM_SendCmd(FMC_SDRAM_CMD_LOAD_MODE, mode_reg, 0);
}
读写操作:
c
// 直接通过内存地址访问(映射到SDRAM地址空间)
uint16_t *sdram = (uint16_t*)0xC0000000;
sdram[0] = 0x1234;  // 写入数据
uint16_t val = sdram[0]; // 读取数据

13、  本文参考资料
      - APM32E103用户手册
      - M12L64 164A-5TG2C数据手册
   





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

本版积分规则

60

主题

171

帖子

1

粉丝
火烧是什么 岑字五行属什么 bmi是什么意思啊 眼睛有血丝是什么原因 什么是过敏性紫癜
铠字五行属什么 金益什么字 左肾窦分离是什么意思 g是什么计量单位 stories是什么意思
镁低了是什么原因 2017年属什么生肖 夏天喝什么解暑 脑死亡是什么原因引起的 十月份是什么季节
otg线是什么 3.13是什么星座 太监和宫女对食是什么意思 晚上六点半是什么时辰 美的不可方物是什么意思
心包隐窝是什么意思beikeqingting.com 3月5日是什么纪念日hcv8jop3ns0r.cn 低血糖有什么危害hcv9jop8ns0r.cn 血小板降低是什么病96micro.com 寅木是什么木hcv8jop9ns6r.cn
气性坏疽是什么病hcv8jop2ns7r.cn 低蛋白血症吃什么最快hcv9jop3ns8r.cn 梦到老公被蛇咬是什么意思hcv9jop4ns4r.cn 儿童补锌吃什么cl108k.com 晚上胃疼是什么原因hcv8jop2ns0r.cn
家里为什么突然有床虱hcv7jop9ns4r.cn 梦见自己给自己理发是什么意思hcv8jop1ns3r.cn 吹空调喉咙痛什么原因hcv8jop9ns9r.cn 女人喝什么茶好减肥gysmod.com 上海话册那是什么意思hcv8jop4ns7r.cn
人几读什么0735v.com 香港特首是什么级别hcv8jop2ns2r.cn 云是什么意思hcv8jop9ns0r.cn 十滴水泡脚有什么好处hcv9jop1ns6r.cn zoe是什么意思hcv8jop3ns5r.cn
百度