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

 
 
 
Reply to this topicStart new topic
> Вопросы по динамической памяти
_alex__
сообщение Sep 9 2017, 20:40
Сообщение #1


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

Группа: Участник
Сообщений: 102
Регистрация: 25-06-14
Пользователь №: 82 059



cortex m8
ddr3
1) должна ли частота clock микросхемы ddr3 быть кратна частоте микроконтроллера?
если в приведенной схеме частота ddr3 400МГц, то частота микроконтроллера 800МГц?

2) операции чтения и записи из ddr памяти могут чередоваться как угодно или должна быть какая-то система?(например определенное колличество последовательных операций записи, а потом чтения)

3) не понимаю принцип двойной скорости передачи(два раза за период clock) т.е. по переднему фронту выдается 16бит данных по адресу условно addr, а по заднему фронту addr+1 ? не правильно?

4) регенерация заряда в ячейках памяти происходит целиком внутри микросхемы т.е. не нужно подавать каких-то внешних сигналов для этого? и процесс регенерации как-то нужно учитывать при подаче команд микросхеме?

5) обьясните простым языком зачем нужны выводы DQS1,DQSN1,DQS0,DQSN0,DQM1,DQM0 , что по ним передается, для чего они и как они должны быть синхронизированы с сигналами на других выводах.

6) предположим абсолютно все проводники между микроконтроллером и ddr не создают содержки, правильно ли это? т.е. при трассировке платы не нужно что б какие-то сигналы запаздывали? нужно что б задержка по всем проводникам была абсолютно одинакова?
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 10 2017, 07:38
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(_alex__ @ Sep 9 2017, 23:40) *


Для начала почитайте:

http://kit-e.ru/articles/circuit/2010_9_135.php

http://compress.ru/article.aspx?id=18761

https://electronix.ru/forum/index.php?act=a...st&id=93850

Плюс доки по вашему камню, который Кортекс А8
И почему бы не воспользоваться доками на референсный дизайн? Они всегда есть у таких камней.

ЗЫ. Тема уже далеко не для начинающих..

Цитата(_alex__ @ Sep 9 2017, 23:40) *
должна ли частота clock микросхемы ddr3 быть кратна частоте микроконтроллера?
если в приведенной схеме частота ddr3 400МГц, то частота микроконтроллера 800МГц?


Возможно но нежелательно.

Цитата(_alex__ @ Sep 9 2017, 23:40) *
операции чтения и записи из ddr памяти могут чередоваться как угодно или должна быть какая-то система?(например определенное колличество последовательных операций записи, а потом чтения)


Как хотите, так и будет, но лучше последовательно, тогда контроллер активизирует Burst mode и скорость в разы выше.

Цитата(_alex__ @ Sep 9 2017, 23:40) *
регенерация заряда в ячейках памяти происходит целиком внутри микросхемы т.е. не нужно подавать каких-то внешних сигналов для этого? и процесс регенерации как-то нужно учитывать при подаче команд микросхеме?


Можете сами регенерировать, но лучше Self refresh.

Сообщение отредактировал mantech - Sep 10 2017, 07:37
Go to the top of the page
 
+Quote Post
dimka76
сообщение Sep 10 2017, 18:24
Сообщение #3


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(mantech @ Sep 10 2017, 10:38) *
Можете сами регенерировать, но лучше Self refresh.


Здравствуйте.
Также имеются ряд вопросов.
1. Как узнать, что микросхема находится в состоянии Self refresh?
2. Пока идет refresh ячейки для записи получаются не доступными. А если у меня имеются
данные для записи, что мне с ними делать ? А если на момент завершения refresh
мои данные окажутся просроченными ?


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 10 2017, 19:54
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(dimka76 @ Sep 10 2017, 21:24) *
1. Как узнать, что микросхема находится в состоянии Self refresh?


Такие тонкости уже подзабыл, но в большинстве встроенных контроллеров, это делается автоматически в т.ч. в режимах пониж. потребления, т.е. программисту достаточно просто правильно настроить контроллер.
Go to the top of the page
 
