Ellochka
Jul 6 2009, 12:34
проблема состоит в том, что на обычные мониторы изображение выводимое через VGA-разъем платы Spartan-3 показывается на старом мониторе, ЭЛТ, но не показаывается на ЖК!
Кто-нибудь выводил изображение на ЖК-монитор?
Почему не выводится? Там что уровни напряжений другие нежели у старых мониторов???
Ума не приложу! Подскажите , пожалуйста!
Возможно, LCD-монитору не нравится режим. Какой у Вас используется?
Михаил_K
Jul 6 2009, 13:10
Если имеется ввиду кит, с 200 спартаном 3 и тестовая прошивка, которая залита по умолчанию, то я выводил. Никаких проблем не было.
rezident
Jul 6 2009, 13:15
Цитата(Ellochka @ Jul 6 2009, 18:34)

Почему не выводится? Там что уровни напряжений другие нежели у старых мониторов???
Обычно отличия у аналоговых ЭЛТ и аналоговых LCD-мониторов только в поддержке максимальных частот рефреша. С рефрешем напрямую связаны строчная и кадровая частоты.
DmitryR
Jul 6 2009, 16:21
У LCD ныне рефреш вообще только 60 Гц, плюс обычно очень жесткие требования к бланковым полям.
Ellochka
Jul 7 2009, 06:39
1. Монитор переводила в режим 640 на 480, 16 бит цветов, 60 Гц. На спартане - всего 8 цветов, 3 бита, но цвет думаю, поддерживается.
2.Да у меня Spartan3. Заливала туда игрушку PONG (пин-понг), которую нашла в OpenExamples... в ISE 10.1. А что в стартер ките-то вы выводили, Михаил_K? Как называется программка? где ее найти? Стартер кит потенциально есть.
3.Частота спартана - 60 Гц, монитор тоже в этот же режим переводила.
4. У меня появилась такая мысль: может быть для поддержки LCD на какие-то выводы надо подавать доп. информацию? что-то вроде адаптера для монитора? Я слышала про pin12, pin15 - на них выводится сигналы SDA и SKL. ?
Насчет уровней напряжений: со спартана сигналы R,G,B,HS отлично снимаю, а вот VS почему-то не нахожу.. 0 вольт и все..
Смотрела выходные уровни на VGA-разъеме компа.. так там вообще ничего путного, точнее те же 0 вольт..
EvgenyNik
Jul 7 2009, 07:01
Цитата
Насчет уровней напряжений: со спартана сигналы R,G,B,HS отлично снимаю, а вот VS почему-то не нахожу.. 0 вольт и все..
Смотрела выходные уровни на VGA-разъеме компа.. так там вообще ничего путного, точнее те же 0 вольт..
Мультиметром смотрите чтоль? Он же импульсный, его только осциллографом.
Сильно сомневаюсь, но попробуйте поиграться с полярностью HS, VS, т.е. поставить инверторы на выход (сначала у одного, потом у другого, потом у обоих...)
Ellochka
Jul 7 2009, 07:38
Цитата(Евгений Николаев @ Jul 7 2009, 11:01)

Мультиметром смотрите чтоль? Он же импульсный, его только осциллографом.
на осциллографе, конечно, смотрела. там же частота, на мультиметре я бы ничего не увидела бы.
Цитата(Евгений Николаев @ Jul 7 2009, 11:01)

Сильно сомневаюсь, но попробуйте поиграться с полярностью HS, VS, т.е. поставить инверторы на выход (сначала у одного, потом у другого, потом у обоих...)
(((
Проверьте полярность сигнала DE, неправильная полярность этого сигнала у меня привела к такому же результату
Zwerg_nase
Jul 7 2009, 09:55
Цитата(Ellochka @ Jul 7 2009, 10:39)

4. У меня появилась такая мысль: может быть для поддержки LCD на какие-то выводы надо подавать доп. информацию? что-то вроде адаптера для монитора? Я слышала про pin12, pin15 - на них выводится сигналы SDA и SKL. ?
SDA и SCL это сигналы канала DDC (см. аттачмент). Чтобы монитор показывал, сюда ничего подавать не надо. Можно прочитать из монитора информацию о том, какие режимы он поддерживает.
Ellochka
Jul 7 2009, 10:17
Цитата(Cont @ Jul 7 2009, 12:57)

Проверьте полярность сигнала DE, неправильная полярность этого сигнала у меня привела к такому же результату
Только что прочитала что согласно VESA стандарту для VGA 60Hz полярность отрицательная. мм, а что за сигнал DE? и как менять его полярность?
Надо же поменять полярность сигналов HS, VS. Опять же как менять.. переписать код и заменить нолики на единички и наоборот??
EvgenyNik
Jul 7 2009, 10:40
Цитата
Надо же поменять полярность сигналов HS, VS. Опять же как менять.. переписать код и заменить нолики на единички и наоборот??
Нет. Посмотрите - где у вас идёт присваивание внутреннего логического сигнала H/VS внешнему выводу и введите инверсию там.
Например, для verilog'а:
output hs_out...
reg hs...
assign hs_out = hs;
меняете на
assign hs_out = !hs;
Ellochka
Jul 7 2009, 10:55
проинвертировала HS, VS. Проверила это на осциллографе. не помогло. все равно CRT выводит, а LCD нет.
Может что не так сделала?
И все же что за сигнал DE?
DE - PIXEL DATA ENABLE. Странно что Вы задаете этот вопрос, возможно у вас нет этого сигнала в контроллере. Такое в принципе возможно, если выход аналоговый, т.к. некоторые DAC-и работают без DE.
Ellochka
Jul 8 2009, 05:37
А что за контроллер вы имеете ввиду?
Вывод же идет сразу в VGA-порт. pin1,2,3 - R,G,B. pin 13, pin 14 - hs,vs. Эти сигналы я и формирую в программе.
Там нет сигнала DE.
В стандарте VGA нет такого сигнала..
Pin Name Dir Description
1 RED Red Video (75 ohm, 0.7 V p-p)
2 GREEN Green Video (75 ohm, 0.7 V p-p)
3 BLUE Blue Video (75 ohm, 0.7 V p-p)
4 ID2 Monitor ID Bit 2
5 GND Ground
6 RGND Red Ground
7 GGND Green Ground
8 BGND Blue Ground
9 KEY - Key (No pin)
10 SGND Sync Ground
11 ID0 Monitor ID Bit 0
12 ID1 or SDA Monitor ID Bit 1
13 HSYNC or CSYNC Horizontal Sync (or Composite Sync)
14 VSYNC Vertical Sync
15 ID3 or SCL Monitor ID Bit 3
Или мы с вами говорим о разных вещах?
Ellochka
Jul 8 2009, 06:44
Уважаемый Cont!
Поясните, пожалуйста, что вы имели в виду.
Pin Name Dir Description
1 RED Red Video (75 ohm, 0.7 V p-p)
2 GREEN Green Video (75 ohm, 0.7 V p-p)
3 BLUE Blue Video (75 ohm, 0.7 V p-p)
4 ID2 Monitor ID Bit 2
5 GND Ground
6 RGND Red Ground
7 GGND Green Ground
8 BGND Blue Ground
9 KEY - Key (No pin)
10 SGND Sync Ground
11 ID0 Monitor ID Bit 0
12 ID1 or SDA Monitor ID Bit 1
13 HSYNC or CSYNC Horizontal Sync (or Composite Sync)
14 VSYNC Vertical Sync
15 ID3 or SCL Monitor ID Bit 3
Это аналоговые выходы, я имел ввиду то, что у вас поступает на DAC. (Но скорее всего там DE и не нужен) Возможно ваш LCD по какой-то причине не работает с VGA.
Напишите полное название вашей платы.
Ellochka
Jul 8 2009, 09:36
Цитата(Cont @ Jul 8 2009, 11:32)

Напишите полное название вашей платы.
у меня плата Spartan - 3 c ПЛИС XC3S200. Поддерживает VGA, 60 Гц, 3 бита. Монитор перевожу в режим 640*480, 256 цветов, 60 Гц. Так что он VGA поддерживает. Выдает "Out of range" - почему я и думаю, что здесь не согласовываются уровни напряжений.
В стандарте написано, что уровни R,G,B - не ТТЛ. "0.7 V р-р" - видимо 0.7В - уровень единицы (хотя мне непонятен смысл индекса р-р).
Интересно то, что на R,G,B Spartan выдает уровни 0В и 3.3В - откуда, я полагаю, что ЭЛТ либо обрезает этот сигнал, либо преобразует к 0.7В.
А ЖК в свою очередь это не делает и пишет, что сигнал вне диапазона.
Что вы по этому поводу думаете?
Как мне обратиться к сигналу DE, если у меня есть только выход платы и вход монитора? и оба VGA?
Цитата(Ellochka @ Jul 8 2009, 13:36)

В стандарте написано, что уровни R,G,B - не ТТЛ. "0.7 V р-р" - видимо 0.7В - уровень единицы (хотя мне непонятен смысл индекса р-р).
Индекс р-р всего лишь навсего означает peak to peak - размах от мин. до макс. аналогового сигнала. Входной тракт VGA по RGB - аналоговый, даже в LCD мониторах. Вполне возможно, что современные ЖКИ мониторы достаточно умные, чтобы ловить сигнал переполнения своего АЦП и сообщать об ошибке, но это уже мои домыслы...
Цитата(Ellochka @ Jul 8 2009, 13:36)

Интересно то, что на R,G,B Spartan выдает уровни 0В и 3.3В - откуда, я полагаю, что ЭЛТ либо обрезает этот сигнал, либо преобразует к 0.7В.
0.7V должны получаться на нагрузке 75Ом, те при подключенном мониторе.
Цитата
А ЖК в свою очередь это не делает и пишет, что сигнал вне диапазона.
Это, скорее, относится к таймингам, а не к уровням сигнала, можно проверить уровни при подключенном ЖК.
EvgenyNik
Jul 8 2009, 11:13
Цитата
Интересно то, что на R,G,B Spartan выдает уровни 0В и 3.3В - откуда, я полагаю, что ЭЛТ либо обрезает этот сигнал, либо преобразует к 0.7В.
А ЖК в свою очередь это не делает и пишет, что сигнал вне диапазона.
Вы уровень 3.3В измеряли при подключенном мониторе или на холостом ходу?
Цитата
"Out of range"
сдаётся мне что это либо про частоту, либо про размер полей.
---
А какая тактовая частота используется для вашего VGA-контроллера внутри ПЛИСки? Сколько МГц? Т.е. почему Вы так уверены, что на выходе у вас 60 Гц?
Ellochka
Jul 8 2009, 11:31
Цитата
Вы уровень 3.3В измеряли при подключенном мониторе или на холостом ходу?
На холостом ходу, щупы прикладывала к выводам порта на спартане.
Цитата(Leka @ Jul 8 2009, 15:11)

0.7V должны получаться на нагрузке 75Ом, те при подключенном мониторе.
Это, скорее, относится к таймингам, а не к уровням сигнала, можно проверить уровни при подключенном ЖК.
Это как??? точнее куда мне щупы осциллографа прикладываеть?
Цитата
А какая тактовая частота используется для вашего VGA-контроллера внутри ПЛИСки? Сколько МГц? Т.е. почему Вы так уверены, что на выходе у вас 60 Гц?
Про 60 Гц написано в datasheet'e к спартану. Это частота обновления. Тактовая частота 25МГц.
На сколько я понимаю, сигналы синхронизации формируются постоянно. Я же формирую кадр асинхронно - цвета, выводимую информацию.
Когда я мерила сигналы, я получила совсем не те периоды синхронизации, которые описаны в datasheet'e. Например, горизонтальная синхронизация - 16 мкс, когда она должна быть 32 мкс. в общем искомых цифр я не нашла.
EvgenyNik
Jul 8 2009, 11:50
16 мкс... Это на 75Гц похоже...
Цитата(Ellochka @ Jul 8 2009, 15:31)

Когда я мерила сигналы, я получила совсем не те периоды синхронизации, которые описаны в datasheet'e. Например, горизонтальная синхронизация - 16 мкс, когда она должна быть 32 мкс.
Вот и причина, почему ЭЛТ показывает, а ЖК - нет. Так что для начала надо получить требуемые периоды синхронизации.
Ellochka
Jul 8 2009, 11:58
Цитата(Евгений Николаев @ Jul 8 2009, 15:50)

16 мкс... Это на 75Гц похоже...
Про частоту:Я "ручками" ничего не делала такого, чтобы могло изменить частоту. Поэтому я и решила, что частота она только одна - по VGA стандарту. Другое дело различие de jure / de facto..
rezident
Jul 8 2009, 12:08
Цитата(Ellochka @ Jul 8 2009, 17:31)

горизонтальная синхронизация - 16 мкс, когда она должна быть 32 мкс. в общем искомых цифр я не нашла.
Дык, а чего же вы тогда хотите? LCD-монитор просто "не умеет" работать с такими частотами строчной (горизонтальной) синхронизации (1280*1024@60Гц это 64кГц строчная, 640*480@60Гц - 31кГц), в отличие от ЭЛТ-монитора (обычно не менее 72кГц для мониторов с диагональю от 17").
По ссылке см. таблица 2.
http://www.ixbt.com/video/refreshrate.html
EvgenyNik
Jul 8 2009, 12:10
Для 60Гц:
Длительность импульса горизонтальной синхронизации - 96 пиксельных периодов (т.е. около 3,81мкс)
Период следования горизонтальной синхронизации - 800 п.п. (т.е. около 31,75 мкс)
Длительность импульса вертикальной синхронизации - 2 линии (по 800 п.п., т.е. около 63,49 мкс)
Период следования - 525 линий (по 800 п.п, т.е. около 16,67 мс)
Цитата
Другое дело различие de jure / de facto..
Вероятно, Вы не недостаточно глубоко изучили то, с чем работаете...
Ellochka
Jul 8 2009, 12:43
Цитата(Евгений Николаев @ Jul 8 2009, 16:10)

Для 60Гц:
Длительность импульса горизонтальной синхронизации - 96 пиксельных периодов (т.е. около 3,81мкс)
Период следования горизонтальной синхронизации - 800 п.п. (т.е. около 31,75 мкс)
Длительность импульса вертикальной синхронизации - 2 линии (по 800 п.п., т.е. около 63,49 мкс)
Период следования - 525 линий (по 800 п.п, т.е. около 16,67 мс)
Вероятно, Вы не недостаточно глубоко изучили то, с чем работаете...
да, это все я знаю. Там только 521 линия. Это собственно и есть VGA режим.
Цитата(rezident @ Jul 8 2009, 16:08)

Дык, а чего же вы тогда хотите? LCD-монитор просто "не умеет" работать с такими частотами строчной (горизонтальной) синхронизации (1280*1024@60Гц это 64кГц строчная, 640*480@60Гц - 31кГц), в отличие от ЭЛТ-монитора (обычно не менее 72кГц для мониторов с диагональю от 17").
По ссылке см. таблица 2.
http://www.ixbt.com/video/refreshrate.htmlЧто значит не умеет? 31 кГц для него низкая частота что ли?
Цитата(Евгений Николаев @ Jul 8 2009, 16:10)

Вероятно, Вы не недостаточно глубоко изучили то, с чем работаете...
Я не сама это придумала. Документ весь выложить не могу, больше 1.9 Мб:
de iure/ de facto - я имела ввиду, что мне не удается соотнести показания осциллографа со стандартом.
Советую написать свой простой тестовый проект VGA, на Верилоге это будет ~30 строк кода.
DmitryR
Jul 8 2009, 17:09
Если у вас тайминги сделаны по это таблице, то LCD скорее всего ниасилит. Конкретно мне сдается, что бланкинг великоват, особенно по горизонтали, попробуйте сделать Ts примерно 700 (импульс короче, porch одинаковые можно для LCD). А еще лучше возьмите доку на любую LCD панель и посмотрите там, какими эти цифры должны быть, так как я по памяти могу ошибаться.
EvgenyNik
Jul 8 2009, 17:59
Цитата
да, это все я знаю. Там только 521 линия. Это собственно и есть VGA режим.

Да? А я 525 делал и... работало... Брал
отсюда.
Ellochka
Jul 9 2009, 08:35
я не писала свой контроллер, который в идеале должен из памяти считывать байты из памяти и отправлять в порт. Я использовала пример, в котором асинхронно формируется изображение, а синхронизация производится по умолчанию.
Последние два дня у меня перестала прошиваться плата, сегодня оставила включенным питание - через 30-60 минут блок питания перегрелся и сгорел. плата тоже нагрелась. может кз, но причина не ясна.
Стала разбираться с джамперами. Вроде все нормально стоит. Единственное не нашла никакого описания джампера PS2(3.3 В, 5В), который стоит рядом с входом PS\2. Видимо это питание для клавы\мышки? не знаю. его меняла. вчера стоял на 3.3В, сегодня поставила на 5В. Клаву не подключала.
черте что!..
Ellochka
Jul 9 2009, 11:46
!! видимо все дело было в преобразователе напряжения. я думаю, он не 5 вольт выдавал.
Подключила блок питания, на котором выставила 5 вольт - заработало. Правда опять не всегда =)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.