Важная информация

User Tag List

Страница 5 из 35 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 345

Тема: Специалист_МХ_FPGA на u10ep3c

  1. #41
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    всё ж наверное нужно на проц подать 2 МГц, для полного стандарта?
    Это будет более чем унылое зрелище. СтОит железо отладить в более комфортных скоростях, переключиться на 2мега дело трёх минут. У меня даже была мысль на 8Мгц процессор "зарядить". Потом решил что глюкодрома нам и так хватит

    Цитата Сообщение от IanPo Посмотреть сообщение
    А зачем в списке чувствительности столько сигналов ? Разве недостаточно только clk ?
    Часто компилятор ругается. Происходит это если во вложенных в процесс IF-ELSIF есть сигналы, не описанные в списке чувствительности. Дабы не напрягать лишнее внимание, лучше все сигналы "справа" сразу заносить в список. Хуже не будет.

    ---------- Post added at 16:14 ---------- Previous post was at 16:12 ----------

    Цитата Сообщение от fifan Посмотреть сообщение
    Второй конец на землю. Плюс электролита к GPIO2?
    Ага. Или, как настаивает общественность, на выход USB плисины. Там как раз дорожки "прерываются", можно удобно прикошачить конденсатор.

    ---------- Post added at 16:16 ---------- Previous post was at 16:14 ----------

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

    ---------- Post added at 18:03 ---------- Previous post was at 16:16 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    купил сегодня в Ашане за, страшно сказать, 49 рублей вот такой БП
    Прекрасный выбор начинающего плисовода
    Проводочки только навевают сомнения что они аж ампер тянут, ну да ладно.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  2. #42
    Master
    Регистрация
    04.12.2008
    Адрес
    г. Черкассы, Украина
    Сообщений
    957
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Ага. Или, как настаивает общественность, на выход USB плисины. Там как раз дорожки "прерываются", можно удобно прикошачить конденсатор.
    Полностью поддерживаю такое решение

  3. #43
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что-то цвет не идёт. Где правильнее присваивать входные данные для видео ОЗУ цвета - при опросе порта С (переменная cd_in)? См. ниже.
    Код:
    u7 <= '1' when a_buff (15 downto 11) = "11111" else '0';			-- выборка порта клавиатуры
    u7wr <= u7 and not (mreq_n or wr_n);							-- доступ процессору на запись в порт клавиатуры
    
    ------------------------ Опрос клавиатуры -----------------------------
    process(clock,u7wr,res_n,dataO,a_buff (1 downto 0))
    begin
    if (clock'event and clock = '1') then								
    	if (u7wr = '1') then			-- запись в порты клавиатуры
    		case a_buff (1 downto 0) is
    			when "00" =>		-- порт А клавиатуры
    				porta <= dataO;
    				metod <= '0';	-- порты А,С - на вывод; порт В - на ввод
    			when "01" =>		-- порт В клавиатуры
    				portb <= dataO;
    				metod <= '1';	-- порт В - на вывод; порты А,С - на ввод					
    			when "10" =>		-- порт С клавиатуры
    				portc <= dataO;
    				cd_in <= not dataO (4) & not dataO (7) & not dataO (6);
    				snd <= not dataO (5);	-- выход звука			
    			when "11" =>		-- порт РУС клавиатуры
    				portr <= dataO;						
    		end case;
    	end if;
    end if;
    end process;
    ...
    colorram:lpm_ram0			-- видео ОЗУ цвета 12 кБита х 3
    port map(
    	address=> a_buff (13 downto 0),	-- адресная шина
    	clock	=> not clock,			-- синронизация
    	data	=> cd_in,		-- входная шина данных - данные о цвете
    	wren	=> not wr_n,	-- разрешение записи
    	q=> cd_out			--выходная шина данных
    	);
    ...
    process(blank1,vid,res_k,cd_out)	--VideoMUX-- 
    begin
    	if blank1 = '1' then
    	if vid = '1' then
    		r <= cd_out (0);		-- сигнал красного цвета
    		g <= cd_out (1);		-- сигнал зелёного цвета
    		b <= cd_out (2);		-- сигнал синего цвета
    		i <= '1';			-- сигнал яркости
    			else
    				r <= '0';
    				g <= '0';
    ...
    Это наверное правильное место присваивания. Я присваивал прям в блоке описания видео ОЗУ цвета (lpm_ram0) - и не работало.
    Кстати звука тоже нет...
    Последний раз редактировалось fifan; 13.10.2010 в 17:16.

  4. #44
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Получилась не большая затырка с цветом. Полное ощущение что вообще не функционирует видео ОЗУ цвета сделанное внутри плисины:
    Код:
    colorram:lpm_ram0
    port map(
    		address=> ram (13 downto 0),						
    		clken	=>'1',										
    		clock	=> not clock,								
    		data	=> cd_in,
    		wren	=> not ram_we1,	
    		q	=> cd_out							
    	);
    Код:
    process(blank1,vid,res_k,cd_out)					        	
    	begin
    		if blank1 = '1' then
    			if vid = '1' then								
    				if cd_out (0) <= '1' then 
    					r <= '1';							
    				else
    					r <= '0';
    				end if;
    				if cd_out (1) <= '1' then 
    					g <= '1';							
    				else
    					g <= '0';
    				end if;
    				if cd_out (2) <= '1' then 
    					b <= '1';							
    				else
    					b <= '0';
    				end if;
    				i <= '1';								
    			else
    				r <= '0';											
    				g <= '0';										
    				b <= '0';											
    				i <= '0';													
    			end if;	      
    		else
    			r <= '0';
    			g <= '0';
    			b <= '0';
    			i <= '0';
    		end if; 
    end process;
    Полный проект здесь - http://www.spetsialist-mx.ru/for_out...alist_rev7.rar.
    Последний раз редактировалось fifan; 21.10.2010 в 17:08.

  5. #45
    Master Аватар для Keeper
    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    fifan, а где на вашем сайте схема с видео-ОЗУ?

  6. #46
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Keeper Посмотреть сообщение
    fifan, а где на вашем сайте схема с видео-ОЗУ?
    Журнальная вот - http://www.spetsialist-mx.ru/schemes...ontroller1.png, а вот по этой у меня работал предыдущий компьютер "Специалист_МХ_PLM" - http://www.spetsialist-mx.ru/for_out/ColorContr.png.
    Пояснения:
    1. Сигналы RAMWE, RAMOE и MAn берутся с аналогичных основного ОЗУ;
    2. U1 - сигнал с селектора адресов схемы МХ, складывается по ИЛИ/НЕ с WR;
    3. Dn - шина данных процессора;
    4. VIDEO - ч/б видео сигнал, со сдвигового регистра пикселей;
    5. RED, GREEN, BLUE и BRIGHT - выходы цвета и яркости.
    Последний раз редактировалось fifan; 21.10.2010 в 20:23.

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47
    Master Аватар для Keeper
    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На сколько я понял запись в ОЗУ цвета производится параллельно записи в ОЗУ экрана, а данные идут с порта C
    Вложения Вложения

  9. #48
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Keeper, твою версию скомпилировал. Результат - пустой чёрный экран. Так что с выводом изображения что-то не то.

  10. #49
    Master Аватар для Keeper
    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Результат - пустой чёрный экран. Так что с выводом изображения что-то не то.
    1. Изменить строку:
    Код:
    ActivePixel         <= blank1 and vid;                          -- 1 = when pixel on screen
    на
    Код:
    ActivePixel         <= not blank1 and vid;                          -- 1 = when pixel on screen
    Вопрос в том что означает лог. 1 для blank1.

    2. Смотреть процесс:
    Код:
    process(clock,vcnt,hcnt)                   		  							-- бланкирование         
    	begin
    		if (clock'event and clock = '1') then
    			if (hcnt = 128 and vcnt (9) = '0') then
    				blank <='1';
    			elsif (hcnt = 511) then
    				blank <= '0';
    			end if;
    		end if;
    end process;
    На предмет правильности работы, гашение должно быть строчное и кадровое.

    3. Зачем "обновлять" blank1 каждые 8мь пикселей?

    Код:
    process(hcnt,clock,vid0,blank)  		  									-- подготовка видеоданных для мультиплексирования
    	begin
    		if hcnt (2 downto 0) = "111" then
    			if clock'event and clock = '1' then
    				vid2 <= vid0;
    				blank1 <= blank;
    			end if;
    		end if;
    end process;
    Далее так же касается и Ewgeny7

    4. Давать сигналам внятные имена: vid0,vid2,blank1 - непонятно что это и зачем, нужно лезть в код глубже и соображать что происходит...

    5. Разбивать проект на функциональные блоки, пример можно глянуть в исходниках пентевы, например

  11. #50
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Keeper Посмотреть сообщение
    Далее так же касается и Ewgeny7
    Ответ КОЕ помнишь?

    ---------- Post added at 12:53 ---------- Previous post was at 12:52 ----------

    Цитата Сообщение от Keeper Посмотреть сообщение
    Разбивать проект на функциональные блоки
    Мне не нравится подобный способ.

    ---------- Post added at 13:03 ---------- Previous post was at 12:53 ----------

    Цитата Сообщение от Keeper Посмотреть сообщение
    Давать сигналам внятные имена: vid0,vid2,blank1
    Цитата Сообщение от Keeper Посмотреть сообщение
    На предмет правильности работы, гашение должно быть строчное и кадровое.
    Это не гашение, это screen. В "специалисте" бордюра нет, поэтому неактивный screen - фактически и есть гашение. В этом месте всё в порядке.

    ---------- Post added at 13:08 ---------- Previous post was at 13:03 ----------

    Цитата Сообщение от Keeper Посмотреть сообщение
    Зачем "обновлять" blank1 каждые 8мь пикселей?
    Упрощение логики. Можно конечно отслеживать границы экрана, но зачем городить.
    Тем более что экран у спеца сделан по дудацки - не с 8000H а с 9000H. Видеоконтроллер "подхватывает" область начиная с 8000, но вплоть до 9000 изображение "гасится".
    Поэтому обратите внимание, для цветного ОЗУ нужно использовать не 12, а 16кб ОЗУ.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

Страница 5 из 35 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Орион-2010 на u10ep3c
    от Ewgeny7 в разделе Орион
    Ответов: 141
    Последнее: 19.10.2013, 23:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •