impatt
Oct 22 2007, 04:06
На модулях DIMM, на интерфейсах IDE винчестеров, ещё кое-где, встречаются резистивные сборки.
По каком принципу выбирают, ставить их или нет (например, касательно памяти SDRAM - кто-то их ставит, а в доке на память про них ничего не говорится), и если ставить, то какого номинала ?
Спасибо.
blackfin
Oct 22 2007, 04:12
Цитата(impatt @ Oct 22 2007, 08:06)

...кое-где, встречаются резистивные сборки. По каком принципу выбирают, ставить их или нет...
Вот это почитайте:
High-Speed Board Designs
impatt
Oct 22 2007, 04:39
Цитата(blackfin @ Oct 22 2007, 10:12)

Спасибо, гляну сейчас
WEST128
Oct 25 2007, 15:58
Идея проста : представте сигнальную дорожку в качестве линии передачи и рассматривайте режимы распространения волн в ней. Отсюда следует, что если линия несогласована на стороне приемника, часть сигнала отразится и вернется к передатчику, а если нет согласования еще и со стороны передатчика, то отраженный сигнал будет блуждать между ними по линии передачи, постепенно затухая. Ни к чему хорошему, понятно, это не приведет. Чтобы согласовать линию передачи, на ее конце у приемника ставят резисторы, замкнутые на землю (терминаторы). Сопротивление резисторов выбирается исходя из того, какое сопротивление линии передачи и сопротивление приемника (если оно достаточно низкое, его тоженадо учитывать). Делать выбор, ставить или нет, я думаю, следует по результатам моделирования на целостность сигналов или по результатам практического тестирования (что конечно надежнее, но в случае неудачи макет можно будет выкинуть в мусорку, если потребуется терминация, а вы ее не предусмотрели). Также при практическом изучении сигналов следует учесть влияние емкости пробника осциллографа, лучше всего использовать специальные высокоскоростные активные пробники, у них маленкая емкость (доли пф) и достаточно большое сопротивление, чтобы не влиять на результат измерений.
Джеймс
Oct 25 2007, 17:30
Цитата(impatt @ Oct 22 2007, 08:06)

На модулях DIMM, на интерфейсах IDE винчестеров, ещё кое-где, встречаются резистивные сборки.
По каком принципу выбирают, ставить их или нет (например, касательно памяти SDRAM - кто-то их ставит, а в доке на память про них ничего не говорится), и если ставить, то какого номинала ?
Резисторы для интерфейса IDE (винчестера) совершенно точно указаны в спецификации ATA.
impatt
Oct 26 2007, 02:02
Цитата(WEST128 @ Oct 25 2007, 21:58)

Идея проста :
Да, понял, спасибо. Так-то это понятно, конечно всё... Но вот как посчитать заранее эти резисторы.. Видимо, надо рпосто иметь большие наработки в области проектирования плат на высокие частоты. Умение пользоваться соответствующим софтом (и иметь его у себя).
Спасибо всем ответившим
Mc_off
Oct 26 2007, 07:16
Цитата(impatt @ Oct 26 2007, 06:02)

Да, понял, спасибо. Так-то это понятно, конечно всё... Но вот как посчитать заранее эти резисторы.. Видимо, надо рпосто иметь большие наработки в области проектирования плат на высокие частоты. Умение пользоваться соответствующим софтом (и иметь его у себя).
Спасибо всем ответившим

Я подбирал такие резисторы самостоятельно. У меня сигналы идут на Altera. Так вот ести ставить терминатор 1кОм - его не хватает (наводки с соседних дорожек иногда вызывают ложное срабатывание входного триггера). 680 Ом - почти совсем нет ложных срабатываний. 100 Ом - вообще нет, даже если к исследуемой дорожке припаять антеннку в виде проволочки длиной 5 см. Вот такие испытания я проводил... и остановился на 100 Ом-ах.
Кроме того совсем не надо таких резисторов для сигналов, которые потом будут стробироваться. А вот для тактовых частот или самих стробирующих сигналов - надо.
я делаю следующим образом:
если длина всех дорожек по отдельности не больше 1/8 длины волны - резисторы можно не ставить, иначе - 22...33 Ом последовательно, со стороны источника или процессора (если шина двунаправленная - шина данных).
дорожки для шины должны быть более-менее одинаковые по длине, клок чуть длиннее (делаю "змейкой")
в принципе все работает на частотах до 250 МГц, если выше, думаю, здесь уже надо моделировать, и обычно используются другие уровни сигналов (SSTL, HSTL,... там уже требуется согласование у Altera это расписано, показано)
WEST128
Oct 28 2007, 17:09
Сопротивление резисторов зависит еще и от толщины платы (или слоя диэлектрика, где расположены дорожки). На плате 1.5 мм - сопротивление порядка 130 Ом для FR4 и ширины дорожки 0,25 мм, для 4-хслойной платы при равной толщине диэлектриков и той же ширине дорожки - уже 90. Соотвественно и сопротивление ризисторов следует менять. Сомневаетесь - моделируйте, осталисть еще сомнения - проводите измерения на реальном приборе.
AlexanderX
Oct 29 2007, 11:10
Если Вы действительно хотите разобраться зачем ставят резисторы на высокоскоростных платах, советую почитать "Конструирование высокоскоростных цифровых устройств" Говард Джонсон и Мартин Грэхем есть на русском языке в печатном виде.
В книге в доступной форме объясняются и последовательная (на стороне источника) и параллельная (на стороне приемника) терминация.
Есть очень хорошая программа для такого моделирования - HyperLynx
impatt
Oct 29 2007, 11:20
Цитата(AlexanderX @ Oct 29 2007, 17:10)

Если Вы действительно хотите разобраться зачем ставят резисторы на высокоскоростных платах, советую почитать "Конструирование высокоскоростных цифровых устройств" Говард Джонсон и Мартин Грэхем есть на русском языке в печатном виде.
В книге в доступной форме объясняются и последовательная (на стороне источника) и параллельная (на стороне приемника) терминация.
Есть очень хорошая программа для такого моделирования - HyperLynx
Зачем - я и так знаю, в общем и целом. И тут пояснили, и прочитал альтеровскую доку. Теорию и практику длинных линий тоже вроде знаю

Спросил потому, что как-то затрудняюсь понять, как считать сопротивления для терминирования и в каких случаях этими мерами можно пренебрегать. Тут ведь кроме теории замешано много практики. Потому-то кто-то ставит, кто-то нет, и кто что - вот и хотел узнать.
Но за пояснения и реплику всё равно спасибо
AlexanderX
Oct 29 2007, 11:47
Могу привести пример для SDRAM и FPGA.
Разводка шины данных выполена по верхнему слою печатной платы. Толщина изоляции (основа или препег) между верхним и земляным слоем 5 mil. Толщина дорожки 0.12 мм. Материал изоляции FR4. Для указанных параметров волновое сопротивление дорожки ~ 63 Ом.
У выходного SDRAM драйвера сопротивление ~30 Ом.
Для правильного последовательного согласования необходимо поставить на каждую линию данных резистор 33 Ом. Поскольку шина двунаправленная резистор ставится примерно посредине трассы.
Остальные линии управления памятью являются однонаправленными и идут от FPGA к SDRAM, примерно их можно согласовать с помощью регулировки выходных токов FPGA. Это позволяет проложить однонаправленные трассы по внутренним слоям платы.
Данное решение не претендует на абсолютную корректность, но это вполне рабочая конфигурация неоднократно проверенная на живых платах.
Цитата(AlexanderX @ Oct 29 2007, 15:47)