+Quote Post
gerber
сообщение Sep 10 2017, 20:50
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(dimka76 @ Sep 10 2017, 21:24) *
Также имеются ряд вопросов.
1. Как узнать, что микросхема находится в состоянии Self refresh?

Зачем вам это знать? Это внутренние дела микросхемы дин. памяти.
Цитата(dimka76 @ Sep 10 2017, 21:24) *
2. Пока идет refresh ячейки для записи получаются не доступными. А если у меня имеются
данные для записи, что мне с ними делать ? А если на момент завершения refresh
мои данные окажутся просроченными ?

Нет, refresh - это периодическое чтение (да, именно чтение, а не запись, что кажется нелогичным) каждой страницы, а по сути просто периодическая активация одного транзистора (gate) на каждой странице, подпитывающего емкостные ячейки памяти. Этот процесс никак не мешает процессам чтения и записи в память.
А надеяться, что дин. память будет равномерно и четко писать данные не стоит, т. к. при переходе в другую страницу перед операциями чтения-записи выполняется её активация (precharge), что занимает какое-то время. Поэтому при работе с ней нужно обеспечить буферизацию (кэширование), чтобы не потерять данные.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 10 2017, 21:11
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(gerber @ Sep 10 2017, 23:50) *
А надеяться, что дин. память будет равномерно и четко писать данные не стоит,


Если память задействуется под видеобуфер, то это уже и есть регенерация.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 11 2017, 18:28
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(mantech @ Sep 11 2017, 02:54) *
Такие тонкости уже подзабыл, но в большинстве встроенных контроллеров, это делается автоматически в т.ч. в режимах пониж. потребления, т.е. программисту достаточно просто правильно настроить контроллер.

С DDR я не работал, но для МК с SDRAM автоматически это не делается ни в одном контроллере SDRAM, с которыми я работал.
В них во всех это надо сделать вручную (программно), подав спец. последовательность команд через контроллер SDRAM (или ногодрыгом).
"Self refresh" полезен тем, что содержимое SDRAM сохраняется неопределённо долго при отсутствии активности со стороны контроллера SDRAM (например во сне МК).

Цитата(mantech @ Sep 11 2017, 04:11) *
Если память задействуется под видеобуфер, то это уже и есть регенерация.

Если только видеобуфер занимает весь объём памяти. В противном случае (что чаще всего), контроллер SDRAM (и думаю что и DDR) периодически выполняет циклы регенерации, вкрапляя их в штатный обмен по таймеру регенерации.

Цитата(gerber @ Sep 11 2017, 03:50) *
Зачем вам это знать? Это внутренние дела микросхемы дин. памяти.

Это не "внутренние дела". "Self refresh" можно активировать только принудительно, подачей спец. последовательности команд. И находясь в этом режиме, память не может осуществлять операции чтения/записи по интерфейсу. Она при этом вообще не реагирует ни на какие сигналы кроме сигнала CKE.

Цитата(gerber @ Sep 11 2017, 03:50) *
Этот процесс никак не мешает процессам чтения и записи в память.

Вообще-то немного мешает. Контроллер SDRAM должен периодически регенерировать те строки, которые не были регенерированы штатными операциями чтения/записи за период регенерации (либо вообще все строки). И это занимает некоторое время, приостанавливая выполнение штатных операций чтения/записи по интерфейсу.
Если все строки данной памяти задействованы например под видеобуфер и периодически, не реже чем 1 раз за период регенерации, считываются, то автоматическую регенерацию контроллером SDRAM тогда можно отключить. И затрат времени не будет.
Go to the top of the page
 
+Quote Post
dimka76
сообщение Sep 11 2017, 18:58
Сообщение #8


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(jcxz @ Sep 11 2017, 21:28) *
С DDR я не работал, но для МК с SDRAM автоматически это не делается ни в одном контроллере SDRAM, с которыми я работал.
...............................


Спасибо большое !
Очень хорошо объяснили !


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post

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

 


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


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