User Tag List

Показано с 1 по 10 из 31

Тема: Видеоконвертер EGA/CGA/Mono to VGA

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    03.09.2019
    Адрес
    г. Калуга
    Сообщений
    185
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    33 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я интересовался... наверное в числе одного из двух.

    меня общая "архитектура" цплд заинтересовала,
    а именно как решена "коммутация" кучи сигналов и генерация разверток на захват и вывод на средней по числу ячеек цплд.

    самого интересного все равно нет - я все думал, как на цплд плл для пиксельклока сделать, пусть даже с внешним гун.
    смысл - подключение без вывода клока из компа и без ручной подстройки.

    виноват, надо было ответить (не вежливо получилось...).

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

  3. #2

    Регистрация
    23.11.2015
    Адрес
    г. Ростов-на-Дону
    Сообщений
    707
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    215
    Поблагодарили
    152 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vasily_A, Вы меня тоже простите за резкость. Признаюсь, намеренно так написал, чтобы спровоцировать ответ.

    Цитата Сообщение от Vasily_A Посмотреть сообщение
    самого интересного все равно нет - я все думал, как на цплд плл для пиксельклока сделать, пусть даже с внешним гун.
    смысл - подключение без вывода клока из компа и без ручной подстройки.
    Да, это было бы оптимальным решением. И даже существовали специализированные чипы, способные генерировать пиксельклок по строчным СИ и количеству пикселей в строке. Но увы, это дефицитные и дорогие чипы, как я понял давно снятые с производства. Сейчас их функционал встроен в один большой чип в мониторе.


    Цитата Сообщение от Vasily_A Посмотреть сообщение
    а именно как решена "коммутация" кучи сигналов и генерация разверток на захват и вывод на средней по числу ячеек цплд
    Что Вы имеете в виду под "кучей сигналов"? Под каждый конкретный формат видео подстраиваются параметры схемы. На вход и на выход стоят несколько счетчиков, которые считают количество пикселей в строке, паузу после СИ, для выхода - длительность СИ и паузу после него. В зависимости от формата видеосигнала меняются пределы, до которых производится подсчет тактов пиксельклока.

    Например, генерация строки вывода изображения производится следующим кодом:
    Код:
    reg [9:0] Pix_Counter;	//Счетчик пикселей в строке, до 1024, реально больше 720 не нужно
    
    always @(posedge Clk2)		//Счетчик пикселей. Доходит до конца линии и обнуляется
    begin			
    	if(H_equal)	Pix_Counter <= 10'h1;	//Если достигаем предела, начинаем с начала  (для строки - с единицы)
    	else Pix_Counter <= Pix_Counter + 10'h1;
    end
    
    reg [1:0] H_phase_counter;	//Фаза выходной строчной развертки
    // 0 - вывод видимого изо
    // 1 - пауза перед СИ
    // 2 - СИ
    // 3 - пауза после СИ
    
    //Mono выводится в 720 пикселей, всё остальное в 640 пикселей
    wire H1_equal; assign H1_equal = (Mono_full?(Pix_Counter == 10'd728):(Pix_Counter == 10'd648)) & H_phase [0];	//Счетчик равен длине видимой строки 640 + запас 8 пикс
    wire H2_equal; assign H2_equal = (Pix_Counter == 10'd10) & H_phase [1];		// ..паузе перед СИ
    wire H3_equal;	assign H3_equal = (Mono_full?(Pix_Counter == 10'd108):(Pix_Counter == 10'd96)) & H_phase [2];		// ..длине СИ		
    wire H4_equal;	assign H4_equal = (Mono_full?{Pix_Counter == 10'd54}:(Pix_Counter == 10'd46)) & H_phase [3];		//Пауза после СИ
    
    wire H_equal; 	assign H_equal = H1_equal | H2_equal | H3_equal | H4_equal;	//Если достигнут предел в любой из фаз
    
    always @(posedge Clk2)
    	HSo <= ~(H_phase[2] ^ EGA);		//EGA HiRes 640х350 ССИ положит, все остальные: 640х480, 720х400, 640x400 - отрицательный
    
    always @(posedge Clk2)	//По достижению счетчиком пикселей заданного значения происходит переход в следующую фазу
    begin						
    		if(H_equal) H_phase_counter <= H_phase_counter + 2'b1;
    end
    
    reg [3:0] H_phase;	//Дешифратор фазы
    always @(H_phase_counter) 
    	H_phase <= 4'h1 << H_phase_counter;

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

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

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

Похожие темы

  1. [Киев] куплю монитор EGA, CGA
    от vlad6502 в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 06.05.2011, 13:38
  2. Скандаблер Composite/EGA/CGA/YUV to VGA
    от balu_dark в разделе Барахолка (архив)
    Ответов: 31
    Последнее: 19.03.2011, 15:50
  3. CGA+EGA. Нужна помощь знатоков
    от axor в разделе Изображение
    Ответов: 3
    Последнее: 22.06.2007, 10:30
  4. EGA/CGA мониторы
    от axor в разделе Изображение
    Ответов: 11
    Последнее: 02.02.2007, 00:23

Ваши права

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