Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужные ли резисторы на шине данных ARM7
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2
PCBExp
Коллеги. Сейчас делаем редизайн старого проекта на ARM7 (Samsung S34510, частота 50МГц). Устройство маленькое, места вообще нет. По совету коллег из Германии удалили из шин адреса и данных резисторы 33Ома (для экономии места). Помоделировали плату. С шиной адреса проблем нет. На шине данных, когда источник - процессор, то проблем тоже нет. Когда источник - SDRAM очень большие over и undershot-ы (см. аттач, фиолетовый - сигнал на ногах процессора). Хотелось бы понять эти выбросы помешают работе устройства или нет?

Господа. Огромная просьба, не пишите Ваши теоретические предположения не подкрепленные экспериментами. Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.
etoja
Я делал прибор на Аналог Девайсовских сигнальных процессорах семейства SHARK ADSP21065L со встроенным контроллером SDRAM.
В качестве SDRAM использовал стандартные модули памяти для ноутбуков. Модули были различных производителей. Ни подтягивающие ни последовательные резисторы не требовались.
zltigo
Цитата(PCBExp @ Jan 13 2009, 09:15) *
Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.

Интересует только практический радиолюбительский "опыт"...... sad.gif sad.gif sad.gif
PCBExp
Да. Ведь решение поставить резисторы будет означать для нас потерю 2-х недель на переразводку. Я понимаю, что решение убрать резисторы явно спорное и потенциально опасное, но я надеюсь оставить именно его, получив подтверждения, что на практике это работает.
vetal
1. Поставить маленькие резисторные сборки 0805(4х) или 1206(8х)
2. Использовать микротверстия(появится куча свободного места)
cioma
Проблемы с undershoot (~-1V) и overshoot (~+2V) будут - защитные диоды повылетают, конечно, не сразу, а через некоторое время, и после этого посыпятся весьма странные отказы. Также не факт что в момент фронта клока данные защелкнутся правильно (см. провалы сигнала в "1" и выбросы в "0" ). Ну и излучать эта штука будет будь здоров (проблемы с ЭМС). Происходит это потому, что скорее всего Ваш чип SDRAM рассчитан как минимум на 100 MHz, а может и на 133, и, соответственно, фронты сигналов его драйверов гораздо более крутые. Желательно либо вернуть последовательные терминаторы (которые для двунаправленных сигналов должны буть у всех драйверов), либо изменить разводку, чтобы для драйвера SDRAM линия перестала быть длинной (~0.2*trise). А лучше и то, и другое smile.gif
PCBExp
Принципиально согласен, кроме, пожалуй того, что данные по клоку (реально через 10нс) могут защелкнуться не правильно. По поводу ЭМС - скорее, тоже нет, т.к. плата маленькая и пробита аж тремя полигонами земли.
Но еще раз повторю: интересуют практические данные.

И еще: у нас часть линий около 15мм. Как это соотнести с ~0.2*trise.

Память рассчитана на 133 МГц. M12L64322A
cioma
Цитата(PCBExp @ Jan 13 2009, 10:23) *
...И еще: у нас часть линий около 15мм. Как это соотнести с ~0.2*trise.

Память рассчитана на 133 МГц. M12L64322A


Чтобы считать линию электрически короткой нужно чтобы время распрочтранения сигнала по ней было не более 20% от минимального времени фронта. Чтобы оценить частоту наивысшей гармоники (в МГц) в цифровом сигнале нужно вычислить 0.5/trise, где trise - время фронта в нс. Отсюда и считаете время распространения синусоидального сигнала с этой частотой по вашей дорожке.

А вообще 15 мм для драйвера SDRAM на 133 МГц врядли будет длинной линией (но не стоит забывать про длину соединения между кристаттом и выводом корпуса, для больших BGA там могут быть сантиметры). Промоделируйте, например, в HyperLynx и будете более-менее уверены.

Кстати, у вас на шине кроме процессора и SDRAM ничего нет?

