Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DM368+DDR2, помогите исправить трассировку
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Александр_SI
Здравствуйте. Ситуация такая: развел плату, чип TMS320DM368, память MT47H64M16HR-2.5.
Наблюдается неусточивая работа памяти. Система грузится и зависает, причём по мере прогрева чипа грузится дальше, но всё равно зависает.
Заметил, что если зажать развязывающие конденсаторы DDR пальцем - это улучшает стабильность работы, но под нагрузкой всё равно присутствуют зависания.
Кроме того, на ножке VREF стоит делитель из двух резисторов 1 кОм. Пробовал один из резисторов заменить на многооборотный подстроечный, покрутив его, удавалось также несколько поднять стабильность.
Что нужно, чтобы исправить трассировку? Нужна ли вам трассировка и в каком виде?
=SSN=
Цитата(Александр_SI @ Oct 17 2013, 14:16) *
Что нужно, чтобы исправить трассировку?

Тут для начала нужен рентген контроль, чтобы убедиться, что все BGA м/схемы припаяны как следует.
Если же дефект одинаково проявляется на большом кол-ве плат, то да, нужно менять трассировку.
aaarrr
Питание у процессора и памяти общее, или DDR_VDD питает только память? Чтобы оценить разводку, достаточно и .pdf посмотреть, только со всеми слоями по порядку.
Александр_SI
Для питания использую микросхему TPS650532. Она делает 1.8 вольта с помощью LDO, они подаются на DDR и на одну ногу процессора (VDDA18_PLL). Сам процессор использует преимущественно 1.35 вольта, получаемых от другого стабилизатора. Если нужно, могу приложить схемы.
Вот примерные скриншоты разводки (без слоёв земли и питания).
Major
Тест DDR2 делали? Запускаем тест из внутренней рамы (загружаем через жтаг).
Тесты как в ручном режиме, так и DMA.
Тайминги крутили?
На тестах (DMA) можно посмотреть питание.
Кроме того может на нагрузочном тесте проц слетит и без DDR2.
Ну и контроль пайки (проверка на два-пять экземплярах).
Александр_SI
JTAG там к сожалению не разведён. Пробовал тест памяти u-boota, в нём также была видна нестабильность. Тайминги и частоту крутить пока не пробовали - задача непростая.
Major
Цитата
JTAG там к сожалению не разведён

Вы джедай sm.gif
Напишите свой тест и загрузите его через UART. После этого смотрите питание и лог теста.
Может банальный непропай.
Uree
Цитата(Александр_SI @ Oct 17 2013, 12:35) *
...они подаются на DDR и на одну ногу процессора (VDDA18_PLL).


Что-то подозрительно мало ног у проца для питания интерфейса памяти. Да еще и в названии ПЛЛ присутствует... Это скорее питание только ПЛЛа, который тактирует интерфейс. А сам интерфейс от чего и как запитан?
aaarrr
Цитата(Александр_SI @ Oct 17 2013, 14:35) *
Для питания использую микросхему TPS650532. Она делает 1.8 вольта с помощью LDO, они подаются на DDR и на одну ногу процессора (VDDA18_PLL).

Хорошо, а откуда берутся 1.8V для питания интерфейса памяти процессора? Я к тому, что они должны быть запитаны от одного источника, безо всяких бусин, фильтров и т.п., и разведены единым неразрывным слоем.

Цитата(Александр_SI @ Oct 17 2013, 14:35) *
Вот примерные скриншоты разводки (без слоёв земли и питания).

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

Цитата(Александр_SI @ Oct 17 2013, 15:05) *
Пробовал тест памяти u-boota, в нём также была видна нестабильность.

Если даже в нем видна нестабильность, значит, дела совсем плохи.
Александр_SI
Действительно, на процессоре много ножек для питания интерфейса DDR. Они запитаны от того же источника но через отдельную бусину и с отдельными конденсаторами. Нужно сказать, что схему я практически полностью содрал с LeopardBoard, в том числе и эту бусину. Леопард работает без нареканий.
Плейны - имеются ввиду земля? Есть два сплошных слоя. (всего 8 слоёв). Прикладываю пример одного из земляных слоёв, второй выглядит идентично. Вообще стек слоёв такой: TOP - GND - mid1 - VDD1 - VDD2 - mid2 - GND2 - Bot.
HardJoker
Цитата(Александр_SI @ Oct 17 2013, 13:35) *
Для питания использую микросхему TPS650532. Она делает 1.8 вольта с помощью LDO, они подаются на DDR и на одну ногу процессора (VDDA18_PLL). Сам процессор использует преимущественно 1.35 вольта, получаемых от другого стабилизатора. Если нужно, могу приложить схемы.
Вот примерные скриншоты разводки (без слоёв земли и питания).


Во-первых, почему +1V8 DDR подается только на один вывод процессора. Как подается эл.питание на выводы N11, P9, P10, P12, R12 процессора? Контроллер DDR вместе с MT47H64M16HR-2.5 должен запитываться от одного преобразователя.

Во-вторых, количество фильтрующих емкостей недостаточно. Типоразмер 0402 заменить на 0201, переходные отверстия тентировать и совместить с площадками конденсаторов.


Цитата(=SSN= @ Oct 17 2013, 13:25) *
Тут для начала нужен рентген контроль, чтобы убедиться, что все BGA м/схемы припаяны как следует.
Если же дефект одинаково проявляется на большом кол-ве плат, то да, нужно менять трассировку.


Р/контроль надежность пайки однозначно не покажет. Круглая пайка видом сверху может иметь не нулевое сопротивление.
Major
Цитата
Во-вторых, количество фильтрующих емкостей недостаточно. Типоразмер 0402 заменить на 0201, переходные отверстия тентировать и совместить с площадками конденсаторов.

Зачем пугать? На давинчи с двумя кусками (и на одной микросхеме тоже) DDR2 хватало 0402 и без via-in-pad. Все работает на полной скорости.
Надо написать маленькие тесты и запускать в SRAM процессора. Это даст стационарные (переодические) процессы. На них и смотреть. Плюс прогнать тесты по шинам и стробам DDR2.
HardJoker
Цитата(Major @ Oct 17 2013, 16:34) *
Зачем пугать? На давинчи с двумя кусками (и на одной микросхеме тоже) DDR2 хватало 0402 и без via-in-pad. Все работает на полной скорости.
Надо написать маленькие тесты и запускать в SRAM процессора. Это даст стационарные (переодические) процессы. На них и смотреть. Плюс прогнать тесты по шинам и стробам DDR2.


Это какие тесты косяки топологии выправляют? Только тайминги подкрутить.

P.S. Ручная разводка, кстати, тоже рулит
Major
Цитата
Это какие тесты косяки топологии выправляют?

1. Тесты позволяют убедиться что процессор не валиться и без DDR2
2. Получаем стационарные процессы, которые:
2.1 Можно смотреть осцилом
2.2 Можно смотреть анализатором спектра
2.3 Можно смотреть логическим анализатором
3. Если залипуха в шине данных или стробах, по тестам памяти это можно выяснить.

Про ручную согласен. Разводил руками, потом копированием разводки в другие проекты.
Но и на этой плате похоже разводили руками.

HardJoker
Цитата(Major @ Oct 17 2013, 17:06) *
1. Тесты позволяют убедиться что процессор не валиться и без DDR2


Что валится с ддр, что не валится... Рассуждать поздно.
aaarrr
Цитата(Александр_SI @ Oct 17 2013, 16:13) *
Действительно, на процессоре много ножек для питания интерфейса DDR. Они запитаны от того же источника но через отдельную бусину и с отдельными конденсаторами. Нужно сказать, что схему я практически полностью содрал с LeopardBoard, в том числе и эту бусину. Леопард работает без нареканий.

