Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SAM9G45 + DDR2
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Viktor_Spb
Добрый день!

Оцените топологию печатной платы...

При подключении к плате через SAM-BA выводится сообщение:
External RAM initialization failed. External RAM access is required to run applets. Continue?

Изменение параметров в tcl-файле не помогает. Оригинальная плата, на основе которой делалась рассматриваемая, работает нормально с tcl-файлом по-умолчанию. Компоненты на обеих платах полностью идентичные.

Нажмите для просмотра прикрепленного файла
HardJoker
Цитата(Viktor_Spb @ Jan 22 2014, 15:40) *
Добрый день!

Оцените топологию печатной платы...

При подключении к плате через SAM-BA выводится сообщение:
External RAM initialization failed. External RAM access is required to run applets. Continue?

Изменение параметров в tcl-файле не помогает. Оригинальная плата, на основе которой делалась рассматриваемая, работает нормально с tcl-файлом по-умолчанию. Компоненты на обеих платах полностью идентичные.

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


Опору DDR_VREF кто формирует? Хорошо бы добавить емкость на выв. A16/DD1:4
NicholasR
А разводка отличается принципиально чем-то?
Viktor_Spb
> Опору DDR_VREF кто формирует?

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

А разводка отличается принципиально чем-то?

Разводка сделана заново, собственна, как и схема нарисованна собственными силами.
Оригинальная плата SK-9G45-OEM, но на неё нет ни схемы, ни топологии. Схема рисовалась на основе AT91SAM9G45-EK Evaluation Kit.
Вот, собственно, оригинальная схема:

Нажмите для просмотра прикрепленного файла
HardJoker
Цитата(Viktor_Spb @ Jan 23 2014, 09:23) *
> Опору DDR_VREF кто формирует?

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

А разводка отличается принципиально чем-то?

Разводка сделана заново, собственна, как и схема нарисованна собственными силами.
Оригинальная плата SK-9G45-OEM, но на неё нет ни схемы, ни топологии. Схема рисовалась на основе AT91SAM9G45-EK Evaluation Kit.
Вот, собственно, оригинальная схема:

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


1. Компоненты C5,C12,R8,R9 должны стоять на минимальном расстоянии от выв.J2/D3. Реальное их расположение по имеющейся топологии разобрать не смог.
2. Необходимо измерить уровень пульсаций эл.питания DDR. Топология DC-DC с точки зрения минимизации пульсаций не оптимальная. Проводники L3-C21, L3-C33 тонкие. Качество подключение земляных обкладок C21,C33 определить сложно. Но достаточно 2-х via на сплошной полигон.
3. Контроллер памяти и DDR должны иметь общее эл.питание. Обозначения цепей на скрине и *.pdf трудно читаемы.
Viktor_Spb
1. Компоненты C5,C12,R8,R9 должны стоять на минимальном расстоянии от выв.J2/D3. Реальное их расположение по имеющейся топологии разобрать не смог.

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

Компоненты C5,C12,R8,R9 стоят на расстоянии ~7,5 мм от памяти и на расстоянии ~16 мм от процессора. Ширина дорожки ~0,12 мм. Возможно маловато.

2. Необходимо измерить уровень пульсаций эл.питания DDR. Топология DC-DC с точки зрения минимизации пульсаций не оптимальная. Проводники L3-C21, L3-C33 тонкие. Качество подключение земляных обкладок C21,C33 определить сложно. Но достаточно 2-х via на сплошной полигон.

Подключение земляных обкладок C21,C33 к землянному полигону через одно via.
Пульсации на C21 (+1 V) - 2,9 мВ
Пульсации на C33 (+1.8 V) - 2,5 мВ
Пульсации на R9 (DDR_VREF, +0.9 V) - 0,6 мВ

3. Контроллер памяти и DDR должны иметь общее эл.питание. Обозначения цепей на скрине и *.pdf трудно читаемы.

Цепи питания памяти и контроллера памяти общие.

Если несложно, могли бы Вы проверить на схеме в pdf-ке правильность подключения линий DDR_DQM0, DDR_DQM1, DDR_DQS0, DDR_DQS1, DDR2_BA0, DDR_BA1. Не очень в них уверен...
HardJoker
Цитата(Viktor_Spb @ Jan 23 2014, 12:39) *
1. Компоненты C5,C12,R8,R9 должны стоять на минимальном расстоянии от выв.J2/D3. Реальное их расположение по имеющейся топологии разобрать не смог.

