Jump to content

    
Sign in to follow this  
kksergey

Согласующие резисторы на SDRAM+SRAM

Recommended Posts

Добрый день, подключаю к STM32H745 память SDRAM IS42S32800J-6BLI и ПЛИС из семейства Cyclone IV, как память SRAM. ПЛИС и SDRAM совместно используют одни и те же линии данных и адреса. Частота SDRAM 166 МГц, фронты где-то 1 нс, SRAM тоже будет 166 МГц или около того, напряжение 3,3В. Микросхемы расположены треугольником, расстояние между ними примерно 3-4 см (между центрами микросхем).

Нужны ли здесь согласующие резисторы и как их лучше расположить? Подсмотрел на StackExchange симуляцию в LTspice, без резисторов он показывает совсем уж страшные сигналы:

0.thumb.PNG.9983f3b03410fdcb9192c30e70a71374.PNG

Вот так считает, если поставить у источника резистор:

1.thumb.PNG.5d96213612b9e9a49a1865d2cf2ac99e.PNG

Характеристики линии посчитал в Satrun PCB Toolkit, проводник 0,1 мм, толщина меди 18 мкм, 6 слоёв, стек резонитовский: препрег 0,125 мм – ядро 0,51 мм – ядро 0,51 мм – препрег 0,125 мм.

Стоит ли верить этим симуляциям? Нужны ли здесь резисторы? Если источником выступает только микроконтроллер, то нужно ставить резистор до точки разветвления линии или два резистора после точки? А как быть с линией данных?

Share this post


Link to post
Share on other sites

Результаты моделирования несколько странные. Непонятно, в каких попугаях задается длина линии передачи, поскольку на картинке №1 задержка фронта сигнала составляет около 1 нс, а если посчитать на калькуляторе D=6.6 пс/мм * 40мм = 264 нс. Однако, учитывая тот факт, что у нас две микросхемы, резисторы неплохо бы поставить после  точки разветвления.

Share this post


Link to post
Share on other sites

Все это моделируется нормально в гиперлинксе, сигрити, CSTpсb.

А в LTspice + Satrun PCB Toolkit много кривоты, эти для начального уровня только, типа упрощенка для обучения.

Share this post


Link to post
Share on other sites
1 час назад, vitzap сказал:

Результаты моделирования несколько странные. Непонятно, в каких попугаях задается длина линии передачи, поскольку на картинке №1 задержка фронта сигнала составляет около 1 нс, а если посчитать на калькуляторе D=6.6 пс/мм * 40мм = 264 нс. Однако, учитывая тот факт, что у нас две микросхемы, резисторы неплохо бы поставить после  точки разветвления.

Длина в аргументах LTRA не имеет размерности, на картинках всё приведено к миллиметрам: 40 мм (значение из головы, длина цепей может оказаться от 40 до 80 мм), ёмкость 0,084 пФ/мм и т.д. А задержки 1 нс я там не вижу, только искажения.

1 час назад, Aner сказал:

Все это моделируется нормально в гиперлинксе, сигрити, CSTpсb.

А в LTspice + Satrun PCB Toolkit много кривоты, эти для начального уровня только, типа упрощенка для обучения.

То есть страшным картинкам не верить? Как по-вашему, здесь вообще есть предмет для моделирования? Всё же SDRAM, 166 МГц, здесь сложно что-то испортить. Однако остаётся вопрос с согласующими резисторами: ставить, не ставить, как ставить. Если с односторонними линиями понятно, можно перестраховаться и завести линию на два резистора и от каждого свою линию до получателя, то как быть с двусторонними линиями данных?

Share this post


Link to post
Share on other sites

Если есть приличный опыт разводки и соответствующее образование то для моделирования предмета нет. Так как у вас не DDR3/4/5 то задержки, времена, выравнивание, фронты итд ... без жестких требований. Но находятся заказчики, которые в своих тз указывают на моделирование, в таких простых проектах. Чаще приходится моделировать питание, целостность, температуру и тп. По поводу согласования все просто, смотрите рекомендации производителя и ап.ноты, смотрите сэмплы.  

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
On 10/15/2020 at 8:25 PM, kksergey said:

Добрый день

Так и не понял, где в этой симуляции заданы ибис-параметры выводов всех микросхем? Если нигде, то что-то "симулировать" несерьёзно.

Вообще, драйверы в микросхемах делаются так чтобы нормально работать на линию 50-100 Ом без внешних резисторов, и иногда даже можно программно выбирать выходное сопротивление.

Share this post


Link to post
Share on other sites

MAX10 и две независимо работающие SDRAM IS42S86400D-6TL. Частота 150 MHz.

Ничего не выравнивал, даже по два ПО на половине сигналов.

Конденсаторов 100нФ по контуру "накидал" просто симметрично и красиво :biggrin:

Работает как часы.

1.thumb.jpg.bedeebfb2cfa8d7ababc45ad89c758b3.jpg

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this