关于Sdram软件:自刷新模式
对于电源管理,我们必须将系统置于深度睡眠(系统睡眠)模式,为此我们必须将 SDRAM 置于自刷新模式。 谁能告诉我将 SDARM 设置为自刷新模式的步骤。
我尝试了SDRAM配置寄存器,我发现SDRAM确实进入了自刷新模式[我们探测了SD clk out],但是在某些情况下系统在从睡眠状态中出来时会崩溃。
For power management we have to put system in deep sleep(system sleep) mode and for this we have to put SDRAM in self refresh mode.
Can anyone tell the steps to set SDARM in self refresh mode.
I tried SDRAM configuration register's ,I found that the SDRAM do goes to self-refresh mode[we probed the SD clk out] however system crashes in some scenarios while coming out of sleep.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SDRAM 芯片的数据表应指定将芯片置于自刷新状态的确切顺序(可能在 JEDEC 规范中)。您是否探测过发送至 SDRAM 芯片的所有控制信号?验证芯片是否确实被告知进入自刷新模式。
如果芯片没有正确进入自刷新状态,那么您的“进入睡眠”代码就会出现问题。
之后,确保当您的处理器命中恢复向量时,您正确地退出自刷新(使用范围验证它)。您可能缺少一些重新初始化步骤。
如果以上都处理正确,那么你会因为不同的原因而崩溃。某些设备可能丢失了一些您没有保留的上下文。电源排序可能是另一个原因(某些设备仍处于断电状态)。
The datasheet for the SDRAM chips should specify the exact sequence for putting the chips into self-refresh (might be in the JEDEC specs). Have you probed all of the control signals going to the SDRAM chips? Verify that the chips are really being told to go into self refresh mode.
If the chips aren't being put into self refresh properly, then you have a problem with your "go to sleep" code.
After that, make sure you are exiting self-refresh properly when your processor hits the resume vector (verify it with a scope). There may be some re-initialization steps you are missing.
If the above are both handled correctly, then you are crashing for a different reason. Some device probably lost some context that you didn't preserve. Power supply sequencing could be another cause (some device is still powered down).
首先,您需要阅读 SDRAM 以及 CPU 的规格,了解系统在进入和退出睡眠状态时的行为方式。这个问题没有任何通用的答案。信息不足。但CPU中的延迟和计时信息往往是一个很好的提示。例如增加延迟并再试一次。
First of all you need to read the specs on the SDRAM as well on the CPU on how the system behaivs on entering and exiting sleep. This question does not have any universial awnser. Not enough information. But often delays and timing information in the CPU is a good hint. eg increase delays and give it another go.