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

 
 
> DDR3 - можно ли оживить?
kons
сообщение Oct 6 2017, 10:51
Сообщение #1


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Имеется плата с DDR3 (проц от TI семейства SITARA, DDR - 2 шт 256Mx16 от Micron, версия на 1866 МГц, реальная удвоенная целевая частота 1600 МГц). Память разведена по последовательной (не T-образной) топологии БЕЗ ТЕРМИНАТОРОВ. Вообще нет, даже на CLK.
Аргументы разработчика - автор прототипа данной платы (другой человек) все так делает, и как-то работает. Конечно, разработчик озадачен и уже делает следующую версию как надо. Но "на пока" очень хочется запустить и эту плату.
Сделал:
- Поставил тайминги в соответствии с даташитом на память.
- Поиграл временами нарастания сигналов (контроллер в проце позволяет). Оптимальный вариант - для CLK максимально короткие,
для адреса/управления - несколько сглаженные.
- Нагрузил CLK (не как положено, а дифференциально одним резистором 75 Ом).
В итоге при оптимальных настройках наблюдается следующее:
- При некоторых тактовых частотах (400 МГц) контроллер DDR вообще завешивает проц. На 700 МГц вроде не завешивает.
- Младший байт старшей микросхемы (по разводке - последняя от проца) читается нечетко.
- Последние 2 32-битных слова каждого 8-словного пакета не читаются в обоих половинках (а может, и не пишутся - хз).
- А в остальном все OK
Вопросы:
- Насколько вообще реально завести DDR3 с такой разводкой?
- Может, кто-то сталкивался с аналогичными глюками?
Заранее благодарен всем ответившим.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
EvilWrecker
сообщение Oct 6 2017, 11:03
Сообщение #2


ядовитый комментатор
******

Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887



Цитата
Аргументы разработчика - автор прототипа данной платы (другой человек) все так делает, и как-то работает.

Расстрелять.
Цитата
Насколько вообще реально завести DDR3 с такой разводкой?

На целевой частоте(и что-либо близкое) не заведете, на медленной тоже не очень вероятно. Имеется в виду стабильная работа с хорошей формой сигнала.
Цитата
А в остальном все OK

Покажите разводку послойно и таблицу с длинами проводников.
Go to the top of the page
 
+Quote Post
kons
сообщение Oct 6 2017, 12:05
Сообщение #3


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Цитата(EvilWrecker @ Oct 6 2017, 15:03) *
Расстрелять.

На целевой частоте(и что-либо близкое) не заведете, на медленной тоже не очень вероятно. Имеется в виду стабильная работа с хорошей формой сигнала.

Покажите разводку послойно и таблицу с длинами проводников.

1.Жалко. А вот насчет автора прототипа у многих руки чешутся...
2.Да хоть как-нить - на пока. И ведь прототип же впрямь работает, причем в серии (!!!). Правда, в нем стоит память DDR3-1600.
3.Сейчас не могу разводку взять, но я ее видел - все линии 35-40 мм от проца до дальней DDR-ки, разработчик их даже выравнивал. Что положено дифференциальной парой разводить, то так и разведено. Т.е. все хорошо, только терминаторов нет...
Go to the top of the page
 
+Quote Post
EvilWrecker
сообщение Oct 6 2017, 13:12
Сообщение #4


ядовитый комментатор
******

Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887



Цитата
Да хоть как-нить - на пока. И ведь прототип же впрямь работает, причем в серии (!!!). Правда, в нем стоит память DDR3-1600.

Очень слабо верится что ддр3 1600 работает на полной скорости при кривой топологии - люди не достигают максимальной скорости при гораздо менее серьезных проездах. Вероятнее всего частота много ниже а контроллер пашет на излете возможностей.
Цитата
Сейчас не могу разводку взять, но я ее видел - все линии 35-40 мм от проца до дальней DDR-ки, разработчик их даже выравнивал. Что положено дифференциальной парой разводить, то так и разведено. Т.е. все хорошо, только терминаторов нет.

На словах оно может быть вполне ничего, но я лично ожидаю увидеть весомый довесок к уже озвученной кривизне laughing.gif.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 6 2017, 13:38
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(kons @ Oct 6 2017, 15:05) *
3.Сейчас не могу разводку взять, но я ее видел - все линии 35-40 мм от проца до дальней DDR-ки, разработчик их даже выравнивал. Что положено дифференциальной парой разводить, то так и разведено. Т.е. все хорошо, только терминаторов нет...

Разводку показывать смысла нет.
В DDR3 контроллерах штатно применяется Dynamic On Die Termination (ODT), внешних резисторов не надо.
Это можно узнать по первой же ссылке в гугле.
Если прототип работает значит вам изготовили плату их плохого материала.
Пробуйте управлять настройками терминаторов на стороне DDR или пробуйте физически менять волновое сопротивление наложением диэлектрика с металлизацией.
Go to the top of the page
 
+Quote Post
EvilWrecker
сообщение Oct 6 2017, 14:10
Сообщение #6


ядовитый комментатор
******

Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887



Цитата
В DDR3 контроллерах штатно применяется Dynamic On Die Termination (ODT), внешних резисторов не надо

biggrin.gif biggrin.gif biggrin.gif Это безусловно победа, да. А позвольте спросить, почему если открыть любой вменяемый дизайн с ддр3(или того хуже планку памяти), они(терминаторы) там есть? И что они терминируют? biggrin.gif Сугубо академический интерес назрел.
Цитата
Если прототип работает значит вам изготовили плату их плохого материала.

Минут 10 думал, но мне ума не хватило понять- какая связь? Взываю к помощи гур biggrin.gif
Цитата
Пробуйте управлять настройками терминаторов на стороне DDR или пробуйте физически менять волновое сопротивление наложением диэлектрика с металлизацией.

Вообще страшное дело) А что это означает?)

ПС.Так а сколько вы развели ддр3 в своих мейкерских девайсах?
Go to the top of the page
 
+Quote Post
kons
сообщение Oct 6 2017, 15:19
Сообщение #7


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Цитата(AlexandrY @ Oct 6 2017, 17:38) *
В DDR3 контроллерах штатно применяется Dynamic On Die Termination (ODT), внешних резисторов не надо.

Может, я чего-то не понял, но ODT - это вроде как только для линий данных, не?
Все рефдизайны и даташиты в один голос твердят о необходимости нагружать линии адреса, управления и CLK. Одно исключение - техасовцы в описании одной из своих маленьких отладочных платок хвалятся, что таки развели без нагрузок. Но там у них DDR3-800 и топология T (по типу DDR2). Еще гипотетическое исключение - разводка единственной 16-битной микросхемы. Для нее последовательного согласования, обеспечиваемого выходными резисторами контроллера, по идее может хватить.
А диэлектрик не покатит, увы - разводка во внутренних слоях, снаружи земли. Но все равно, спасибо за идею на будущее.

Цитата(EvilWrecker @ Oct 6 2017, 17:12) *
На словах оно может быть вполне ничего, но я лично ожидаю увидеть весомый довесок к уже озвученной кривизне laughing.gif.

В понедельник обязательно - заранее благодарен за замечания.
Go to the top of the page
 
+Quote Post
EvilWrecker
сообщение Oct 6 2017, 15:23
Сообщение #8


ядовитый комментатор
******

Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887



Здесь очень хорошо показано зачем нужно ODT и что именно оно терминирует. Конкретно режим работы можно посмотреть у микрона, там вполне четко все расписано laughing.gif



Go to the top of the page
 
+Quote Post
Mikle Klinkovsky
сообщение Oct 6 2017, 21:08
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445



Цитата(kons @ Oct 6 2017, 13:51) *
- Насколько вообще реально завести DDR3 с такой разводкой?

Если только часть данных при чтении пакетами не читается (если писалась так же, без пословного дергания адресами) делайте нормальный клок, возможно сигнал ODT и проверяйте как с ней работаете.

Если уверены, что конфиг в Озушку впихивается правильно, то можно потестить и узнать что происходит поточнее. Если неправильно, попробуйте терминировать на 1/2 питания ресет.

Например, записывайте последовательность пословно/побайно (в каждый байт его номер в последовательности) и считывайте (в два прохода прямо и инверсно). Можно посмотреть откуда считывается, откуда нет. (найдите работает-ли в каких-либо адресах).
Если данные пашут, то проведите такой тест последовательности по разным адресам, узнаете на каких адресах не пашет, сможете навеской эти линии пассивно затерминировать на 1/2 питания, может заработают.

Если нигде данные пахать не будут, то тут сложнее. Можно частоты снижать, тайминги менять.

На истину не претендую. Не было подобного опыта с SDRAM.

PS можно например с резистором ZQ поиграться, поставить чуток отличающиеся побольше и поменьше, кондёры на Vref проверить и попробовать добавить/убрать)
PPS и вообще кондёры по питанию проверить. Если Y5V - выкинуть и поставить нормальные.


--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
Go to the top of the page
 
+Quote Post
kons
сообщение Oct 7 2017, 06:47
Сообщение #10


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

Группа: Свой
Сообщений: 106
Регистрация: 28-09-05
Пользователь №: 9 035



Цитата(Mikle Klinkovsky @ Oct 7 2017, 01:08) *
....

Спасибо - в понедельник сделаю подход к снаряду, попробую что-нить из предложенного.
А то я плотно копался с DRAM последний раз в конце 80-х... Радио-86РК, 565РУ5...ностальгия.
После этого как-то все работало, даже DDR3 - бо разводка была правильной.
Go to the top of the page
 
+Quote Post
EvilWrecker
сообщение Oct 7 2017, 08:41
Сообщение #11


ядовитый комментатор
******

Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887



Цитата
Если неправильно, попробуйте терминировать на 1/2 питания ресет.

Боюсь выдать ядовитый комментарий, но поясните пожалуйста что это значит и зачем нужно? А то мне кажется я не понял идею laughing.gif
Go to the top of the page
 
+Quote Post
Volkov
сообщение Oct 8 2017, 10:52
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 284
Регистрация: 21-01-05
Пользователь №: 2 104



попробуйте ограничить выходной ток драйверов, если есть такая возможность.
Go to the top of the page
 
+Quote Post
Mikle Klinkovsky
сообщение Oct 11 2017, 20:49
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445



Цитата(EvilWrecker @ Oct 7 2017, 11:41) *
Боюсь выдать ядовитый комментарий, но поясните пожалуйста что это значит и зачем нужно? А то мне кажется я не понял идею laughing.gif

Я не помню бюджеты на запись конфига, но мысль простая, сдвигая момент отсчёта - подвигать окно, или убрать звон.
И мне попадались примеры, где ресет тоже затаскивают на терминацию. (он там свой, для озушек, не системный)


--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
Go to the top of the page
 
+Quote Post
EvilWrecker
сообщение Oct 11 2017, 20:58
Сообщение #14


ядовитый комментатор
******

Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887



Так а как терминация ресета должна повлиять на
Цитата
сдвигая момент отсчёта - подвигать окно, или убрать звон

? Какова физика процесса?
Go to the top of the page
 
+Quote Post
Mikle Klinkovsky
сообщение Oct 11 2017, 21:19
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445



С ресетом пожалуй погорячился. sm.gif


--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
Go to the top of the page
 
+Quote Post

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

 


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


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