Компоненты C5,C12,R8,R9 стоят на расстоянии ~7,5 мм от памяти и на расстоянии ~16 мм от процессора. Ширина дорожки ~0,12 мм. Возможно маловато.

2. Необходимо измерить уровень пульсаций эл.питания DDR. Топология DC-DC с точки зрения минимизации пульсаций не оптимальная. Проводники L3-C21, L3-C33 тонкие. Качество подключение земляных обкладок C21,C33 определить сложно. Но достаточно 2-х via на сплошной полигон.

Подключение земляных обкладок C21,C33 к землянному полигону через одно via.
Пульсации на C21 (+1 V) - 2,9 мВ
Пульсации на C33 (+1.8 V) - 2,5 мВ
Пульсации на R9 (DDR_VREF, +0.9 V) - 0,6 мВ

3. Контроллер памяти и DDR должны иметь общее эл.питание. Обозначения цепей на скрине и *.pdf трудно читаемы.

Цепи питания памяти и контроллера памяти общие.

Если несложно, могли бы Вы проверить на схеме в pdf-ке правильность подключения линий DDR_DQM0, DDR_DQM1, DDR_DQS0, DDR_DQS1, DDR2_BA0, DDR_BA1. Не очень в них уверен...


По топологии и пульсациям вопросы снимаются. Ошибка, похоже, в схемотехнике. В схеме module_9g45.pdf сигнал DDR_A13 (выв.J15/D1:4) подключен на вход BA0 (выв.L2/D3). В этом случае нарушается диаграмма выбора адреса - стр.92, Figure 45: Multibank Activate Restriction. На время выбора адреса номер банка изменяться не может.
Viktor_Spb
По топологии и пульсациям вопросы снимаются. Ошибка, похоже, в схемотехнике. В схеме module_9g45.pdf сигнал DDR_A13 (выв.J15/D1:4) подключен на вход BA0 (выв.L2/D3). В этом случае нарушается диаграмма выбора адреса - стр.92, Figure 45: Multibank Activate Restriction. На время выбора адреса номер банка изменяться не может.

Я могу не использовать DDR_A13, например, посадить линию BA0 на землю и оставить DDR_BA0 -> BA1, DDR_BA1 -> BA2. Или это не поможет??

P.S. Возможно написал какую-то глупость.
HardJoker
Цитата(Viktor_Spb @ Jan 23 2014, 15:18) *
По топологии и пульсациям вопросы снимаются. Ошибка, похоже, в схемотехнике. В схеме module_9g45.pdf сигнал DDR_A13 (выв.J15/D1:4) подключен на вход BA0 (выв.L2/D3). В этом случае нарушается диаграмма выбора адреса - стр.92, Figure 45: Multibank Activate Restriction. На время выбора адреса номер банка изменяться не может.

Я могу не использовать DDR_A13, например, посадить линию BA0 на землю и оставить DDR_BA0 -> BA1, DDR_BA1 -> BA2. Или это не поможет??

P.S. Возможно написал какую-то глупость.


Да, может получиться.
lemorus
Согласен, разведено нормально, топология должна работать.
Viktor_Spb
Цитата(HardJoker @ Jan 23 2014, 17:33) *
Да, может получиться.


Не очень помогло! Не заработало sad.gif

Появилось желание помыть платы в УЗ-ванне. Микросхемы BGA поялись на фирме, где делались платы. Остальные компоненты, монтировались местными силами. Попробовал включить вторую плату, так на ней даже процессор не всегда заводится (не всегда начинает работать кварц), правильнее сказать обычно он не запускается.

Можно попробовать написать тестовую программу для проверки памяти силами микросхемы CPU, пока правда непонятно как.
Jury093
Цитата(Viktor_Spb @ Jan 27 2014, 09:38) *
Появилось желание помыть платы в УЗ-ванне. Микросхемы BGA поялись на фирме, где делались платы. Остальные компоненты, монтировались местными силами. Попробовал включить вторую плату, так на ней даже процессор не всегда заводится (не всегда начинает работать кварц), правильнее сказать обычно он не запускается.

