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

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

3天内不再提示

AT32讲堂039 | AT32 MCU SDRAM控制器的使用

雅特力 AT32 MCU 2022-12-19 11:46 次阅读

SDRAM介绍

同步动态随机存储器(SDRAM)特点:

  • 同步:memory工作时需要同步时钟
  • 动态:存储阵列需要不断刷新
  • 随机:自由指定地址读写数据
  • 容量大价格便宜

SDRAM存储结构

SDRAM支持多BANK,通过指定BANK号,行地址,列地址找到目标存储单元。
图1 存储结构d43f53da-7e19-11ed-b116-dac502259ad0.png

SDRAM信号线

d4715bdc-7e19-11ed-b116-dac502259ad0.png

SDRAM内部框图

如下以W9825G6KH内部框图举例:图2 W9825G6KH框图d4955ce4-7e19-11ed-b116-dac502259ad0.png

  • 1时钟控制
  • 2命令控制
  • 3地址控制
  • 4存储阵列,4个BANK
  • 5数据

SDRAM常用命令表

SDRAM通过信号线上的不同状态来产生各种命令。表1 SDRAM命令表d4ab5896-7e19-11ed-b116-dac502259ad0.png注意:L=Low Level H=High Level X=don't CareA10=H表示Precharge all bank,A10=L表示Precharge选择的BANK

  • No-Operation表示选中当前设备,当前没有操作。
  • Bank/Row active在对SDRAM进行读写时,需要先激活对应的bank和行,该命令用于选择一个bank的一行进行激活,以便接下来进行读写访问。
  • Read激活的行有效之后,对列地址进行寻址,读出数据。
  • Write激活的行有效之后,对列地址进行寻址,写入数据。
  • Precharge预充电命令,在某一行上的读写完成之后,关闭现有的行,准备激活新行。
  • Refresh刷新命令,SDRAM需要不断的刷新操作才能保存数据,根据SDRAM设备参数按照固定周期进行刷新。
  • Load Mode Register加载模式寄存器,修改SDRAM设备的功能参数,burst模式,latency等。

图3 mode registerd4c127f2-7e19-11ed-b116-dac502259ad0.png

SDRAM Power On Sequence

图4 SDRAM Power On

d4f2db58-7e19-11ed-b116-dac502259ad0.png

AT32 SDRAM控制器

SDRAM控制器主要特点如下:

  • 同时支持两个SDRAM设备
  • 支持8位/16位数据总线宽度
  • 支持13位行地址,11位列地址(最大可以支持4x16Mx16bit=128MB)
  • 支持4个内部Bank
  • 支持word/half word/byte访问
  • 支持Burst Read,有6x32bit读FIFO缓存
  • SDRAM时钟支持HCLK/2, HCLK/3, HCLK/4
  • 支持低功耗模式(自刷新模式,掉电模式)

地址映射

图5 SDRAM地址映射d50d0aa0-7e19-11ed-b116-dac502259ad0.pngSDRAM Device1起始地址:0xC0000000SDRAM Device2起始地址:0xD0000000

I/O引脚配置

表2 SDRAM IO引脚列表d525d288-7e19-11ed-b116-dac502259ad0.png

使用SDRAM IO引脚初始化如下,可根据具体使用引脚进行修改:

d561e87c-7e19-11ed-b116-dac502259ad0.png

SDRAM读写时序

  • 写SDRAM时序

d61730c4-7e19-11ed-b116-dac502259ad0.png

读SDRAM时序

d64236ca-7e19-11ed-b116-dac502259ad0.png

SDRAM配置

通过配置寄存器SDRAM_CTRLx来设置SDRAM设备的容量,访问方式等,详细信息可参考RM。此寄存器包括如下配置:(W9825G6KH作为示例)

  • 行地址/列地址配置

d67f970e-7e19-11ed-b116-dac502259ad0.png行地址和列地址根据SDRAM设备地址位数进行配置,如下示例:d691f246-7e19-11ed-b116-dac502259ad0.png

数据总线宽度

d6a80bf8-7e19-11ed-b116-dac502259ad0.png根据SDRAM设备支持数据总线宽度进行配置,如下示例支持16bit数据宽度:d6ca6e3c-7e19-11ed-b116-dac502259ad0.png

内部区块个数

d702c7aa-7e19-11ed-b116-dac502259ad0.pngSDRAM设备支持内部bank个数:d714fe2a-7e19-11ed-b116-dac502259ad0.png

