МАРСОХОД

Open Source Hardware Project

Проекты Altera Quartus II для платы Марсоход2

Тест SDRAM или "Фреймбуффер2"

matras в динамической памяти

Плата Марсоход2 гораздо сложнее нашей первой платы, и прежде чем начинать с ней работу, хорошо бы убедиться в работоспособности всех ее узлов. Значительную их часть можно протестировать с помощью
нашего первого проекта. Это : программатор, тактовый генератор, кнопки, светодиоды, связь с компьютером через COM-порт и VGA интерфейс.

Теперь мы будем тестировать еще один важный компонент платы Марсоход2 - динамическое ОЗУ (SDR SDRAM MT48LC4M16A2).

Описание микросхемы памяти:

. Оно имеет объем в общей сложности 8 Мбайт.

За основу мы взяли проект "Фреймбуффер" для первой платы Марсоход, в котором уже использовалась подобная микросхема. Проект выполнен в среде Altera Quartus II.

Проект представляет собой простенький видеоадаптер с разрешением 1280х800, в котором, в качестве фреймбуфера, используется целиком один из 4х банков нашей микросхемы. Кроме того, в него внесено нескольно несложных изменений:

  • увеличено количество бит на пиксел. В старом проекте было всего 3, мы увеличили до 16 (HI-COLOR).
  • линии адресации банков (BA0,BA1) подключены к кнопкам, чтобы иметь возможность протестировать всю емкость ОЗУ.
  • изменен интерфейс с компьютером. Теперь в COM-порт можно копировать обычные 24х-битные *.BMP  файлы с разрешением 1280х800.

В папке CODE в проекте есть четыре таких файла, и четыре BAT-файла,
чтобы было проще их копировать в COM-порт :


mode com4 baud=12000000 data=8
copy net.bmp /b com4


Проект можно скачать вот здесь:

В марте 2014 проект был немного улучшен (теперь микросхема SDRAM программируется только однажды в самом начале работы проекта в ПЛИС):

Сама процедура тестов выглядит следующим образом:



Сразу после загрузки проекта, на экране должен появится "матрас" как на первой картинке - это данные ОЗУ после подачи питания. Главное, на что нужнно обратить внимание, ни одна точка на экране не должна "шевилиться". Это тест на чтение, все данные выводятся на экран 60 раз в секунду, и каждый раз они должны быть одинаковыми.

Далее, можно запустить один из BAT-файлов, для проверки ОЗУ на запись.

Картинка должна быть без искажений и артефактов.
Нажимая на кнопки KEY0, KEY1 или на обе сразу, можно аналогичным образом проверить все остальные банки.

НЮАНС: В проекте не предусмотрена регенерация, поэтому если долго не переключать на "фоновые" банки, информация в них начнет по-немногу разрушаться.

Комментарии  

0 #13 Ю р и й 15.10.2014 09:30
Цитирую atten:
Скажите пожалуйста, а сколько в слайсах "весит" вообщем драйвер SDRAM?

Конкретно за "драйвер" не скажу,
а весь проект занимает 433 LE.
0 #12 atten 14.10.2014 16:21
Скажите пожалуйста, а сколько в слайсах "весит" вообщем драйвер SDRAM?
0 #11 Ю р и й 06.10.2014 07:47
Цитирую tfwbbt:
Цитирую Ю р и й:
Цитирую tfwbbt:

Как это у вас вообще работает? :lol:


ftp://ftp.cs.nctu.edu.tw/pub/csie/Software/X11/private/VeSaSpEcS/VESA_Document_Center_Monitor_Interface/DMTv1r11.pdf
Режим - Reduced Blanking


Оу. Оказывается существуют и такие режимы.
Спасибо.
Поторопился, стыдно :oops:

Изначально проект делался под TFT-панель, которой нужен был именно этот режим.
Когда переделал для VGA, заработало на первом попавшемся мониторе - я и не стал ничего менять.
0 #10 tfwbbt 03.10.2014 17:46
Цитирую Ю р и й:
Цитирую tfwbbt:

Как это у вас вообще работает? :lol:


ftp://ftp.cs.nctu.edu.tw/pub/csie/Software/X11/private/VeSaSpEcS/VESA_Document_Center_Monitor_Interface/DMTv1r11.pdf
Режим - Reduced Blanking


Оу. Оказывается существуют и такие режимы.
Спасибо.
Поторопился, стыдно :oops:
0 #9 Ю р и й 03.10.2014 10:36
Цитирую tfwbbt:

Как это у вас вообще работает? :lol:


ftp://ftp.cs.nctu.edu.tw/pub/csie/Software/X11/private/VeSaSpEcS/VESA_Document_Center_Monitor_Interface/DMTv1r11.pdf
Режим - Reduced Blanking
0 #8 tfwbbt 03.10.2014 09:09
Кхм.
Частота кварца 100МГц.
ФАПЧ 36\25, значит clk 144МГц.
Блок mem_cntrl формирует с помощью счетчика частоты clk деленные на 2, 4, 8, 16 и 32 (сигналы c[4..0] на общей схеме.
Блок s1280x800_5 формирует в том числе синхросигналы VGA, при этом тактируется от c[4], т.е. частотой 144МГц / 32 = 4.5МГц. При этом для указанного разрешения нужна пиксельная частота 83.46МГц. Ну ок, мб это такой аналог чересстрочной развертки, только по горизонтали. Внутри блока есть счетчик inst4, он для формирования развертки по горизонтали, и он по модулю 90, его период 90/4.5e6 = 20мкс, что в принципе похоже. Начинаем смотреть другие интервалы - на данные у вас неизвестное кол-во тактов с[4], на синхросигнал 2 такта (0.44мкс против требуемых 1.63мкс, ну пофиг, длительность синхросигнала может быть и короче), на back porch что-то около 7 тактов (и это 1.55мкс, когда по стандарту требуется 2.4мкс, что уже удивляет сильнее).

Как это у вас вообще работает? :lol:
0 #7 test1257 10.11.2013 14:02
Все жду недождусь, а будет в этом проекте модифицирован контроллер SDRAM до полноценного с поддержкой рефреша... ау разработчики!!! пытаюсь сделать сам но пока знаний маловато...
0 #6 Alexander S 03.07.2013 18:17
Можно ли как-то симулировать .bdf файлы?

При использовании встроенного симулятора, открывается окно и сразу же закрывается. Как быть?
0 #5 М. Сергей 23.05.2013 09:12
Разрушение данных в памяти было бы интересно понаблюдать, это будет случайный процесс или начнется с самой слабой области, как зависит от температуры, в морозилке должны данные дольше жить )
0 #4 Impartial 31.03.2013 08:56
А почему Вы не использовали сериализатор LVDS из стандартной библиотеки Квартус?
+1 #3 Mirmik 26.09.2012 20:16
Проблема более неактуальна.

Оказывается Виндоус не воспринимает порты выше 10 как порты, а воспринимает их как файлы. Переназначил порты, изображение передалось... Правда, почему-то с красными полосами... Но это уже мелочи...
0 #2 Mirmik 26.09.2012 19:28
Судя по логу, составленному программой Free Serial Monitor, программа mode открывает порт, но никакой информации через него не идет. Пробовал снижать скорость... Данные не уходят :(...
0 #1 Mirmik 26.09.2012 18:45
:sad:

Пришла плата. Пасибки.
Первый тест прошла как надо... Кнопки, светодиоды, программатор, ком порт работают...

Но здесь, со вторым тестом, возникли траблы. (Похоже, что не с платой... А я просто что-то криво делаю.)

В общем, симптомы такие.

После загрузки проекта картина такая http://img-fotki.yandex.ru/get/6510/10410168.0/0_8594e_e5fade8f_XL

Вместо вертикальных полос, как на видео здесь есть еще и горизонтальные. .. Но это четверть беды.

Беда в том, что изображение никак не реагирует на bat файлы.

com порты у меня определились как 14-ый и 15-ый...

Путем подставление номеров портов в батник

mode com14 baud=12000000 data=8
copy net.bmp /b com14

***

mode com15 baud=12000000 data=8
copy net.bmp /b com15

пробовал передавать по обоим...

Ноль реакции.

Прошу помощи.

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Проекты Проект Марсоход2 Тест SDRAM или "Фреймбуффер2"