ИМХО, такое разделение вредно.

Цитата(Александр_SI @ Oct 17 2013, 16:13) *
Плейны - имеются ввиду земля? Есть два сплошных слоя. (всего 8 слоёв). Прикладываю пример одного из земляных слоёв, второй выглядит идентично. Вообще стек слоёв такой: TOP - GND - mid1 - VDD1 - VDD2 - mid2 - GND2 - Bot.

Хм, стек вполне нормальный. Что бросается в глаза, так это неудачное подключение конденсаторов (длинные тонкие линии) и via sharing.
bigor
Цитата(HardJoker @ Oct 17 2013, 16:21) *
Типоразмер 0402 заменить на 0201, переходные отверстия тентировать и совместить с площадками конденсаторов.

Ну это Вы загоняете явно. Работают у нас и DDR2 и DDR3 c 0402. И без размещения переходных в падах конденсаторов.
P.S. Нельзя при тентировании переходных ставить их в пады компонентов...
Давайте определимся с терминологией. Для начала...
HardJoker
Цитата(bigor @ Oct 17 2013, 18:02) *
P.S. Нельзя при тентировании переходных ставить их в пады компонентов...
Давайте определимся с терминологией. Для начала...


Никогда проблем не возникало. Отлично затягиваются мет.покрытием + имерсионное золото.
bigor
Цитата(HardJoker @ Oct 17 2013, 19:22) *
Никогда проблем не возникало. Отлично затягиваются мет.покрытием + имерсионное золото.

Так это же filling and capping. При чем здесь тентирование...
По сути. Александр_SI - выложите гербера проекта или его часть, касаемо проблемного участка. Сразу станет меньше гаданий на кофейной гуще от возможных помощников.
HardJoker
Цитата(bigor @ Oct 17 2013, 22:23) *
Так это же filling and capping. При чем здесь тентирование...
По сути. Александр_SI - выложите гербера проекта или его часть, касаемо проблемного участка. Сразу станет меньше гаданий на кофейной гуще от возможных помощников.


По делу предложения есть, или только по определениям? Были названы конкретные причины, связанные с конденсаторами, способом подачи эл.питания на процессор и DDR и подстройкой таймингов. У вас есть что добавить не касаясь кофейной темы?
aaarrr
На месте ТС я бы попробовал следующее:
1. Соединить питание памяти и процессора максимально коротким и толстым проводником
2. Проверить, что ODS у памяти выставляется в '1' (reduced)
3. Уменьшить частоту памяти до минимально разрешенных 125МГц
HardJoker
Цитата(aaarrr @ Oct 17 2013, 22:49) *
На месте ТС я бы попробовал следующее:
1. Соединить питание памяти и процессора максимально коротким и толстым проводником
2. Проверить, что ODS у памяти выставляется в '1' (reduced)
3. Уменьшить частоту памяти до минимально разрешенных 125МГц


4. Проверить тип и емкость конденсаторов под BGA на предмет работы на второй (как минимум) гармонике частоты обмена с памятью. Характеристики конденсаторов можно проверить симулятором - http://www.murata.com/products/capacitor/d.../index.html#tab
aaarrr
Цитата(HardJoker @ Oct 17 2013, 23:21) *
4. Проверить тип и емкость конденсаторов под BGA на предмет работы на второй (как минимум) гармонике частоты обмена с памятью.

5. Подумать, что делать с теми участками, где на 3-5(!) выводов конденсаторов приходится одно переходное отверстие.
Александр_SI
Спасибо всем за ответы! Сегодня выложу герберы, а так же результаты какой-никакой симуляции...
Вопрос такой: какие симуляции необходимо провести, чтобы убедиться, что оно заработает? Много раз перезаказывать плату мне не дадут. Проект делал в altium.
Цитата
Подумать, что делать с теми участками, где на 3-5(!) выводов конденсаторов приходится одно переходное отверстие.

