Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пример топологии DDR3
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Страницы: 1, 2, 3, 4
Uree
Несогласованность связки линия-приемник приводит к возникновению в линии отраженного сигнала. Больше несогласованность - больше отражение. Сложение отраженки с сигналом дает овер-андершуты. Это если совсем на пальцах. Реально еще сложнее, но на то и программы нынче существуют, позволяющие это дело оценить. В институтские времена таких не было, целые расчетные задания с телеграфными уравнениями по пол-тетрадки расписывали, что там в линии происходит в каком сечении да на какой нагрузке или без нее. Так что с пониманием да, разбираться надоsm.gif Только если у Вас теории цепей-сигналов в курсе преподавания не было, то разбираться будет тяжело... А если было, то Вы уже это понимать должны.
jks
Если Z нагрузки меньше Z0, то при отражении от нагрузки фаза сигнала (напряжение) меняется на противоположную
и отраженная часть возвращается к источнику и вычитается из напряжения источника.
Если Z нагрузки больше Z0, то при отражении от нагрузки фаза сигнала (напряжение) не меняется
и отраженная часть возвращается к источнику и складывается с напряжением источника.
Таким образом если источник и нагрузка не согласованы с волновым сопротивлением линии происходят многократные отражения.
И сигнал таким образом "бегает" вдоль линии пока не затухнет (достигнет уровня тепловых шумов).

Если один из концов линии согласован, то происходит только одно отражение.

Еще надо учитывать длину линии.

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

Опять же влияют потери в линии.
Чем выше потери в линии тем меньше влияние несогласованной нагрузки. (использование последовательных демпфирующих резисторов).

Ну и самое главное.
Импеданс - величина комплексная Z = R + jX. Нагрузка может содержать ненулевую реактивную составляющую.
Т.е. иметь действительную часть равную волновому, но мнимую часть не равную нулю (нелинейная емкость контакта тот самый случай).
При этом тоже происходит отражение.

Переходное отверстие - тоже неоднородность от которого происходит отражение.
И в каком месте трассы оно расположено, тоже влияет на качество согласования линии.
Если индуктивность переходного отверстия согласована с емкостью пина, то можно получить компенсацию. ( SQRT(Lvia/Cpad) == Z0 )

Нажмите для просмотра прикрепленного файла

Так что есть над чем задуматься.
Uree
Угу, а еще не забываем, что полупроводники никак не могут иметь чисто активный характер нагрузки, реактивность обязательно есть, да еще и весь этот цирк частото-зависимый...
_Макс
Читаю доки, вижу разные волновые сопротивления под которые рекомендуется оптимизировать трассы. И если для single-ended это от 40 до 50 Ом, то для диф. пар даже 75 рекомендуют. (Хотя я свято верил, что там должно быть 100). Но вот незадача, ни в одном даташите на чип DDR3 не нашел упоминания волнового сопротивления под которое оптимизирован драйвер. Эти цифры берутся с потолка, как рекомендация?
_Макс
При выравнивании, какой можно порекомендовать минимальный зазор проводника к самому себе для одинарных и дифференциальных трасс? Об этом почему-то нигде не упоминается sad.gif
vitan
Цитата(_Макс @ Jun 18 2012, 22:19) *
При выравнивании, какой можно порекомендовать минимальный зазор проводника к самому себе для одинарных и дифференциальных трасс? Об этом почему-то нигде не упоминается sad.gif

(2.5...3) от его ширины.
_Макс
Цитата(vitan @ Jun 18 2012, 22:14) *
(2.5...3) от его ширины.

Вы уверены, что зазор проводника к самому себе не может быть меньше чем к другим проводникам? Понимаю, что проводник может наводить сам на себя помехи с задержкой, но ведь при амплитуде змейки 2-3 мм задерка не превысит 20пс, едва ли это можно будет наблюдать на осциллографе и назвать переотражением.
vitan
Цитата(_Макс @ Jun 19 2012, 00:28) *
Вы уверены, что зазор проводника к самому себе не может быть меньше чем к другим проводникам? Понимаю, что проводник может наводить сам на себя помехи с задержкой, но ведь при амплитуде змейки 2-3 мм задерка не превысит 20пс, едва ли это можно будет наблюдать на осциллографе и назвать переотражением.

О других проводниках речи не шло.
Дело не в наведении помех, а в том, что змейка превращается в неплохую катушку индуктивности, если есть много параллельных участков с маленьким расстоянием.
vicnic
Цитата(_Макс @ May 29 2012, 19:56) *
Читаю доки, вижу разные волновые сопротивления под которые рекомендуется оптимизировать трассы. И если для single-ended это от 40 до 50 Ом, то для диф. пар даже 75 рекомендуют. (Хотя я свято верил, что там должно быть 100). Но вот незадача, ни в одном даташите на чип DDR3 не нашел упоминания волнового сопротивления под которое оптимизирован драйвер. Эти цифры берутся с потолка, как рекомендация?


Математически получется, что если одиночное сопротивление проводника в паре около 40 Ом, а пара тесно связанная (расстояние между проводниками прмерно равно ширине проводника), то дифференциальное сопротивление не будет выше 80 Ом.
malkut.ss
Я разводил DDR3 с простым импедансом в 50 Ом - клоки -100 Ом. Такую доку присылал заказчик.
Uree
Да разводить можно как угодно, хоть 20, хоть 60 Ом, причем работать вполне возможно будет в обоих случаях(ну при каких-нибудь шаманских танцах дополнительно). Вопрос в том как сделать правильнее. А правильнее, судя по моделированию, получается 39-43 Ома. Неплохо было бы еще проконтролировать сигналы на живой плате, но это чисто практически очень сложно сделать.
maple
Цитата(_Макс @ Jun 19 2012, 00:28) *
Вы уверены, что зазор проводника к самому себе не может быть меньше чем к другим проводникам? Понимаю, что проводник может наводить сам на себя помехи с задержкой, но ведь при амплитуде змейки 2-3 мм задерка не превысит 20пс, едва ли это можно будет наблюдать на осциллографе и назвать переотражением.

"Черная магия" (высший курс, с.815), говорит, что перекрестная помеха между соседними сегментами не увеличивает, а уменьшает задержку.
_Макс
Узнал, что Altium Designer не учитывает переходные отверстия при расчете блины проводника. Как быть? Есть для трассы мы обычно берем 7пс/мм, то каково это значение для переходного отверстия 0.4/0.2? Можно ли этим пренебречь?
vitan
Цитата(_Макс @ Jun 22 2012, 01:17) *
Узнал, что Altium Designer не учитывает переходные отверстия при расчете блины проводника. Как быть?

Есть один способ... Снести альтиум. Это серьезно.

Очевидно, придется считать вручную, либо писать скрипты, если это вообще возможно. Длина отверстий известна и одинакова. Допуск тоже известен и тоже одинаков.
Uree
Еще можно уитывать кол-во переходных в соответствующих группах и сделать их равным для всех цепей в группе. Правда понятия не имею, можно ли задать такое правило в Альтиуме. В Аллегро можно. Но там и без этого переходные учитываются при расчете длины/задержекsm.gif Правда не во всех лицензиях, но я так понимаю в Росии это никого не напрягаетwink.gif
_Макс
Скорость волны по переходному отверстию такая же как и по трассе?
Uree
Наверное нет, но разницу точно можно не учитывать.
_Макс
Если у меня DDR3 выполнена будет в виде двух чипов по x16, обязательно использовать топологию Fly-by или можно сделать обычным деревом как DDR2 разводили? Кажется так проще. Но куда в таком случае подключать терминацию?
krux
_Макс у DDR3 нет топологии "дерево", почитайте jedec JESD 79-3 и посмотрите ещё вот тут
jks
Цитата(_Макс @ Jul 2 2012, 20:43) *
Если у меня DDR3 выполнена будет в виде двух чипов по x16, обязательно использовать топологию Fly-by или можно сделать обычным деревом как DDR2 разводили? Кажется так проще. Но куда в таком случае подключать терминацию?