помыть никогда не вредно - проверьте в доках можно ли мыть кварцы и катушки в УЗ..
как вариант, попробовать кварц в другом корпусе или на другую частоту, заменить кондюки около кварца - раз идет неустойчивый запуск..
по монтажке, на мой вкус, от PMIC до катушек и далее проводники (а лучше полигоны) пожирнее и via по питанию, как минимум дублировать..
шарик gndosc на землю прибит?

Цитата
Можно попробовать написать тестовую программу для проверки памяти силами микросхемы CPU, пока правда непонятно как.

на сайте Атмела раздают devpack софта (под keil, iar и gcc), там есть исходники бутлоадера, на его основе можно на асме написать несложную софтину для запуска из SRAM.. посредством которой потестировать железо..
HardJoker
Цитата(Viktor_Spb @ Jan 27 2014, 08:38) *
Не очень помогло! Не заработало sad.gif

Появилось желание помыть платы в УЗ-ванне. Микросхемы BGA поялись на фирме, где делались платы. Остальные компоненты, монтировались местными силами. Попробовал включить вторую плату, так на ней даже процессор не всегда заводится (не всегда начинает работать кварц), правильнее сказать обычно он не запускается.


Правильное желание. Подобная ситуация с нестабильным запуском решилась длительным полосканием в спирте с последующей промывкой с хоз.мылом в горячей воде. Главный этап - сушка под струей горячего воздуха 50-60град.Ц в течении 10-15 минут. Затем все повторяем 1-2 раза. Цель - удалить остатки флюса, который использовался при монтаже BGA.

Если не поможет:
- проверить по топологии подачу эл.питания;
- заменить кварц на генератор;
- проверить в софте по фактическому состоянию регистров тайминги DDR2.
Viktor_Spb
Похоже дело всё-таки не в промывке плат. Попробовал 4 экземпляра на всех одинаковые проблемы.
SAM-BA выдаёт: External RAM initialization failed. External RAM access is required to run applets. Continue?

Загружаюсь на плате с SD-карты, использую скомпилированный bootstrap (компилятор Keil) из комплекта SK-9G45-OEM
Нажмите для просмотра прикрепленного файла
... процессор перезагружается после попытки обращения к DDRAM, правда непонятно почему выполняется Init DDRAM

-- AT91bootstrap Project 3.0 --
-- SK-9G45-OEM
-- Compiled: Jan 30 2014 16:41:13 --
-I- Setting: MCK = 133MHz
-I- I cache is already enabled.
-I- Init DDRAM
-I- BOARD_DDRAM_BUSWIDTH = 16
-I- MEDSdcard init
-I- Copy "appli.bin" from SdCard to 0x70000000

{... перезагрузка ...}

-- AT91bootstrap Project 3.0 --
-- SK-9G45-OEM
-- Compiled: Jan 30 2014 16:41:13 --
-I- Setting: MCK = 133MHz
-I- I cache is already enabled.
-I- Init DDRAM
-I- BOARD_DDRAM_BUSWIDTH= 16
-I- MEDSdcard init
-I- Copy "appli.bin" from SdCard to 0x70000000

{... перезагрузка ...}


Подозреваю, что-то неверно в подключении памяти к процессору??
Кто хорошо разбирается подскажите, пожалуйста...

DDR2_D(0..15) -> DQ(0..15)

DDR2_A(0..12) -> A(0..12)
DDR2_A13 -> BA0 (сейчас сделано: GND -> BA0)
DDR2_BA0 -> BA1
DDR2_BA1 -> BA2

DDR2_DQM0 -> LDM
DDR2_DQM1 -> UDM

DDR2_DQS0 -> LDQS
DDR2_DQS1 -> UDQS

DDR2_RAS -> RAS#
DDR2_CAS -> CAS#
DDR2_WE -> WE#

DDR2_CLK -> CK
DDR2_NCLK -> CK#

DDR2_CKE -> CKE
DDR2_CS -> CS#

GND -> VSS, VSSQ, VSSDL, ODT
+1.8V -> VDD, VDDQ, VDDL
+0.9V -> VREF
Viktor_Spb
Проблема была в правильности подключении DDR2_BA0, DDR2_BA1:

должно быть DDR2_BA0 -> BA0, DDR2_BA1 -> BA1
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.