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

 
 
> Altera MAX II мультиплексирование памяти, подскажите как реализовать?
zksystem
сообщение Jul 12 2009, 20:38
Сообщение #1


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Доброго всем времени суток.
Подскажите пожалуйста как реализовать следующее:

Имеется микроконтроллер с внешней шиной памяти, CPLD Altera MAXII в которой реализован видеоконтроллер. Для реализации видеопамяти тут казалось бы проще поставить двухпортовую память, на один порт контроллер, а на второй CPLD и не париться, но цена на них уж очень кусается. Таким образом было решено использовать два банка памяти (в два чипа). Банки подключаются специальным сигналом, когда первый банк подключен к микроконтроллеру, то второй банк подключен к видеоконтроллеру для вывода информации, при переключении банки меняются наоборот.
В таком случае необходим двунаправленный мультиплексор, реализация которого у меня что-то не выходит... Смотрел в сторону двунаправленных шин, но там используются триггеры с тактированием загрузки...
По другому эту задачу никак не реализовать?


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zverek
сообщение Jul 12 2009, 22:20
Сообщение #2


Участник
*

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



Цитата(zksystem @ Jul 13 2009, 00:38) *
Доброго всем времени суток.
Подскажите пожалуйста как реализовать следующее:

Имеется микроконтроллер с внешней шиной памяти, CPLD Altera MAXII в которой реализован видеоконтроллер. Для реализации видеопамяти тут казалось бы проще поставить двухпортовую память, на один порт контроллер, а на второй CPLD и не париться, но цена на них уж очень кусается. Таким образом было решено использовать два банка памяти (в два чипа). Банки подключаются специальным сигналом, когда первый банк подключен к микроконтроллеру, то второй банк подключен к видеоконтроллеру для вывода информации, при переключении банки меняются наоборот.
В таком случае необходим двунаправленный мультиплексор, реализация которого у меня что-то не выходит... Смотрел в сторону двунаправленных шин, но там используются триггеры с тактированием загрузки...
По другому эту задачу никак не реализовать?


Озадачен очень похожей проблемой причем тоже на MAXII. То что Вы делаете называется RAMDAC. Оно состоит из DAC'a прикрученного к CPLD и памяти, прикрученной тоже к CPLD. Кстати, хотел посоветоваться пор двух портовую память (какие они бывают и сколько стоят?), можно в личку? Я так понял, что от железа здесь мало что зависит и все делать придется программно, точнее на Verilog'е/VHDL'е. На сайте Vesa.org есть список режимов и тайминги. Нужно всего лишь выделить память под буфер кадра и... А дальше начинаются траблы. Или менять эти буферы (Double Buffering/Triple Buffering) или двухпортовая память... Кстати, что очень любопытно, даже в современных видеокартах (встроенных) никаких VRAM'ов нет и мультиплексоров тоже нет, все делается при помощи драйвера/прошивки, поэтому картинка на экране вроде стабильная, а пропускная способность и без того, под завязку загруженной DDR2/DDR3, падает в разы.

Кстати, где вообще можно купить VRAM, которая будет работать с MAXII?

Сообщение отредактировал zverek - Jul 12 2009, 22:36
Go to the top of the page
 
+Quote Post



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

 


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


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