Перейти к содержанию
    

Трассировка SDRAM нужна консультация

МИНИМАЛЬНОЙ РАБОЧЕЙ КОНФИГУРАЦИИ В ТЕПЛИЧНЫХ УСЛОВИЯХ.

Я бы так не сказал. Он пишет что критично и что не критично. "Звон" по линиям связи это тоже критично. Но не стоит забывать, что рассчитав таким вот образом импеданс, чтобы он был в реальности, придется и печатные платы делать с контролем импеданса. Иначе все эти моделирования смысла не имеют.

Во-первых: контроль импеданса проводника заказать не проблема и получить его с точностью не хуже +-7 Ом.

Во-вторых речь шла об импедансе системы распределения питания, а это немного другое. Этот импеданс складывается из распределенного ESR пары питающих слоев и сосредоточенных ESR подключенных к ним конденсаторов.

В-третьих разговор идет не о "критично - не критично", а о том, что при разработке надо СЧИТАТЬ САМОМУ, а не надеяться, что дядя посчитал правильно. Дядя не будет нести ответственность за проваленный проект.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

МИНИМАЛЬНОЙ РАБОЧЕЙ КОНФИГУРАЦИИ В ТЕПЛИЧНЫХ УСЛОВИЯХ.

Я бы так не сказал. Он пишет что критично и что не критично. "Звон" по линиям связи это тоже критично. Но не стоит забывать, что рассчитав таким вот образом импеданс, чтобы он был в реальности, придется и печатные платы делать с контролем импеданса. Иначе все эти моделирования смысла не имеют.

Во-первых: контроль импеданса проводника заказать не проблема и получить его с точностью не хуже +-7 Ом.

Во-вторых речь шла об импедансе системы распределения питания, а это немного другое. Этот импеданс складывается из распределенного ESR пары питающих слоев и сосредоточенных ESR подключенных к ним конденсаторов.

В-третьих разговор идет не о "критично - не критично", а о том, что при разработке надо СЧИТАТЬ САМОМУ, а не надеяться, что дядя посчитал правильно. Дядя не будет нести ответственность за проваленный проект.

В принципе можно посчитать как ESR сопротивления конденсаторов, которые висят на питающих выводов каждой из микросхем. Это проще и надежнее, так как проще с индуктивностью внутренних слоев. Это раз. А два, то такие провалы очень хорошо видны осцилографом, и в принципе, даже если есть очень большой ляп, то перепаять конденсаторы не проблема. Ну а три, так ни разу не видел, чтобы дядя давал четкие рекомендации по номиналу и типу конденсаторов. Рискну предположиь, что если таких рекомендаций нет, и написано что любой конденсатор на 100 нан, на каждую пару питание/земля то можно не заморачиваться рассчетами а ставить по конденсатору на каждую пару.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вернёмся к А12.. :)

 

Как я уже говорил ранее сигнал A12 надо серьезно править. Никакие ужимки и прыжки тут не помогут, а рассуждения типа clamp-diode сожрут выбросы и не парься надо считать околонаучным трепом. Диоды эти еще и выгорать умеют, если превышен Absolute Maximum Ratings. На шине A12 весьма серьезный звон, никакие конденсаторы и земляные лепестки не помогут. Звон создают подключенные по ходу шины входы микросхем. Для первой пробы можно в режиме LineSim добавить последовательное согласование на драйвере, если не поможет, попытаться отвязать резисторами от шины входы микросхем - это позволит уменьшить отражения по ходу шины.

 

Итак поэкспериментровал я с последовательными сопротивлениями.

Поставил после U2 (R1) и перед флэшкой (R2).. Флешке-то (U18) 133 mhz не нужно =)

HyperLynx рассчитал R1=51 R2=47 .. многова-то для R1 в итоге rise & fall time явно неприемлимы

post-16404-1165334776_thumb.jpg

Поигрался с R1 и R2 стала, конечно, линия не соглосована

post-16404-1165334785_thumb.jpg

но характеристики получше

 

 

По горизонтали ограничение ставится согласно диаграмме работы девайса. Используются времена Tsetup, Thold. Отсчет идет относительно фронта тактового сигнала.

А поподробнее можно... ?

 

в Datasheet к Micron' у сказано

Address hold time tAH min 0.8 ns

Address setup time tAS min 1.5 ns

 

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

(Это через сопротивление в 51 ом)

post-16404-1165337989_thumb.jpg

 

В даташите

CLK high-level width tCH min 2.5 ns

CLK low-level width tCL min 2.5

Может сделать трассу для него пошире? как его можно улучшить

 

и если переразводить то как лучше?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В даташите

CLK high-level width tCH min 2.5 ns

CLK low-level width tCL min 2.5

Может сделать трассу для него пошире? как его можно улучшить

У вас примерно столько и получается. (ну почти).

Вы, вообще, считали волновое сопротивление шин? Или что вы подразумеваете под "трассой?

и если переразводить то как лучше?

Меня наверное опять будут ругать, но посмотрите на материнках. Поищите старые, где PC-100 находится, сдуйте с них все микросхемы, и просто посмотрите.

Общие правила, это без резких изгибов, плавно, чтобы все линии были примерно одинаковой длинны итд. У меня была всего одна СДРАМина, и растояние до нее было "в плотную". Вам я могу посоветовать разводить так, чтобы линии были примерно одинакогой длинны. Чтобы ширина линий была не от фонаря (посчитайте волновое сопротивление). В общем, посмотрите на видеокарточке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

HL обычно перестраховывается с согласованием и дает слишком большие значения. Я беру значения ряда Е6 в меньшую сторону, а дальше настройка при моделировании. Здесь важен баланс скорость/выброс, т.е. больше скорость фронта - больше выброс.

Нужны эти времена:

Address hold time tAH min 0.8 ns

Address setup time tAS min 1.5 ns

Теперь о маске "глаза". Для простоты понимания приведу для 100 МГц, т.е. период 10нс. Клоковый сигнал имеет фронт на 50% диаграммы (в предположении, что клоки выровнены и скважность =2, а как же иначе?). Считаем 0,8нс - это 8%, 1,5нс - это 15%. Итак левая граница горизонтального участка "глаза" - 35%, правая 58%. Клюв примерно еще +- 5-10% в соотв. сторону, т.е. 30% и 63%. Так мы получили внутреннюю область запрета.

Теперь о топологии. Наблюдается большая задержка по плате, хотя согласование хорошее, можно даже попробовать уменьшить резистор до 33 Ом. В целом надо уменьшать длину пути. Как вариант можно предложить организовать несколько выровненных веток по 2 - 3 кристалла на ветке. Можно попробовать включить как по очереди, так и симметрично разветвить около пары кристаллов. Получится поддерево. Для однонаправленных шин все будет путем, для двунаправленных надо будет искать другое решение.

Итак можно рассмотреть 2 варианта топологии. Оба прилагаются. Поз обозначения в соотв. с Вашей топологией, времена по цепям условные, номиналы резисторов тоже.

Allegro.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь о маске "глаза". Для простоты понимания приведу для 100 МГц, т.е. период 10нс. Клоковый сигнал имеет фронт на 50% диаграммы (в предположении, что клоки выровнены и скважность =2, а как же иначе?). Считаем 0,8нс - это 8%, 1,5нс - это 15%. Итак левая граница горизонтального участка "глаза" - 35%, правая 58%. Клюв примерно еще +- 5-10% в соотв. сторону, т.е. 30% и 63%. Так мы получили внутреннюю область запрета.

 

Ээээ, можно глупый вопрос? как ставятся внешние области запрета? И почему "Клоковый сигнал имеет фронт на 50% диаграммы"?

Изменено пользователем RandI

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ээээ, можно глупый вопрос? как ставятся внешние области запрета? И почему "Клоковый сигнал имеет фронт на 50% диаграммы"?

По идеологии собственно метода, EYE диаграмма выстраивается от тактовой частоты, задаваемой в параметрах моделирования. Вся развертка диаграммы - 100% периода тактовой частоты. Последовательность битов накладывается побитно в окно равное периоду тактовой частоты. В синхронных системах скважность тактов должна быть =2, т.е. меандр - это аксиома и основное требование к таким системам. Поэтому фронт тактов проходит на 50% диаграммы.

Расстановка внешних областей запрета обсуждалась выше, но можно повторить: это Absolute Maximum Ratings для наиболее чувствительного кристалла в шине. Это значения предельные. Уходить в рабочий диапазон можно, а за пределы Absolute Maximum - нет. Думаю, понятно почему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ээээ, можно глупый вопрос? как ставятся внешние области запрета? И почему "Клоковый сигнал имеет фронт на 50% диаграммы"?

По идеологии собственно метода, EYE диаграмма выстраивается от тактовой частоты, задаваемой в параметрах моделирования. Вся развертка диаграммы - 100% периода тактовой частоты. Последовательность битов накладывается побитно в окно равное периоду тактовой частоты. В синхронных системах скважность тактов должна быть =2, т.е. меандр - это аксиома и основное требование к таким системам. Поэтому фронт тактов проходит на 50% диаграммы.

Расстановка внешних областей запрета обсуждалась выше, но можно повторить: это Absolute Maximum Ratings для наиболее чувствительного кристалла в шине. Это значения предельные. Уходить в рабочий диапазон можно, а за пределы Absolute Maximum - нет. Думаю, понятно почему.

 

Понятно, спасибо, а вообще есть какие нибудь доки по построению глазковых диаграмм?

Изменено пользователем RandI

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде всё началось получатся после добавления последовательных сопротивлений пока не дошёл до чтения данных из DRAM..

 

post-16404-1165414203_thumb.jpg

 

Как я понял здесь надо учитывать время задержки распространения клока, время на выборку (5.4 ns для CL=3) время на доставку до чипа, и setup_time (которое для EP9315 равно 2ns).

 

Правильноли я рассчитываю времена задержек?

А то получается, что

t_clk_delay + t_AC + t_data_delay + t_DAs = 2.05 + 5.4 + 1.25 + 2 = 10.7 ns :( Даже в 100 mhz не укладывается :(

 

мне бы в 100 мгц запихнуть бы

 

Вообще в какой момент определяется переход (rising, falling edge) CLKа из одного уровня в другой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То RandI

Какие-то доки есть в системах моделирования. Специально я не искал. Итак все понятно было. Надо просто внимательно посмотреть и поиграться настройками, чтобы увидеть закономерность.

 

To sff

Расчет не верный. Время доставки такта до каждого чипа схемы от буфера тактов должно быть равным с высокой точностью, т.е. в любом случае по тактам получается елка, причем разветвлять надо на спец разветвителях, имеющих равные нормированные задержки по каналам. Можно посмотреть у IDT. Называются такие девайсы fanout. Исходя из этого утверждения, принимаем время прихода тактов к каждой схеме одинаковое, т.е. фронт ко всем поступает одновременно.

Выборка кристалла в синхронных системах - процесс самостоятельный и выполняется в отдельном такте, поэтому важно учитывать только Tsetup и Thold для конкретных сигналов. Причем для данных, адреса и управления времена могут отличаться.

100МГц - частота тактов, а все операции в синхронных системах расчитываются в количествах тактов.

Поэтому область стабильного сигнала расчитывается как [Tclk-Tsetup:Tclk-Thold], где Tclk - период тактового сигнала.

fall clk - 0%, 100%

rise clk - 50%

В цикле чтения, адрес защелкивается в одном такте, а денные отдаются в другом, стало быть эти процессы надо рассматривать отдельно, т.е. отдельно проверять захват адреса, отдельно взятие данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Расчет не верный. Время доставки такта до каждого чипа схемы от буфера тактов должно быть равным с высокой точностью..

У меня нет буфера тактов. Есть один сигнал SDCLK с MCU через резистор его раздвоил, на одной ветке висят 2 DRAM и на второй 2 DRAM.

А вообще как определяется rising edge это момент времени когда напряжение достигло Vih? и где про это прочитать можно

 

Выборка кристалла в синхронных системах - процесс самостоятельный и выполняется в отдельном такте, поэтому важно учитывать только Tsetup и Thold для конкретных сигналов. Причем для данных, адреса и управления времена могут отличаться.

100МГц - частота тактов, а все операции в синхронных системах расчитываются в количествах тактов.

Поэтому область стабильного сигнала расчитывается как [Tclk-Tsetup:Tclk-Thold], где Tclk - период тактового сигнала.

fall clk - 0%, 100%

rise clk - 50%

Видно я что-то недопонимаю..

Меня просто смутила одна вещь когда я смотрел Tsetup для MCU.

Там приведена диаграмма чтнения из DRAM. Ну я открыл для сравнения доку на DRAM и вот что смутило.

Допустим у нас CL = 2. (как на рисунках)

Подается комманда на чтение в такте T2, (там адреса и тд), на T3 производится выбока данных с задержкой, и эта выборка идёт T_ac (как показано на диаграмме для micron) после этой задержки DRAM выставляет необходимые данные и уже на по rising edge T4 контроллер смотрит что там выставлено. Так?

Эту задержку T_ac надо учитывать в "глазе" для данных? Ведь T_ac > T_clk / 2

 

В цикле чтения, адрес защелкивается в одном такте, а денные отдаются в другом, стало быть эти процессы надо рассматривать отдельно, т.е. отдельно проверять захват адреса, отдельно взятие данных.

Да, я так и делаю.. всё остальное проверил кроме чтения данных с DRAM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня нет буфера тактов. Есть один сигнал SDCLK с MCU через резистор его раздвоил, на одной ветке висят 2 DRAM и на второй 2 DRAM.

А вообще как определяется rising edge это момент времени когда напряжение достигло Vih? и где про это прочитать можно

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

Время rising edge, также как и falling edge определяется как время изменения уровня сигнала от 10 до 90% от номинала, т.е для 3,3В можно принять 0,3 - 3,0В.

Видно я что-то недопонимаю..

Меня просто смутила одна вещь когда я смотрел Tsetup для MCU.

Там приведена диаграмма чтнения из DRAM. Ну я открыл для сравнения доку на DRAM и вот что смутило.

Допустим у нас CL = 2. (как на рисунках)

Подается комманда на чтение в такте T2, (там адреса и тд), на T3 производится выбока данных с задержкой, и эта выборка идёт T_ac (как показано на диаграмме для micron) после этой задержки DRAM выставляет необходимые данные и уже на по rising edge T4 контроллер смотрит что там выставлено. Так?

Эту задержку T_ac надо учитывать в "глазе" для данных? Ведь T_ac > T_clk / 2

Нас не интересует задержка внутри кристаллов. Нам важно доставить сигнал в нужное место к нужному моменту времени (как правило, не позже) и, по возможности, без серьезных искажений. Поэтому важно только взаимоотношения тактового сигнала в пределах одного периода и соответствующего информационного сигнала. Все остальное определяется протоколами взаимодействия кристаллов. Из этого следует, что для трассировки нам не важно, какой это такт Т1, Т2 или др., а важно когда должен переключиться информационный сигнал относительно тактового сигнала и рассматривать нужно только соотв. времена, т.е. для адреса Tdas, Tdah, для управления - Tcks, Tckh, для выходных данных Tos, Toh, входные данные на диаграмме не показаны. Tac теоретически можно учесть только для расчета Tos=Tclk-Tac, т.е. мы снова привяжемся к фронту тактов. Специально для ориентировки на диаграмме приведены линии привязки по тактовым фронтам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Cпасибо, вроде всё ясно.

Я уже вроде подобрал последовательные сопротивления чтобы и микросхемы не убились и по времени всё укладывалось. Буфер клоков решил таки не использовать.

Как сделаю макетик отпишу что получилось =)

Время rising edge, также как и falling edge определяется как время изменения уровня сигнала от 10 до 90% от номинала, т.е для 3,3В можно принять 0,3 - 3,0В.

Я как-то криво выразился, хотел спросить а в какой момент переход от 0.3 - 3.0 клока происходит съем данных? или это считать тоже не нужно, на то и дано setup и hold time?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я как-то криво выразился, хотел спросить а в какой момент переход от 0.3 - 3.0 клока происходит съем данных? или это считать тоже не нужно, на то и дано setup и hold time?

 

Это вопрос довольно сложный и индивидуальный для каждого кристалла. Есть общие понятия: Vilow и Vihigh, т.е. входные уровни. Уровень ниже максимального значения Vilow считается "0", выше минимального значения Vihigh считается "1", между ними неопределенность. На самом деле это не важно, главное, чтобы сигнал успокоился на соотв для себя уровне <Vilow или >Vihigh до значения Tclk/2-Tsetup и держался спокойно до Tclk/2+Thold (в HyperLynx настраивается маской). Дальнейшее поведение сигнала в рамках периода Tclk значения не имеет. Ну и чтобы не выходил за Absolute Maximum Ratings (тоже настраивается маской).

Успехов.

P.S. Обязательно промоделируйте клоки и выровняйте с высокой точностью задержки до всех кристаллов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я как-то криво выразился, хотел спросить а в какой момент переход от 0.3 - 3.0 клока происходит съем данных? или это считать тоже не нужно, на то и дано setup и hold time?

 

Это вопрос довольно сложный и индивидуальный для каждого кристалла. Есть общие понятия: Vilow и Vihigh, т.е. входные уровни. Уровень ниже максимального значения Vilow считается "0", выше минимального значения Vihigh считается "1", между ними неопределенность. На самом деле это не важно, главное, чтобы сигнал успокоился на соотв для себя уровне <Vilow или >Vihigh до значения Tclk/2-Tsetup и держался спокойно до Tclk/2+Thold (в HyperLynx настраивается маской). Дальнейшее поведение сигнала в рамках периода Tclk значения не имеет. Ну и чтобы не выходил за Absolute Maximum Ratings (тоже настраивается маской).

Успехов.

P.S. Обязательно промоделируйте клоки и выровняйте с высокой точностью задержки до всех кристаллов.

 

Небольшой вопрос. А как в Allegro SigXplorer маску вывести на график??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...