列地址选通延迟(CAS)

d73bb1dc-7e19-11ed-b116-dac502259ad0.pngSDRAM设备支持延迟:d75ad300-7e19-11ed-b116-dac502259ad0.png

写保护配置(WRP)

  • 如果配置了写保护,在写SDRAM设备时会参数Bus error。
  • XMC_SDCLK时钟分频(CLKDIV)
  • BSTR(连续读)
  • RD(读延时)

配置代码例程:

d78f88de-7e19-11ed-b116-dac502259ad0.png

SDRAM时序参数配置

要正常使用SDRAM设备,需要正确配置此部分的实现参数,此参数可在SDRAM设备的datasheet中找到对应值。

配置寄存器SDRAM_TMx:

  • TMRD(加载模式寄存器到激活延迟)
  • TXSR(退出自刷新延迟)
  • TRAS(自刷新周期)
  • TRC(刷新命令到激活命令延迟)
  • TWR(写命令到预充电命令延迟)
  • TRP(预充电到激活命令延迟)
  • TRCD(行激活到列延迟)

例TRCD:最小18ns,SDRAM时钟144MHz,一个SDRAM时钟大约为7ns,因此TRCD至少要配置为延迟3个SDRAM时钟周期。例TWR:SDRAM设备要求2个SDRAM时钟,因此配置为2

SDRAM设备对时序要求:(W9825G6KH作为示例)

d7b949c6-7e19-11ed-b116-dac502259ad0.png

配置代码例程:

d7d3ceea-7e19-11ed-b116-dac502259ad0.png

SDRAM启动序列配置

  • Clock enable时钟使能

d7fdbaf2-7e19-11ed-b116-dac502259ad0.png

预充电

d8276d52-7e19-11ed-b116-dac502259ad0.png

设置刷新计数器

d83a5296-7e19-11ed-b116-dac502259ad0.png

计算方法:counter=(SDRAM resfresh period / number of rows)-20;

刷新速率=64ms/8K=7.8125us;counter=7.8125us*144MHz–20=1105;d84c2e62-7e19-11ed-b116-dac502259ad0.png

自动刷新

d8606e40-7e19-11ed-b116-dac502259ad0.png

加载模式寄存器

d884b5b6-7e19-11ed-b116-dac502259ad0.png

SDRAM例程

SDRAM Basic此例程配置SDRAM设备之后,对SDRAM设备进行读写操作,并判断读写数据是否正确,包括如下步骤:

  • GPIO初始化
  • SDRAM配置

d89662fc-7e19-11ed-b116-dac502259ad0.png

SDRAM启动序列

d8c30dde-7e19-11ed-b116-dac502259ad0.png

SDRAM读写访问

d8eb1fc2-7e19-11ed-b116-dac502259ad0.pngSDRAM DMA此例程配置SDRAM设备之后,使用对SDRAM设备进行读写操作,并判断读写数据是否正确,包括如下步骤:

  • GPIO初始化(同SDRAM Basic)
  • SDRAM配置(同SDRAM Basic)
  • SDRAM启动序列(同SDRAM Basic)
  • SDRAN DMA读写

d901ef22-7e19-11ed-b116-dac502259ad0.png关于雅特力雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM Cortex-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM Cortex-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G、物联网、消费、商务及工控等领域。

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

    关注

    146

    文章

    16865

    浏览量

    349852
  • 控制器
    +关注

    关注

    112

    文章

    16090

    浏览量

    177014