А терминацию в точку ветвления дерева как у DDR2.
_Макс
Цитата(krux @ Jul 2 2012, 22:44) *
_Макс у DDR3 нет топологии "дерево", почитайте jedec JESD 79-3 и посмотрите ещё вот тут

В JESD 79-3E "fly-by" упоминается три раза и вскольз.

Цитата(jks @ Jul 3 2012, 13:15) *
А терминацию в точку ветвления дерева как у DDR2.

Я DDR2 вообще без терминации делал, работало. Такого, чтоб в точку ветвления дерева ставить - не видел никогда.

Один говорит можно, другой - нельзя wacko.gif
jks
Цитата(_Макс @ Jul 3 2012, 13:33) *
Я DDR2 вообще без терминации делал, работало. Такого, чтоб в точку ветвления дерева ставить - не видел никогда.

Один говорит можно, другой - нельзя wacko.gif


Если используются модули памяти, то терминация на материнке и первая точка разветвления там же.
Если используются чипы памяти то терминация расположена либо в точке ветвления дерева либо из точки ветвления идет трасса на терминаторы.

Для топологии fly-by приемники (нагрузки) подключены параллельно линии с интервалом чтобы не создавать большую локальную неоднородность из-за емкости пина и терминатор ставится в самом конце линии после самого последнего приемника.

Если трассы короткие то для двух чипов может и не надо терминацию ставить.
На DDR2 работало без терминаторов до 400МГц. На более высоких частотах не знаю.
SimpleSoft
Добрый день.

Ставлю TI AM3359 и один чип DDR3 x16. AM3359 имеет 16 битную шину и в документации написано в секции 5.5.2.3.3.9 DDR3 Signal Termination:
Цитата
Signal terminations are required for the CK and ADDR_CTRL net class signals. On-device terminations
(ODTs) are required on the DQS[x] and DQ[x] net class signals. Detailed termination specifications are
covered in the routing rules in the following sections.

Подключение из даташита:


Память DDR3 имеет ODT только на данные (по даташиту). Память ставлю рядом с процессором (трассы минимальной длинны).

Засомневался в необходимости подключения терминальных резисторов на ADDR_CTRL и CK. Частоты вроде маленькие - 303 МГц.
Подскажите, пожалуйста, необходимы ли резисторы.
krux
терминация DDR3 - это не только согласование сигнальных цепей и устранение "звона".
дело в том, что если операции чтения/записи не производятся, то контроллер как правило не ведёт шину (в том числе и для экономии энергии) это раз.
в DDR2/3 - применяется сигнальный стандарт SSTL. при его реализации в микросхемах устанавливаются компараторы на каждый вывод, идёт сравнение с Vref, это два.
Так что если в Z-состоянии шина не будет затянута на VTT, то когда контроллер будет включать или выключать драйверы на передачу - компараторы смогут легко обеспечить достаточно проблем, даже на низких частотах.
Ставьте, не ленитесь.
Даже если всё на первый взгляд "заработает" и без них, то на температуре поведение будет непредсказуемое.
SimpleSoft
Спасибо!
_Макс
Снова про выравнивание длин с учетом via. Почитал эти статьи и начал сомниваться, что есть смысл это делать:
http://blogs.mentor.com/hyperblog/blog/201...n-their-length/
http://www.eetimes.com/design/signal-proce...n-semiconductor
Что скажете? Может не зря в Альтиуме не учитываются via.
Uree
Все зависит от требований к длине, толщины платы и кол-ва переходных на пути.

Но если кому-то хочется расширить возможности, то можно задать другую скорость распространения сигнала по ВИА:

Нажмите для просмотра прикрепленного файла
_Макс
Цитата(Uree @ Jul 24 2012, 22:40) *
Все зависит от требований к длине, толщины платы и кол-ва переходных на пути.

Но если кому-то хочется расширить возможности, то можно задать другую скорость распространения сигнала по ВИА:

Нажмите для просмотра прикрепленного файла

Чето уж очень высокая скорость на скриншоте wacko.gif Где вы нашли эту менюшку? И ведь это работает только со встроенным моделированием? Оно кажется, значительно уступает HyperLynx.

