Перейти к содержанию
    

SAM9G45 + DDR2

Добрый день!

 

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

 

При подключении к плате через SAM-BA выводится сообщение:

External RAM initialization failed. External RAM access is required to run applets. Continue?

 

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

 

module_9g45.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

 

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

 

При подключении к плате через SAM-BA выводится сообщение:

External RAM initialization failed. External RAM access is required to run applets. Continue?

 

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

 

module_9g45.pdf

 

Опору DDR_VREF кто формирует? Хорошо бы добавить емкость на выв. A16/DD1:4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> Опору DDR_VREF кто формирует?

 

Схема питания:

post-73881-1390456997_thumb.jpg

 

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

 

Разводка сделана заново, собственна, как и схема нарисованна собственными силами.

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

Вот, собственно, оригинальная схема:

 

SAM9G45_Board_Schematic.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> Опору DDR_VREF кто формирует?

 

Схема питания:

post-73881-1390456997_thumb.jpg

 

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

 

Разводка сделана заново, собственна, как и схема нарисованна собственными силами.

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

Вот, собственно, оригинальная схема:

 

SAM9G45_Board_Schematic.pdf

 

1. Компоненты C5,C12,R8,R9 должны стоять на минимальном расстоянии от выв.J2/D3. Реальное их расположение по имеющейся топологии разобрать не смог.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Компоненты C5,C12,R8,R9 должны стоять на минимальном расстоянии от выв.J2/D3. Реальное их расположение по имеющейся топологии разобрать не смог.

 

post-73881-1390468485_thumb.jpg post-73881-1390468499_thumb.jpg post-73881-1390469716_thumb.jpg

 

Компоненты 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. Не очень в них уверен...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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. На время выбора адреса номер банка изменяться не может.

4542Gb_DDR2.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По топологии и пульсациям вопросы снимаются. Ошибка, похоже, в схемотехнике. В схеме 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. Возможно написал какую-то глупость.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По топологии и пульсациям вопросы снимаются. Ошибка, похоже, в схемотехнике. В схеме 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. Возможно написал какую-то глупость.

 

Да, может получиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, может получиться.

 

Не очень помогло! Не заработало :(

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

помыть никогда не вредно - проверьте в доках можно ли мыть кварцы и катушки в УЗ..

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

по монтажке, на мой вкус, от PMIC до катушек и далее проводники (а лучше полигоны) пожирнее и via по питанию, как минимум дублировать..

шарик gndosc на землю прибит?

 

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

на сайте Атмела раздают devpack софта (под keil, iar и gcc), там есть исходники бутлоадера, на его основе можно на асме написать несложную софтину для запуска из SRAM.. посредством которой потестировать железо..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не очень помогло! Не заработало :(

 

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

 

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

 

Если не поможет:

- проверить по топологии подачу эл.питания;

- заменить кварц на генератор;

- проверить в софте по фактическому состоянию регистров тайминги DDR2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже дело всё-таки не в промывке плат. Попробовал 4 экземпляра на всех одинаковые проблемы.

SAM-BA выдаёт: External RAM initialization failed. External RAM access is required to run applets. Continue?

 

Загружаюсь на плате с SD-карты, использую скомпилированный bootstrap (компилятор Keil) из комплекта SK-9G45-OEM

bootstrap.rar

... процессор перезагружается после попытки обращения к 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема была в правильности подключении DDR2_BA0, DDR2_BA1:

 

должно быть DDR2_BA0 -> BA0, DDR2_BA1 -> BA1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...