реклама на сайте
подробности

 
 
> Вопрос по SDRAM памяти micron
cerg19
сообщение Sep 2 2010, 10:48
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 12-05-09
Из: Нижний Новгород
Пользователь №: 48 978



Всем доброго время суток. В данный момент пишу для ПЛИС контроллер записи и чтения в SDRAM память фирмы микрон. Так исторически сложилось, что использование готового ядра не представляется возможным. При чтении даташиты для памяти возникло два вопроса, а именно что делают команды PRECHARGE и AUTO REFRESH. Как я понял команду AUTO REFRESH необходимо выполнять каждые 1,7 мкс в не зависимости от того что ты делаешь с памятью. А команду PRECHARGE необходимо выполнять каждый раз при переходе от одной строки к другой при записи или чтении. Скажите пожалуйста, правильно ли я всё понял, а так же хочу спросить можно ли записать данные в ячейки памяти и потом сразу же считать эти же ячейки без выполнения команды AUTO REFRESH.
P.S не знаю точно в какую ветку писать, решил сюда. Извините если промазал
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
cerg19
сообщение Sep 3 2010, 05:13
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 12-05-09
Из: Нижний Новгород
Пользователь №: 48 978



Цитата
эту команду можно вообще никогда не выполнять, при условии что вы обращаетесь ко всей нужной вам памяти с периодом не реже 64мс.


Тоесть если я попробую считать данные из памяти, которые записал туда секунду назад не выполняя периодически команды AUTO REFRESH то в памяти ничего не будет, тоесть я потеряю данные?
Go to the top of the page
 
+Quote Post
dxp
сообщение Sep 3 2010, 06:02
Сообщение #3


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(cerg19 @ Sep 3 2010, 12:13) *
Тоесть если я попробую считать данные из памяти, которые записал туда секунду назад не выполняя периодически команды AUTO REFRESH то в памяти ничего не будет, тоесть я потеряю данные?

Каждая страница памяти должна быть "освежена" не реже, чем один раз в 64 мс. Поскольку autorefresh производится внутри и только одну страницу на одну команду (внутри есть счетчик, который является адресом страницы, при каждой команде autorefresh счетчик инкрементируется, по достижении максимального адреса счетчик обнуляется, т.е. имеется wrap around), то единственный способ удовлетворить указанному требованию - это один раз в 64 мс выдать N команд autorefresh (где N - количество страниц в банке). Сразу их выдать пачкой или размазать по всему интервалу - это частное дело автора контроллера SDRAM.

Это гарантирует сохранность данных. Сохранятся ли данные, если секунду не освежать ячейки? Правильный ответ: не гарантируется. Зависит от типа памяти, от условий окружающей среды, от конкретного экземпляра и т.д. К тому же, разные ячейки по-разному и "садятся". Вряд ли кто-то будет заниматься подобным - нужно добиваться, чтобы схема была в режиме, т.е. все условия эксплуатации, указанные в документации, были соблюдены.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 21:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016