Память эта http://www.esmt.com.tw/english/products_de...&CLASS_L4=0 ? Если да, то вроде такая модеть только на 166 и 200 MHz есть.
etoja
При разводке печатной платы укажите трассировщику выравнивать длины дорожек адреса, данных и сопровождающих сигналов.
vik0
Цитата(PCBExp @ Jan 13 2009, 08:15) *
...По совету коллег из Германии удалили из шин адреса и данных резисторы...

Убивать за такие советы надо sad.gif
Цитата(PCBExp @ Jan 13 2009, 11:23) *
Память рассчитана на 133 МГц. M12L64322A

Вам принципиально использование конкретной этой памяти? Если нет, то попробуйте промоделировать с памятью другого производителя (Samsung, Micron).
Цитата(etoja @ Jan 14 2009, 14:39) *
При разводке печатной платы укажите трассировщику выравнивать длины дорожек адреса, данных и сопровождающих сигналов.

cranky.gif Эээ.. А какое это имеет отношение к обсуждаемой здесь проблеме under/overshoot???
etoja
Цитата(vik0 @ Jan 14 2009, 20:48) *
Убивать за такие советы надо sad.gif
cranky.gif Эээ.. А какое это имеет отношение к обсуждаемой здесь проблеме under/overshoot???


Не надо петушиться. Автор просил теоретиков не вмешиваться.

Моделирование очень часто не соответствует реальной жизни.
Выравнивание длин проводников выровняет задержки распространения сигналов.
denebopetukius
Цитата
Огромная просьба, не пишите Ваши теоретические предположения не подкрепленные экспериментами. Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.


Цитата(zltigo @ Jan 13 2009, 00:13) *
Интересует только практический радиолюбительский "опыт"...... sad.gif sad.gif sad.gif


zltigo, а что вы имеете против радиолюбительского опыта, который в ряде случаев перечёркивает несостоявшуюся теорию и превосходит по результатaм в положительном смысле в разы? 07.gif krapula.gif smile3009.gif twak.gif angry.gif
cioma
Если практика перечеркивает теорию, то либо в первой, либо во второй есть проблемы. И правильное моделирование (правильный CAD, параметры и условия) как правило в пределах 10% соответствует реальности в данных условиях (а если нет - значит что-то неучтено).

Кстати, красивая картинка в первом посте откуда, из какого CAD?
dch
Осцилограф у Вас какой , на S3С4530 картинка в общем :-) то соотвествует описанию микроновской памяти, по крайней мере таких ужасов как у Вас нарисовано нет, правда там платочка не очень маленькая
AlexN
Цитата(PCBExp @ Jan 13 2009, 12:15) *
Коллеги. Сейчас делаем редизайн старого проекта на ARM7 (Samsung S34510, частота 50МГц). Устройство маленькое, места вообще нет. По совету коллег из Германии удалили из шин адреса и данных резисторы 33Ома (для экономии места). Помоделировали плату. С шиной адреса проблем нет. На шине данных, когда источник - процессор, то проблем тоже нет. Когда источник - SDRAM очень большие over и undershot-ы (см. аттач, фиолетовый - сигнал на ногах процессора). Хотелось бы понять эти выбросы помешают работе устройства или нет?

Господа. Огромная просьба, не пишите Ваши теоретические предположения не подкрепленные экспериментами. Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.


