AT32 MCU SDRAM测试--AT_SURF案例17

简介
SDRAM 也就是同步动态随机存取内存,在计算机中得到了广泛的应用。在单片机应用中SRAM 和SDRAM 都用于扩展MCU 内存,通常SDRAM 用于大容量扩展,SRAM 用于小容量扩展。相比于SRAM,SDRAM 最大的不同是访问时有命令机制,而SRAM 可以直接访问,以及SDRAM需要在一定时间内刷新充电才能保存数据,否则数据将会消失,而SRAM 不需要刷新也能保存数据。SDRAM 在读取和写入时需要先发送命令例如:预充电命令、读命令、写命令等,具体的请参考SDRAM 芯片的数据手册。

表1. SDRAM 和SRAM 特点对比

SUFR 板载了一颗SDRAM 芯片,型号为W9825G6KH-6,容量为32M 字节,数据宽度为16 位,通过XMC 接口和MCU 连接。在288M 主频下,SDRAM 时钟为288 / 3= 96MHz。

资源准备
硬件环境:
对应产品型号的AT-SURF-F437 Board
软件环境:
AT32F435_437_Firmware_Library_V2.x.x\project\at_sufr_f437\examples\sdram

硬件设计
表2. 硬件资源使用
编号 PIN Name 外设功能 备注
1 PD14 XMC_D10
2 PD15 XMC_D11
3 PD0 XMC_D12
4 PD1 XMC_D13
5 PE7 XMC_D14
6 PE8 XMC_D15
7 PE9 XMC_A0
8 PE10 XMC_A1
9 PE11 XMC_A2
10 PE12 XMC_A3
11 PE13 XMC_A4
12 PE14 XMC_A5
13 PE15 XMC_A6
14 PD8 XMC_A7
15 PD9 XMC_A8
16 PD10 XMC_A9
17 PF0 XMC_A10
18 PF1 XMC_A11
19 PF2 XMC_A12
20 PF3 XMC_A3
编号 PIN Name 外设功能 备注
21 PF4 XMC_A4
22 PF5 XMC_A5
23 PF12 XMC_A6
24 PF13 XMC_A7
25 PF14 XMC_A8
26 PF15 XMC_A9
27 PG0 XMC_A10
28 PG1 XMC_A11
29 PG2 XMC_A12
30 PC3 XMC_SDCKE0
31 PG8 XMC_SDCLK
32 PC2 XMC_SDNE0
33 PC0 XMC_SDNWE
34 PG15 XMC_SDNCAS
35 PF11 XMC_SDNRAS
36 PG4 XMC_SDBA0
37 PG5 XMC_SDBA1
38 PE0 XMC_NBL0

对应的电路原理如下:
在这里插入图片描述

软件设计

  1. SDRAM 测试
    初始化TFT LCD
    初始化SDRAM
    写数据到SDRAM
    从SDRAM 读数据
    将信息显示在LCD 屏上

  2. 代码介绍
    main 函数代码描述
    int main(void)
    {
    uint16_t i;
    /* 初始化系统时钟 /
    system_clock_config();
    /
    初始化中断优先级分组 */

nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
/* 初始化延时函数 /
delay_init();
/
初始化LCD /
lcd_init(LCD_DISPLAY_VERTICAL);
/
initialize sdram /
sdram_init();
/
显示信息 */
lcd_string_show(10, 20, 200, 24, 24, (uint8_t )“SDRAM Test”);
/
初始化数据 /
for(i = 0; i < BUF_SIZE; i++)
{
write_buf = i;
}
/
写数据到 SDRAM /
sdram_data_write(0, write_buf, BUF_SIZE);
/
从SDRAM 读取数据 /
sdram_data_read(0, read_buf, BUF_SIZE);
/
对比读出和写入的数据 */
if(buffer_compare((uint8_t *)write_buf, (uint8_t *)read_buf, BUF_SIZE * 2) == 0)
{
lcd_string_show(10, 60, 310, 24, 24, (uint8_t *)“sdram write/read ok”);
}
else
{
lcd_string_show(10, 60, 310, 24, 24, (uint8_t *)“sdram write/read ok”);
}
while(1)
{
}
}

下载验证
写数据到SDRAM
从SDRAM 读数据
对比读取和写入的数据是否相等,将信息显示在LCD 屏上
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值