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

Демпферные резисторы в линиях контроллер-SDRAM

Никогда не брался до этого за конструкции с такими частотами, соответственно и не изучал подобных вопросов :).

Использую AT91RM9200 в связке с двумя чипами SDRAM. По идее на линии нужно ставить демпфирующие резисторы для согласования, но в тех двух схемах, что я видел (одна из них - схема от Атмела) таких резисторов нет. Вот я и думаю - нужны ли они?

SDRAM планирую запускать на 80 МГц, контроллер на 160 МГц. Теоретики советуют ставить и около контроллера и около SDRAM резисторы по 15 Ом... Проблема еще в том, что плата будет разводиться двухслойная, на четырехслойную бюджет не тянет :), так что уже будет нарушена рекомендация по волновому сопротивлению линий... Сгладит ли хоть как-то эту проблему использование резисторов?

Второй вопрос: один товарищ советует линию клока сделать раза в полтора длинее остальных линий. Второй товарищ посоветовал сделать более длинными не только линию клока, но и линии управляющих сигналов - RAS, CAS, WE и т.д. Есть ли в этом смысл? С одной стороны, идея в том, что по приходу фронта клока данные уже успеют нормально выставиться на шине (при записи), но при чтении-то клок будет запаздывать... Кто что скажет по этому поводу?

И еще: может быть у кого-то есть пример подобной разводки - был бы очень благодарен :).

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


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

Эти резисторы решают задачу по устранению так называемого 'звона' который появляется от крутого фронта сигнала (импульс) на высоких частотах. Что касается длины проводника, то уровень перекрестных помех и влияние их друг на друга - увеличиваются. Так что тут как 'Бог на душу' придется. Старайтесь вести шины - одноя трассой не создавая 'паутины'.

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


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

Линии данных, клока, и контрольных сигналов должны иметь примерно одинаковую длину. Если длина линий не превышает 7 сантиметров, то можно и не выравнивать (из личного опыта на 100 МГц работает). Резюк согласования ставил только на линию клока возле СДРАМ (33 Ом). Подтяжки на WEn, RASn и т.п., ставил возле СДРАМ чипа (5К6).

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


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

А ширина/промежуток дорожек? Их можно вести по пол-миллиметра?

Хоть микроны. Лишь бы замыкания не было...

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


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

Ведите 0.3, дешевые двухслойки делают с такой точностью. Минимальное расстояние между проводниками соответственно тоже 0.3

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


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

Большое спасибо за ответы по существу :).

Кстати,

из личного опыта на 100 МГц работает

это тоже на двухслойке делалось?

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


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

Нет, это была 4x слойка, но в Вашем случае все будет тоже ОК (старайтесь придерживаться одной длины линий и чтоб было меньше переходных отв). Поставте возле каждой ноги питания СДРАМ - кондеры 0.1 мкф (можно поставить 1 на на 10 мкф ближе к микросхеме) и выполните после разводки заливку земли с одной стороны и питания с другой.

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


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

Использую AT91RM9200 в связке с двумя чипами SDRAM. По идее на линии нужно ставить демпфирующие резисторы для согласования, но в тех двух схемах, что я видел (одна из них - схема от Атмела) таких резисторов нет. Вот я и думаю - нужны ли они?

SDRAM планирую запускать на 80 МГц, контроллер на 160 МГц. Теоретики советуют ставить и около контроллера и около SDRAM резисторы по 15 Ом... Проблема еще в том, что плата будет разводиться двухслойная, на четырехслойную бюджет не тянет :), так что уже будет нарушена рекомендация по волновому сопротивлению линий... Сгладит ли хоть как-то эту проблему использование резисторов?

Второй вопрос: один товарищ советует линию клока сделать раза в полтора длинее остальных линий. Второй товарищ посоветовал сделать более длинными не только линию клока, но и линии управляющих сигналов - RAS, CAS, WE и т.д. Есть ли в этом смысл? С одной стороны, идея в том, что по приходу фронта клока данные уже успеют нормально выставиться на шине (при записи), но при чтении-то клок будет запаздывать... Кто что скажет по этому поводу?

А что за рекомендация по волновому сопротивлению линий для SDRAM? Это же просто LVTTL! Да и 80 МГц - это не частота. У меня было два проекта с SDRAM: в одном стоял SO-DIMM модуль (на котором есть согласующие резисторы), в другом просто микросхемы SDRAM без каких-либо резисторов. В обоих случаях частота была 100 МГц, но на четырехслойке. Так что наличие резисторов вовсе не является необходимым. С другой стороны если хотите подстраховаться, то почему бы не поставить в схему на все сигналы маленькие резисторные сборки, которые немного съедят места на плате, но позволят поэкспериментировать с разными номиналами, в т.ч. и 0 Ом.

По поводу длины линий. По-моему нет никакого смысла в удлинении клока, ну улучшите вы время setup, а время clock-to-out увеличится, зачем это надо? Если же делать все "по науке", тогда надо в первую очередь просмотреть времянку контроллера и памяти, и только потом думать, надо ли чего задерживать, а если надо, то делать "не в полтора раза длиннее", а учитывать абсолютную длину проводников на плате. Но в данном случае выравнивать длины сигналов вообще не нужно, т.к. на типовом FR4 задержка распространения составляет примерно 50 пс/см. В моем устройстве с модулем SO-DIMM длина линий не выравнивалась вообще, и разница в длине линий шины данных доходила до 5,5 см (!), но это получается менее 300 пс, и все прекрасно работало. Линии управляющих сигналов задерживать вообще неправильно, они же защелкиваются вместе с адресом/данными!

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


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

Кондеры по питанию - это святое :). Линии я тоже, конечно, постараюсь выдержать одной длины и по возможности без переходных. Кстати, а как лучше будет развести общие линии на два чипа SDRAM? Разветвлением или последовательно от одной к другой?

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


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

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

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


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

SDRAM планирую запускать на 80 МГц, контроллер на 160 МГц.

при соотношении !/2 (80/160) все в кэше будет лежать, можно master clock понижать и дальше. DK работает при 1/3.

В отладочной плате EVM9200

 

http://www.ucrouter.ru/hardware.html

 

без резисторов я понижаю до 1/4:

 

http://www.ucrouter.ru/reply.php?page=4&id=341,376

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


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

В том-то и дело, что все в кэш не влезет. Кроме того, что прошивка будет грузиться в SDRAM, необходимо еще будет обрабатывать довольно большьшие массивы данных (до мегабайта, а в дальнейшем, возможно, и больше). Так что желательно было бы не снижать частоту памяти.

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


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

В том-то и дело, что все в кэш не влезет. снижать частоту памяти.

Нельзя так говорить. Прочитайте где нибудь про работу кэша.

Но если кратко - если процессору надо считать что-то из SDRAM он лезет в кэш, если попадания нет, просиходит сначала заполнеие строки кэша. При этом происходит чтение не слова (4 байт) а нескольких слов (строки кэша),

в разных реализациях по разному, 4,16 итд слов.Степень попадания в кэш

делают достаточно большой, обычно более 95%. Программа по сути всегда выполняется их кэша. Для памяти данных это не так очевидно. Но как правило (по моим наблюдениям ) количество переменных в функции

обычно не превышают десяток и адресуются они к последовательным участкам памяти.

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


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

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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