...Поскольку шина двунаправленная резистор ставится примерно посредине трассы.
Всё, конечно, зависит от конкретной топологии, но при последовательном согласовании двунаправленного сигнала (например, шина данных) необходимо ставить согласующие резисторы как можно ближе к каждому из драйверов сигнала. Т.е., если у вас на шине данных висит процессор, SDRAM, flash, то на каждой линии данных будеи 3 резистора, каждый из которых расположен как можно ближе к соответствующему выводу процессора, SDRAM или flash.
Но, чтобы не гадать, читайте Howard Johnson (http://www.sigcon.com/publications.htm) и пользуйтесь pre- и post-layout signal integrity simulation (Hyperlynx, ICX Explorer Pro). Может для ваших драйверов (с низким выходным током, например 4..8 мА, или slew rate limited) терминаторы вообще не нужны.
-=Vitaly=-
Dec 21 2007, 14:19
Цитата(bav @ Oct 26 2007, 10:12)

я делаю следующим образом:
если длина всех дорожек по отдельности не больше 1/8 длины волны - резисторы можно не ставить, иначе - 22...33 Ом последовательно, со стороны источника или процессора (если шина двунаправленная - шина данных).
дорожки для шины должны быть более-менее одинаковые по длине, клок чуть длиннее (делаю "змейкой")
в принципе все работает на частотах до 250 МГц, если выше, думаю, здесь уже надо моделировать, и обычно используются другие уровни сигналов (SSTL, HSTL,... там уже требуется согласование у Altera это расписано, показано)
Если не секрет зачем клок делать змейкой?.
rezident
Dec 21 2007, 14:40
Цитата(-=Vitaly=- @ Dec 21 2007, 19:19)

Если не секрет зачем клок делать змейкой?.
Видимо чтобы удлинить дорожку и сделать задержку тактового сигнала заведомо бОльшей, чем задержки остальных сигналов.
-=Vitaly=-
Dec 23 2007, 19:36
Цитата(rezident @ Dec 21 2007, 16:40)

Видимо чтобы удлинить дорожку и сделать задержку тактового сигнала заведомо бОльшей, чем задержки остальных сигналов.
Вот это именно мне и непонятно зачем задерживать клок, в рекомендациях как правило говорят обратное. Клок непременно должен быть шустрее всех.
Цитата(-=Vitaly=- @ Dec 24 2007, 01:36)

Вот это именно мне и непонятно зачем задерживать клок, в рекомендациях как правило говорят обратное. Клок непременно должен быть шустрее всех.
Очевидно, речь идет не о завале фронта клока, а о сдвиге его (запаздывании) его относительно сигналов адресов и данных. Чтобы удовлетворить требованиям по tsu.
-=Vitaly=-
Dec 24 2007, 10:13
Цитата(dxp @ Dec 24 2007, 08:19)

Очевидно, речь идет не о завале фронта клока, а о сдвиге его (запаздывании) его относительно сигналов адресов и данных. Чтобы удовлетворить требованиям по tsu.
Для того чтобы удовлетворить tsu клок должен приходить быстрее,чем данные, тогда и tsu и thold удовлетворяются, а в случае заторможенного клока можно на холд нарваться. Поэтому и рекомендют клок пускать в верхнем слое, где скорость распространения повыше, а данные можно и во внутренних слоях. Скорее всего здесь какой-то вырожденный случай
Почитал Говарда Джонсона - не понял один момент: допустим применяем согласование на стороне источника, т.е. последовательно по линиям адреса, данных и управления вблизи проца ставим резисторы порядка 22 Ом (что и видно на схемах включения проца типа S3С2440 Samsung) - у Говарда написано что В ТАКОМ СЛУЧАЕ НЕЛЬЗЯ ПОДКЛЮЧАТЬ ПРИЁМНИКИ К СРЕДИННЫМ УЧАСТКАМ ЛИНИИ ПЕРЕДАЧИ ДАННЫХ т.к. там наблюдается
двухступенчатое изменение сигнала (прямая волна накладывается на отраженную : посмотрите рисунок), однако на тех же схемах на шину понавешено несколько девайсов: две SDRAM, шинники, Flash.????
Ещё момент: в случае SDRAM и проца роли источника и приёмника меняются местами, а резисторы остаются на месте...
Хотелось бы найти пример топологии реальной печатной платы для изучения.
Разбирал сотовый: что-то не видел я там кучки резисторов-терминаторов
В общем запутался: теория с практикой не сочетается...
Ещё момент: если эти терминаторы набузовать на всю системную шину: 32- даты, 17 адреса 5 управления греться всё будиит - и проц и резисторы
Цитата(Yra @ Dec 28 2007, 23:01)

Почитал Говарда Джонсона - не понял один момент: ...
Чес говоря, скоко не видел плат быстродействующих девайсов, стоко ни разу не видел на них терминаторов (т.е. параллельного согласования), везде тока последовательное (33 ОМ) согласование. Мне кажется эти резюки играют роль исключительно демпферов типа того, что "пусть источник и приёмник не согласованы - будет волна, так мы её задушим и дело с концом!". Неопределенность потенциала (колебательность) быстро станет определенностью (после одного - двух мелких колебаний). Хотя прямо сейчас вспомнил, что в обучалке Гиперлинкса есть пример с параллельным согласованием совместно с последовательным. Но это, наверно, для оч больших скоростей.
rv3dll(lex)
Jan 11 2008, 09:08
Цитата(evg123 @ Jan 9 2008, 15:24)

Чес говоря, скоко не видел плат быстродействующих девайсов, стоко ни разу не видел на них терминаторов (т.е. параллельного согласования), везде тока последовательное (33 ОМ) согласование. Мне кажется эти резюки играют роль исключительно демпферов типа того, что "пусть источник и приёмник не согласованы - будет волна, так мы её задушим и дело с концом!". Неопределенность потенциала (колебательность) быстро станет определенностью (после одного - двух мелких колебаний). Хотя прямо сейчас вспомнил, что в обучалке Гиперлинкса есть пример с параллельным согласованием совместно с последовательным. Но это, наверно, для оч больших скоростей.
книжку ещё не читал но от себя могу сказать
резисторы действительно нужны если линия становится длинной - а это 1/8 - 1 /12 дли ны волны утроенной частоты сигнала
мощные fpga имеют в составе ввода вывода блоки настраиваемого импеданса что на вход что на выход - поэтому сопротивления с этой стороны могут быть и не нужны
со стороны других устройств это действительно нагрузка линии
последовательно 33 ома ставят ещё и для того, чтобы избежать токового выброса выходного каскада на ёмкость проводника.
на сколько мне представляется вопрос линии связи подключенной между 2мя устройствами решается однозначно
а вот когда несколько устройств на 1 линии - то только моделирование - думаю резисторы могут и навредить
-=Vitaly=-
Jan 13 2008, 09:03
Цитата(evg123 @ Jan 9 2008, 14:24)

везде тока последовательное (33 ОМ) согласование.
Насколько я помню 33 ома это для 50-омной линий передачи, так как выходное сопротивление многих микросхем около 20 Ом, т.е 33+20=53. Для других условий согласующее сопротивление может быть другим.
Okorok
Jan 13 2008, 17:37
Есть еще такое, более обобщенное мнение:
Если стремиться все делать "правильно", то согласующие резисторы нужны и последовательные (на стороне источника), и параллельные (на стороне приемника).
Поскольку такой "идеальный" подход связан с дополнительными затратами места и энергии, стараются схемы оптимизировать, выбирая "меньшее из двух зол": дополнительные затраты или риски несогласованной линии передачи. Поэтому и встречаются решения с только одним согласующим резистором на линию, а то и вообще без таковых.
Ну, а Искусство создания хорошей схемы как раз и состоит в том, чтобы достичь нужного результата с минимальными затратами.
avesat
Jan 13 2008, 18:06
Цитата(Yra @ Dec 28 2007, 21:01)

Ещё момент: в случае SDRAM и проца роли источника и приёмника меняются местами, а резисторы остаются на месте...
Смотрите прикрепленный файл.
Цитата(Yra @ Dec 28 2007, 21:01)

Хотелось бы найти пример топологии реальной печатной платы для изучения.
xilinx, intel, freescale и т.п. на сайтах есть примеры.
Цитата(Yra @ Dec 28 2007, 21:01)

Разбирал сотовый: что-то не видел я там кучки резисторов-терминаторов
А зачем "куча" обвязки, если сотовый нормально работает с той топологией что есть?
Цитата(Yra @ Dec 28 2007, 21:01)

Ещё момент: если эти терминаторы набузовать на всю системную шину: 32- даты, 17 адреса 5 управления греться всё будиит - и проц и резисторы
Могут, если не посчитать рассеиваемую мощность на том же резисторе.
добавлю ещё чуток.
разработчики микросхем стараются сделать выходные буферы как можно более быстрыми. на практике, если линия связи "короткая" т. е. волновые эффекты ещё не проявляются, а нагрузка небольшая, то от мощных буферов могут быть одни неприятности. резкие фронты сигналов способствуют сильному излучению и наводкам на соседние линии. если много выходов переключаются одновременно, но возникает существенный всплеск на общей шине кристалла, даже, если на земленой ноге как бы всё хорошо. в этот момент могут неправильно работать входные буферы микрухи...
таким образом, небольшие последовательные резисторы на выходах улучшают работу схемы в целом даже если частототы невелики.
обычно ставят резисторы 33..47ом. например CAY16 (http://www.bourns.com/pdfs/CATCAY.pdf)
поскольку CMOS буфер близок к идеальному источнику тока, то базовая формула: dT=dU*C/I. задаются требуемым временем фронта/спада (dT) и прикидывают требуемый ток заряда ёмкости нагрузки © на требуемый перепад dU. далее по закону Ома оценивают величину общего сопротивления. вычитают из нё сопротивление открытого канала транзистора (для буферов ~10 Ом) и собственно всё.
оч. полезно, например в случае CPLD Altera даже если вы работаете на 1кГц. у них оч. "жёсткие и звонкие" буферы.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.