Это где, например?
Цитата
4. Проверить тип и емкость конденсаторов под BGA на предмет работы на второй (как минимум) гармонике частоты обмена с памятью. Характеристики конденсаторов можно проверить симулятором - http://www.murata.com/products/capacitor/d.../index.html#tab

Спасибо!!
HardJoker
Цитата(Александр_SI @ Oct 18 2013, 07:48) *
Спасибо всем за ответы! Сегодня выложу герберы, а так же результаты какой-никакой симуляции...
Вопрос такой: какие симуляции необходимо провести, чтобы убедиться, что оно заработает? Много раз перезаказывать плату мне не дадут. Проект делал в altium.

Это где, например?

Спасибо!!



6. Добавить вторым этажем емкости NP0-0.01uF-50V или любого доступного максимального номинала обязательно NP0.
aaarrr
Цитата(Александр_SI @ Oct 18 2013, 07:48) *
Это где, например?

Нажмите для просмотра прикрепленного файла

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

То же самое касается падов BGA - не экономьте на переходных отверстиях!
Александр_SI
Цитата(aaarrr @ Oct 18 2013, 10:44) *
Нажмите для просмотра прикрепленного файла

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

То же самое касается падов BGA - не экономьте на переходных отверстиях!


Спасибо!
Jury093
Цитата(Александр_SI @ Oct 17 2013, 15:05) *
Тайминги и частоту крутить пока не пробовали - задача непростая.

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

зы1: и частоты двигайте в сторону уменьшения от среднего..
зы2: это при условие, что монтаж без залипух..

и только тогда, зная, что софт формирует правильные времянки, можно пахать железо..
Александр_SI
Цитата(Jury093 @ Oct 18 2013, 13:51) *
это надо сделать в первую очередь.. я не знаю, до какой степени вы использовали рефдез и степень совместимости с ним по софту, но перед ловлей аппаратных багов, убедитесь, что контроллер настроен на правильные частоты и правильный тип памяти - обычно в исходниках ю-бут есть пара файлов, которые отвечают за настройки pll и их частоты, тип и геометрию памяти и тыпы..
иначе может получится, что вы лечите железо для ddr2, а софт считает, что крутиться на ddr3 - это к примеру..

зы1: и частоты двигайте в сторону уменьшения от среднего..
зы2: это при условие, что монтаж без залипух..

и только тогда, зная, что софт формирует правильные времянки, можно пахать железо..


У нас есть рабочая прошивка, залитая на карту памяти. На леопарде она работает без зависаний. Ту же самую карту мы вставляем в изготовленное устройство. С Леопарда содрана принципиальная схема. Разводка своя, т.к. размер платы намного меньше. Разведена вручную.
PS: есть мнение, что при малом расстоянии между чипами выравнивание длин необязательно. Вот думаю - не навредил ли я этими гармошками?
HardJoker
Цитата(Александр_SI @ Oct 18 2013, 13:03) *
У нас есть рабочая прошивка, залитая на карту памяти. На леопарде она работает без зависаний. Ту же самую карту мы вставляем в изготовленное устройство. С Леопарда содрана принципиальная схема. Разводка своя, т.к. размер платы намного меньше. Разведена вручную.
PS: есть мнение, что при малом расстоянии между чипами выравнивание длин необязательно. Вот думаю - не навредил ли я этими гармошками?


Обозначение на DDR совпадают? До последней буковки?
Jury093
Цитата(HardJoker @ Oct 18 2013, 14:19) *
Обозначение на DDR совпадают? До последней буковки?

и туда же, до кучи - параметры базового кварца/генератора в пределах допустимого? шумы по питаниям смотрели? мощности LDO, которая питает DDR и PLL хватает? мощности общего источника на всю систему хватает?
для мажоритарности лучше собрать 2 или 3 платы, понимаю, что затратно, но более наглядно..
или загнать разводку в симмулятор и там смотреть на синтетические результаты..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.