SDRAM工作原理及S3C2410 SDRAM控制器配置方法
2 | 1 | 1 | 0 | 0 | 1 | 0 | 预充电所有bank(PRE) | Trp=2 |
3 | 1 | X | 1 | 1 | 1 | 1 | 空操作 | |
4 | 0 | X | 0 | 0 | 0 | 1 | Self Refresh命令(REFS) | 结合CKE的真值表 |
5 | 1 | X | 1 | 1 | 1 | 1 | 空操作 |
5、S3C2410 BUS Request时SDRAM控制时序
我以前在做一个项目时涉及到两个主控器共享一个SDRAM的情况。现象是另一个主控器可以通过BUS Request功能获取到总线的控制权。当S3C2410的总线控制权被获取后,SDRAM控制不会再发出控制时钟信号。但SDRAM并没有因为失去时钟而丢失数据。猜想一定是S3C2410在BUS Request时让SDRAM进入自刷新状态(就和S3C2410睡眠前要让SDRAM进入自刷新状态一样)、POWER DOWN状态、或者SUSPEND状态。下面就根据S3C2410 BUS Request时SDRAM控制时序图去确认一下到底是哪种。
对照HY57V5620的命令表,列出S3C2410 BUS Request时SDRAM时序过程。
CLK | SCKE | A10/AP | nGCSx | nSRAS | nSCAS | nWE | 命令 | 备注 |
1 | 1 | X | 1 | 1 | 1 | 1 | 空操作(NOP) | |
2 | 1 | 0 | 0 | 0 | 1 | 0 | 预充电(PRE) | Trp=2 |
3 | 1 | X | 1 | 1 | 1 | 1 | 空操作 | |
4 | 1 | X | 0 | 0 | 1 | 1 | Bank激活命令(ACT) | Trcd=2 |
5 | 1 | X | 1 | 1 | 1 | 1 | 空操作 | |
6 | 1 | 0 | 0 | 1 | 0 | 1 | 读操作(READ) | Tcl=2 |
7 | 1 | X | 1 | 1 | 1 | 1 | 空操作 | |
8 | 1 | X | 1 | 1 | 1 | 1 | 空操作 | |
9 | 1 | X | 1 | 1 | 1 | 1 | 空操作 | |
10 | HZ | HZ | HZ | HZ | HZ | HZ | 进入Clock suspend | Note 1 |
Note1:在第10个时钟周期时,SKE从1变为’HZ’(高阻)。我想此时SCKE从1变为高阻对于SDRAM来说相当于从1->0吧,看了一遍HY57V5620手册,这个想法没有得到确认。但也只能这么理解了,不然后面都说不通了。我想之所以变为高阻而不是低电平,是因为S3C2410要放弃自己对总线控制。
结合HY57V5620手册分析一下此时SDRAM会进入什么状态。
下图是CKE Enable(CKE) 真值表。
在第10个时钟周期时,SDRAM处于行激活状态。此时SCKE由1->0, 根据真值表可以得出系统会进入Clock suspend状态
六、总结
本文分析了SDRAM的工作原理、介绍了HY57V561620及其与S3C2410的接线原理、S3C2410 SDRAM控制器的配置方法、及部分SDRAM的控制时序分析。有些地方理解的不够深刻,欢迎大家指正。
本文分析了SDRAM的工作原理、介绍了HY57V561620及其与S3C2410的接线原理、S3C2410 SDRAM控制器的配置方法、及部分SDRAM的控制时序分析。有些地方理解的不够深刻,欢迎大家指正。
SDRAMS3C2410控制器配 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)