|
Резисторы в шинах цифровых сигналов, По какому принципу выбирать ? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 24)
|
Oct 25 2007, 15:58
|

Местный
  
Группа: Свой
Сообщений: 468
Регистрация: 13-10-06
Из: Россия, Томск
Пользователь №: 21 291

|
Идея проста : представте сигнальную дорожку в качестве линии передачи и рассматривайте режимы распространения волн в ней. Отсюда следует, что если линия несогласована на стороне приемника, часть сигнала отразится и вернется к передатчику, а если нет согласования еще и со стороны передатчика, то отраженный сигнал будет блуждать между ними по линии передачи, постепенно затухая. Ни к чему хорошему, понятно, это не приведет. Чтобы согласовать линию передачи, на ее конце у приемника ставят резисторы, замкнутые на землю (терминаторы). Сопротивление резисторов выбирается исходя из того, какое сопротивление линии передачи и сопротивление приемника (если оно достаточно низкое, его тоженадо учитывать). Делать выбор, ставить или нет, я думаю, следует по результатам моделирования на целостность сигналов или по результатам практического тестирования (что конечно надежнее, но в случае неудачи макет можно будет выкинуть в мусорку, если потребуется терминация, а вы ее не предусмотрели). Также при практическом изучении сигналов следует учесть влияние емкости пробника осциллографа, лучше всего использовать специальные высокоскоростные активные пробники, у них маленкая емкость (доли пф) и достаточно большое сопротивление, чтобы не влиять на результат измерений.
|
|
|
|
|
Oct 25 2007, 17:30
|
Местный
  
Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399

|
Цитата(impatt @ Oct 22 2007, 08:06)  На модулях DIMM, на интерфейсах IDE винчестеров, ещё кое-где, встречаются резистивные сборки. По каком принципу выбирают, ставить их или нет (например, касательно памяти SDRAM - кто-то их ставит, а в доке на память про них ничего не говорится), и если ставить, то какого номинала ? Резисторы для интерфейса IDE (винчестера) совершенно точно указаны в спецификации ATA.
|
|
|
|
|
Oct 26 2007, 02:02
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(WEST128 @ Oct 25 2007, 21:58)  Идея проста : Да, понял, спасибо. Так-то это понятно, конечно всё... Но вот как посчитать заранее эти резисторы.. Видимо, надо рпосто иметь большие наработки в области проектирования плат на высокие частоты. Умение пользоваться соответствующим софтом (и иметь его у себя). Спасибо всем ответившим
|
|
|
|
|
Oct 26 2007, 07:16
|
Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 2-01-07
Из: Ростовская область
Пользователь №: 24 044

|
Цитата(impatt @ Oct 26 2007, 06:02)  Да, понял, спасибо. Так-то это понятно, конечно всё... Но вот как посчитать заранее эти резисторы.. Видимо, надо рпосто иметь большие наработки в области проектирования плат на высокие частоты. Умение пользоваться соответствующим софтом (и иметь его у себя). Спасибо всем ответившим  Я подбирал такие резисторы самостоятельно. У меня сигналы идут на Altera. Так вот ести ставить терминатор 1кОм - его не хватает (наводки с соседних дорожек иногда вызывают ложное срабатывание входного триггера). 680 Ом - почти совсем нет ложных срабатываний. 100 Ом - вообще нет, даже если к исследуемой дорожке припаять антеннку в виде проволочки длиной 5 см. Вот такие испытания я проводил... и остановился на 100 Ом-ах. Кроме того совсем не надо таких резисторов для сигналов, которые потом будут стробироваться. А вот для тактовых частот или самих стробирующих сигналов - надо.
|
|
|
|
|
Oct 26 2007, 08:12
|
Знающий
   
Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184

|
я делаю следующим образом:
если длина всех дорожек по отдельности не больше 1/8 длины волны - резисторы можно не ставить, иначе - 22...33 Ом последовательно, со стороны источника или процессора (если шина двунаправленная - шина данных).
дорожки для шины должны быть более-менее одинаковые по длине, клок чуть длиннее (делаю "змейкой")
в принципе все работает на частотах до 250 МГц, если выше, думаю, здесь уже надо моделировать, и обычно используются другие уровни сигналов (SSTL, HSTL,... там уже требуется согласование у Altera это расписано, показано)
|
|
|
|
|
Oct 29 2007, 11:20
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(AlexanderX @ Oct 29 2007, 17:10)  Если Вы действительно хотите разобраться зачем ставят резисторы на высокоскоростных платах, советую почитать "Конструирование высокоскоростных цифровых устройств" Говард Джонсон и Мартин Грэхем есть на русском языке в печатном виде. В книге в доступной форме объясняются и последовательная (на стороне источника) и параллельная (на стороне приемника) терминация. Есть очень хорошая программа для такого моделирования - HyperLynx Зачем - я и так знаю, в общем и целом. И тут пояснили, и прочитал альтеровскую доку. Теорию и практику длинных линий тоже вроде знаю  Спросил потому, что как-то затрудняюсь понять, как считать сопротивления для терминирования и в каких случаях этими мерами можно пренебрегать. Тут ведь кроме теории замешано много практики. Потому-то кто-то ставит, кто-то нет, и кто что - вот и хотел узнать. Но за пояснения и реплику всё равно спасибо
|
|
|
|
|
Nov 2 2007, 09:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 226
Регистрация: 19-06-04
Из: Беларусь
Пользователь №: 65

|
Цитата(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) терминаторы вообще не нужны.
|
|
|
|
|
Dec 21 2007, 14:19
|

Местный
  
Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991

|
Цитата(bav @ Oct 26 2007, 10:12)  я делаю следующим образом:
если длина всех дорожек по отдельности не больше 1/8 длины волны - резисторы можно не ставить, иначе - 22...33 Ом последовательно, со стороны источника или процессора (если шина двунаправленная - шина данных).
дорожки для шины должны быть более-менее одинаковые по длине, клок чуть длиннее (делаю "змейкой")
в принципе все работает на частотах до 250 МГц, если выше, думаю, здесь уже надо моделировать, и обычно используются другие уровни сигналов (SSTL, HSTL,... там уже требуется согласование у Altera это расписано, показано) Если не секрет зачем клок делать змейкой?.
|
|
|
|
|
Jan 9 2008, 12:24
|
Местный
  
Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282

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

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

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

Знающий
   
Группа: Свой
Сообщений: 589
Регистрация: 14-08-05
Из: Украина
Пользователь №: 7 621

|
Цитата(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 управления греться всё будиит - и проц и резисторы Могут, если не посчитать рассеиваемую мощность на том же резисторе.
Прикрепленные файлы
TN4606.pdf ( 277.11 килобайт )
Кол-во скачиваний: 186
--------------------
"Мы будем играть, пока не треснут наши гитары, и все те, кто любит рок - я отдаю вам честь!" AC/DC
|
|
|
|
|
Jan 31 2008, 00:05
|
Частый гость
 
Группа: Свой
Сообщений: 159
Регистрация: 8-10-04
Из: Москва
Пользователь №: 818

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