У меня от нуля до двух переходных, 1мм плата, 533 Мгц.

Просто если читать допуски по длине в ап. нотах по разводке DDR3, там обычно пишут от 0,1 до 0,5мм, то два переходных это 2мм в худшем случае, кажется будто катастрофа sm.gif
Uree
Это менюшка в Аллегро. И работает это не с моделированием, а с выравниванием длин/времен при трассировке. Собственно отмеченная птица включает учет задержек на переходных и задает скорость сигнала в них. Дальше уже зависит с какого на какой слой переходит сигнал.
_Макс
Кто-нибудь разводил DDR3 без учета via?
Uree
И без выравниваний до 100милс тоже разводка есть. А Вам это чем поможет?sm.gif Я просто могу сказать - да, ДДР3 работает при адресах выравненых до 5+мм и данных выравненых до тех же 5+мм(это с учетом Pin Delay). Это в ситуации с дискретной памятью, проц и два 16-ти битных чипа(не планки).
_Макс
Просто тщательно развел DDR3 на SODIMM без учета via. Потом вспомнил за via и еще прочел те статьи, судя по которым, черт поймешь за какую длину эти via принимать. Теперь вот думаю, переделывать или оставить rolleyes.gif
Uree
Я бы оставил.
_Макс
Нормально если отступ заливки от сигнальных линий DDR3 = 0.5mm?
peshkoff
Цитата(_Макс @ Jul 24 2012, 22:38) *
Снова про выравнивание длин с учетом via. Почитал эти статьи и начал сомниваться, что есть смысл это делать:
http://blogs.mentor.com/hyperblog/blog/201...n-their-length/
http://www.eetimes.com/design/signal-proce...n-semiconductor
Что скажете? Может не зря в Альтиуме не учитываются via.


Если данные одного банка находятся в одном слое, то проблема исчезает.
По-моему это несложно сделать.
Если не получится, можно в соседних поставить, будет набег 0.2 мм
Я лично отверстия не учитываю.

Цитата(_Макс @ Jul 25 2012, 20:15) *
Нормально если отступ заливки от сигнальных линий DDR3 = 0.5mm?


А почему он может быть не нормальным?
Хоть 0.1
Uree
Хоть - нельзя. Заливка рядом с линиями меняет их импеданс. Насколько сильно зависит как раз от зазора. Так что далеко не все равно, какой она будет. Хотя если не учитывать импеданс, то можно делать как угодно.
peshkoff
Цитата(Uree @ Jul 25 2012, 23:29) *
Хоть - нельзя. Заливка рядом с линиями меняет их импеданс. Насколько сильно зависит как раз от зазора. Так что далеко не все равно, какой она будет. Хотя если не учитывать импеданс, то можно делать как угодно.


Не влияет она так, как полигон снизу. или у Вас есть реальные результаты?
Uree
ТАК - не влияет. Но более слабое влияние есть:
- препрег 0.12мм, трасса 0.127 - ~57 Ом
- то же, но окруженное землей с зазором в те же 0.127мм - 51.5 Ом
В случае меньшего зазора влияние будет еще более сильным. Кривая импеданса выглядит как логарифмическая и при зазорах к соседним полигонам сравнимым с толщиной препрега к плэйну меняется очень круто.

10% разницы существенно или нет? Видимо смотря в каких задачах. В RF-е еще как критично и оттуда есть результаты, когда разница в зазоре до массы на несколько дБ меняла чувствительность тюнера.

В DDR3 у меня таких результатов нет и не будет, потому как никто не даст мне сделать и запустить в производство плату с параметрами, заведомо не соответствующими рекомендованным. Так что увы, тут ничем свои слова не смогу подтвердить. Но влияние массы на расстоянии 0.1мм(как спрашивалось выше) будет и достаточно сильное.
_Макс
Цитата(Uree @ Jul 26 2012, 11:38) *
ТАК - не влияет. Но более слабое влияние есть:
- препрег 0.12мм, трасса 0.127 - ~57 Ом
- то же, но окруженное землей с зазором в те же 0.127мм - 51.5 Ом
В случае меньшего зазора влияние будет еще более сильным. Кривая импеданса выглядит как логарифмическая и при зазорах к соседним полигонам сравнимым с толщиной препрега к плэйну меняется очень круто.