делал плату на EP9315 ARM9 200МГц, на SDRAM 100МГц. Перед разводкой смотрел очень много фоток разных мелких подобных платок. НИГДЕ не видел, чтобы в шине данных стояли резисторы. В шине адреса - да, некоторые особо боязливые ставят. На клоках - как правило у всех стоят порядка 33 ом. Много моделировал в гиперлинксе. Суть результатов примерно та же, что у Вас. Если источником выступает SDRAM (у меня - микрон), то на процессоре большие выбросы. Однако, величина выбросов сильно зависит от того, какую модельку SDRAM подсунуть гиперлинксу. Поставляемые в комплекте с гиперлинском, от самсунга, от микрона , и просто разные версии даже от одного производителя дают хоть и похожие, но разные результаты. В итоге, успокоив себя мировым опытом, в шину адреса и управления резисторы поставил (у проца), а на данные - нет. Выбрал кашерный стек ПП (до земли 0.18мм, лучше меньше, но привязан к технологии производителя), зазоры (2 ширины проводника для данных и управления, 3 ширины для клока - вычитал в каких-то рекомендациях интела) и вуаля - проблем со стабильностью нет. Водил руками, окончательный вариант смотрел в гиперлинксе, овершуты и андершуты были, но меньше Ваших, у меня при питании 3.3В овершут до примерно 4В. Под линуксом пускал тест памяти memtester - проблем нет.
Кстати, проблемные с точки зрения разводки платы на этом тесте могут глючить, о чем было обсуждение в другой ветке.
PCBExp
Картинка рождена в Hyper Lynx. Все делается в Expedition PCB (Mentor)
Модель памяти бралась для M12L64322A
К сожалению есть места где поставить даже 0402 счетверенные сборки проблематично, поэтому и интересует практический опыт тех кто проделывал тоже самое....
PrSt
Цитата(PCBExp @ Jan 13 2009, 08:15) *
Коллеги. Сейчас делаем редизайн старого проекта на ARM7 (Samsung S34510, частота 50МГц). Устройство маленькое, места вообще нет. По совету коллег из Германии удалили из шин адреса и данных резисторы 33Ома (для экономии места). Помоделировали плату. С шиной адреса проблем нет. На шине данных, когда источник - процессор, то проблем тоже нет. Когда источник - SDRAM очень большие over и undershot-ы (см. аттач, фиолетовый - сигнал на ногах процессора). Хотелось бы понять эти выбросы помешают работе устройства или нет?

Господа. Огромная просьба, не пишите Ваши теоретические предположения не подкрепленные экспериментами. Интересует только практический опыт тех, кто реально делал железки и сталкивался с подобными задачами.


слоев на плате сколько?
на 2х слойной плате будет хорошо если вы 40МГц достигните. да и там резисторы не особо помогут.
а вот на 4х слойной уже могут быть ньюансы, у меня без резисторов на 90-133МГц работало при 133МГц
зависит от платы и типа памяти, то есть согласование шины проц-память

.
zhz
Цитата(PCBExp @ Jan 15 2009, 16:22) *
К сожалению есть места где поставить даже 0402 счетверенные сборки проблематично


А может 0201x2 подойдут ? Размер 0.8x0.6mm. И при разводке оперировать с двойками бывает удобнее.
PCBExp
Слоев у нас 6. Верхний и нижний уставлен компонентами. второй - полигон земли. 3 - дифпары и другие проводники в полигоне земли. 4 -ый немного проводниов и опять полигон земли. 5-ый полигоны питаний. основной 3.3вольта в нем маленькие полигоны остальных питаний. Основная масса данных и адресов в 1 и 6 слое и благодаря расстановке VIA на этих проводниках мало. У большинства микросхем шаг 0.5 мм. То есть сборки 0402 кладутся на эти шины без всяких раздвижек-сужений. Так что если придется рвать эти сигналы то только такими. Частота всего 50 МГц так что 133 не наш случай.
zltigo
Цитата(PCBExp @ Jan 16 2009, 09:11) *
Частота всего 50 МГц так что 133 не наш случай.

Разговор опять скатился к совершенно пустому слову "частота", Вы-же, должны были уже понять, что означенные проблемы определяются исключительно длительностью фронтов которые у Вашей элементной базы заточены на работу на частотах в том числе и 133MHz. Посему 133MHz это имено Ваш случай, даже если "частота всего 1 герц".

Цитата(AlexN @ Jan 15 2009, 13:35) *
при питании 3.3В овершут до примерно 4В. Под линуксом пускал тест памяти memtester - проблем нет.

