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

 
 
> SDRAM - вопросы по интерфейсу
Daimon
сообщение Oct 10 2006, 06:46
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 10-10-06
Пользователь №: 21 157



Доброго времени суток!
Если у кого был опыт в разработке и отладке - поделитесь.
Проблема: Хочется сделать надстройку над DMA контроллером, для чего необходимо аппаратно отловить строб записи в SDRAM (это, в целом, частности). Но вопросы возникают на мой взгляд общие для отладки.
Вопросы:
1) при автоматической регенерации памяти SDRAM её контроллером требуется ли стробирование сигнала /WR?
2) складывается впечатление что необходимо отловить следующее условие : SDCKE=1, /MSSDx=0, /RAS=1, /CAS=0, /WE=0, /CS=0. Нельзя ли это оптимизировать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Wanderer.I
сообщение Feb 4 2010, 22:33
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 23-10-07
Пользователь №: 31 658



Пишу контроллёр под SDRAM почитав pdf по Micron:
AUTO REFRESH is used during normal operation of the SDRAM and is analogous to
CAS#-BEFORE-RAS# (CBR) refresh in conventional DRAMs. This command is nonpersistent,
so it must be issued each time a refresh is required. All active banks must be
PRECHARGED prior to issuing an AUTO REFRESH command. The AUTO REFRESH
command should not be issued until the minimum tRP has been met after the
PRECHARGE command as shown in the Operation section.
The addressing is generated by the internal refresh controller. This makes the address
bits “Don’t Care” during an AUTO REFRESH command. Regardless of device width, the
64Mb SDRAM requires 4,096 AUTO REFRESH cycles every 64ms (commercial and industrial)
or 16ms (automotive). Providing a distributed AUTO REFRESH command every
15.625μs (commercial and industrial) or 3.906μs (automotive) will meet the refresh
requirement and ensure that each row is refreshed. Alternatively, 4,096 AUTO REFRESH
commands can be issued in a burst at the minimum cycle rate (tRFC), once every 64ms
(commercial and industrial) or 16ms (automotive).

Как я понял нужно каждые 64мс подавать 4096 команд с интервалом tRP,но ведь в этом случае время когда память будет не доступна (60нс*4096+4096*7нс(мин время одного такта)=274432нс=274мкс)...или я что-то не так понял?

Сообщение отредактировал Wanderer.I - Feb 4 2010, 22:46
Go to the top of the page
 
+Quote Post
AlexanderX
сообщение Feb 8 2010, 13:08
Сообщение #3


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

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



To Wanderer.I.

Вам нужно сделать рефреш каждой строки один раз за 64мкс. Как Вы это сделаете, все строки подряд, или с определенным интервалом - это как Вас больше устраивает.
Go to the top of the page
 
+Quote Post

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

 


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


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