Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ТРАНСЛЯЦИЯ ПАРАЛЛЕЛЬНОЙ ШИНЫ В LVDS
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Ariel
Я новичок в FPGA, так что сильно не бейте за глупый вопрос.
Возникла необходимость сделать на FPGA ALTERA преобразователь четырех 40 разрядных параллельных шин данных в сигналы LVDS и обратного восстановления этих же шин на выходе. То есть должно быть 2 FPGA: шифратор и дешифратор. Максимальная частота параллельной шины 225 mGz (сигнал с выхода Sii9135 от SILICON IMAGE). Начальство хочет применить FPGA серии CYCLON3 (EP3C16F484C8N), для которых в даташит указано: dedicated diff. output drivers can transmit at up to 840 Mbps.
Вопрос: сколько дифференциальных линий LVDS необходимо для такого преобразования? И нет ли другой серии ALTERA, которая лучше подходит для такой задачи (меньше нужно линий LVDS), а по цене не дороже (или ненамного дороже EP3C16F484C8N)?
Как я понимаю, для такой задачи можно применить стандартую мегафункцию квартуса SERDES?
aaarrr
Цитата(Ariel @ Aug 14 2008, 12:47) *
Вопрос: сколько дифференциальных линий LVDS необходимо для такого преобразования?

225MHz * 40bits * 4 = 36000MBits/s (Что же Вы с таким потоком делать собираетесь?)
36000 / 840 = 43 пары.

Вот только не понимаю, зачем использовать FPGA в качестве SERDES'ов, когда есть готовые решения с лучшими возможностями.
Ariel
Цитата(aaarrr @ Aug 14 2008, 12:54) *
225MHz * 40bits * 4 = 36000MBits/s (Что же Вы с таким потоком делать собираетесь?)
36000 / 840 = 43 пары.

Вот только не понимаю, зачем использовать FPGA в качестве SERDES'ов, когда есть готовые решения с лучшими возможностями.

Дело в том, что второй FPGA (тот, который преобразует VHDL в параллельную шину) должен еще и комутировать эти шины в разных комбинациях, с любого входа на любой выход.
А какое готовое решение для сериализатора Вы предлагаете ?
wink.gif
Ariel
Посмотрел прошлые темы этого же форума, нашел что у LATTICE есть сравнительно дешевые FPGA
ECP2M, которые имеют встроенный аппаратный SERDES, имеют входы/выходы LVDS, и вроде как они подходят для указанной задачи. Кто-нибудь работал с ними?
aaarrr
Готовые решения есть у National и TI.

Только вот задача, ИМХО, поставлена неправильно: с такими потоками работать не стоит. Сначала скоммутировать, а потом передавать нельзя?
Ariel
Цитата(aaarrr @ Aug 15 2008, 20:32) *
Готовые решения есть у National и TI.

Только вот задача, ИМХО, поставлена неправильно: с такими потоками работать не стоит. Сначала скоммутировать, а потом передавать нельзя?

Я не нашел ни у NATIONAL, ни у TI преобразователя параллельной шины в LVDS для частоты 225мгц. Может, плохо искал.
Скоммутировать сигналы, а потом передавать, тоже можно, только все равно придется передавать то же количество LVDS, так что особой разницы нет. Можно в принципе сделать и вовсе без SERDES, только тогда надо передавать с одной платы на другую шину из 160 высокоскорострых сигналов, причем с одной и той же задержкой.
lock
Лучшее решение
FAE_SKV
Цитата(Ariel @ Aug 15 2008, 20:56) *
Я не нашел ни у NATIONAL, ни у TI преобразователя параллельной шины в LVDS для частоты 225мгц. Может, плохо искал.
Скоммутировать сигналы, а потом передавать, тоже можно, только все равно придется передавать то же количество LVDS, так что особой разницы нет. Можно в принципе сделать и вовсе без SERDES, только тогда надо передавать с одной платы на другую шину из 160 высокоскорострых сигналов, причем с одной и той же задержкой.

