Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защитные резисторы между ПЛИС и ARM, ПЛИС и SDRAM
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
IanPo
Добрый день!

Делаю плату для разработки: ARM7 + Altera EP2C8 + SDRAM

Собственно, вопросы:

1) имеет ли смысл ставить резисторы между выводами, к-е участвуют в обмене данными, чтобы МК и ПЛИС друг друга не пожгли.
Я прикинул - резисторы 220 Ом примерно при токе около 15 мА вполне подойдут. Но ARM работает на частоте 60 МГц, скорость
обмена будет тоже немаленькая - сигналы до 10..20 Мгц, наверно. Не сильно повредит форме сигналов ? Или лучше не ставить ?

2) Аналогичный вопрос про обычный SDRAM: между шиной данных и ПЛИС стоит ли ставить резисторы и какие ? Обычно вроде никто не ставит.
Kuzmi4
2 IanPo
1) имеет, но не изза "пожгут" а для согласования линии. Номинал как раз подбирается чтоб линия была согласованная (или вы всё же боитесь что прогеры настолько дубовые что всё смогуД??).
2) То же самое и для SDRAM.

Ключевые слова: impedance, Hyperlynx, etc sm.gif
IanPo
Kuzmi4
Спасибо за ответ.
Я довольно много плат видел, там резисторы не ставят вообще.
Хотя можно ведь на АРМ какой-нибудь пин сделать "1", а соединенный с ним пин ПЛИС "0", оба выходы. Кому-то станет плохо.

Если все линии в пределах небольшой платы, то стоит ли согласовывать сопротивления ?
Я имею в виду не резисторы на землю или +Vcc, а продольные, между пинами АРМ и ПЛИС, например.

Погуглил ссылки - не очень понятно. Есть ли более практические, с вычислениями ?
ivanoffer
Цитата(IanPo @ Aug 15 2011, 22:01) *
Kuzmi4
Спасибо за ответ.
Я довольно много плат видел, там резисторы не ставят вообще.
Хотя можно ведь на АРМ какой-нибудь пин сделать "1", а соединенный с ним пин ПЛИС "0", оба выходы. Кому-то станет плохо.

Если все линии в пределах небольшой платы, то стоит ли согласовывать сопротивления ?
Я имею в виду не резисторы на землю или +Vcc, а продольные, между пинами АРМ и ПЛИС, например.

Погуглил ссылки - не очень понятно. Есть ли более практические, с вычислениями ?


Наблюдал со стороны ситуацию как нагружались друг на друга FPGA и CPLD, обе запитаны от 3,3В. Причем FPGA
был "0", а CPLD "1". Как результат сгорела CPLD с почернением корпуса и зеленки ПП под ним. ПЛИС выжила.

Вопрос согласования электрически коротких линий "в пределах небольшой платы" несколько сомнителен. Хотя иногда и сам
ставлю последовательные резисторы по 22-33 Ом в сигнальные линии для снижения звона фронтов, но исключительно в особых
случаях. Иногда и для защиты от дурака - была спасена не одна плата.
vadimuzzz
Цитата(ivanoffer @ Aug 16 2011, 02:54) *
Вопрос согласования электрически коротких линий "в пределах небольшой платы" несколько сомнителен.

почему сомнителен? даже если длина линии пренебрежимо мала, остается входное сопротивление (емкостное) устройства. плюс индуктивность выводов. так что надо на частоты смотреть
uriy
Для SDRAM и DSP резисторы не ставил, только ширина проводника с волновым 50 Ом. Длина линий была около 3 см, частота 133 МГц. memtest в течение суток, 10 плат проходили без проблем.
Kuzmi4
Цитата(ivanoffer @ Aug 15 2011, 22:54) *
Наблюдал со стороны ситуацию как нагружались друг на друга FPGA и CPLD, обе запитаны от 3,3В. Причем FPGA
был "0", а CPLD "1". Как результат сгорела CPLD с почернением корпуса и зеленки ПП под ним. ПЛИС выжила.

Это собственно и есть вариант
Цитата
прогеры настолько дубовые что всё смогуД


2 IanPo
util_pcb_imp_calculator
Только вам всё равно для начала теорию нужно будет подчитать - что то типа Black Magic от Howard Johnson

Так же в подфоруме PCB есть модератор fill - он где то тут выкладывал на русском доку по Hyperlynx (как сделать то-то и то-то). Если не найдёте опять ничего cool.gif сбросте мыло - у меня пак на метров 20 по Hyperlynx был где то в закромах родины laughing.gif
IanPo
Спасибо за ответы, я пришел к выводам:

1) Защитные резисторы 200 Ом применить нельзя (на данных частотах)

2) Если ставить, то резисторы 20-30 Ом для согласования волнового сопротивления. В противном случае возникает отражение сигналов и т.н. "звон" после фронтов/спадов в виде спадающих колебаний (наложенных на сигнал).

3) На коротких 20-50 мм линиях (согласно мнению Micron) согласование можно не делать. И на практике часто не делают.

4) В программе Altium Designer ( в которой схема и плата будут делаться) есть расчет волновых сопротивлений проводников Impedance-Controlled Routing и разводка шин проводниками одинаковой длины Matched Net Lengths. Это я буду использовать.

5) Пакеты типа Hyperlynx для меня сложноваты sad.gif Потом как-нибудь попробую. Но все равно спасибо sm.gif Я еще нашел доки от Micron по теории и практике:
TN-46-14 Hardware Tips for Point-to-Point System Design: Termination, Layout and Routing
TN-46-06 TERMINATION FOR POINTTO-POINT SYSTEMS
maksimp
Входная ёмость микросхемы около 6 пФ. Ещё 4 пФ например будет за счёт печатной платы. Итого 10 пФ на землю. С резистором 220 Ом это даст постоянную времени 2,2 нс, которая примерно может рассматриваться как вносимая дополнительная задержка. При частоте 20 МГц длительность каждого из положительного и отрицательного импульсов по 25 нс (при заполнении 50%). То есть вносимая дополнительная задержка примерно в 10 раз меньше импульса, и не должна заметно сказываться.

То есть резисторы 220 Ом ставить можно (при достаточно коротких печатных проводниках, иначе ёмкость увеличится). И на мой взгляд желательно, так как программисты всё напутать могут запросто.
IanPo
maksimp
Спасибо. Первый пункт пересматриваю: между МК и ПЛИС резисторы 180-220 Ом.
Мне при отладке кода, по крайней мере, на прототипе, будет полезно.
dxp
Цитата(IanPo @ Aug 16 2011, 23:08) *
2) Если ставить, то резисторы 20-30 Ом для согласования волнового сопротивления. В противном случае возникает отражение сигналов и т.н. "звон" после фронтов/спадов в виде спадающих колебаний (наложенных на сигнал).

Не совсем так. На коротких проводниках, которые ещё длинную линию не образуют и волновое тут не особо причём, тем не менее, могут возникать приличные "звоны" из-за того, что нагрузка обычно емкостная, а проводник обладает хоть небольшой, но индуктивностью, и оба эти элемента образуют последовательный контур с какой-то добротностью. Поэтому импульсы с резкими фронтами приводят к ударному возбуждению такого контура со всеми вытекающими "звонами". Самый простой метод борьбы - уменьшить добротность контура - использовать последовательный резистор небольшого номинала (24-51 Ом, мы используем 33 Ома). На пальцах - такой резистор, установленный у источника сигнала, ограничивает ВЧ составляющие тока, что подавляет резонансные явления в контуре. Тот же эффект можно получить, если каким-то иным способом "завалить" фронты сигналов - например, в некоторых ПЛИС имеется возможность устанавливать slew rate для выходных сигналов.

Ставить резисторы на все линии, скорее всего, излишне (достаточно предусмотреть, чтобы выбросы от "звонов" не превышали допустимые значения напряжений для микросхем - в частности, ПЛИС Cyclone III к этому требовательны), а вот на тактовые сигналы (и возможно на сигналы управления) лучше всегда ставить - там "звон" может вызвать ошибки тактирования, а это очень неприятная вещь. Поэтому, например, всегда ставим 33 Ома на сигнал SCLK, которым ПЛИС тактирует SDRAM, а на остальные сигналы не ставим.

Что касается альтиума и моделирования целостности сигналов, то в своё время у меня не получилось подружиться с ним - глючил он тогда конкретно, падал безпричинно. А вот с HyperLinx'ом всё вышло славно. Из альтиума можно плату экспортировать в HL (альтиум поддерживает формат этой программы), далее назначить IBIS модели и вуаля. Отлично видно, как влияет резкость фронта на величины "звонов".
torik
Между SDRAM и ПЛИС не ставим теперь никаких резисторов - все работает нормально на частотах даже выше 100 МГц.
Maverick
Цитата(IanPo @ Aug 16 2011, 19:08) *
Спасибо за ответы, я пришел к выводам:

1) Защитные резисторы 200 Ом применить нельзя (на данных частотах)

2) Если ставить, то резисторы 20-30 Ом для согласования волнового сопротивления. В противном случае возникает отражение сигналов и т.н. "звон" после фронтов/спадов в виде спадающих колебаний (наложенных на сигнал).

3) На коротких 20-50 мм линиях (согласно мнению Micron) согласование можно не делать. И на практике часто не делают.

4) В программе Altium Designer ( в которой схема и плата будут делаться) есть расчет волновых сопротивлений проводников Impedance-Controlled Routing и разводка шин проводниками одинаковой длины Matched Net Lengths. Это я буду использовать.

5) Пакеты типа Hyperlynx для меня сложноваты sad.gif Потом как-нибудь попробую. Но все равно спасибо sm.gif Я еще нашел доки от Micron по теории и практике:
TN-46-14 Hardware Tips for Point-to-Point System Design: Termination, Layout and Routing
TN-46-06 TERMINATION FOR POINTTO-POINT SYSTEMS

можно первоисточник по 3 пункту

Маленькое дополнение:
Altera и Xilinx ставят везде в своих платах последовательные резисторы и еще подтяжку к питанию делают в соединении выводов DDR - FPGA (см. вложение).

например схема от Altera
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.