Поблемы, как здесь уже писал cioma, не исчерпываются прохождением или нет теста памяти sad.gif. Страдает и надежнось для некоторых чипов (например для Циклонов-3) явно указывают численные уменьшения времени наработки на отказ, для многих - нет, но по любому не хорошо.
cioma
Еще возникла идея. Если потребление DC не критично, то можно использовать параллельное терминирование (особенно если на шине более двух устройств). Тогда просто за приемником, на конце линии ставится резистор равнфй волновому сопротивлению линии. Чтобы избежать избыточного потребления можно сделать и AC-termination (резистор + конденсатор). Раз HyperLynx есть, то проверить варианты будет несложно.

Ну, а если гарантию больше года давать не будете да и в космос это не запускать, то можете рискнуть - возможно, количество отказов за такой относительно небольшой период не будет критичным. И ставьте SDRAM, рассчитанную не более чем на 100 MHz smile.gif .
khach
Вы не в ту сторону оптимизируете- разводим шину под миниатюрные резисторные сборки (четверки обычно), но футпринт резисторов делаем с перемычкой. Берем две платы- на одной перемычки разрезаем и запаиваем резисторы, на второй- оставляем только перемычки. Делаем полный тестовый прогон (по температурам и напряжениям). Сравниваем число сбоев на двух экземплярах. Принимаем решение о выкидывании или невыкидывании резисторов из серии.
Dog Pawlowa
Цитата(AlexN @ Jan 15 2009, 13:35) *
НИГДЕ не видел, чтобы в шине данных стояли резисторы.

Жаль, сейчас нет под рукой, а я раньше не разбирался внимательно - на стартките Olimex LPC2478 есть несколько резисторов, явно добавленных в уже спроектированную плату. В тему о радиолюбительстве biggrin.gif

Цитата(khach @ Jan 16 2009, 13:33) *
Принимаем решение о выкидывании или невыкидывании резисторов из серии.

Нелогично. Если работать будет, то выкидывать резисторы никто не будет.

А вообще-то сейчас сам участвую в подобном радиолюбительском эксперименте. Обязательно доложу результаты.
PrSt
Цитата(PCBExp @ Jan 16 2009, 08:11) *
Слоев у нас 6. Верхний и нижний уставлен компонентами. второй - полигон земли. 3 - дифпары и другие проводники в полигоне земли. 4 -ый немного проводниов и опять полигон земли. 5-ый полигоны питаний. основной 3.3вольта в нем маленькие полигоны остальных питаний. Основная масса данных и адресов в 1 и 6 слое и благодаря расстановке VIA на этих проводниках мало. У большинства микросхем шаг 0.5 мм. То есть сборки 0402 кладутся на эти шины без всяких раздвижек-сужений. Так что если придется рвать эти сигналы то только такими. Частота всего 50 МГц так что 133 не наш случай.


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

.
dch
Цитата(PrSt @ Jan 16 2009, 19:59) *
по идее слоев земли должно быть 2 шт, 2й и 5й слои.

а как на шестислойке слои обычно роаскладваете ?
PrSt
Цитата(dch @ Jan 19 2009, 06:02) *
а как на шестислойке слои обычно роаскладваете ?


1 - top
2 - gnd/vccx (mix)
3 - data buses(for top) + analog buses
4 - data buses(for bottom)
5 - gnd/vccx (mix)
6 - bottom

слои 3-4 некрасиво выглядят. Моделирование показало что даже когда они пересекаются, то взаимное влияние незначительное, благодаря противоположным земля/питание.
В реале нужно стараться что бы дороги на них не пересекались.
Wano
Прочитал тему, решил тож проверить. LPC2478(60 МГц) + K4S561632E на двусторонней плате с ручной разводкой. Записывал по байтам в одну ячейку X а в следующую 255-X чтобы больше разнообразия было. После записи сразу проверка записанного и изменение X. Гонял пять часов и ни разу не обнаружилось никакого расхождения между записанными и считанными данными.Резисторов не ставил. Память эта по шиту на 166МГц, резкие фронты должны быть. Расстояние от проца до память 2 см плюс проц в LQFP шириной в 3см.
Может какой-то более продвинутый способ тестирования памяти надо использовать?
cioma
Кроме надежности записи есть еще проблема постепенного выгорания входов микросхем, а также проблема ЭМС. Ни первое ни второе программными тестами не отловить.
MikePic
Цитата(Wano @ Jan 23 2009, 10:54) *
Может какой-то более продвинутый способ тестирования памяти надо использовать?

Я тоже заинтересовался темой. У меня на TMS320VC5509a стоит M48LC4M16A2-75G, работает на 96МГц. Резисторы 47Ом только в цепях ^RAS, ^CAS, ^WE, CLK. ТМСка постоянно работает с внешней памятью. Overshoot максимум 4,36В на A10/AP, которая без резистора, на адресах то же значение, длительность не более 3нс . На линиях с резисторами - максимум 3,76В.

Использовал ещё и память K4S641632K-UC75, на ней выбросы были в среднем на 0,1-0,15В больше.
MikePic
Извиняюсь, поспешил и представил не совсем точные результаты sad.gif

Измерил активным щупом на осцилле TDS3044B. На Micron-овской памяти выбросы в самом худшем случае были не более ~0,3В на обоих фронтах. На Samsung-овской в самом худшем случае - ~0,4В. Расстояние между краями памяти и TMSки порядка 1см, самая длинная линия - 43мм, плата - 4 слоя.
Wano
Цитата(cioma @ Jan 23 2009, 10:21) *
Кроме надежности записи есть еще проблема постепенного выгорания входов микросхем, а также проблема ЭМС. Ни первое ни второе программными тестами не отловить.

Глянул у LPC2478 адресные и линии данных рассчитаны на 5 вольт. Может ли всплеск от фронта в 3,3 вольта превысить 5 вольт?
aaarrr
Цитата(Wano @ Jan 23 2009, 10:54) *
Записывал по байтам в одну ячейку X а в следующую 255-X чтобы больше разнообразия было.

Какое же тут разнообразие? Это скучное постоянство. Вы попробуйте лучше забить всю память псевдослучайной последовательностью, а потом считать и сверить. И так сутки хотя бы. На таком тесте замечательно падают системы, которые сутками могут нули/единицы/паттерны гонять.
dch
Цитата(Wano @ Jan 23 2009, 10:54) *
пять часов

а если чтото вылезет через десять пятнадцать лет?
AlexN
Цитата(aaarrr @ Jan 24 2009, 01:52) *
Какое же тут разнообразие? Это скучное постоянство. Вы попробуйте лучше забить всю память псевдослучайной последовательностью, а потом считать и сверить. И так сутки хотя бы. На таком тесте замечательно падают системы, которые сутками могут нули/единицы/паттерны гонять.