Я совершенно согласен с aaarrr. В чегой-то не то делаете. Зачем LVDS? Вы хотите шины куда-то далеко тащить? Да еще и коммутировать? А не пробовали все это передавать по последовательной шине? Параллельная шина - это локальная шина и LVDS здесь не нужно. Да и коммутировать последовательные шины проще.
Ariel
Цитата(lock @ Aug 27 2008, 08:56) *
Лучшее решение

У DS900R241 частота клока до 43 mHz, он не годится.
Да, кстати, я уточнил что у параллельной шины максимальная частота-165mHz, а не 225 mHz. Это часота клока. Частота пикселов в 2 раза меньше, т.е. 82.5 mHz.
rv3dll(lex)
при любом раскладе особенно на дохлых плисинах не забудь что преобразователь требует места рядом с выводом на который - с которого этот сигнал идёт. поэтому надо воспользоваться даташитом и прикинуть как твои преобразователи влезут в железяку иначе труба!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
Ariel
Цитата(FAE_SKV @ Aug 27 2008, 18:50) *
Я совершенно согласен с aaarrr. В чегой-то не то делаете. Зачем LVDS? Вы хотите шины куда-то далеко тащить? Да еще и коммутировать? А не пробовали все это передавать по последовательной шине? Параллельная шина - это локальная шина и LVDS здесь не нужно. Да и коммутировать последовательные шины проще.

А как, по вашему, передать по последовательной шине то, что идет по 40-битной переллельной? Это какая же нужна частота?
Мой вопрос: как сделать недорогой преобразователь четырех 40-битных шин в четыре группы LVDS шин, в каждой группе 10-12 LVDS. Для плисины задача тривиальная, регистр с параллельной загрузкой. Искал среди дискретных SERDES, но для требуемой частоты не нашел ничего. Нашел, вроде бы, дешевую FPGA CYCLONE3 EP3C16F484C8N, но когда внимательнее прочел даташит, то оказалось что у нее есть серьезное ограничение: входы должны быть разнесены с LVDS выходами не меньше чем на 4 пина, а значит невозможно разместить все входы и выходы.
05.gif
Галстук
Действительно, есть ощущение некорректности постановки задачи. Вот вы из sii9135 (hdmi reciever) берете 4 40 битных шины, очевидно, hdtv видео, и думаете, как их дотянуть до соседней платы, а там их перекоммутируете. Почему не поставить сначала hdmi коммутатор, а потом уже восстанавливать параллельную шину тем же sii9135?

Кстати, если не секрет, какое устройство разрабатываете? И если это HD видео, то частота пикселов 1920*1080*60=124416000, не так ли?
Ariel
Цитата(Галстук @ Sep 1 2008, 14:44) *
Действительно, есть ощущение некорректности постановки задачи. Вот вы из sii9135 (hdmi reciever) берете 4 40 битных шины, очевидно, hdtv видео, и думаете, как их дотянуть до соседней платы, а там их перекоммутируете. Почему не поставить сначала hdmi коммутатор, а потом уже восстанавливать параллельную шину тем же sii9135?

Кстати, если не секрет, какое устройство разрабатываете? И если это HD видео, то частота пикселов 1920*1080*60=124416000, не так ли?

Устройство-HDMI матрица. Коммутировать HDMI сигналы невозможно в принципе, потому что должны быть возможны любые варианты коммутации, в том числе любой HDMI источник (DVD) должен работать сразу на 2 или несколько выходом (мониторов), а для этого между этим DVD и входом устройства должна быть закрытая петля HDCP, иначе работать будет только один монитор. Вот для этого и нужны чипы Sil9135. Поэтому коммутировать можно только параллельные 40-битные шины. А LVDS собираемся применить не только для того чтобы дотянуться до соседней платы, возможно что плата будет одна, дело не только в этом. Просто если подавать все четыре 40-битные шины на FPGA, то такой чип должен быть очень дорогим, потому что у него должно быть много I/O. Мы хотим удешевить его за счет снижения их количества.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.