реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Защитные резисторы между ПЛИС и ARM, ПЛИС и SDRAM, Типа защиты от дурака
IanPo
сообщение Aug 15 2011, 17:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 14-10-10
Пользователь №: 60 152



Добрый день!

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

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

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

2) Аналогичный вопрос про обычный SDRAM: между шиной данных и ПЛИС стоит ли ставить резисторы и какие ? Обычно вроде никто не ставит.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 15 2011, 17:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 IanPo
1) имеет, но не изза "пожгут" а для согласования линии. Номинал как раз подбирается чтоб линия была согласованная (или вы всё же боитесь что прогеры настолько дубовые что всё смогуД??).
2) То же самое и для SDRAM.

Ключевые слова: impedance, Hyperlynx, etc sm.gif
Go to the top of the page
 
+Quote Post
IanPo
сообщение Aug 15 2011, 19:01
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 14-10-10
Пользователь №: 60 152



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

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

Погуглил ссылки - не очень понятно. Есть ли более практические, с вычислениями ?
Go to the top of the page
 
+Quote Post
ivanoffer
сообщение Aug 15 2011, 19:54
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 120
Регистрация: 21-07-11
Пользователь №: 66 348



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

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

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


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

Вопрос согласования электрически коротких линий "в пределах небольшой платы" несколько сомнителен. Хотя иногда и сам
ставлю последовательные резисторы по 22-33 Ом в сигнальные линии для снижения звона фронтов, но исключительно в особых
случаях. Иногда и для защиты от дурака - была спасена не одна плата.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 16 2011, 02:07
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(ivanoffer @ Aug 16 2011, 02:54) *
Вопрос согласования электрически коротких линий "в пределах небольшой платы" несколько сомнителен.

почему сомнителен? даже если длина линии пренебрежимо мала, остается входное сопротивление (емкостное) устройства. плюс индуктивность выводов. так что надо на частоты смотреть
Go to the top of the page
 
+Quote Post
uriy
сообщение Aug 16 2011, 04:55
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Для SDRAM и DSP резисторы не ставил, только ширина проводника с волновым 50 Ом. Длина линий была около 3 см, частота 133 МГц. memtest в течение суток, 10 плат проходили без проблем.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 16 2011, 06:56
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(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
Go to the top of the page
 
+Quote Post
IanPo
сообщение Aug 16 2011, 16:08
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 14-10-10
Пользователь №: 60 152



Спасибо за ответы, я пришел к выводам:

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

Сообщение отредактировал IanPo - Aug 16 2011, 16:08
Go to the top of the page
 
+Quote Post
maksimp
сообщение Aug 16 2011, 17:48
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Входная ёмость микросхемы около 6 пФ. Ещё 4 пФ например будет за счёт печатной платы. Итого 10 пФ на землю. С резистором 220 Ом это даст постоянную времени 2,2 нс, которая примерно может рассматриваться как вносимая дополнительная задержка. При частоте 20 МГц длительность каждого из положительного и отрицательного импульсов по 25 нс (при заполнении 50%). То есть вносимая дополнительная задержка примерно в 10 раз меньше импульса, и не должна заметно сказываться.

То есть резисторы 220 Ом ставить можно (при достаточно коротких печатных проводниках, иначе ёмкость увеличится). И на мой взгляд желательно, так как программисты всё напутать могут запросто.
Go to the top of the page
 
+Quote Post
IanPo
сообщение Aug 16 2011, 18:40
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 14-10-10
Пользователь №: 60 152



maksimp
Спасибо. Первый пункт пересматриваю: между МК и ПЛИС резисторы 180-220 Ом.
Мне при отладке кода, по крайней мере, на прототипе, будет полезно.
Go to the top of the page
 
+Quote Post
dxp
сообщение Aug 17 2011, 02:41
Сообщение #11


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



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

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

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

Что касается альтиума и моделирования целостности сигналов, то в своё время у меня не получилось подружиться с ним - глючил он тогда конкретно, падал безпричинно. А вот с HyperLinx'ом всё вышло славно. Из альтиума можно плату экспортировать в HL (альтиум поддерживает формат этой программы), далее назначить IBIS модели и вуаля. Отлично видно, как влияет резкость фронта на величины "звонов".


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
torik
сообщение Aug 17 2011, 07:50
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Между SDRAM и ПЛИС не ставим теперь никаких резисторов - все работает нормально на частотах даже выше 100 МГц.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 29 2011, 12:15
Сообщение #13


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(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
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 23:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.02755 секунд с 7
ELECTRONIX ©2004-2016