Перейти к содержанию
    

Как ПЛИС принять DVI сигнал.

Добрый день господа. Снова требуется помощь опытных коллег.

Основная задача, которую я хочу решить - это принять данные от источника DVI сигнала и вывести их на LVDS матрицу. Работаю с отладочной платой http://www.terasic.com.tw/cgi-bin/page/arc...lish&No=930 На данный момент для меня не составляет проблем вывести тестовое изображение, записанное в SDRAM память, на LVDS матрицу или VGA монитор. Все блоки для приёма DVI сигнала у меня описаны, промоделированы, и вроде бы готовы для работы. Основная проблем в том, что не знаю как правильно принять сигнал DVI на физическом уровне.

Как я понял, данные по DVI физически передаются по LVPECL каналу, а не LVDS, как я думал изначально. Первым же делом, я стал смотреть datasheet на ПЛИС, чтобы узнать может ли она работать с этим физическим уровнем. С одной стороны результат меня обрадовал, поскольку ПЛИС умеет работать напрямую с LVPECL, но с другой стороны результат не принёс никакой пользы, поскольку:

The Cyclone V devices support the LVPECL I/O standard on input clock pins only:

• LVPECL input operation is supported using LVDS input buffers.

• LVPECL output operation is not supported.

Т.е. работать может, но требует применения специальных ножек, которых на моей отладочной плате хватит только на 1 диф. пару...

Поскольку напрямую работать с LVPECL не выходит, то необходимо согласовывать уровни LVPECL и LVDS. После прочтения я статьи http://kit-e.ru/articles/plis/2004_1_56.php у меня возник вопрос, а какое согласование правильно применять в случае приёма DVI сигнала ? Ведь в DVI применяется TMDS кодирование, поэтому можно применять как, прямое согласование (DC coupled), так и согласование по переменному току (AC coupled).

Порывшись на форуме нашёл вот такую вот тему http://electronix.ru/forum/lofiversion/ind...hp/t120518.html Это всё хорошо, но можно ли обойтись малой кровью: например поставить готовые LVDS буфера, к примеру DS90LV001, которые как раз умеют работать с LVPECL. Поскольку у меня есть готовая платка с четырьмя DS90LV001 буферами, то мне такой вариант кажется наиболее простым для реализации.

И ещё маленький вопрос. А как проверить выдаёт ли DVI источник хоть какой-то сигнал ? В настройках источника у меня отключено чтение EDID поэтому наличие DDC канала в DVI линиях меня волновать не должно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где-то читал, что в DVI используется CML на физическом уровне, и что-то мне подсказывает что 5 циклон прямо не держит оного. В описании DVI сказано - "The conceptual schematic of one T.M.D.S. differential pair is shown in Figure 4-1. T.M.D.S. technology uses current drive to develop the low voltage differential signal at the receiver side of the DC-coupled transmission line" т.е. терминация должна быть DC-coupled. IMHO

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где-то читал, что в DVI используется CML на физическом уровне, и что-то мне подсказывает что 5 циклон прямо не держит оного. В описании DVI сказано - "The conceptual schematic of one T.M.D.S. differential pair is shown in Figure 4-1. T.M.D.S. technology uses current drive to develop the low voltage differential signal at the receiver side of the DC-coupled transmission line" т.е. терминация должна быть DC-coupled. IMHO

Спасибо за ответ. Действительно очень похоже что физический уровень это CML

https://en.wikipedia.org/wiki/Transition-mi...ntial_signaling

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда-то , в познавательных целях, изучал, на что способен MAX10.

Пропускал DVI-сигнал на Марсоходе3 "насквозь". Подключал только две пары, клок и синий.

Клок подавал на PLL, синий фиксировал в триггере, и соответственно, все это выводил на HDMI-разъем.

только синий размножал на все три пары. На выходе получалось черно-белое изображение.

Максимум, что удалось пропустить -1280х1024 с пиксель-клоком 108Мгц.

Никаких буферов не ставил, насколько помню,было только 6 резисторов.

Изменено пользователем umarsohod

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашёл такой документ про HDMI (в приложении) там на 136 странице сказано что HDMI источники совместимы с DVI потребителями.

Воот , а на стр 38 есть описание электрики сигналов .

Может поможет.

HDMI_Spec_1.3_GM1.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никаких буферов не ставил, насколько помню,было только 6 резисторов.

В качестве приёмников применяли LVDS входы или обычные пины ?

Я правильно думаю, что Вы собирали проект на плате марсоход3 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В качестве приёмников применяли LVDS входы или обычные пины ?

Я правильно думаю, что Вы собирали проект на плате марсоход3 ?

Для клока нужна диф-пара, которую можно завести на вход PLL, а для сигналов, наверное, любые диф-пары.

Режим ставил LVDS, другого, для диф-пар, в максе нет.

Изменено пользователем umarsohod

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для клока нужна диф-пара, которую можно завести на вход PLL, а для сигналов, наверное, любые диф-пары.

Режим ставил LVDS, другого, для диф-пар, в максе нет.

А внутренние терминаторы включали ?

Пока навскидку прочитав про HDMI, пришел выводу, что каждую линию надо терминировать 50 омным резистором, подтянутым к 3,3V.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А внутренние терминаторы включали ?

В максе их нет.

 

Пока навскидку прочитав про HDMI, пришел выводу, что каждую линию надо терминировать 50 омным резистором, подтянутым к 3,3V.

У меня на каждую пару было три резистора на 150ом. Два с каждой линии на 3.3в, один между линиями.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если хотите правильно - см. http://www.ti.com/product/SN65LVDS100 а если быстро то можно попробовать на резисторах http://pdfserv.maximintegrated.com/en/an/AN291.pdf

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если хотите правильно - см. http://www.ti.com/product/SN65LVDS100 а если быстро то можно попробовать на резисторах http://pdfserv.maximintegrated.com/en/an/AN291.pdf

Боюсь, что придётся всё-же делать платку для согласования уровней. Изучив datasheet я не нашёл возможности установить 50 омный терминатор с подтяжкой на VCC(3,3в) как того требует схема согласования CML-LVDS (DC coupled).

Сейчас буду искать аналоги SN65LVDS100, где купить подешевле и побыстрее. Пока нашел в чип и дипе за 460 деревянных за преобразователь... :cranky:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Товарищи, а подскажите как вообще проверить что DVI источник что-то выдает ?

Смотрел осциллографом одну из LVDS линий CLK (смотрел между землёй и одной из линий) так на осциллограмме не видно ничего. Либо я меряю неправильно, либо источник не хочет ничего выдавать мне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там вроде без обратной связи нет передачи. По выводам не помню - в мануале должно быть описано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там вроде без обратной связи нет передачи. По выводам не помню - в мануале должно быть описано.

Вроде разобрался. Всё дело в 14 ноже (+5 Вольт). Методом научного тыка установил, что если данная ножка висит в воздухе DVI источник отключается. Если соединена с монитором - то передатчик выдает данные.

Да и контакт hotplug требует подтяжки к питанию. Если висит в воздухе приёмник молчит...

В общем соединил контакт hotplug c 14 ножкой через 2 кОм резитор, и передатчик начал выдавать сигналы...

Осталось разобраться с преобразователем уровней CML => LVDS. Для этих целей применяю микросхемы ds90lv001. И организую согласование в таком виде:

I6UG3.png

Немного ошибся и вместо 50 Ом поставил 500 ом :cranky: Но таки на выходе ds90lv001 какой-то сигнал присутствует. Хочу поставить 50 Ом терминаоры, да вот в моих закромах таких резисторов не водится....

На стороне ПЛИС буду применять внутричиповые терминаторы, Cyclone V содержит таковые. Есть ли какие подводные камни с внутричиповыми терминаторами ?

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...