-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
Да точно. Это если палитра будет располагаться чередой b...256 g...256 r...256, а я сделал bgr...256 тут без умножения никак. Первый вариант экономичнее и быстрее.
Насчет умножения на степень двойки - знал, но посчитал, что компилятор сам оптимизирует.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Ну не скажите :) Прибавить число к константе однозначно проще чем умножать. Сделать просто розположение кратное двум - или палитра 16 бит и это сдвиг на 1 бит для умножения или палитра 24 бит + 8 альфа :) = 32 - опять кратно 2 только сдвиг нужен уже на 2. ну и ещё можно сделать отдельно цветные плоскости - от адреса ххх лежат красные данные плитры, от ууу лежат зелёные и от адреса zzz синие. 3 константы и без умножения.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от wowa.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
wowa пишет: Ну не скажите :) Прибавить число к константе однозначно проще чем умножать. Сделать просто розположение кратное двум - или палитра 16 бит и это сдвиг на 1 бит для умножения или палитра 24 бит + 8 альфа :) = 32 - опять кратно 2 только сдвиг нужен уже на 2. ну и ещё можно сделать отдельно цветные плоскости - от адреса ххх лежат красные данные плитры, от ууу лежат зелёные и от адреса zzz синие. 3 константы и без умножения.
Сделал как вы писали: "цветные плоскости". И, по-моему, чисто теоретически, я сделал то, что хотел.
*Схема*
Сюда я еще добавил чтение самого индекса цвета.
Теперь логика такова:
- Читаем индекс
- Защелкиваем его
- Сбрасываем цвета
- Читаем синий
- Защелкиваем
- Читаем зеленый
- Защелкиваем
- Читаем красный
- Защелкиваем
- VRAMADDIN - данные адреса от счетчика адресов
- FTCLOCK - частота работы с памятью
- PXCLOCK - частота самих пикселей
Пока оставил целый байт на каждый цвет - не стал обрезать. Немного беспокоит то, что чтение и защелкивание происходит одновременно. Успеет ли все отработать? или это зависит от самой памяти?
Еще вопрос: как работает защелка? Я имею ввиду, она защелкивает при единице на входе gate, а что происходит при последующем нуле? Остается ли состояние на выходе? Или нужно ставить триггер на вход для "закрепления" состояния?(как я это сделал в схеме)
---
Спасибо за ваши предыдущие ответы
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Вообще использовать защёлки как бы не кошер :) Лучше всё делать синхроно по такту - тогда у вас будет гарантия того что данные стабильные. Хотя я незнаю как работает защёлка в схематике - я пишу на ВЕРИЛОГу. Естли мне не изменяет память -* защёлка работает ток что при высоком уровне она прозрачна для сигнала и по переходу в нуль - запоминает то было на шине.. Так что если там были нормальные данные - то теоретически они там и останутся после защёлкивания.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
Похоже, что система палитры работает. :) Правда, толкового теста еще не провел - времени нет.
Кварц пришлось задействовать на 100MHZ, путем соединения проводами платы Марсоход 1.3 и моей платы.
Небольшая проблема есть (давно уже) при использовании видеопроцессора(порядка 1-2мин): изображение начинает пропадать/мерцать или происходит сдвиг всего изображения. Возможно проблема в питании, когда касаешься пальцем линии питания, то помех становится меньше. Осциллограф показывает шум на питании 300Гц и с размахом в 400Мв; питаю всю конструкцию от кр1158ен3в, которая сильно греется + конденсатор 10Мкф и у ПЛИС на 33Пф. (другого источника питания найти не удалось).
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Alucard.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
Проверил - ура! Работает! B)
Красивое 12бит дерево, но без красного компонента. Для Красного ЦАП мне не хватает двух резисторов на 150Ом, все облазил, но нигде нет.
А проблема с глюками видеопроцессора до сих пор осталась...
---
Спасибо огромное за помощь!
PS: Это ничего, что я описываю здесь каждый шаг проекта?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Это ничего :) Глвное теперь сделать из этого статью на сайт :) Чтобы и другие поучились на вашем опыте :)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
wowa пишет: Это ничего :) Глвное теперь сделать из этого статью на сайт :) Чтобы и другие поучились на вашем опыте :)
Я так и планировал. ;) Единственное, у меня есть собственный сайт, посвященный электронике/микроконтроллерам :) Но и на marsohod.org могу написать.
PS: На самом деле - это уже третья версия видеопроцессора. Его путь гораздо длиннее, чем кажется. До этого я еще пробовал на ARM и AVR реализовать, но не был доволен результатом.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Alucard.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
Заметил маленький косячок. Сигналы VSYNC и HSYNC - не совпадают по фронту.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Ну незнаю .. У меня есть на АВР и видел что делают на АРМу :) Работает без проблем как консоль для линукса :) Сейчас у меня в основном альтера 4..
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.192 секунд