МАРСОХОД

Open Source Hardware Project

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

Первый проект для платы Марсоход2

Монитор, подключенный к плате Марсоход2

Этот проект возможно будет самым простым для нашей платы Марсоход2.
Он реализует несколько несложных функций, с которыми каждый разработчик, даже начинающий, сможет легко разобраться.
Для чего нужен этот проект (проект выполнен в среде Altera Quartus II).

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

Пожалуйста обратите внимание, что некоторые пины в чипе Cyclone III имеют двойное назначение. Чтобы их можно было использовать как обычные I/O нужно поставить соответствующие опции в диалоге Device and Pin Options.

Наоборот - если понадобится специальное применение этих пинов, то нужно менять эти опции.
Например, контакт DCLK может использоваться для конфигурирования ПЛИС из внешней конфигурирующей флеш памяти, или может использоваться, как обычный пин I/O.
Это диалоговое окно можно увидеть через команды меню Assignments => Device. Далее в диалоговом окне - кнопка Device and Pin Options.

Итак, все важные назначения уже сделаны (они хранятся в файле cyclone.qsf). Когда будем создавать новые проекты, будем просто копировать проект этот в новую папку и модифицировать его.

Во-вторых, для начала работы всегда нужен самый простой проект.
Нужно что-то вроде традиционного для языка C проекта "Hello, World!". У нас здесь, конечно не язык C, но первый пример, конечно, должен быть простой.

Так вот, этот проект содержит три весьма простых составных части.

Первая часть - счетчик.

Двоичный счетчик в проекта Altera Quartus II

Входной сигнал тактовой частоты CLK100MHZ подается на 32-х битный двоичный счетчик LPM_COUNTER, где происходит деление тактовой частоты. Входные сигналы от двух кнопочек платы KEY0 и KEY1 подаются соответственно на асинхронный сброс aclr и разрешение счета cnt_en счетчика LPM_COUNTER. Только четыре выхода счетчика q[25..22] подаются на выходы LED[3..0] проекта и соответственно на светодиоды платы.

Таким образом, после загрузки проекта в ПЛИС, светодиоды платы начинают мигать согласно счету.
При этом, плата реагирует на нажатие кнопочек: счет обнуляется или останавливается, в зависимости какую кнопку нажмешь.

Вторая часть проекта - loopback последовательного порта.

Loopback последовательного порта в проекта Altera Quartus II

На плате Марсоход2 установлен программатор MBFTDI, построенный на микросхеме FTDI FT2232H. Микросхема имеет 2 канала: интерфейс А и интерфейс В. Интерфейс А используется под JTAG, через него идет программирование платы, загрузка проекта в ПЛИС и отладка. Интерфейс В может использоваться различными способами (в зависимости как запрограммирована микросхема FTDI).

Самый простой способ использования - как последовательный порт (виртуальый последовательный порт через USB). В этом случае контакты в нашем проекте FTDI_BD0 и FTDI_BD1 служат сигналами последовательного порта RX и TX. Так вот, в этом простом проекте я просто соединяю их проводом и это все. Все принятые данные тут же отправляются назад.

PUTTY

Когда плата Марсоход2 подключена к компьютеру и драйвера FTDI установлены в диспетчере устройств видны 2 COM порта. Второй COM порт можно открыть с помощью какого нибудь терминала, вроде PUTTY и пробовать набирать к консоли символы. Они будут отправляться в плату и возвращаться из нее назад, появляясь напечатанными уже в консоли терминала.

Это - основа всех проектов, которым нужны связь с компьютером, через последовательный порт.

Третья часть - видео синхрогенератор.

Я написал на Verilog простой модуль hvsync, который выдает сигналы синхронизации VGA_HSYNC, VGA_VSYNC для VGA и собственно видео сигналы красный VGA_R, зеленый VGA_G, синий VGA_B, которые рисуют вертикальные цветные полосы на экране.

Параметры видеосигнала соответствуют стандартному видеорежиму 1440x900 60Hz.
Для этого видеорежима нужна специальная тактовая частота 106,5Mhz, которой изначально на плате нет - есть только генератор 100Мгц. К счастью, в FPGA Cyclone III есть специальные встроенные компоненты - PLL (Phase Lock Loop). Их в нашей микросхеме два.

PLL - это управляемый настраиваемый генератор. Он позволяет нам задать для исходной частоты два коэффициента: умножитель и делитель. Так вот, я создал для своего проекта компонент PLL с коэффициентами умножения 213 и деления 200!!! Получилась заветная 106,5Mhz частота, нужная для режима монитора 1440x900 60Hz.

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

Вот так выглядят полосы на экране монитора:

полосы на экране монитора - синтезировано в проекте Altera Quartus II

Преобразование из цифры в аналоговый сигнал делается установленными на плате R2R преобразователями. Для небольшой разрядности преобразователей аналоговый сигнал получается достаточно качественный. Об этом можно судить по плавным переходам вертикальных полос на экране монитора.

Итак, для загрузки откомпилированного проекта в плату ничего на не нужно, кроме самой платы, подключенной к ПК. Программатор MBFTDI у нее уже на борту.

Откомпилированная программа занимает почти ничего в ПЛИС (меньше одного процента!):

Altera Quartus II Report Status

Значит у нас еще много осталось места в чипе для творчества.

Весь проект Quartus II для платы Марсоход2 можно скачать:

 

Комментарии  

+2 #56 Ю р и й 28.09.2016 13:04
Обязательно подключать к земле.
+1 #55 Илья Копарниев 28.09.2016 12:34
Здравствуйте.
У микросхемы с платы Марсход2 EP3C10 в TQFP144 корпусе снизу этого корпуса есть металлический контакт (5мм на 5мм примерно). Куда его нужно подключать? Что-то нигде не могу найти эту информацию. Спасибо.
+1 #54 nckm 29.03.2016 06:08
Цитирую aquaratixc:
Здравствуйте, уважаемые разработчики Марсохода II )) У меня к вам интересный вопрос: есть ли какие нибудь схемы для защиты выводов ПЛИС ?
Дело в том, что я слегка побаиваюсь убить плату неверным подключением или подключением слишком мощной нагрузки, и я прошу вас подсказать, как можно сделать защиту от выхода из строя ?


на всех сигналах микросхем последовательно стоят резисторы. Это должно уберечь плату от непреднамеренно го замыкания выводов и сильных токов. Спалить плату конечно можно, но это нужно постараться.
+1 #53 aquaratixc 25.03.2016 19:13
Здравствуйте, уважаемые разработчики Марсохода II )) У меня к вам интересный вопрос: есть ли какие нибудь схемы для защиты выводов ПЛИС ?
Дело в том, что я слегка побаиваюсь убить плату неверным подключением или подключением слишком мощной нагрузки, и я прошу вас подсказать, как можно сделать защиту от выхода из строя ?
+1 #52 Дима 12.02.2016 14:45
Dmitro00
В данном случае конденсаторы на 1u по питанию, немного сглаживают колебания. Cyclone сама по себе не капризная и при питании от USB компьютера через линейный преобразователь можно обойтись и без этих конденсаторов. У Alter`ы есть программки в excel для подбора конденсаторов. Но если Вы самостоятельно не собираетесь разводить платы, эти знания Вам не нужны. Обратите больше внимания на внутренности самой ПЛИС.
+1 #51 Dmitro00 12.02.2016 14:27
Дима, действительно.
Процитировал то, как они обозначены на схеме в pdf'ке.
Какую в принципе функцию они выполняют?
Я, пока, увы, далек от этого и разбираю назначения каждого компонента используемого в марсоходе2
+2 #50 Дима 12.02.2016 04:25
Dmitro00 12.02.2016 03:25
Глупый вопрос.
Зачем столько 1Mf кондеров в марсоход2?

Вопрос действительно так себе. Во-первых, Вы написали один Мега фарад (1Mf), а нужно одни микро Фарад (uF), обязательно с большой буквы, ведь это от фамилии ученого! И нужны они их столько, потому что пинов питания еще больше!
+1 #49 Dmitro00 12.02.2016 03:25
Глупый вопрос.
Зачем столько 1Mf кондеров в марсоход2?
+1 #48 Дима 14.10.2015 19:30
А в чем вопрос то?
+1 #47 Nikolay 13.10.2015 18:43
Доброго времени суток! Относительно недавно приобрел плату Марсоход 2. С программировани ем подобного рода раньше не сталкивался, поэтому мой вопрос, скорее всего, покажется глупым, но все же.
В первом блоке always строка: hsync
+1 #46 Nikolay 13.10.2015 18:38
Доброго времени суток! Относительно недавно приобрел плату Марсоход 2. С программировани ем подобного рода раньше не сталкивался, поэтому мой вопрос, скорее всего, покажется глупым, но все же.

В первом блоке always строка: hsync
+1 #45 WolfTheGrey 13.04.2015 22:30
Цитирую nckm:

потому что шина данных двунаправленная,

А на моей плате с циклоном 4 нет этих резисторов.
Сгорит чип?
+1 #44 Дима 11.11.2014 18:45
Спасибо большое за ответ. Можете посоветовать какую-нибудь литературу именно по проектированию схем с ПЛИС и другими цифровыми устройствами?
+2 #43 nckm 11.11.2014 05:11
Цитирую Дима:
Здравствуйте. У вас на плате Марсоход2 вся шина данных SDRAM подключена через резисторы 82 Ома. Для чего так сделано? Почему адресная шина подключена без них?

потому что шина данных двунаправленная , этими линиями будут управлять и плис и sdram и управлять они должны по очереди согласно спецификации sdram. При непреднамеренно й ошибке в проекте в плис данные могут быть выставлены одновременно с данными идущими от sdram и это будет не хорошо, сигналы конфликтуют. Вот эти резисторы на шине данных будут ограничивать ток в случае конфликта на шине.
+1 #42 Дима 10.11.2014 19:55
Здравствуйте. У вас на плате Марсоход2 вся шина данных SDRAM подключена через резисторы 82 Ома. Для чего так сделано? Почему адресная шина подключена без них?
+1 #41 Лефтерис 20.06.2014 10:15
Цитирую Лефтерис:
Цитирую Лефтерис:
Здравствуйте! По поводу lockback последовательного порта. У меня данные возвращаются вместе FA (hex) в начале. Что это могло бы значить?


Поправка loopback))

Все нормально. Нашел ошибку)
0 #40 Лефтерис 20.06.2014 09:57
Цитирую Лефтерис:
Здравствуйте! По поводу lockback последовательного порта. У меня данные возвращаются вместе FA (hex) в начале. Что это могло бы значить?


Поправка loopback))
+1 #39 Лефтерис 20.06.2014 09:55
Здравствуйте! По поводу lockback последовательно го порта. У меня данные возвращаются вместе FA (hex) в начале. Что это могло бы значить?
+1 #38 Andrey 30.03.2014 16:19
Цитирую Andrey:
Подскажите пожалуйста, какие параметры необходимо поменять в модуле hvsync, чтобы выставить разрешение 1024х768х60Hz ? Да, частота кот. поступает на этот блок в таком режиме должна быть 65,0 МГц

Отвечу сам себе :) Необходимо поменять параметры модуля hvsync в соответствии с документом "VESA and Industry Standards and Guidelines
for Computer Display Monitor Timing" (гуглится). К тому же, необходимо проинвертироват ь сигналы HSYNC, VSYNC (я это сделал после модуля hvsync).
+1 #37 Andrey 30.03.2014 10:29
Подскажите пожалуйста, какие параметры необходимо поменять в модуле hvsync, чтобы выставить разрешение 1024х768х60Hz ? Да, частота кот. поступает на этот блок в таком режиме должна быть 65,0 МГц
+1 #36 nckm 24.01.2014 07:48
Цитирую Илья86:
Николай, я выставил в меню Dual-Purpose Pins все пины как Use as regular I/O, у вас в проекте также. Теперь при компиляции появляются следующие ошибки:

Error (176208): Design has 94 pins, but Fitter can't place 3 pins
Error (176210): Can't place pin ADC_D[0] with I/O standard 2.5 V, Termination setting Off, and PCI I/O setting on due to device constraints
Error (176207): Can't place pin ADC_D[0] in I/O bank 1 due to the following reasons
Error (169187): Following feature(s) of I/O pin ADC_D[0] has invalid setting(s) in the configuration scheme ACTIVE_SERIAL when the pin is placed at pin location 6

попробуйте сравнить текстовые файлы *.QSF (quartus settings file) нашего и вашего проекта
- наверняка найдете отличия в настройках проекта, которые влияют на компиляцию
+1 #35 Илья86 22.01.2014 19:03
Николай, я выставил в меню Dual-Purpose Pins все пины как Use as regular I/O, у вас в проекте также. Теперь при компиляции появляются следующие ошибки:

Error (176208): Design has 94 pins, but Fitter can't place 3 pins
Error (176210): Can't place pin ADC_D[0] with I/O standard 2.5 V, Termination setting Off, and PCI I/O setting on due to device constraints
Error (176207): Can't place pin ADC_D[0] in I/O bank 1 due to the following reasons
Error (169187): Following feature(s) of I/O pin ADC_D[0] has invalid setting(s) in the configuration scheme ACTIVE_SERIAL when the pin is placed at pin location 6
+1 #34 nckm 14.01.2014 04:41
Цитирую Илья86:
Цитирую Дима:
Я скачал этот проект, у меня откомпилировалось без ошибок. Похоже ему не хватает свободных пинов. Проверьте, правильно ли выбран кристалл, должен быть или EP3C5, или EP3C10.

У меня тоже нет ошибок в скаченном проекте. Ошибка возникла при самостоятельном его повторении. Кристалл выбран правильно, перепроверял несколько раз, все пины пересчитал. Попробую заново переделать проект, может поможет. Спасибо за помощь :-)


некоторые пины в кристалле двойного назначения. Может в этом дело?
Посмотрите в Assignments => Device.
В диалоговом окне кнопка Device and Pin options и в новом окне: Dual Purpose Pins.
+1 #33 Илья86 13.01.2014 19:14
Цитирую Дима:
Я скачал этот проект, у меня откомпилировалось без ошибок. Похоже ему не хватает свободных пинов. Проверьте, правильно ли выбран кристалл, должен быть или EP3C5, или EP3C10.

У меня тоже нет ошибок в скаченном проекте. Ошибка возникла при самостоятельном его повторении. Кристалл выбран правильно, перепроверял несколько раз, все пины пересчитал. Попробую заново переделать проект, может поможет. Спасибо за помощь :-)
+1 #32 Дима 13.01.2014 18:47
Я скачал этот проект, у меня откомпилировало сь без ошибок. Похоже ему не хватает свободных пинов. Проверьте, правильно ли выбран кристалл, должен быть или EP3C5, или EP3C10.
+1 #31 Илья86 13.01.2014 18:26
Дмитрий, эта ошибка возникает при первой компиляции, т.е. пины я ещё не назначал.
+1 #30 Дима 13.01.2014 14:37
Цитирую Илья86:
Здравствуйте! Повторил этот проект, но при компиляции появляются следующие ошибки:
Error (176205): Can't place 92 pins with 2.5 V I/O standard because Fitter has only 88 such free pins available for general purpose I/O placement
Error (176204): Can't place pins due to device constraints
Error (171000): Can't fit design in device

Подскажите, что не так, я уже всё перепроверил, может что-то в настройках пинов?


Похоже вы подключили 92 пин, а он является служебным (Conf_Done), не предназначен для ввода/вывода (I/O).
+1 #29 Илья86 12.01.2014 21:20
Здравствуйте! Повторил этот проект, но при компиляции появляются следующие ошибки:
Error (176205): Can't place 92 pins with 2.5 V I/O standard because Fitter has only 88 such free pins available for general purpose I/O placement
Error (176204): Can't place pins due to device constraints
Error (171000): Can't fit design in device

Подскажите, что не так, я уже всё перепроверил, может что-то в настройках пинов?
+1 #28 reklouzer 30.09.2013 04:37
Как задействовать встроенные PLL, блоки памяти, умножители без использования мегафункций? Через соединения в Assignment Editor? Создавал массивы памяти, по структуре соответствующие RAM и ROM, но Квартус размещает их в регистрах.
+1 #27 Falcon 22.08.2013 12:50
Контакт FTDI_BD3 должен быть выходом!
+2 #26 KLL 30.05.2013 19:16
Сделайте, пожалуйста, марсоход 3 с Zynq-7000
+1 #25 Дмитрий 08.05.2013 20:43
Цитирую reklouzer:
Хочется превратить данную плату в самостоятельный прибор с собственным дисплеем, ПЗУ, питанием, и устройством ввода (клавиатурой). Обращаюсь к разработчикам - Поскорее разработайте дополнительные модули для платы.


Подключить дисплей, память и клавиатуру к Cyclone не проблема. Но я так понимаю, вам нужно устройство с уже готовой прошивкой.Через полгода планирую сделать подобное устройство. Если получиться и будел для вас еще актуально, обязательно поделюсь проектом.
+1 #24 reklouzer 07.05.2013 17:42
Вообще, может и за больше. Т.к. заинтересовался этим сильно. А на хобби денег не особо жалеют.
+1 #23 reklouzer 07.05.2013 17:33
Цитирую Дмитрий:

За сколько готовы купить подобное устройство?


Ну за 5-6 т.р. мог бы себе позволить.
+1 #22 Дмитрий 02.05.2013 12:06
Цитирую reklouzer:
Хочется превратить данную плату в самостоятельный прибор с собственным дисплеем, ПЗУ, питанием, и устройством ввода (клавиатурой). Обращаюсь к разработчикам - Поскорее разработайте дополнительные модули для платы.


За сколько готовы купить подобное устройство?
+1 #21 reklouzer 28.04.2013 05:01
Хочется превратить данную плату в самостоятельный прибор с собственным дисплеем, ПЗУ, питанием, и устройством ввода (клавиатурой). Обращаюсь к разработчикам - Поскорее разработайте дополнительные модули для платы.
+1 #20 svod 22.04.2013 17:45
добрый вечер!
может не совсем в этот раздел, но как первый запуск
пин 105 на плисе, не могу его перевести в 1 если в конфиге стоит use as programming pin, и не могу опустить в 0 если стоит use as regular I/O.
Подскажите плиз я уже спалил этот порт или, что то не так программирую? 101 работает нормально
+1 #19 nckma 24.02.2013 15:31
Цитирую Кирилл:
Здравствуйте.
Смотрю на плате стоит SDRAM+FPGA... Будет ли работать NIOS на этой плате? Может пробовали...?

NIOS не пробовали но наверное будет работать.
+1 #18 Кирилл 21.02.2013 19:40
Здравствуйте.
Смотрю на плате стоит SDRAM+FPGA... Будет ли работать NIOS на этой плате? Может пробовали...?
+1 #17 Дмитрий 15.02.2013 11:28
Здравствуйте. У Вас на плате установлена микросхема SDRAM. Если она энергоНезависим ая, то вопросов нет. Если она всеже энергоЗавивимая , то для каких целей она может использоваться?
+1 #16 Дмитрий 30.01.2013 19:07
Цитирую Pe3ucTop:
Цитирую Дмитрий:
Подскажите пожалуйста, как вы из LM1117 получили 1.2В?

Наверное у вас спецификация устаревшая, в последней на LM1117:
"Three Terminal Adjustable(ADJ) or Fixed 1.2V, 1.5V,
1.8V, 2.5V, 2.85V, 3.3V, 5.0V"
Отличия только в маркеровке элемента: LM1117-X.X , где X.X = Output Voltage = 1.2V, 1.5V, 1.8V, 2.5V, 2.85V, 3.3V, 5.0V


Если не сложно, дайте, пожалуйста, ссылку на источник и где можно купить.
+1 #15 Pe3ucTop 30.01.2013 09:20
Цитирую Дмитрий:
Подскажите пожалуйста, как вы из LM1117 получили 1.2В?

Наверное у вас спецификация устаревшая, в последней на LM1117:
"Three Terminal Adjustable(ADJ) or Fixed 1.2V, 1.5V,
1.8V, 2.5V, 2.85V, 3.3V, 5.0V"
Отличия только в маркеровке элемента: LM1117-X.X , где X.X = Output Voltage = 1.2V, 1.5V, 1.8V, 2.5V, 2.85V, 3.3V, 5.0V
+1 #14 Дмитрий 28.01.2013 17:18
Подскажите пожалуйста, как вы из LM1117 получили 1.2В?
+1 #13 Ю р и й 17.01.2013 06:34
Цитирую Дмитрий:
Покажите, пожалуйста, Марсоход 2 с обратной стороны.

С обратной стороны практически ничего нет - генегатор на 100м и пара десятков блокировочных конденцаторов.
Прошивка в циклоне после пропадания питания не сохраняется. Для ее хранения нужно отдельное ПЗУ. На самом Марсоходе2 она не предусмотрена, но обязательно будет на шилдах.
+1 #12 Дмитрий 17.01.2013 04:04
Покажите, пожалуйста, Марсоход 2 с обратной стороны.
+3 #11 Дмитрий 16.01.2013 17:33
Здравствуйте. При программировани и MAXII я прошивал его и эта прошивка сохранялась в нем пока не перешьешь, даже если отключить питание. Так ли дело обстоит с Cyclone? Или для сохранения прошивки после отключения питания ему нужна дополнительная память, из которой он будет каждый раз при включении загружать прошивку?
+3 #10 Ю р и й 27.11.2012 05:17
Цитирую Nikolay Pastushok:
Здравствуйте
Как обвязать чип Циклона-3 чтоб он нормально функционировал и был правильно подключен, я смотрел схему Вашей платы и еще нашел вот эту страничку http://forum.ixbt.com/topic.cgi?id=48:10175 . Ну и конечно же наткнулся на некоторые противоречия.
1 - в Марсоходе все подтяжки на 3.3в а по выше приведенной ссылке пишут что нужно на 2.5в.
2 - в Марсоходе программатор работает с Циклоном-3 при помощи 3.3 вольтовых уровней, а по ссылке указано что нужен программатор с уровнями 2.5в.
Вопрос, кто прав, Марсоход в своем схемотехническом решении (и почему), или ребята по выше приведеннй ссылке. Может правильны оба варианта. Мне тоже кажется решение с 3.3в проще и приятнее, но на "комфорт" чипа вынужден обращать внимание...

Если есть возможность, делайте уровни 2.5в, это будет правильнее :-) .
+1 #9 Nikolay Pastushok 25.11.2012 07:26
Здравствуйте
Появились вопросы собственно по железке (схемотехника) Марсохода 2.
Задаю здесь потому как на рекламной страничке платы нет почему-то возможности комментировать.
Как обвязать чип Циклона-3 чтоб он нормально функционировал и был правильно подключен, я смотрел схему Вашей платы и еще нашел вот эту страничку http://forum.ixbt.com/topic.cgi?id=48:10175 . Ну и конечно же наткнулся на некоторые противоречия.
1 - в Марсоходе все подтяжки на 3.3в а по выше приведенной ссылке пишут что нужно на 2.5в.
2 - в Марсоходе программатор работает с Циклоном-3 при помощи 3.3 вольтовых уровней, а по ссылке указано что нужен программатор с уровнями 2.5в.
Вопрос, кто прав, Марсоход в своем схемотехническо м решении (и почему), или ребята по выше приведеннй ссылке. Может правильны оба варианта. Мне тоже кажется решение с 3.3в проще и приятнее, но на "комфорт" чипа вынужден обращать внимание...
+1 #8 Nikolay Pastushok 20.11.2012 20:58
nckma и Ю р и й , огромное спасибо Вам за ответы.
На не отвеченные же вопросы исчерпывающие ответы нашол вот сдеся: https://marsohod.org/forum?option=com_kunena&func=view&catid=4&id=645&Itemid=2
Советую новичкам не тягаться с SDRAM, ибо она совсем уж не проста, даже сложная FPM-EDO-DRAM на много проще будет (ну это конечно же субъективное мнение)
+2 #7 Ю р и й 18.11.2012 06:22
Цитирую Nikolay Pastushok:
Здравствуйте Николай
У меня несколько вопросов, касательно SDRAM и RGB-DAC.
Почему в RGB-DAC применили вместо 75-Омников 82 Ом ?
Это только из соображений наличия или есть какой либо технический нюанс ?
Я сделал 4-битники с 150 и 75 Ом, и 5в (EPM7128), но изображение темновато, на переходах в градациях есть полосочки (артефакты) которые сильнее всего заметны не на основных цветах а на "смесях".
Не многовато 82 Ом для шины данных SDRAM-ки ?
Может лучше 50 или 75 Ом ?
Можно вообще включать SDRAM-ку без этих резисторов на прямую хотя бы в учебном макете (не в "серьезной" конструкции) ?

О резисторах для ЦАПа здесь - https://marsohod.org/11-blog/111-r2rdac#comment-520
Резисторы на SDRAM, для подстраховки от ошибок и
нужны, как-раз в учебных проектах, чтобы ничего не спалить, а в "серьезных" проектах их можно не ставить.
+1 #6 Nikolay Pastushok 17.11.2012 19:35
Мне кажется, что в реальном проекте использования FIFO не избежать.

Если я понимаю правильно, то проект с FiFo уже в МАХ-2 не воткнуть, нужны чипы с ОЗУ (Циклон). Думал, если не нужна высокая скорость обмена данными то можно и вот так. Во время кадрового гасящего писать в память и тактировать ее от источника. Источник -АРМ будет знать об этом гасящем по прерыванию, время обмена внутри гасящего будет лимитировано (таймер АРМ-а). для обмена данными в место FiFO можно использовать обычный регистр с флагом свободен/занят, это аналог того же FiFo, только с глубиной в одно слово.
+1 #5 nckma 17.11.2012 06:07
Цитирую Nikolay Pastushok:
Как в видео-контроллере при 800х600 (40 или 50МГц) с SDR-SDRAM с организацией в 256 или 512 колонок (Columns) читать строки из памяти на экран без "обрыва" на изменение строки памяти и вопреки латентности
(после команды изменения строки команда чтения, и данные только появятся через 2 такта, ну получится ведь дыра на изображении в несколько пиксель пока идет борьба с автоматом SDRAM-ки)?
В проекте Фоторамки к Марсоходу цепляли память вроде как 1024-колоночную а вот в Марсоходе-2 почему-то меньше 1024.
Неужели нужны будут усложнения конструкции узлами FIFO и увеличения клока памяти ?

Мне кажется, что в реальном проекте использования FIFO не избежать. В память видеоадаптера еще ведь и писать нужно. Невозможно только непрерывно читать.
+2 #4 Nikolay Pastushok 16.11.2012 20:06
Как в видео-контролле ре при 800х600 (40 или 50МГц) с SDR-SDRAM с организацией в 256 или 512 колонок (Columns) читать строки из памяти на экран без "обрыва" на изменение строки памяти и вопреки латентности
(после команды изменения строки команда чтения, и данные только появятся через 2 такта, ну получится ведь дыра на изображении в несколько пиксель пока идет борьба с автоматом SDRAM-ки)?
В проекте Фоторамки к Марсоходу цепляли память вроде как 1024-колоночную а вот в Марсоходе-2 почему-то меньше 1024.
Неужели нужны будут усложнения конструкции узлами FIFO и увеличения клока памяти ?
+1 #3 Nikolay Pastushok 16.11.2012 20:05
Здравствуйте Николай
У меня несколько вопросов, касательно SDRAM и RGB-DAC.
Почему в RGB-DAC применили вместо 75-Омников 82 Ом ?
Это только из соображений наличия или есть какой либо технический нюанс ?
Я сделал 4-битники с 150 и 75 Ом, и 5в (EPM7128), но изображение темновато, на переходах в градациях есть полосочки (артефакты) которые сильнее всего заметны не на основных цветах а на "смесях".
Не многовато 82 Ом для шины данных SDRAM-ки ?
Может лучше 50 или 75 Ом ?
Можно вообще включать SDRAM-ку без этих резисторов на прямую хотя бы в учебном макете (не в "серьезной" конструкции) ?
+2 #2 lesha birukov 12.10.2012 19:47
Должен констатировать, что дополнительный бит не пошёл зелёной компоненте VGA на пользу, по центру полос содержащих зеленый цвет (зелёная, жёлтая голубая и белая) заметна тёмная линия.
+1 #1 lesha birukov 12.10.2012 19:31
Когда попытался поменять разрешение натолкнулся на засаду: менять параметры в hvsync.v бесполезно, поскольку они переопределяютс я в главном модуле, где их и следует изменять.

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


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


GitHub YouTube Twitter
Вы здесь: Начало Проекты Проект Марсоход2 Первый проект для платы Марсоход2