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

 
 
> защёлка для сигналов RGB, помогите сделать
penauch
сообщение Oct 28 2009, 11:46
Сообщение #1


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

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



не получается сделать защёлку для цветов R,G,B

есть синхросигнал
и сигнал поделённый на 4, тоесть счетчик 0,1,2,3,0,1,2,3...

когда сигнал=0 то с шины данных считывается биты в RGB

когда сигнал 1,2,3, то данные с шины не должны поступать, а использоваться защёлкнутые (когда сигнал=0) данные

код типа:

if count(1 downto 0)=0 then
R<=DataBus(3 downto 0);
G<=DataBus(7 downto 4);
B<=DataBus(11 downto 8);
end if;

даёт постоянную коммутацию DataBus на RGB, а надо чтобы оставалось защёлкнуто до тех пор пока снова count станет 0

как это сделать? 1111493779.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
eliza
сообщение Oct 29 2009, 00:01
Сообщение #2





Группа: Участник
Сообщений: 8
Регистрация: 25-01-06
Пользователь №: 13 605



Попробуйте подхватывать считанные данные по положительному фронту OE, т.е.
Код
process(Res,VBlank,HBlank,c,SRAM_D,SRAM_WE,SRAM_CS,SRAM_OE,c,Clk)
begin
if (SRAM_CS='0' and SRAM_WE='1') then
  if (rising_edge(SRAM_OE)) then
    if (VBlank='1' and HBlank='1') then
    .......
Go to the top of the page
 
+Quote Post
penauch
сообщение Oct 29 2009, 00:46
Сообщение #3


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

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



Цитата(eliza @ Oct 29 2009, 03:01) *
Попробуйте подхватывать считанные данные по положительному фронту OE, т.е.
Код
process(Res,VBlank,HBlank,c,SRAM_D,SRAM_WE,SRAM_CS,SRAM_OE,c,Clk)
begin
if (SRAM_CS='0' and SRAM_WE='1') then
  if (rising_edge(SRAM_OE)) then
    if (VBlank='1' and HBlank='1') then
    .......


Сделал - данные не пишутся в SRAM sad.gif

Возможно из-за коротких стробов чтения(OE), выбора кристалла(CS)

Также подхватывал по фронту OE - R,G,B

Цитата(Костян @ Oct 28 2009, 18:44) *
пишите в SRAM в момент времени когда (VBlank='1' and HBlank='1') = false


вот этого больше всего боялся услышать rolleyes.gif

действительно, когда запись происходит в моменты VBLank=0 ИЛИ HBlank=0 то снега нет, что логично.
Но вот времени переслать весь кадр целиком - не хватает.

А пересылать кадр построчно во время HBlank= 0 (каждую строку) - недопустимо в проекте ... unsure.gif


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

Ведь как-то видеокарточки на персональных компьютерах работают ведь без банков?

Или все дело в двухпортовом ОЗУ?
Go to the top of the page
 
+Quote Post



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

 


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


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