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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Проблемы с DDR
juvf
сообщение Dec 9 2012, 07:00
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Собрал проект NIOS II + DDRII. На опытных экземплярах ни каких нариканий на работу DDR не было. Запустили серию. В 10 из 20 плат не работает DDR. Непропаи отмели, смотрели ренгеном.
Стоит два чипа mocron MT47H32M16HR-3 I, у каждого шина данных 16 бит. две микросхемы образуют 32-х битную шину данных. Собрал проект хеловорд в котором заюзал только одну микросхему ддр - работает. Собрал другой хеловорд в котором заюзал др мк/с - работает. .......... собрал рабочий проект, в котором использовал только одну микросхему - неработает.
Думаю, что проблемы с настройками тайменгов в QSys-t в настройках параметров контроллера DDR. там сотня всяких тайменгов. с даташита акуратно указал все времена - неработает. На половине плат всё работает, на половине плат нет. Причем на некоторых нерабочих платах иногда запускается ддр. Т.е. включаю плату - и вижу, все работает, ддр живет, программа работает. выключаю, включаю - и всё(((( неработает, конфигурация в плис грузится, но программа, которая распологается в ддр не работает. Получается что иногда контроллер ддр запускается и исправно работает, а иногда какая нибудь синхронизация у него сдвигается и в фазу не попадает чтоли, и не работает.

Скорее всего нужно какое-нибудь нужное время проставить в контроллере ДДР. но какое? как можно проанализировать контроллер ддр и что у него не работает?

ps Можно конечно социлом встать на ножки ддр и тачего глянуть. Но что смотреть?
Go to the top of the page
 
+Quote Post
aabmail
сообщение Dec 9 2012, 19:50
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 4-06-08
Из: Москва
Пользователь №: 38 056



На какой частоте работает DDR2 на вашей плате?
Проходит ли тест памяти в bootloader? Если нет, то есть ли какие-нибудь закономерности в искажении данных?
Смотрели ли вы осциллографом signal integrity?
Go to the top of the page
 
+Quote Post
juvf
сообщение Dec 10 2012, 05:00
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



DDRII работает на 150 МГц. Пробовал на 125 - не помогло. Нет, в бутлоадаре тест не проходит. В бытлоадаре вообще нету обращения к ддр. как будьто микросхемы сняты.

Цитата
Смотрели ли вы осциллографом signal integrity?
А это как? Смотрел склоки - нормальные. написал тестовый проект в котором по всем линиям ддр пустил бегущую "1" - все проводники нормальные.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 10 2012, 05:11
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
Стоит два чипа mocron MT47H32M16HR-3 I, у каждого шина данных 16 бит. две микросхемы образуют 32-х битную шину данных.

Это как с точки зрения схемы - шины данных раздельные, всё остальное общее? Или как-то по-другому.
Go to the top of the page
 
+Quote Post
juvf
сообщение Dec 10 2012, 05:44
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(Koluchiy @ Dec 10 2012, 11:11) *
Это как с точки зрения схемы - шины данных раздельные, всё остальное общее? Или как-то по-другому.

общее адрес и управление. раздельные данные.
Go to the top of the page
 
+Quote Post
vars
сообщение Dec 10 2012, 07:53
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 14-05-09
Пользователь №: 49 060



Когда при включении то работает, то не работает, то стоит обратить внимание на сигнал reset, который подаётся на контроллер. Может быть, нужно держать контроллер в сбросе подольше при вкл. питания, пока питание на м/с памяти не придёт в норму.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 10 2012, 08:17
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Я бы предположил, что какие-то баги с калибровкой.
Go to the top of the page
 
+Quote Post
Wic
сообщение Dec 10 2012, 08:46
Сообщение #8


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

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Цитата(vars @ Dec 10 2012, 14:53) *
Когда при включении то работает, то не работает, то стоит обратить внимание на сигнал reset, который подаётся на контроллер. Может быть, нужно держать контроллер в сбросе подольше при вкл. питания, пока питание на м/с памяти не придёт в норму.

Или просто перезалить проект при уже включенном питании. Если помогло значит слишком рано начинает контроллер с памятью общаться.
Я бы урезал рабочий проект до контроллера ддр + проц и пытался стартовать его. Возможно тайминги немного плывут, тут как вариант ужесточить требования по времени.
Go to the top of the page
 
+Quote Post
juvf
сообщение Dec 10 2012, 09:14
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(Wic @ Dec 10 2012, 14:46) *
Или просто перезалить проект при уже включенном питании. Если помогло значит слишком рано начинает контроллер с памятью общаться.
Я бы урезал рабочий проект до контроллера ддр + проц и пытался стартовать его. Возможно тайминги немного плывут, тут как вариант ужесточить требования по времени.

Ресет после включения держу достаточно долго. потому как перестраиваюися внешний клокдестебъютер. После перестройки нужно ждать пока устаканится частота. Ресет держу порядра 2-х сек. Частота устаканивается после включения ...... ну на глаз по осцылу - мгновенно. запас ресета по временни огромный.

Цитата
проект до контроллера ддр
урезал с одной ддр. Работает. С одной ддр полный проект не работает.


вот ещё мысль: ресет общий. и для контроллера ддр и для ядра ниоса. т.е. после включения через 2 сек ресет снимается. Может нужно сначало снять ресет с ддр, потом с ядра?
Go to the top of the page
 
+Quote Post
juvf
сообщение Dec 11 2012, 10:12
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



РЕШИЛ ПРОБЛЕМУ 08.gif

На микросхеме ддр есть вход ODT (управление терминирующими резисторами). Этот вход я подключил к выходу контроллера ДДР - ODT (как в китах). При таком подключении на половине плат память не запускалась. В проекте квартуса отключил ODT от контроллера и подключил в Vcc - все платы запустились.
Go to the top of the page
 
+Quote Post
Wic
сообщение Dec 12 2012, 06:18
Сообщение #11


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

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Чисто ради интереса, не пробовали смотреть разницу в поведение сигнала на этом входе когда платы запускаются и когда не запускаются?
Go to the top of the page
 
+Quote Post
juvf
сообщение Dec 12 2012, 14:42
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(Wic @ Dec 12 2012, 12:18) *
Чисто ради интереса, не пробовали смотреть разницу в поведение сигнала на этом входе когда платы запускаются и когда не запускаются?

Смотрел. Одинаковое повидение.

На циклоне3 нету терменирующих резисторов. Я так понял что при передачи данных контроллер ДДР сигналом ОДТ включает терминирующие резисторы в мкс.памяти. При получении данных одт снимается и резисторы внутри памяти отключаются. Тут какбы источник сигнала память, поэтому терминатор должен стоять в плис. Но в плис нету терминирующих резисторов. Подключив ОДТ к Vcc я включил терминирующие резисторы в памяти постоянно. Когда шину QD захватывает плис - то всё нормально, в конце линии терминаторы. А когда шину QD захватывает память, то терминаторы должны стоять в плис (конец линии теперь плис), но они у меня остаются в памяти. Т.е. шина QD всегда затерминирована со стороны памяти. Это конечно не гуд, но для коротких линий прокатывает.

А почему то работало то неработало, да ещё на половине плат всегда работало? ну наверно в этих платах фортануло. И без терминаторов шина QD как то умудрялась работать, но наверно работала на грани фола.
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Dec 12 2012, 19:21
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



А разве резисторы PUP, PDN - 50 Ом не для терминации подключаются на специальные ноги ПЛИС?
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 13 2012, 04:43
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Думаю, что надо почитать про то, какие настройки контроллера рекомендуются для Вашей памяти.
Go to the top of the page
 
+Quote Post
juvf
сообщение Dec 13 2012, 05:41
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(gosu-art @ Dec 13 2012, 01:21) *
А разве резисторы PUP, PDN - 50 Ом не для терминации подключаются на специальные ноги ПЛИС?

Какие резисторы? я внешними резисторами терминировал шину адреса и шину управления. а на шине данных должна быть динамическая терминация. то со стороны плис, то со стороны памяти. в плисе в цыклоне нету таких резиторов (в стратиксе вроде есть). может в цыклоне внешние куда подключать? но куда? и это как, 32 внешних резистора на 32 дополнительных пина?

Цитата
Думаю, что надо почитать про то, какие настройки контроллера рекомендуются для Вашей памяти.
Я тоже так думал. перекурил кучу док по ддр и по плис, по контроллеру..... В Qsys пожно установить конкретный чип памяти и все настройки высталяются автоматом для этого чипа. Конкретно мой чип в списке в Qsys есть. Я его выбирал. Потом сверял полученные настройки с даташитом на память: ноздря в наздрю - Неработает. Это что касается настроек времянок. Но там в контроллере есть настройки тиипа Разрешить автоРефреш и т.п. Там галок не много - перепробовал все варианты - Неработает. Если есть опыт и вы знаете как запустить динамическую терминацию на цыклоне - поделитесь.
Go to the top of the page
 
+Quote Post

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

 


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


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