收藏 人收藏

    评论

    相关推荐

    STM32转AT32代码转换

    1.引言在嵌入式开发中,我们经常会遇到更换单片机芯片的事情,若芯片是同一厂家的还好说,若是不同厂家的则需要重新写,重新调,重新去学习其底层驱动程序,比较费时费力。如:ST32转AT32、ST32转
    的头像 发表于 09-28 08:09 230次阅读
    STM32转<b class='flag-5'>AT32</b>代码转换

    AT32讲堂088 | 雅特力AT32F402/F405时钟配置

    简介时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文档就着重针对各系列的情况来详细
    的头像 发表于 09-15 08:08 339次阅读
    <b class='flag-5'>AT32</b><b class='flag-5'>讲堂</b>088 | 雅特力AT32F402/F405时钟配置

    AT32讲堂087 | 雅特力AT32 IDE快速入门指南

    新建项目新项目向导AT32ID提供支持雅特力MCU的C语言项目模板,方便用户快速创建项目。菜单栏【File】>【New】>【CProject】。新建项目向导的对话框将出现。在对
    的头像 发表于 09-15 08:08 311次阅读
    <b class='flag-5'>AT32</b><b class='flag-5'>讲堂</b>087 | 雅特力<b class='flag-5'>AT32</b> IDE快速入门指南

    DDR4 SDRAM控制器的主要特点

    DDR4 SDRAM(Double Data Rate Fourth Synchronous Dynamic Random Access Memory)控制器作为现代计算系统中的重要组成部分,其
    的头像 发表于 09-04 12:55 430次阅读

    雅特力AT32 MCU的随机数生成

    概述产品和生态系统安全性的需求比以往任何时候都更加重要。真随机数是所有安全系统的核心,其质量会影响设计的安全性。因此在没有内置硬件TRNG的AT32的微控制器系列中,如何提高随机数的有效,来符合
    的头像 发表于 08-30 12:26 406次阅读
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的随机数生成

    AT32讲堂085 | 雅特力AT32 MCU HICK时钟校准

    简介AT32系列MCU内部都有提供适合运行的内部高速时钟(HICK),其本质就是内置于芯片的RC振荡。在25℃下,其典型值频率8MHz的精度由工厂校准到±1%,在-40到105℃,该内部高速时钟
    的头像 发表于 08-30 12:26 467次阅读
    <b class='flag-5'>AT32</b><b class='flag-5'>讲堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK时钟校准

    电机控制器mcu的作用 电机控制器mcu的功用是什么

    (Microcontroller Unit,简称MCU),它负责处理输入信号、执行控制算法以及输出控制指令。本文将详细介绍电机控制器MCU
    的头像 发表于 06-04 17:20 1873次阅读

    雅特力AT32 MCU与SEGGER携手合作,开发量产事半功倍

    近日,雅特力与SEGGER共同宣布J-Link仿真调试与Flasher在线烧录全面支持AT32 MCU产品,SEGGER工具链的加持使AT32
    的头像 发表于 02-23 10:27 338次阅读

    AT32 定时配置中pr和div的作用

    AT32定时是51系列单片机中的一种定时,可以实现多种定时功能。在AT32定时中,pr和div是两个相关的参数,用于配置定时
    的头像 发表于 01-08 10:12 1161次阅读

    润开鸿AT32开发平台通过OpenHarmony兼容性测评

    OpenHarmony兼容性证书 润开鸿AT32开发平台基于AT32F403核心控制单元设计,支持OpenHarmony轻量系统,搭载32位ARM® Cortex®-M4内核,主频高达200MHz,拥有高达
    发表于 12-21 17:20

    润开鸿AT32开发平台通过OpenHarmony兼容性测评

    OpenHarmony落地垂直行业开启了新的硬件接入点。 润开鸿AT32开发平台OpenHarmony兼容性证书 润开鸿AT32开发平台基于AT32F403核心控制单元设计,支持OpenHarmony轻量系统,搭
    的头像 发表于 12-20 21:10 631次阅读
    润开鸿<b class='flag-5'>AT32</b>开发平台通过OpenHarmony兼容性测评

    润开鸿AT32开发平台通过OpenHarmony兼容性测评

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)AT32开发平台通过OpenHarmony3.2.Release版本兼容性测评,助力润开鸿基于该开发平台全新研发推出的行业终端设备顺利融入
    的头像 发表于 12-15 08:02 571次阅读
    润开鸿<b class='flag-5'>AT32</b>开发平台通过OpenHarmony兼容性测评

    雅特力AT32 MCU实现高效电机驱动控制与应用

    发展。雅特力受邀出席此次会议,产品市场总监林金海发表了题为“雅特力AT32MCU实现高效电机驱动控制与应用”的主题演讲,分享了雅特力电机团队最新的技术研究成果及在电
    的头像 发表于 11-17 08:15 777次阅读
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>实现高效电机驱动<b class='flag-5'>控制</b>与应用

    如何使用AT32 MCU WDT和WWDT?

    如何使用AT32 MCU WDT和WWDT?
    的头像 发表于 11-10 18:26 1844次阅读
    如何使用<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> WDT和WWDT?

    Segger Jscope波形软件在AT32 MCU的使用

    Segger Jscope波形软件在AT32 MCU的使用
    的头像 发表于 11-10 18:24 2300次阅读
    Segger Jscope波形软件在<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的使用