10% разницы существенно или нет? Видимо смотря в каких задачах. В RF-е еще как критично и оттуда есть результаты, когда разница в зазоре до массы на несколько дБ меняла чувствительность тюнера.

В DDR3 у меня таких результатов нет и не будет, потому как никто не даст мне сделать и запустить в производство плату с параметрами, заведомо не соответствующими рекомендованным. Так что увы, тут ничем свои слова не смогу подтвердить. Но влияние массы на расстоянии 0.1мм(как спрашивалось выше) будет и достаточно сильное.

При зазорах в ширину проводника и меньше - да, влияние сильное. При 0.5мм, наличие полигона у меня сыграло на сотые Ома, проверьте, как у вас получется.
Uree
Так оно и есть, на 3х и больших зазорах влияния уже практически нет.
dmitry-tomsk
Цитата(_Макс @ Jul 25 2012, 19:15) *
Нормально если отступ заливки от сигнальных линий DDR3 = 0.5mm?

Заливка меняет волновое, измените в hyperlynx тип слоя на plane и смотрите как меняется волновое. На внутренних слоях зазор должен быть больше.
Uree
Нет разницы, внешний слой или внутренний. Влияет и там и там. Вопрос в зазорах до заливки.
gia1965
Цитата(vicnic @ Jun 19 2012, 10:58) *
Математически получется, что если одиночное сопротивление проводника в паре около 40 Ом, а пара тесно связанная (расстояние между проводниками прмерно равно ширине проводника), то дифференциальное сопротивление не будет выше 80 Ом.

Наоборот. Если они сильно связяны между собой , то диф. сопротивление будет меньше 80 Ом. Если слабо ,то ближе к 80 Ом. Связь зависит также от толщины проводника . Чем толще-ием больше.
Muxamor
Подскажите пожалуйста в каких пределах нужно выравнять шину address/command относительно клока для DDR3?
vicnic
Цитата(gia1965 @ Nov 1 2012, 10:52) *
Наоборот. Если они сильно связяны между собой , то диф. сопротивление будет меньше 80 Ом. Если слабо ,то ближе к 80 Ом. Связь зависит также от толщины проводника . Чем толще-ием больше.

У меня написано "не будет выше". Сильно связаны - маленький зазор, слабо связаны - большой зазор.
FES13
всем доброго времени суток! подскажите пожалуйста нужно ли при разводке ddr3 выравнивать отрезки линий от последней микросхемы памяти до её терминаторов?
что-то мне подсказывает, что это было бы логично, но отсутствие опыта вынуждает поинтересоваться у более опытных.
agregat
Цитата(FES13 @ Feb 11 2014, 17:34) *
всем доброго времени суток! подскажите пожалуйста нужно ли при разводке ddr3 выравнивать отрезки линий от последней микросхемы памяти до её терминаторов?
что-то мне подсказывает, что это было бы логично, но отсутствие опыта вынуждает поинтересоваться у более опытных.


На сайте Jedec есть референс дизайны разводки модулей DDR3, причем довольно много. Можно скачать и подсмотреть.
FES13
Цитата(agregat @ Feb 11 2014, 17:43) *
На сайте Jedec есть референс дизайны разводки модулей DDR3, причем довольно много. Можно скачать и подсмотреть.

да вот лежат у меня несколько RDK, про выравнивание тут особо никто не думал судя по герберам, да и клиренсы между группами не выдерживали, хотя сами же учили в доках что так делать нельзя (это я о TI)
Uree
Не нужно там выравнивать. Только какое-то ограничение на максимальную длину от последнего приемника до терминатора есть, не помню точно какое...
FES13
Цитата(Uree @ Feb 11 2014, 18:34) *
Не нужно там выравнивать. Только какое-то ограничение на максимальную длину от последнего приемника до терминатора есть, не помню точно какое...

500mils ограничение но судя по RDK они и его не соблюдали по некоторым линиям

ps: вопрос снят, JEDEC рулит)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.