Comments 20
может пригодится: была такая до гениального простая машинка, на неё можно посмотреть несколько вариантов схем и всякие любительские дополнения: http://www.jupiter-ace.co.uk/ace_hardware.html
Я правильно понял? На монитор, как я понял, не выводятся координаты, там
задаётся цвет со сменой в определённый таймер?! Если это не так,
поправьте меня и я подредактирую схему.
Мммммм.... Это перевод или творчество нейросетей?
Вы можете менять значения по своему усмотрению, но желательно помнить, что VSinc = HSinc * (кол-во строк + задержка вертикальной синхронизации * 2). Задержка вертикальной синхронизации должна быть сверху и снизу.
Это про время обратного хода луча (где делается гашение) что ли так сказано? Хм.
Здесь показана конечная схема, постарался разобрать всё что возможно, но наверняка что-то упустил.
Уверен, что вы упустили прочесть описание видеосигнала, приходящего на монитор по VGA. :) Но ведь полно же руководств в инете, что там и зачем...
Это про время обратного хода луча (где делается гашение) что ли так сказано? Хм.
Может лучше не выдёргивать фразы из контекста? Речь шла про эмуляцию сигналов, а не про реальные сигналы.
Но некоторые термины подправлю в статье.
Уверен, что вы упустили прочесть описание видеосигнала, приходящего на монитор по VGA. :)
уверен что не упустил прочитать описание видеосигнала. При том, что на канале есть ссылки дополнительные, где человек может подсмотреть (читают сейчас, увы, мало) необходимую информацию по VGA-сигналам.
Но опять же статью надо будет дополнить... )))
Эти сигналы будут очень даже реальными, если вы всё-таки подключитесь к любому ЭЛТ-монитору. И их назначение вполне конкретное.
А ваше удивление "На монитор, как я понял, не выводятся координаты, там задаётся цвет со сменой в определённый таймер?!" вызывает не меньшее удивление у читателей. Как это можно не знать, что телевизор/монитор делает развёртку изображения!?
А ваше удивление
Удивление?
Не стоит путать "удивление" и "недопонимание". Написан конкретный вопрос в том, что я могу недопонимать, а не в том, в чём я удивлён. В век цифровой аппаратуры, лично я бы передавал сигнал по широкой шине, где передавались бы и координаты и цвет для данной координаты. Это даст возможность вывода с большей частотой больше информации.
Если есть какая-то конкретная информация, то лучше было поделиться ей, чем разводить демагогию.
У меня есть подозрение, что ЭЛТ монитор/телевизор вы не застали. Оттого и недопонимание. Потому что практически любой интересующийся электроникой школьник из 90-х никакого недопонимания от развёртки VGA-сигнала бы не испытал. Он абсолютно естественный. А кстати, вы по какому интерфейсу к монитору подключаетесь-то? А то судя по всему, это всё-таки VGA ("Здесь я не буду ни описывать, ни делать схему для вывода изображения на VGA."). И какая у вас частота строчных и кадровых СИ? А разрешение какое получилось с вашими делителями? И вообще странно от VGA (которому 30 лет в обед и который, кстати, аналоговый) ожидать передачи координат и цветов...
Уверен, что вы упустили прочесть описание видеосигнала, приходящего на
монитор по VGA. :) Но ведь полно же руководств в инете, что там и
зачем...
Разработку, как и описание, своего видео адаптера Вам следовало бы начать именно с формулировки куда и как Вы собрались выводить видео сигнал, т.е. с описания VGA интерфейса. Я сначала подумал, что Вы собираетесь выводить на HDMI. Потом глянул на схему и подумал, что на выходе должен быть PAL сигнал. Но оказывается, что у Вас VGA.
Из прочтения статьи не понятно:
Какова частота следования пикселов (pixclk) ?
Каково разрешение видимой области экрана ?
Какой размер памяти видео фреймбуфера ? Вижу два блока по 64К, но как они распределены по фреймбуферу ?
Схема очень мелкая и запутанная, не вижу на ней шины данных.
Как Вы разграничиваете доступ к памяти между центральным процессором и энкодером адаптера ? Можно ли процессору выполнять циклы чтения из видео памяти?
Сколько бит отводится на кодирование цвета точки ?
PS: Сигналы горизонтальной и вертикальной синхронизации принято обозначать как HSync и VSync от английского слова "synchronize" - синхронизировать (сопоставлять во времени).
Корректировал статью.
Какова частота следования пикселов (pixclk) ?
В статье было изначально написано, что мы не можем менять частоту ни как (точнее можно её делить), сколько бы мы не выставляли ТГ, они все будут работать на одной заданной частоте и синхронно. Потому всё будет происходить с одной заданной частотой (плюс свои созданные задержки).
Каково разрешение видимой области экрана ?
Какой размер памяти видео фреймбуфера ? Вижу два блока по 64К, но как они распределены по фреймбуферу ?
Так же было сказано при создании RGB видео, что размер экрана берётся для простоты 8 на 8.
Исходя из размеров экрана получаем блоки памяти 64 (не тысяч) на 8 байт.
не вижу на ней шины данных.
Да, с одной стороны это моя проблема. Я ни когда не видел шину данных, так как её отображают. Для меня это просто согласующие "провода". Хотя, наверно, я должен был убрать из блока управления мультиплексоры и демультиплексоры и присвоить их шине данных.
Как Вы разграничиваете доступ к памяти между центральным процессором и энкодером адаптера?
Всё делает блок управления, согласовывая приходящие сигналы: от ЦП - EndDraw и приходящих сигналов (якобы приходящих - это эмуляция) VSinc и HSinc. В статье об этом пишется.
Можно ли процессору выполнять циклы чтения из видео памяти?
В данном случае в этом нет необходимости. Но реализуется достаточно просто, надо лишь согласовать из какого банка памяти надо производить чтение. Ну и задать управляющие сигналы.
Сколько бит отводится на кодирование цвета точки ?
8 бит. Так же написано в статье.
Благодарю за конструктив! Данная информация была полезна.
и опять я неправильно сигналы назвал...
VSync и HSync... я всё пытаюсь "I" использовать...
Вот еще пара ссылок касательно таймингов:
http://martin.hinner.info/vga/timing.html
Задержка вертикальной синхронизации
Кстати! На время этой задержки должен выдаваться чёрный цвет. LCD это пофиг, но ЭЛТ монитор вас не поймёт, если вы выдадите что-то другое.
ЭЛТ монитору на самом тоже деле должно быть без разницы, а в композитном сигнале для телевизора там может еще и телетекст передаваться
Не встречал аналогвых ЭЛТ, которым бы это было пофигу. Возможно, это пофиг моделям с цифровой начинкой.
А в телевизорах телетекст передаётся уровнем ниже чёрного (чёрный уровень вовсе не 0 В в композитном сигнале).
давно это было конечно, может запамятовал. А про телетекст как минимум wiki сейчас говорит: The amplitude for a "0" is black level ±2% and a "1" is 66±6% of the difference between black and peak white level
хотя, я про PAL только знаю, может по SECAM он и правда по другому кодировался
Если это так, то это важно знать при создании блока согласования. Но не очень важно при проектировании самого видеоадаптера. Потому что не известно к какому именно устройству вывода будет подключен видеоадаптер и какие порты будет использовать для подключения.
Никаких примитивов и символов, пихай туда сразу нейронку которая на основании предыдущего кадра и запроса рисует следующий.
Создание видеоадаптера своими мозгами