640x480 vga сколько пикселей
Обновлено: 21.11.2024
0,3 мегапикселя
Обычные разрешения сенсоров для камер с C-креплением в основном находятся между разрешением VGA (640 x 480 пикселей) с 0,3 мегапикселями и сенсорами с 5 мегапикселями.
Что такое разрешение 640 x 480?
Изображение с разрешением 640 × 480 будет отображаться на мониторе размером 640/72 = 8,9 дюйма на 480/72 = 6,7 дюйма или 8,9 x 6,7 дюйма. Таким образом, изображение с разрешением 640 x 480 подходит для просмотра на мониторе, отправки по электронной почте другу или использования на веб-сайте.
Сколько пикселей составляет 1 мегапиксель?
один миллион пикселей
Один мегапиксель (обычно сокращенно MP) равен одному миллиону пикселей. Мегапиксели – это способ измерения количества, который не имеет ничего общего с качеством.
Как вы конвертируете пиксели в мегапиксели?
- Размер = 1920 x 1080 = 2 073 600 пикселей.
- Количество пикселей = 2,07 Мпикс.
- Разрешение – 2,07 Мпикс.
Подходит ли разрешение 640 × 480 для веб-камеры?
VGA — это дескриптор, который обычно относится к разрешению 640 x 480, что соответствует разрешению телевизора стандартной четкости. Веб-камеры VGA не считаются веб-камерами высокой четкости. Это веб-камеры начального уровня, которые снимают видео с разрешением 640×480 пикселей или . 3 мегапикселя или меньше.
Как рассчитываются мегапиксели?
Количество мегапикселей камеры рассчитывается путем умножения количества пикселей по вертикали на количество пикселей по горизонтали, захваченных датчиком камеры или ПЗС. Например, оригинальный Canon Digital Rebel захватывает 2048 пикселей по вертикали и 3072 пикселей по горизонтали, что в сумме составляет 6 291 456 пикселей (2048 x 3072).
Что означает 640 × 360?
640 × 360 — это 16:9 (1,78:1). 640×480 и 800×600 — это 4:3 (1,33:1). Вы можете разделить длину на 1,78 или 1,33, чтобы получить правильный аспект. Речь идет не столько о сохранении соотношения сторон, сколько об увеличении и уменьшении масштаба.
Что такое хороший мегапиксель для веб-камеры?
Разрешение 1,3 мегапикселя позиционируется как отраслевой стандарт, и для большинства пользователей это обеспечивает приемлемую производительность. Однако, если вы планируете использовать свою веб-камеру для съемки большого количества снимков, подумайте о том, чтобы выложить немного больше для 2-мегапиксельной камеры и выше.
Сообщений: 5 261
(2019-10-02: Версия 0.6: поддержка цвета 8bpp, новая поддержка кремния и преобразованный драйвер C для Catalina и riscvp2)
(01.03.2019: Версия 0.5: реорганизовано, чтобы сделать возможным использование нескольких мониторов. Добавлены простые демонстрации C и BASIC.)
(19.02.2019: Версия 0.4. Исправлена неприятная ошибка в полярности vsync. Пожалуйста, обновите!)
(19 февраля 2019 г.: обновлен новый драйвер, который поддерживает разрешение 1024 x 768 и обеспечивает лучшую синхронизацию при разрешении 640 x 480)
(18 февраля 2019 г.: обновлен скриншот и новый драйвер.)
Это все еще продолжается, но, похоже, синхронизация на моем мониторе идет нормально. Он использует растровое изображение 1bpp с 256 символами. Предоставленный шрифт имеет размер 8x16, поэтому мы получаем 80x30 символов при разрешении 640x480 и 100x40 символов при разрешении 800x600 (в последнем случае мы используем только 15 строк шрифта). У каждого символа могут быть произвольные цвета фона и переднего плана, поэтому каждый символ занимает 8 байт памяти; таким образом, корпус 800x600 использует 100*40*8 = 32000 байт памяти для экрана. То, как он работает, генерирует 8 пикселей за раз, поэтому на практике шрифт должен быть шириной 8 пикселей, но может быть любой высоты.
Внутренне он загружает одну строку шрифта в ОЗУ COG во время горизонтального гашения и использует getbyte для поиска данных о пикселях для каждого символа из этой строки шрифта, одновременно помещая цвета fg и bg в LUT для отображения. Сделать это для более высоких разрешений, вероятно, будет сложно, хотя я уверен, что есть способы уменьшить количество циклов во внутреннем цикле.
Демонстрация правильно работает только в самой последней версии fastspin (3.9.20), потому что она использует setpiv для смешивания цветов пикселей, а в более ранних версиях fastspin эта инструкция содержала ошибку. Фактический драйвер должен быть в порядке со старым fastspin и должен легко переноситься на PNut (есть только обычные методы Start/Stop Spin, большая часть кода драйвера находится в PASM).
;
Комментарии
Круто. Выглядит красиво. Демонстрация 800x600 работала из коробки. Мне нужно было только уменьшить частоту пикселей в демоверсии 640x480 - без этого мой дешевый маленький 4-дюймовый монитор не принимал сигнал.Обследование показало вертикальную синхронизацию 76 Гц и, я думаю, 38 или 39 кГц hsync. 30MHz pixclk был примерно максимальным, который работал, но выглядел довольно нервно. 25,175 МГц выглядит солидно и дает нормальную вертикальную синхронизацию 59,94
Сообщений: 5 261
Я обновил ZIP-файл на первом изображении новой версией кода. В самом драйвере мало что изменилось, но демонстрационная версия vga640x480 теперь включает драйвер терминала, который понимает управляющие последовательности ANSI (я забыл обновить демонстрационную версию 800x600, но вы можете легко увидеть, как скопировать подпрограммы из версии 640x480 — все функции обработки текста находятся в отдельных файлах .spinh).
Разрешение 640 x 480 у меня работает, но очень дергано.
XDIV должно быть низким значением (например, 1 или 2) для текущего кремния.
Размер 800 x 600 мне не подходит.
Я только что попытался добавить драйвер растрового изображения, чтобы можно было переключаться между текстом и растровым изображением.
Добавление растрового файла в раздел DAT приводит к сбою Fastspin…
Кажется, не нравится вставлять гигантский файл. Работает, если изменить на небольшой файл.
Разрешение 640 x 480 у меня работает, но очень дергано.
XDIV должно быть низким значением (например, 1 или 2) для текущего кремния.
Размер 800 x 600 мне не подходит.
Можете ли вы опубликовать изображения джиттера в зависимости от PFD МГц для вашей комбинации P2/монитор?
Внезапно становится хуже или постепенно?
т. е. можно ли использовать /3 (6,66 МГц) или требуется 10 МГц PFD?
Попытка определить «минимальную частоту МГц», на которой может работать P2 PFD, для различных пар VGA.
Насколько устойчив ваш монитор к тактовой частоте Line Scan и Pixel?
например, 26 МГц, что является дешевым значением GPS TCXO, может дать
PFD = 26M/3 = 8,666' МГц
Err = 1-29*(26M/3)/(25,175M*10 ) = 0,165 %
Сообщений: 5 261
Спасибо всем за предложения. Мой монитор кажется довольно терпимым, но я постараюсь сохранить значение XDIV низким. Я обновил первый пост с некоторым пересмотренным кодом. Вычисления частоты в коде 800x600 теперь правильно параметризованы, и я снова изменил код 640x480, чтобы он, надеюсь, работал на большем количестве мониторов. По какой-то причине настройки @Rayman не работают на моем мониторе, хотя похоже, что они точно соответствуют спецификации. Это странно, потому что, как я уже говорил, мой монитор обычно довольно терпим, но, возможно, проблема в том, что он воспринимает сигнал как 720 x 400 вместо 640 x 480.
Я оптимизировал цикл пикселей и теперь могу отображать 1024x768. Для этого я разгоняю плату P2 Eval до 200 МГц, но моя плата, по крайней мере, не слишком нагревается, когда я это делаю, но ваш пробег может отличаться, так что вы можете или не можете попробовать это сами. . (Похоже, что многие люди перешли на частоту выше 200 МГц, так что, вероятно, это не так уж и безумно.)
Я думаю, что это предел для полноцветного переднего плана и фона, меняющегося для каждого символа (ха! кто-то докажет, что я не прав), но для монохромного или с менее частой сменой цветов получить разрешение 1600 x 1200 или 1920 x 1060 должно быть довольно легко
<р>. Для этого я разгоняю плату P2 Eval до 200 МГц, но моя плата, по крайней мере, не слишком нагревается, когда я это делаю, но ваш пробег может отличаться, так что вы можете или не можете попробовать это сами. . (Похоже, что многие люди перешли на частоту выше 200 МГц, так что, вероятно, это не так уж и безумно.)..
Измерения приводятся для частоты 350 МГц, поэтому частота 200 МГц выглядит более распространенной.
IIRC Chip надеялся ориентироваться на 250 МГц в качестве более формальной спецификации (минимум HDMI) в P2 + на OnSemi сейчас — возможно, с более низким максимальным Tj и более жесткими спецификациями поставки.
Конечно, это зависит от того, как обстоят дела с P&R в OnSemi, а в 2+ больше логики. время покажет.
К вашему сведению, большинству современных ЖК-мониторов требуется ~60 Гц по вертикали.
Хотя я думаю, что некоторые игровые делают 120 Гц.
Сообщений: 5 261
Ага! Я думаю, что нашел, почему мой монитор не синхронизируется должным образом при разрешении 640x480 — он ищет отрицательную полярность для hsync, тогда как, если я правильно читаю код, мы обеспечиваем положительную. Я изменил драйвер, чтобы сделать полярность параметром. Я *думаю*, что это должно работать нормально, но я разбираюсь в программном обеспечении, а не в железе, так что вполне возможно, что я что-то напутал с сигналами. Пожалуйста, не подключайте его к аналоговому монитору, пока он не будет тщательно проверен, и вообще будьте с ним осторожны.
Новая версия демоверсии 640 x 480 работает с частотой 60 Гц (как и версии 800 x 600 и 1024 x 768) и отлично синхронизируется на моем мониторе.
Рой Элтем Сообщений: 2995
У многих старых ЖК-мониторов частота составляет 59,97 Гц (или около того), а не 60 Гц.
Игровые мониторы бывают с частотой 120 Гц и 144 Гц.
Кроме того, я сомневаюсь, что вы повредите аналоговый монитор из-за плохих данных сигнала (например, pos vs neg hsync или off times), если только это не действительно плохой монитор.
Все новые режимы у меня работали без изменений. Полярность HSync действительно меняется (монитор принимает ее без лишней возни), но изменение полярности VSync, похоже, не дает никакого эффекта — на осциллографе это всегда выглядит положительно.
Сообщений: 5 261
Спасибо, что проверили это в области видимости! Я бы не заметил, что полярность была неправильной, мой монитор смотрел только на горизонтальную полярность.
Я опубликую это здесь, так как он использует драйвер плитки Эрика:
Учитывая, что для HDMI требуется скорость передачи данных, в 10 раз превышающая скорость передачи пикселей, скорость передачи данных 640x480 с частотой 250 МГц обычно считается единственным приемлемым разрешением для Prop2. Пытаясь подняться выше, я играл с синхронизацией отображения драйвера vgatile. Мой ЖК-телевизор кажется чрезвычайно снисходительным к таймингам для любого конкретного известного разрешения. но он не принимает неизвестное разрешение. Я подозреваю, что современные мониторы / телевизоры с соотношением сторон 16: 9 обычно имеют аналогичные возможности «уменьшения гашения». В конце концов, им не нужно время возврата.
Что мне удалось сделать, так это начать с заявленной частоты пикселей 34 МГц в режиме 848 x 480 при 60 Гц и урезать тайминги до тех пор, пока у меня даже не получится работать с разрешением 848 x 480 при 25 МГц.
У меня работает - 26,26 кГц, 54,25 Гц
Одна вещь, которую я не уверен, видят другие. Я видел это со всеми этими - это то, что левая и/или правая часть отрублены. еще не пробовал с этим режимом, но смог настроить тайминги, установленные в драйвере, чтобы он поместился на экране. Тем не менее, это дешевый маленький 4-дюймовый ЖК-дисплей. Я подозреваю, что это в основном виновато, поскольку я помню, что сталкивался с тем же самым со многими драйверами на основе P1. должен получить лучший VGA-монитор, хех.
Многие большие мониторы автоматически подстраиваются, и при этом они ожидают, что рамка изображения будет работать.
Это означает, что предлагаемое изображение должно иметь определенный край - черный фон также не работает, а любые ошибочные пиксели за пределами окна дисплея могут сбить его с толку.
Не знаете, как сжатый обратноходовой механизм будет взаимодействовать с автоматической подгонкой?
Спасибо, что проверили это в области видимости! Я бы не заметил, что полярность была неправильной, мой монитор смотрел только на горизонтальную полярность.
Ага! Neg и Pos теперь правильно отображаются здесь
О, я забыл о 26 кГц по горизонтали. Это очень мало для мониторов ПК. И я подозреваю, что что-то не так, когда я пытаюсь подключить старый ЖК-монитор. Мне пришлось несколько повысить требования до 28 МГц, чтобы заставить этот монитор Dell работать.
Этот вариант должен быть более универсальным, но будет работать быстрее при работе с HDMI.
EDIT: Обновлены комментарии в исходном коде.
EDIT2: Пересмотрено для вертикальной синхронизации 60 Гц, поскольку она соответствует
Только что проделал то же самое с разрешением 800 x 600, уменьшив частоту на телевизоре до 30 МГц и на мониторе до 28 МГц. Так что 800x600 выглядит жизнеспособным через HDMI. Хотя наверное на 300МГц!
Будет интересно посмотреть, насколько синхронизация HDMI соответствует синхронизации VGA, а также отличаются ли мониторы и телевизоры друг от друга по HDMI.
EDIT: +1 к вертикальной синхронизации.
EDIT2: добавлено множество экспериментов в качестве опций для таймингов
Будет интересно посмотреть, насколько синхронизация HDMI соответствует синхронизации VGA, а также отличаются ли мониторы и телевизоры друг от друга по HDMI.
Да, будет. Я знаю, что мой 24-дюймовый ЖК-дисплей Dell (через DVI) использовал всевозможные странные тайминги и разрешения, которые я использовал для него, используя сигнал HDMI из моей пользовательской реализации FPGA. Я подозреваю, что HDTV могут быть несколько менее снисходительными, но, вероятно, они будут отличаться, и с ними стоит поэкспериментировать.
49 Гц кажется нижним пределом для вертикальной синхронизации. И 29 кГц для hsync. Хотя телевизор явно ушел ниже по горизонтали.
Не считая этих двух цифр, самая большая проблема в основном заключалась в том, что телевизор или монитор определяли неправильное разрешение и создавали уродливую картинку.
PS: я надеюсь, что устройства HDMI имеют больше шансов использовать интегральную синхронизацию и намного лучше определяют разрешение.
Сообщений: 5 261
Я обновил драйвер, так что контакт VGA теперь является параметром метода start(), а не константой.Это должно позволить легко подключить несколько мониторов; вам понадобится один объект Spin (и COG) на каждый монитор. Код драйвера терминала теперь более четко отделен от драйвера плитки и демонстрационного кода.
Я также добавил несколько очень простых примеров того, как использовать это из C (пока только fastspin, извините) и BASIC.
Сообщений: 5 261
Вау, я вижу, что не обновлял это какое-то время, так что вот новая версия. Для тех, кто сталкивается с этим впервые: это драйвер VGA для P2, поддерживающий отображение текста с разрешением 640x480, 800x600 или 1024x768. Большинство escape-кодов ANSI правильно интерпретируются (достаточно, по крайней мере, для корректной работы редактора микропитона Pye), включая такие вещи, как мерцание и подчеркивание текста.
По сравнению с последней версией есть ряд улучшений:
(1) Новый кремний поддерживается. Аппаратное обеспечение проверяется во время выполнения, поэтому и старая, и новая микросхема поддерживаются одним и тем же двоичным файлом (должны измениться только параметры стримера).
(2) Используемая память более настраиваема: вы можете иметь либо 8 байтов на символ (что позволяет использовать полные 24 бита на пиксель для каждого цвета переднего плана и фона для каждого символа), либо 4 байта на символ (что позволяет использовать 8-битную палитру ANSI для переднего плана и цвета фона). цвета фона). Помимо цвета у нас также есть 2 байта на символ для самого символа и для специальных эффектов.
(3) Предоставляется версия драйвера C. Это автоматически преобразуется из драйвера Spin через spin2cpp. Я тестировал его с помощью riscvp2 и Catalina. p2gcc не имеет необходимой поддержки propeller2.h, но, возможно, со временем новый PropGCC будет. FlexC (также известный как fastspin) пока не работает с этим преобразованным драйвером C, но он может напрямую использовать код Spin, так что это не большая проблема.
Этот контент был заархивирован и больше не поддерживается Университетом Индианы. Информация здесь может быть неточной, а ссылки могут быть недоступны или ненадежны.
На протяжении многих лет в ПК использовалось множество различных мониторов и видеокарт. Видеокарты и мониторы описываются следующими характеристиками:
- Количество пикселей. Пиксель – это одна точка, отображаемая на экране. Большинство экранных изображений состоят из сотен пикселей. Добавление большего количества пикселей к изображению делает изображение более подробным. Изображение на экране обычно описывается двумя числами. Первое число — это количество пикселей в верхней части экрана, а второе — количество пикселей в нижней части экрана.
- Количество цветов. Графические карты могут отображать ограниченное количество цветов. Самые старые мониторы могли отображать только два или четыре цвета. В настоящее время 256 цветов — это минимум для большинства систем. Количество цветов выше 256 обычно описывается тем, сколько компьютерных битов используется для хранения цвета в памяти. 16 бит – более 65 000 цветов, 2 4 бит – более 16 миллионов цветов.
Ниже перечислены некоторые из наиболее распространенных стандартов видеокарт и мониторов для ПК:
- SVGA (Super VGA). Одна из самых популярных этикеток, которые наносятся на видеокарты и мониторы. Карта или монитор SVGA способны отображать больше пикселей (точек на экране) и/или цветов, чем базовый VGA. Например, видеокарта SVGA может отображать 16-битный цвет с разрешением 800 x 600 пикселей.
- Карты 3D-ускорения. Эти карты содержат специализированное оборудование, которое ускоряет процесс отображения трехмерных изображений на экране. Обычно они предназначены для работы с монитором SVGA.
- VGA (адаптер видеографики): в настоящее время является базовым стандартом для видеокарт и мониторов ПК. True VGA поддерживает 16 цветов при разрешении 640 x 480 пикселей или 256 цветов при разрешении 320 x 200 пикселей.
- XGA: стандарт, используемый в некоторых моделях IBM PS/2. XGA поддерживает 256 цветов при разрешении 1024 x 728 пикселей или 16 битных цветов при разрешении 640 x 480 пикселей.
- EGA (улучшенный графический адаптер): после CGA — адаптер, способный отображать 16 цветов при разрешении экрана 640 x 350 пикселей.
- CGA (адаптер цветной графики): первый цветной монитор и видеокарта для ПК. Возможность воспроизведения 16 цветов с разрешением 160 x 200 пикселей.
- MDA (адаптер монохромного дисплея): монитор или видеокарта, которые могут отображать только один цвет. Больше не используется, но может быть найден в некоторых старых системах. Обычно поддерживает только текст.
- Графическая карта Hercules: карта, позволяющая ПК отображать графику на мониторе MDA.
Дополнительную информацию о стандартах отображения видео на ПК можно найти по адресу:
Сообщений: 5 261
(2019-10-02: Версия 0.6: поддержка цвета 8bpp, новая поддержка кремния и преобразованный драйвер C для Catalina и riscvp2)
(01.03.2019: Версия 0.5: реорганизовано, чтобы сделать возможным использование нескольких мониторов. Добавлены простые демонстрации C и BASIC.)
(19.02.2019: Версия 0.4. Исправлена неприятная ошибка в полярности vsync. Пожалуйста, обновите!)
(19 февраля 2019 г.: обновлен новый драйвер, который поддерживает разрешение 1024 x 768 и обеспечивает лучшую синхронизацию при разрешении 640 x 480)
(18 февраля 2019 г.: обновлен скриншот и новый драйвер.)
Это все еще продолжается, но, похоже, синхронизация на моем мониторе идет нормально. Он использует растровое изображение 1bpp с 256 символами. Предоставленный шрифт имеет размер 8x16, поэтому мы получаем 80x30 символов при разрешении 640x480 и 100x40 символов при разрешении 800x600 (в последнем случае мы используем только 15 строк шрифта). У каждого символа могут быть произвольные цвета фона и переднего плана, поэтому каждый символ занимает 8 байт памяти; таким образом, корпус 800x600 использует 100*40*8 = 32000 байт памяти для экрана. То, как он работает, генерирует 8 пикселей за раз, поэтому на практике шрифт должен быть шириной 8 пикселей, но может быть любой высоты.
Внутренне он загружает одну строку шрифта в ОЗУ COG во время горизонтального гашения и использует getbyte для поиска данных о пикселях для каждого символа из этой строки шрифта, одновременно помещая цвета fg и bg в LUT для отображения. Сделать это для более высоких разрешений, вероятно, будет сложно, хотя я уверен, что есть способы уменьшить количество циклов во внутреннем цикле.
Демонстрация правильно работает только в самой последней версии fastspin (3.9.20), потому что она использует setpiv для смешивания цветов пикселей, а в более ранних версиях fastspin эта инструкция содержала ошибку. Фактический драйвер должен быть в порядке со старым fastspin и должен легко переноситься на PNut (есть только обычные методы Start/Stop Spin, большая часть кода драйвера находится в PASM).
;
Комментарии
Круто. Выглядит красиво. Демонстрация 800x600 работала из коробки. Мне нужно было только уменьшить частоту пикселей в демо-версии 640x480 — без этого мой дешевый маленький 4-дюймовый монитор не принимал сигнал. Обследование показало 76 Гц vsync и, я думаю, 38 или 39 кГц hsync. но выглядел довольно дергано. 25,175 МГц выглядит надежно и дает нормальную вертикальную синхронизацию 59,94
Сообщений: 5 261
Я обновил ZIP-файл на первом изображении новой версией кода. В самом драйвере мало что изменилось, но демонстрационная версия vga640x480 теперь включает драйвер терминала, который понимает управляющие последовательности ANSI (я забыл обновить демонстрационную версию 800x600, но вы можете легко увидеть, как скопировать подпрограммы из версии 640x480 — все функции обработки текста находятся в отдельных файлах .spinh).
Разрешение 640 x 480 у меня работает, но очень дергано.
XDIV должно быть низким значением (например, 1 или 2) для текущего кремния.
Размер 800 x 600 мне не подходит.
Я только что попытался добавить драйвер растрового изображения, чтобы можно было переключаться между текстом и растровым изображением.
Добавление растрового файла в раздел DAT приводит к сбою Fastspin…
Кажется, не нравится вставлять гигантский файл. Работает, если изменить на небольшой файл.
Разрешение 640 x 480 у меня работает, но очень дергано.
XDIV должно быть низким значением (например, 1 или 2) для текущего кремния.
Размер 800 x 600 мне не подходит.
Можете ли вы опубликовать изображения джиттера в зависимости от PFD МГц для вашей комбинации P2/монитор?
Внезапно становится хуже или постепенно?
т. е. можно ли использовать /3 (6,66 МГц) или требуется 10 МГц PFD?
Попытка определить «минимальную частоту МГц», на которой может работать P2 PFD, для различных пар VGA.
Насколько устойчив ваш монитор к тактовой частоте Line Scan и Pixel?
например, 26 МГц, что является дешевым значением GPS TCXO, может дать
PFD = 26M/3 = 8,666' МГц
Err = 1-29*(26M/3)/(25,175M*10 ) = 0,165 %
Сообщений: 5 261
Спасибо всем за предложения. Мой монитор кажется довольно терпимым, но я постараюсь сохранить значение XDIV низким. Я обновил первый пост с некоторым пересмотренным кодом. Вычисления частоты в коде 800x600 теперь правильно параметризованы, и я снова изменил код 640x480, чтобы он, надеюсь, работал на большем количестве мониторов. По какой-то причине настройки @Rayman не работают на моем мониторе, хотя похоже, что они точно соответствуют спецификации.Это странно, потому что, как я уже говорил, мой монитор обычно довольно терпим, но, возможно, проблема в том, что он воспринимает сигнал как 720 x 400 вместо 640 x 480.
Я оптимизировал цикл пикселей и теперь могу отображать 1024x768. Для этого я разгоняю плату P2 Eval до 200 МГц, но моя плата, по крайней мере, не слишком нагревается, когда я это делаю, но ваш пробег может отличаться, так что вы можете или не можете попробовать это сами. . (Похоже, что многие люди перешли на частоту выше 200 МГц, так что, вероятно, это не так уж и безумно.)
Я думаю, что это предел для полноцветного переднего плана и фона, меняющегося для каждого символа (ха! кто-то докажет, что я не прав), но для монохромного или с менее частой сменой цветов получить разрешение 1600 x 1200 или 1920 x 1060 должно быть довольно легко
<р>. Для этого я разгоняю плату P2 Eval до 200 МГц, но моя плата, по крайней мере, не слишком нагревается, когда я это делаю, но ваш пробег может отличаться, так что вы можете или не можете попробовать это сами. . (Похоже, что многие люди перешли на частоту выше 200 МГц, так что, вероятно, это не так уж и безумно.)..
Измерения приводятся для частоты 350 МГц, поэтому частота 200 МГц выглядит более распространенной.
IIRC Chip надеялся ориентироваться на 250 МГц в качестве более формальной спецификации (минимум HDMI) в P2 + на OnSemi сейчас — возможно, с более низким максимальным Tj и более жесткими спецификациями поставки.
Конечно, это зависит от того, как обстоят дела с P&R в OnSemi, а в 2+ больше логики. время покажет.
К вашему сведению, большинству современных ЖК-мониторов требуется ~60 Гц по вертикали.
Хотя я думаю, что некоторые игровые делают 120 Гц.
Сообщений: 5 261
Ага! Я думаю, что нашел, почему мой монитор не синхронизируется должным образом при разрешении 640x480 — он ищет отрицательную полярность для hsync, тогда как, если я правильно читаю код, мы обеспечиваем положительную. Я изменил драйвер, чтобы сделать полярность параметром. Я *думаю*, что это должно работать нормально, но я разбираюсь в программном обеспечении, а не в железе, так что вполне возможно, что я что-то напутал с сигналами. Пожалуйста, не подключайте его к аналоговому монитору, пока он не будет тщательно проверен, и вообще будьте с ним осторожны.
Новая версия демоверсии 640 x 480 работает с частотой 60 Гц (как и версии 800 x 600 и 1024 x 768) и отлично синхронизируется на моем мониторе.
Рой Элтем Сообщений: 2995
У многих старых ЖК-мониторов частота составляет 59,97 Гц (или около того), а не 60 Гц.
Игровые мониторы бывают с частотой 120 Гц и 144 Гц.
Кроме того, я сомневаюсь, что вы повредите аналоговый монитор из-за плохих данных сигнала (например, pos vs neg hsync или off times), если только это не действительно плохой монитор.
Все новые режимы у меня работали без изменений. Полярность HSync действительно меняется (монитор принимает ее без лишней возни), но изменение полярности VSync, похоже, не дает никакого эффекта — на осциллографе это всегда выглядит положительно.
Сообщений: 5 261
Спасибо, что проверили это в области видимости! Я бы не заметил, что полярность была неправильной, мой монитор смотрел только на горизонтальную полярность.
Я опубликую это здесь, так как он использует драйвер плитки Эрика:
Учитывая, что для HDMI требуется скорость передачи данных, в 10 раз превышающая скорость передачи пикселей, скорость передачи данных 640x480 с частотой 250 МГц обычно считается единственным приемлемым разрешением для Prop2. Пытаясь подняться выше, я играл с синхронизацией отображения драйвера vgatile. Мой ЖК-телевизор кажется чрезвычайно снисходительным к таймингам для любого конкретного известного разрешения. но он не принимает неизвестное разрешение. Я подозреваю, что современные мониторы / телевизоры с соотношением сторон 16: 9 обычно имеют аналогичные возможности «уменьшения гашения». В конце концов, им не нужно время возврата.
Что мне удалось сделать, так это начать с заявленной частоты пикселей 34 МГц в режиме 848 x 480 при 60 Гц и урезать тайминги до тех пор, пока у меня даже не получится работать с разрешением 848 x 480 при 25 МГц.
У меня работает - 26,26 кГц, 54,25 Гц
Одна вещь, которую я не уверен, видят другие. Я видел это со всеми этими - это то, что левая и/или правая часть отрублены. еще не пробовал с этим режимом, но смог настроить тайминги, установленные в драйвере, чтобы он поместился на экране. Тем не менее, это дешевый маленький 4-дюймовый ЖК-дисплей. Я подозреваю, что это в основном виновато, поскольку я помню, что сталкивался с тем же самым со многими драйверами на основе P1. должен получить лучший VGA-монитор, хех.
Многие большие мониторы автоматически подстраиваются, и при этом они ожидают, что рамка изображения будет работать.
Это означает, что предлагаемое изображение должно иметь определенный край - черный фон также не работает, а любые ошибочные пиксели за пределами окна дисплея могут сбить его с толку.
Не знаете, как сжатый обратноходовой механизм будет взаимодействовать с автоматической подгонкой?
Спасибо, что проверили это в области видимости! Я бы не заметил, что полярность была неправильной, мой монитор смотрел только на горизонтальную полярность.
Ага! Neg и Pos теперь правильно отображаются здесь
О, я забыл о 26 кГц по горизонтали. Это очень мало для мониторов ПК. И я подозреваю, что что-то не так, когда я пытаюсь подключить старый ЖК-монитор. Мне пришлось несколько повысить требования до 28 МГц, чтобы заставить этот монитор Dell работать.
Этот вариант должен быть более универсальным, но будет работать быстрее при работе с HDMI.
EDIT: Обновлены комментарии в исходном коде.
EDIT2: Пересмотрено для вертикальной синхронизации 60 Гц, поскольку она соответствует
Только что проделал то же самое с разрешением 800 x 600, уменьшив частоту на телевизоре до 30 МГц и на мониторе до 28 МГц. Так что 800x600 выглядит жизнеспособным через HDMI. Хотя наверное на 300МГц!
Будет интересно посмотреть, насколько синхронизация HDMI соответствует синхронизации VGA, а также отличаются ли мониторы и телевизоры друг от друга по HDMI.
EDIT: +1 к вертикальной синхронизации.
EDIT2: добавлено множество экспериментов в качестве опций для таймингов
Будет интересно посмотреть, насколько синхронизация HDMI соответствует синхронизации VGA, а также отличаются ли мониторы и телевизоры друг от друга по HDMI.
Да, будет. Я знаю, что мой 24-дюймовый ЖК-дисплей Dell (через DVI) использовал всевозможные странные тайминги и разрешения, которые я использовал для него, используя сигнал HDMI из моей пользовательской реализации FPGA. Я подозреваю, что HDTV могут быть несколько менее снисходительными, но, вероятно, они будут отличаться, и с ними стоит поэкспериментировать.
49 Гц кажется нижним пределом для вертикальной синхронизации. И 29 кГц для hsync. Хотя телевизор явно ушел ниже по горизонтали.
Не считая этих двух цифр, самая большая проблема в основном заключалась в том, что телевизор или монитор определяли неправильное разрешение и создавали уродливую картинку.
PS: я надеюсь, что устройства HDMI имеют больше шансов использовать интегральную синхронизацию и намного лучше определяют разрешение.
Сообщений: 5 261
Я обновил драйвер, так что контакт VGA теперь является параметром метода start(), а не константой. Это должно позволить легко подключить несколько мониторов; вам понадобится один объект Spin (и COG) на каждый монитор. Код драйвера терминала теперь более четко отделен от драйвера плитки и демонстрационного кода.
Я также добавил несколько очень простых примеров того, как использовать это из C (пока только fastspin, извините) и BASIC.
Сообщений: 5 261
Вау, я вижу, что не обновлял это какое-то время, так что вот новая версия. Для тех, кто сталкивается с этим впервые: это драйвер VGA для P2, поддерживающий отображение текста с разрешением 640x480, 800x600 или 1024x768. Большинство escape-кодов ANSI правильно интерпретируются (достаточно, по крайней мере, для корректной работы редактора микропитона Pye), включая такие вещи, как мерцание и подчеркивание текста.
По сравнению с последней версией есть ряд улучшений:
(1) Новый кремний поддерживается. Аппаратное обеспечение проверяется во время выполнения, поэтому и старая, и новая микросхема поддерживаются одним и тем же двоичным файлом (должны измениться только параметры стримера).
(2) Используемая память более настраиваема: вы можете иметь либо 8 байтов на символ (что позволяет использовать полные 24 бита на пиксель для каждого цвета переднего плана и фона для каждого символа), либо 4 байта на символ (что позволяет использовать 8-битную палитру ANSI для переднего плана и цвета фона). цвета фона). Помимо цвета у нас также есть 2 байта на символ для самого символа и для специальных эффектов.
(3) Предоставляется версия драйвера C. Это автоматически преобразуется из драйвера Spin через spin2cpp. Я тестировал его с помощью riscvp2 и Catalina. p2gcc не имеет необходимой поддержки propeller2.h, но, возможно, со временем новый PropGCC будет. FlexC (также известный как fastspin) пока не работает с этим преобразованным драйвером C, но он может напрямую использовать код Spin, так что это не большая проблема.
Читайте также: