kons 0 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба Имеется плата с DDR3 (проц от TI семейства SITARA, DDR - 2 шт 256Mx16 от Micron, версия на 1866 МГц, реальная удвоенная целевая частота 1600 МГц). Память разведена по последовательной (не T-образной) топологии БЕЗ ТЕРМИНАТОРОВ. Вообще нет, даже на CLK. Аргументы разработчика - автор прототипа данной платы (другой человек) все так делает, и как-то работает. Конечно, разработчик озадачен и уже делает следующую версию как надо. Но "на пока" очень хочется запустить и эту плату. Сделал: - Поставил тайминги в соответствии с даташитом на память. - Поиграл временами нарастания сигналов (контроллер в проце позволяет). Оптимальный вариант - для CLK максимально короткие, для адреса/управления - несколько сглаженные. - Нагрузил CLK (не как положено, а дифференциально одним резистором 75 Ом). В итоге при оптимальных настройках наблюдается следующее: - При некоторых тактовых частотах (400 МГц) контроллер DDR вообще завешивает проц. На 700 МГц вроде не завешивает. - Младший байт старшей микросхемы (по разводке - последняя от проца) читается нечетко. - Последние 2 32-битных слова каждого 8-словного пакета не читаются в обоих половинках (а может, и не пишутся - хз). - А в остальном все OK Вопросы: - Насколько вообще реально завести DDR3 с такой разводкой? - Может, кто-то сталкивался с аналогичными глюками? Заранее благодарен всем ответившим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvilWrecker 0 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба Аргументы разработчика - автор прототипа данной платы (другой человек) все так делает, и как-то работает. Расстрелять. Насколько вообще реально завести DDR3 с такой разводкой? На целевой частоте(и что-либо близкое) не заведете, на медленной тоже не очень вероятно. Имеется в виду стабильная работа с хорошей формой сигнала. А в остальном все OK Покажите разводку послойно и таблицу с длинами проводников. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kons 0 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба Расстрелять. На целевой частоте(и что-либо близкое) не заведете, на медленной тоже не очень вероятно. Имеется в виду стабильная работа с хорошей формой сигнала. Покажите разводку послойно и таблицу с длинами проводников. 1.Жалко. А вот насчет автора прототипа у многих руки чешутся... 2.Да хоть как-нить - на пока. И ведь прототип же впрямь работает, причем в серии (!!!). Правда, в нем стоит память DDR3-1600. 3.Сейчас не могу разводку взять, но я ее видел - все линии 35-40 мм от проца до дальней DDR-ки, разработчик их даже выравнивал. Что положено дифференциальной парой разводить, то так и разведено. Т.е. все хорошо, только терминаторов нет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvilWrecker 0 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба Да хоть как-нить - на пока. И ведь прототип же впрямь работает, причем в серии (!!!). Правда, в нем стоит память DDR3-1600. Очень слабо верится что ддр3 1600 работает на полной скорости при кривой топологии - люди не достигают максимальной скорости при гораздо менее серьезных проездах. Вероятнее всего частота много ниже а контроллер пашет на излете возможностей. Сейчас не могу разводку взять, но я ее видел - все линии 35-40 мм от проца до дальней DDR-ки, разработчик их даже выравнивал. Что положено дифференциальной парой разводить, то так и разведено. Т.е. все хорошо, только терминаторов нет. На словах оно может быть вполне ничего, но я лично ожидаю увидеть весомый довесок к уже озвученной кривизне :laughing:. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба 3.Сейчас не могу разводку взять, но я ее видел - все линии 35-40 мм от проца до дальней DDR-ки, разработчик их даже выравнивал. Что положено дифференциальной парой разводить, то так и разведено. Т.е. все хорошо, только терминаторов нет... Разводку показывать смысла нет. В DDR3 контроллерах штатно применяется Dynamic On Die Termination (ODT), внешних резисторов не надо. Это можно узнать по первой же ссылке в гугле. Если прототип работает значит вам изготовили плату их плохого материала. Пробуйте управлять настройками терминаторов на стороне DDR или пробуйте физически менять волновое сопротивление наложением диэлектрика с металлизацией. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvilWrecker 0 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба В DDR3 контроллерах штатно применяется Dynamic On Die Termination (ODT), внешних резисторов не надо :biggrin: Это безусловно победа, да. А позвольте спросить, почему если открыть любой вменяемый дизайн с ддр3(или того хуже планку памяти), они(терминаторы) там есть? И что они терминируют? Сугубо академический интерес назрел. Если прототип работает значит вам изготовили плату их плохого материала. Минут 10 думал, но мне ума не хватило понять- какая связь? Взываю к помощи гур Пробуйте управлять настройками терминаторов на стороне DDR или пробуйте физически менять волновое сопротивление наложением диэлектрика с металлизацией. Вообще страшное дело) А что это означает?) ПС.Так а сколько вы развели ддр3 в своих мейкерских девайсах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kons 0 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба В DDR3 контроллерах штатно применяется Dynamic On Die Termination (ODT), внешних резисторов не надо. Может, я чего-то не понял, но ODT - это вроде как только для линий данных, не? Все рефдизайны и даташиты в один голос твердят о необходимости нагружать линии адреса, управления и CLK. Одно исключение - техасовцы в описании одной из своих маленьких отладочных платок хвалятся, что таки развели без нагрузок. Но там у них DDR3-800 и топология T (по типу DDR2). Еще гипотетическое исключение - разводка единственной 16-битной микросхемы. Для нее последовательного согласования, обеспечиваемого выходными резисторами контроллера, по идее может хватить. А диэлектрик не покатит, увы - разводка во внутренних слоях, снаружи земли. Но все равно, спасибо за идею на будущее. На словах оно может быть вполне ничего, но я лично ожидаю увидеть весомый довесок к уже озвученной кривизне :laughing:. В понедельник обязательно - заранее благодарен за замечания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvilWrecker 0 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба Здесь очень хорошо показано зачем нужно ODT и что именно оно терминирует. Конкретно режим работы можно посмотреть у микрона, там вполне четко все расписано :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MikleKlinkovsky 5 6 октября, 2017 Опубликовано 6 октября, 2017 · Жалоба - Насколько вообще реально завести DDR3 с такой разводкой? Если только часть данных при чтении пакетами не читается (если писалась так же, без пословного дергания адресами) делайте нормальный клок, возможно сигнал ODT и проверяйте как с ней работаете. Если уверены, что конфиг в Озушку впихивается правильно, то можно потестить и узнать что происходит поточнее. Если неправильно, попробуйте терминировать на 1/2 питания ресет. Например, записывайте последовательность пословно/побайно (в каждый байт его номер в последовательности) и считывайте (в два прохода прямо и инверсно). Можно посмотреть откуда считывается, откуда нет. (найдите работает-ли в каких-либо адресах). Если данные пашут, то проведите такой тест последовательности по разным адресам, узнаете на каких адресах не пашет, сможете навеской эти линии пассивно затерминировать на 1/2 питания, может заработают. Если нигде данные пахать не будут, то тут сложнее. Можно частоты снижать, тайминги менять. На истину не претендую. Не было подобного опыта с SDRAM. PS можно например с резистором ZQ поиграться, поставить чуток отличающиеся побольше и поменьше, кондёры на Vref проверить и попробовать добавить/убрать) PPS и вообще кондёры по питанию проверить. Если Y5V - выкинуть и поставить нормальные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kons 0 7 октября, 2017 Опубликовано 7 октября, 2017 · Жалоба .... Спасибо - в понедельник сделаю подход к снаряду, попробую что-нить из предложенного. А то я плотно копался с DRAM последний раз в конце 80-х... Радио-86РК, 565РУ5...ностальгия. После этого как-то все работало, даже DDR3 - бо разводка была правильной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvilWrecker 0 7 октября, 2017 Опубликовано 7 октября, 2017 · Жалоба Если неправильно, попробуйте терминировать на 1/2 питания ресет. Боюсь выдать ядовитый комментарий, но поясните пожалуйста что это значит и зачем нужно? А то мне кажется я не понял идею :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Volkov 0 8 октября, 2017 Опубликовано 8 октября, 2017 · Жалоба попробуйте ограничить выходной ток драйверов, если есть такая возможность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MikleKlinkovsky 5 11 октября, 2017 Опубликовано 11 октября, 2017 · Жалоба Боюсь выдать ядовитый комментарий, но поясните пожалуйста что это значит и зачем нужно? А то мне кажется я не понял идею :laughing: Я не помню бюджеты на запись конфига, но мысль простая, сдвигая момент отсчёта - подвигать окно, или убрать звон. И мне попадались примеры, где ресет тоже затаскивают на терминацию. (он там свой, для озушек, не системный) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvilWrecker 0 11 октября, 2017 Опубликовано 11 октября, 2017 · Жалоба Так а как терминация ресета должна повлиять на сдвигая момент отсчёта - подвигать окно, или убрать звон ? Какова физика процесса? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MikleKlinkovsky 5 11 октября, 2017 Опубликовано 11 октября, 2017 · Жалоба С ресетом пожалуй погорячился. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться