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

 
 
> Реализация LookUp Table для видеовывода, нечёткое изображеине
%-)
сообщение Dec 14 2009, 06:34
Сообщение #1


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

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



при передачи цвета напрямую в порт RGB, затем цап на резисторах - потом на кодер AD724 - на телевизоре изображение чёткое:

Код
if rising_edge(pixel_clock) then
if Blank='1' then
   R<=SRAM_Data(14..10);
   G<=SRAM_Data(9 ...5);
   B<=SRAM_Dta(4..0);
end if;
end if;


при выводе из Look-Up таблицы в порт RGB чёткость изображения понижается - оно как бы размыто - с небольшим трудом читаются символы матрицы 8x8:

Код
if rising_edge(pixel_clock) then
if Blank='1' then
   R<=LookUpRED(conv_integer(SRAM_Data(14..10)));
   G<=LookUpGreen(conv_integer(SRAM_Data(9..5)));
   B<=LookUpBlue(conv_integer(SRAM_Data(4..0)));
end if;
end if;


есть ли способ избавиться от размытости?

Сообщение отредактировал %-) - Dec 14 2009, 06:35
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SM
сообщение Dec 14 2009, 06:41
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



хрень какая-то. Констрейны выполняются? Слаков нет? Других причин не вижу.
Go to the top of the page
 
+Quote Post
%-)
сообщение Dec 14 2009, 06:49
Сообщение #3


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

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(SM @ Dec 14 2009, 09:41) *
хрень какая-то. Констрейны выполняются? Слаков нет? Других причин не вижу.


вот слаков навалом к сожалению sad.gif как только врубаем палитру - их сыпется куча!

подскажите верный способ сделать реализацию ЛУКапа внутри ПЛИС.

внешний рам-дак не предалагать smile.gif

P.S. на VGA мониторе лукап работает без проблем - а в телевизоре ж@па

Сообщение отредактировал %-) - Dec 14 2009, 06:50
Go to the top of the page
 
+Quote Post
SM
сообщение Dec 14 2009, 06:51
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(%-) @ Dec 14 2009, 09:49) *
вот слаков навалом к сожалению sad.gif как только врубаем палитру - их сыпется куча!

Конвейеризировать, сделать задержку на 1 пиксел, поставив регистры между памятью и лутами.

Хотя разное поведение на мониторе и на TV - странно это... Сигнал-то один.
Go to the top of the page
 
+Quote Post
%-)
сообщение Dec 14 2009, 06:56
Сообщение #5


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

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(SM @ Dec 14 2009, 09:51) *
Хотя разное поведение на мониторе и на TV - странно это... Сигнал-то один.


развёртка разная - для VGA и NTSC

все счётчики и поля и синхросгналы пересчитываются зависимо от выбранного режима

тактовый генератор - один.

вот исходные данные:

мастерклок 50 мгц

разрешение ВГА 640x480 (из него 320x240)
разрешение NTSC => 320x240

P.S. кстати заметил, что нужно вывод пикселей синхронизировать по фронту, в то время когда остальные счётчики для синхросигналов и бланков должны работать по спаду. Или наоборот.
Потому что выводить точки нужно когда память уже выдаёт на шине - данные (строб OE в SRAM заведён на частоту pixelclock/2=14.5 Мгц)
Иначе - изображение будет дрожжать (особенно при смене видеостраниц)

Сообщение отредактировал %-) - Dec 14 2009, 07:01
Go to the top of the page
 
+Quote Post
Builder
сообщение Dec 14 2009, 07:49
Сообщение #6


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(%-) @ Dec 14 2009, 09:56) *
P.S. кстати заметил, что нужно вывод пикселей синхронизировать по фронту, в то время когда остальные счётчики для синхросигналов и бланков должны работать по спаду. Или наоборот.
Потому что выводить точки нужно когда память уже выдаёт на шине - данные (строб OE в SRAM заведён на частоту pixelclock/2=14.5 Мгц)
Иначе - изображение будет дрожжать (особенно при смене видеостраниц)

Учитывая историю вопроса (в других темах) и то что Вы тут написали, проблема во времянке,
и том, что Вы так до конца с ней не разобрались...
Начинайте с проверки и описании времянки. Что-б могли с полной уверенностью знать что все времянки выполняются.
В противном случае будете иметь что имеете - непонятные эффекты и странные зависимости.
А если и получттся что, измените потом проект и появится новая тема, типа "работал прект, добавил модуль - переслал работать,
где искать проблему!".
Go to the top of the page
 
+Quote Post
%-)
сообщение Dec 14 2009, 22:58
Сообщение #7


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

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(Builder @ Dec 14 2009, 10:49) *
Учитывая историю вопроса (в других темах) и то что Вы тут написали, проблема во времянке,
и том, что Вы так до конца с ней не разобрались...


тут уже другая времянка smile.gif

Цитата(Builder @ Dec 14 2009, 10:49) *
А если и получттся что, измените потом проект и появится новая тема, типа "работал прект, добавил модуль - переслал работать,
где искать проблему!".


Да-да! Известное дело. Было такое... smile.gif
Если вы про это говорите, значит в прошлом у вас такое же было :P
Go to the top of the page
 
+Quote Post
Builder
сообщение Dec 15 2009, 05:47
Сообщение #8


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(%-) @ Dec 15 2009, 00:58) *
Да-да! Известное дело. Было такое... smile.gif
Если вы про это говорите, значит в прошлом у вас такое же было :P

Не помню, может и было.
А вообще, это как с вождением автомобиля, если что и нарушаешь, то должен знать что, почему и чем это грозит.

Цитата(%-) @ Dec 15 2009, 02:31) *
кстати, как правильно(синхронно) вычитывать данные из внешней SRAM на дисплей?

А бог его знает как правильно, как кому нравится, главное что-б было корректно и работало.
С ходу, вроде длжно работать, при условии выполнения всех времянок.
Настораживает только:
1) генерация производного клока. Само по себе - ничего плохого. Но при условии что опять-же, описана времянка и нет завязки на другие клоковые домены. Если есть - нада что-б были корректно сделаны связи между доменами. Как-я бросал ссылки на документы.
2) для улучшения времянки, можно поставить тригеры на выходе. Но в принципе - не абязательно, если запас по времянке и так большой. Кстати, как вариант, сделать выход генератора производной частоты как сейчас, а для остальной части кода использовать его не как клок, а как разрешение. Но это желательно, если есть, как я уже написал, завязки на другой код с исходной частотой.

PS. а вообще, я на VHDL не пишу, так, чуть читаю.
Go to the top of the page
 
+Quote Post
%-)
сообщение Dec 15 2009, 06:33
Сообщение #9


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

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(Builder @ Dec 15 2009, 08:47) *
А вообще, это как с вождением автомобиля, если что и нарушаешь, то должен знать что, почему и чем это грозит.


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

тут и VGA режим нужен и NTSC и каждый из них ещё должен быть в директколоре и в палитровом режиме. Всё зависит от управляющих регистров.

вот и поэтому собираюсь конвееризировать и синхронизировать.

P.S. особенно бесит то , что симулятор насимулил иголки вот в таком на первый взгляд "простом" месте:

Код
HBlank<='1' when (HCounter>=(Sync+BackPorch) and HCounter<(Sync+BackPorch+Visible)) else '0';


а вот при об-клочивании пиксельклоком - горизонтальный синхроимпульс стал выглядеть как надо smile.gif

логика (особенно программируемая) - это просто КАПЕЦ wacko.gif
Go to the top of the page
 
+Quote Post
Builder
сообщение Dec 15 2009, 11:18
Сообщение #10


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(%-) @ Dec 15 2009, 08:33) *
P.S. особенно бесит то , что симулятор насимулил иголки вот в таком на первый взгляд "простом" месте:
Код
HBlank<='1' when (HCounter>=(Sync+BackPorch) and HCounter<(Sync+BackPorch+Visible)) else '0';

а вот при об-клочивании пиксельклоком - горизонтальный синхроимпульс стал выглядеть как надо smile.gif
логика (особенно программируемая) - это просто КАПЕЦ wacko.gif

Все это проходили, кто-то быстрее, кто-то не сразу. разбирайтесь, без понимания того, почему такое происходит будет трудно.
Будете постоянно не понимать что происходит.
Я только не понял, если нет опыта или наставника под боком, зачем брались за такой сложный для Вас проект?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- %-)   Реализация LookUp Table для видеовывода   Dec 14 2009, 06:34
|- - SM   Цитата(Builder @ Dec 14 2009, 10:49) появ...   Dec 14 2009, 08:01
|- - des00   Цитата(%-) @ Dec 15 2009, 00:33)...   Dec 15 2009, 06:52
- - SM   Короче - пока есть слаки, нет никакого смысла зали...   Dec 14 2009, 06:57
- - %-)   кстати, как правильно(синхронно) вычитывать данные...   Dec 15 2009, 00:31
|- - VasiaMVR   Цитата(%-) @ Dec 15 2009, 03:31)...   Dec 15 2009, 19:15
|- - %-)   Цитата(VasiaMVR @ Dec 15 2009, 22:15) Не ...   Dec 15 2009, 22:57
|- - des00   Цитата(%-) @ Dec 15 2009, 16:57)...   Dec 16 2009, 04:17
|- - %-)   Цитата(des00 @ Dec 16 2009, 07:17) какая ...   Dec 16 2009, 04:25
- - %-)   ещё вопрос по генерации адреса. нужно удваивать ст...   Dec 16 2009, 02:53
- - %-)   люди! памагите! сроки поджимают, а мы(кон...   Dec 16 2009, 06:23
- - torik   Палитра как рассчитывается? Если значений палитры ...   Dec 16 2009, 12:21
- - %-)   палитра не считается по формуле. всего 256 цветов...   Dec 17 2009, 02:07
|- - des00   Цитата(%-) @ Dec 16 2009, 20:07)...   Dec 17 2009, 04:07
|- - %-)   Цитата(des00 @ Dec 17 2009, 07:07) в чем ...   Dec 17 2009, 05:39
|- - des00   Цитата(%-) @ Dec 16 2009, 23:39)...   Dec 17 2009, 06:18
||- - %-)   Цитата(des00 @ Dec 17 2009, 09:18) ...   Dec 17 2009, 07:19
||- - Builder   Цитата(%-) @ Dec 17 2009, 09:19)...   Dec 17 2009, 08:14
||- - DmitryR   Цитата(%-) @ Dec 17 2009, 10:19)...   Dec 18 2009, 08:54
||- - %-)   Цитата(DmitryR @ Dec 18 2009, 11:54) когд...   Dec 19 2009, 05:44
|- - Maverick   Цитата(%-) @ Dec 17 2009, 08:39)...   Dec 17 2009, 16:07
|- - Builder   Цитата(Maverick @ Dec 17 2009, 18:07) ...   Dec 17 2009, 16:17
|- - %-)   Цитата(Maverick @ Dec 17 2009, 19:07) ...   Dec 17 2009, 23:02
- - torik   Цитатаво-вторых: что-то мы сомневаемся, что алтера...   Dec 17 2009, 06:15
- - torik   Цитатанеправда. двухпортовое озу просто необходим...   Dec 17 2009, 07:29
- - torik   Многие ли захотят Вам помогать Да и нечем, похож...   Dec 18 2009, 05:57


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

 


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


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