мне кажется, что паттерн бегущего нуля или единицы не так уж плох, поскольку позволяет создать максимальный кросстолк от соседних линий на на эту самую бегущюю фигню, и тем самым проверить грамотность разводки (ширины, зазаоры, расстояния до полигонов замли во внутренних слоях... С чем и столкнулся коллега http://electronix.ru/forum/index.php?showtopic=34852

ps разработчики тестов памяти не идиоты, для того и придумали разные паттерны, чтоб создать условия для возникновения ошибок в идиотски разведенных платах.
aaarrr
Цитата(AlexN @ Jan 26 2009, 10:01) *
ps разработчики тестов памяти не идиоты, для того и придумали разные паттерны, чтоб создать условия для возникновения ошибок в идиотски разведенных платах.

Кто ж говорит, что идиоты? Псевдослучайная последовательность обычно входит в нормальный набор тестов. А ошибки на "идиотски разведенной плате" на ней выявляются быстрее и надежнее, ИМХО.
AlexandrY
Не то чтобы они полные идиоты, но старинные тесты явно потеряли актуальность.
Как бы понятно что SRAM, SDRAM и DDRAM надо по разному тестировать, а еще учитывать кэш, буферизацию, длину пакетов и порядок чередования байт в пакете.

Недавно открыл очень интересный тест.
Есть DDRAM которая замечательно прошла все тесты, и запись бегущими нулями и единицами, и запись случайными числами, и сверху вниз и снизу вверх и пачками и т.д.
Но когда попытался записывать сразу пачки регистров командой например: STMFD R0!, {R4-R12}
с определенным патерном заполнения регистров, то обнаружил искажение в старших адресах памяти на расстоянии 12-и байтов от адреса на который указывал R0

В программе этот баг приводит к совершенно срывающим крышу эффектам.
Основная его жертва - это контекст вызывающих функций.
Т.е вызываем функцию с определенным содержимым рабочих регистров которые в функцию не передаются, а после возвращения из нее какие-то регистры оказываются с искаженным содержимым.
Подозрение конечно падает на вызываемую функцию, но поиски ни к чему не приводят и крыша постепенно едет. smile3046.gif
Причем включенный кэш еще сильнее маскировал эффект и еще больше затруднял поиски. Буфферизация типа back-write еще добавляла путаницы.

Цитата(aaarrr @ Jan 26 2009, 13:23) *
Кто ж говорит, что идиоты? Псевдослучайная последовательность обычно входит в нормальный набор тестов. А ошибки на "идиотски разведенной плате" на ней выявляются быстрее и надежнее, ИМХО.
AlexN
можно итог подводить: резисторы в шине данных "не повредят". Но гораздо важнее ширины проводников, грамотные зазоры между ними, правильное расстояние до слоя земли и разводка чтоб не было загогулин лишних и петель. Хотел написать строго ручная разводка, но подумал - а вдруг есть хорошие автоматы?
AlexandrY
До итога здесь как до луны.
Можно обсуждать и обсуждать. biggrin.gif
Например мне кажется, что при расстояниях от uC до памяти меньше 2-3 см зазоры и ширины имеют не то значение которое им приписывают симуляторы типа Hyperlynx.
Такие проводники надо рассматривать как сосредоточенные индуктивности и учитывать сосредоточенные индуктивности вносимые via. Причем via на блокировочные конденсаторы. И индуктивности самих конденсаторов.
Понятно, что симуляторы таких расчетов не могут выполнить поскольку надо считать интегралы 3-го порядка и больше для 3-х мерных структур.
И именно сосредоточенные индуктивности создают овершутинги на крутых фронтах на близких расстояниях.
Отсюда собственно вывод, что если чипы не имеют возможности регулировки силы своих драйверов, то резисторы - единственный путь уменьшения овершутингов. И не то что бы они не повредят, а просто обязательны.
А вот петли и загогулины - зло неизбежное, поэтому играть на них бессмысленно.

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

Короче, стратегии дизайна для дальней и ближней памяти должны быть разные.


Цитата(AlexN @ Jan 26 2009, 15:41) *
можно итог подводить: резисторы в шине данных "не повредят". Но гораздо важнее ширины проводников, грамотные зазоры между ними, правильное расстояние до слоя земли и разводка чтоб не было загогулин лишних и петель. Хотел написать строго ручная разводка, но подумал - а вдруг есть хорошие автоматы?
cioma
По поводу программных тестов.
В данном случае тесты должны быть для платы, а не для чипов памяти (которые a priori считаем безглючными). Отсюда и надо плясать, например для crosstalk - переключать 2 (а при плотной разводке и 4) соседних линии, для ground bounce - переключать все биты одновременно из 0 в 1 и наоборот итд.

По поводу расчетов в симуляторах. Естественно для моделирования в 3D необходимо что-либо посерьезнее HL (например, Sigrity или Ansoft). Но в первую очередь результаты моделирования зависят от моделей (IBIS, Spice), так что не стоит удивляться что HL и реальность могут расходиться - все зависит (С). При верных моделях и правильном проекте расхождение обычно не превышает 5-10%.
AlexandrY
Не факт что память априори должна считаться безглючной и кондиционной.
Во всяком случае именно она самый опасный источник непредсказуемого звона и в ней происходят сбои ну и в uС, а не на проводниках платы.
А еще есть резонансы провоцируемые паттернами, которые врядли симулирует Ansoft
Модели на дискретные компоненты также можно считать недоступными. А IBIS модели отвечают только за входы-выходы ничего не зная о внутренних коммутациях в IC отражающихся на выводах питания и сигналов.

А не зная физический интерфейс памяти трудно подобрать то самое критическое переключение.
Я для того и привел свой пример, чтобы показать, что работая на верхнем уровне абстракции памяти простые паттерны не помогают.

Цитата(cioma @ Jan 27 2009, 11:14) *
По поводу программных тестов.
В данном случае тесты должны быть для платы, а не для чипов памяти (которые a priori считаем безглючными). Отсюда и надо плясать, например для crosstalk - переключать 2 (а при плотной разводке и 4) соседних линии, для ground bounce - переключать все биты одновременно из 0 в 1 и наоборот итд.

По поводу расчетов в симуляторах. Естественно для моделирования в 3D необходимо что-либо посерьезнее HL (например, Sigrity или Ansoft). Но в первую очередь результаты моделирования зависят от моделей (IBIS, Spice), так что не стоит удивляться что HL и реальность могут расходиться - все зависит (С). При верных моделях и правильном проекте расхождение обычно не превышает 5-10%.
Dog Pawlowa
Со времен памяти серии КР537 и процессора 580ВМ80А пришел к выводу, что если тест памяти длится меньше 10 минут, то он толком ничего не проверяет. Рекорд был когда сбой теста памяти происходил через 4-5 часов после запуска теста и это на 32 Кб ОЗУ.
Так что есть над чем работать, лучше не делать поспешных выводов.
cioma
Цитата(AlexandrY @ Jan 27 2009, 13:29) *
Не факт что память априори должна считаться безглючной и кондиционной.
Во всяком случае именно она самый опасный источник непредсказуемого звона и в ней происходят сбои ну и в uС, а не на проводниках платы.
А еще есть резонансы провоцируемые паттернами, которые врядли симулирует Ansoft
Модели на дискретные компоненты также можно считать недоступными. А IBIS модели отвечают только за входы-выходы ничего не зная о внутренних коммутациях в IC отражающихся на выводах питания и сигналов.

А не зная физический интерфейс памяти трудно подобрать то самое критическое переключение.
Я для того и привел свой пример, чтобы показать, что работая на верхнем уровне абстракции памяти простые паттерны не помогают.


Я согласен что IBIS не дает всей необходимой информации для моделирования power integrity. Для signal integrity в большинстве приложений хватает адекватной IBIS модели (с этим тоже бывают проблемы smile.gif ), для высокоскоростных интерфейсов - как правило HSPICE. Чтож до тестов, то я имел в виду реальные программные тесты на реальном железе, а не в симуляторе (где они ранее также должны быть проведены).

Под безглючностью памяти разумеется, что производитель просимулировал и протестировал данный дизайн чипа и корпуса, и качество в серии - повторяемо. Я, как разработчик платы, не могу улучшить чип памяти, но я могу улучшить плату. Потому я и говорю про "тестирование разводки" smile.gif . Если тест не проходит, то в подавляющем числе случаев виновата схемотехника и/или разводка, а не сама память (мы ведь говорим про нормалную память типа Micron или Samsung, так?). Конечно было бы классно и собственно чип памяти пртестировать, но, как заметил предыдущий оратор, ктож Вам расскажет его внутренне устройство, а без этого покрытие стандартных тестов будет невелико, что статистически можно несколько улучшить используя случайные последовательности при длительном тестировании.
AlexandrY
Мог бы согласиться лет десять назад.
А нынче дела хуже.
Errat-ы на процы читаете?
А на SDRAM видели?
Там пацаны хитрее, они все спихнут на нестыковку интерфейсов.
Но от этого не легче.
Тестировать память на сегодняшний день надо прежде всего для обкатки сопряжения контроллера памяти uC с чипами памяти
и для тюнинга производительности.


Цитата(cioma @ Jan 27 2009, 23:31) *
Под безглючностью памяти разумеется, что производитель просимулировал и протестировал данный дизайн чипа и корпуса, и качество в серии - повторяемо. Я, как разработчик платы, не могу улучшить чип памяти, но я могу улучшить плату. Потому я и говорю про "тестирование разводки" smile.gif . Если тест не проходит, то в подавляющем числе случаев виновата схемотехника и/или разводка, а не сама память (мы ведь говорим про нормалную память типа Micron или Samsung, так?). Конечно было бы классно и собственно чип памяти пртестировать, но, как заметил предыдущий оратор, ктож Вам расскажет его внутренне устройство, а без этого покрытие стандартных тестов будет невелико, что статистически можно несколько улучшить используя случайные последовательности при длительном тестировании.
cioma
Согласен - нужно все учитывать smile.gif

Что-то топикстартер молчит, поделился бы результатами, если уже платы сделали.
PCBExp
Цитата(cioma @ Jan 28 2009, 12:10) *
Согласен - нужно все учитывать smile.gif

Что-то топикстартер молчит, поделился бы результатами, если уже платы сделали.


Поделимся обязательно. Через недельку первый результат будет. Доску сделали но не собрали пока. Самим очень интересно...
Dog Pawlowa
Цитата(PCBExp @ Jan 30 2009, 15:34) *
Поделимся обязательно. Через недельку первый результат будет. Доску сделали но не собрали пока. Самим очень интересно...

Ну а мы собрали доску. LPC2478+2x32 MB samsung.
Плата спроектирована в pCAD, человеком, впервые проектировавшим многослойку и корпуса >64 вывода.
Все работает, выбросы даже не проверяли.
cioma
А Вы их нормально и не сможете проверить wink.gif
Когда это устройчтво проработает 10 лет - тогда и можно будет говорить что все работает smile.gif
Dog Pawlowa
Цитата(cioma @ Feb 25 2009, 15:01) *
А Вы их нормально и не сможете проверить ...

Да, я, конечно, погорячился smile.gif Нужно по крайней мере зарядить народ на тесты посложнее.
Пока тест проработал ночь. И то неплохо.
cioma
Это конечно нужно, но я несколько про другое. Если у Вас есть выбросы на фронтах сигнала (overshoot и undershoot) больше порогового защитных диодов (от статики) то эти самые диоды со временем деградируют и в конце концов откажут. После этого выбросы, а главное статика, пойдет на затворы полевиков, которые прикажут жить гораздо быстрее. В зависимости от условий этот процесс может занять месяцы или десятки лет, а может все будет 100 лет нормально работать. Но проблема в том что Вы при разработке закладываете потенциальный риск и повышаете вероятность отказа устройства.

Естественно, это только одна из проблем SI, но про нее многие и не подозревают.
Dog Pawlowa
Цитата(cioma @ Feb 25 2009, 20:49) *
Но проблема в том что Вы при разработке закладываете потенциальный риск и повышаете вероятность отказа устройства.


А посоветуйте плз, как правильно поступить, и какой метод даст наиболее надежные результаты:

1) Проверить плату в соответствующей программе.
2) Проверить выбросы с помощью осциллографа.
3) Тупо перепроектировать плату с добавлением резисторов 20..33 Ом во все линии ША и ШД.

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