DmitryR 0 27 февраля, 2006 Опубликовано 27 февраля, 2006 · Жалоба :glare: Для передачи менчестера нужна вдвое большая скорость передачи в канале по сравнению со скоростью входдящего битового потока т.е. если LVDS расчитан допустим на 200МБит то реально мы сможем передать только 100 На Spartan-3 четвертой скорости можно сделать 500 Мегагерц на выходе, используя DDR регистры (проверено). Соответственно реальная скорость будет 250 Мбит/с. Вам надо больше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Magnum 0 27 февраля, 2006 Опубликовано 27 февраля, 2006 (изменено) · Жалоба :glare: Для передачи менчестера нужна вдвое большая скорость передачи в канале по сравнению со скоростью входдящего битового потока т.е. если LVDS расчитан допустим на 200МБит то реально мы сможем передать только 100 На Spartan-3 четвертой скорости можно сделать 500 Мегагерц на выходе, используя DDR регистры (проверено). Соответственно реальная скорость будет 250 Мбит/с. Вам надо больше? Мы используем альтеру, там LVDS-ный интерфейс 640Мбит тянет и ДДР можно организовать, нам надо отжать по максимуму :) Изменено 27 февраля, 2006 пользователем Magnum Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 27 февраля, 2006 Опубликовано 27 февраля, 2006 · Жалоба Если использовать внешний сериализатор/десериализатор, то задача становится чисто цифровой и понятной - в плисине надо реализовывать протоколы уровня выше физического. По это теме есть куча информации. И у альтеры и у ксайлинкса есть доки, посвященные быстрой связи между fpga на плате, быстрой последовательной передаче между платами внутри крейта (по бэкплэйну) и т.д. Нет базару... Меня-то здесь интересует неясная для меня аналоговая часть - восстановление клока из данных. Я считал, что _просто_ это сделать нельзя, и выгоднее либо добавлять линию передачи клока, либо ставить внешний чип сер/десер. Magnum, если вы знаете простой способ или литературу или ссылки - расскажите pls, буду рад любой информации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Magnum 0 28 февраля, 2006 Опубликовано 28 февраля, 2006 · Жалоба Меня-то здесь интересует неясная для меня аналоговая часть - восстановление клока из данных. Я считал, что _просто_ это сделать нельзя, и выгоднее либо добавлять линию передачи клока, либо ставить внешний чип сер/десер. Magnum, если вы знаете простой способ или литературу или ссылки - расскажите pls, буду рад любой информации. :blink: Так можно сделать хотябы по тому же принципу, как это делается в тех же внешних сериализаторах, где каждый пакет из 10 бит снабжается по краям старт (1) и стоп (0) битами. Таким образом всегда есть фронт между соседними пакетами. К этому фронту привязывается PLL, умножается на 12 и этой частотой тактируется входящий поток. http://cache.national.com/ds/DS/DS92LV1023.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба На мой взгляд самое правильное - это устанавливать внешнюю микросхему сериализатора. Например TKL2201. На входе 10 бит - на выходе последовательный код. На входе последовательный код - на выходе 10 бит. Можно подключить к любой ПЛИС. Впрочем есть микросхемы и со встроенным перекодировщиком.Позвольте заметить, что вы вводите автора темы (а заодно и себя) в заблуждение: указанная вами микросхема - это всего лишь SerDes, и никакими "волшебными" свойствами по восстановлению тактовой частоты не обладает. Эта микросхема никогда не восстановит тактовую частоту, не будь десятибитный код закодирован так, чтобы подряд не встречалось большое количество нулей либо единиц. Обычно с этой микросхемой применяется кодирование 8В/10В, о котором упоминалось ранее. При этом, если не ошибаюсь, подряд не может следовать больше 3 одинаковых цифр, поэтому синхронизация не успевает сбиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба На мой взгляд самое правильное - это устанавливать внешнюю микросхему сериализатора. Например TKL2201. На входе 10 бит - на выходе последовательный код. На входе последовательный код - на выходе 10 бит. Можно подключить к любой ПЛИС. Впрочем есть микросхемы и со встроенным перекодировщиком.Позвольте заметить, что вы вводите автора темы (а заодно и себя) в заблуждение: указанная вами микросхема - это всего лишь SerDes, и никакими "волшебными" свойствами по восстановлению тактовой частоты не обладает. Эта микросхема никогда не восстановит тактовую частоту, не будь десятибитный код закодирован так, чтобы подряд не встречалось большое количество нулей либо единиц. Обычно с этой микросхемой применяется кодирование 8В/10В, о котором упоминалось ранее. При этом, если не ошибаюсь, подряд не может следовать больше 3 одинаковых цифр, поэтому синхронизация не успевает сбиться. Надеюсь что заблуждения не будет. Я прекрасно понимаю, что возможна передача только с использованием перекодировки 8/10. На приёме происходит восстановление тактовой частоты и выравнивание битов по приёму символа K28.5; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 1 марта, 2006 Опубликовано 1 марта, 2006 (изменено) · Жалоба Надеюсь что заблуждения не будет. Я прекрасно понимаю, что возможна передача только с использованием перекодировки 8/10. На приёме происходит восстановление тактовой частоты и выравнивание битов по приёму символа K28.5;Ну а раз так, то с подобной задачей легко можно справиться и внутренними средствами ПЛИС, без применения внешних микросхем. Если, конечно, внутри ПЛИС есть ГУН с ФАПЧ, выводы стандарта ЛВДС, и триггерная частота переключения позволяет работать с потоком данных в последовательной форме. Не так ли? Изменено 1 марта, 2006 пользователем Janna Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба Ну а раз так, то с подобной задачей легко можно справиться и внутренними средствами ПЛИС, без применения внешних микросхем. Если, конечно, внутри ПЛИС есть ГУН с ФАПЧ, выводы стандарта ЛВДС, и триггерная частота переключения позволяет работать с потоком данных в последовательной форме. Не так ли? Конечно, вот только требуется частота 1.25 ГГц. Это позволяет сделать Xilinx Virtex 2 Pro, Xilinx Virtex 4 FX, Altera Stratix GX; В этих микросхемах есть такие узлы. Но сами микросхемы дорогие. Поэтому я высказываю мнение, что лучше поставть дешёвый Spartan 3 (или Cyclon) и внешний сериализатор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба Конечно, вот только требуется частота 1.25 ГГц.ваю мнение, что лучше поставть дешёвый Spartan 3 (или Cyclon) и внешний сериализатор.Ну никто не говорил, что требуются такие заоблачные частоты :) Конечно, вот только требуется частота 1.25 ГГц. Это позволяет сделать Xilinx Virtex 2 Pro, Xilinx Virtex 4 FX, Altera Stratix GX; В этих микросхемах есть такие узлы. Но сами микросхемы дорогие.Поверьте, такие узлы есть и в более дешёвых микросхемах, просто они не работают на указанной вами частоте. Таким образом, мы приходим к выводу, что внешняя микросхема SerDes требуется только в том случае, где не позволяет быстродействие ПЛИС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kyb 0 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба А не проще ли поставить внешнюю пару приема-передачи DVB-ASI (типа cy7c924). И будут 200 мбит/с и последовательная шина и другие вкусности. Или проект уже готов и на плате ничего не изменить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Magnum 0 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба А не проще ли поставить внешнюю пару приема-передачи DVB-ASI (типа cy7c924). И будут 200 мбит/с и последовательная шина и другие вкусности. Или проект уже готов и на плате ничего не изменить? Конечно проще, но тратить лишние 100у.е. на внешний интерфейс, имея всё необходимое на борту 20уёвого циклона смысла не вижу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба Может, автору стоит разместить эту тему или ссылку на эту тему в группе тем, где обсуждаются интерфейс ЛВДС? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба Господа, мы опять вернулись к обсуждению физического уровня протокола и вопросу восстановления клока из потока данных средствами fpga. Мое утверждение (и вопрос) заключается в том, что _только _ с помощью внутреннего pll сделать это нельзя (корректно говоря - я не знаю как :) ), т.к. pll в циклонах и стратиксах (про ксайлинксы не знаю, но думаю, что примерно также) может только * и / частоту + сдвигать результат. Основание моего убеждения - изучение вопроса примерно полгода назад (была проработка проекта) плюс тот факт, что в application notes у altera и xilinx в lvds-передачах участвует клок, передаваемый по отдельной линии. Я задал вопрос Magnum, но он описал мне принцип восстановления частоты и дал почему-то ссылку на внешний чип сериализатора. Однако, как все мы знаем, между принципом и его реализацией в железе могут встретится некоторые трудности (читайте статьи про квантовые вычисления). Вопрос остался открытым: можно ли и как с помощью pll в fpga восстановить клок из данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба Ни в коей степени не претендую на правильность, но у меня следующие рассуждения: какая разница внутри ПЛИС стоит ПЛЛ или вне? Ведь ПЛЛ состоит из одного и того же: ГУН, ФАПЧ, ФНЧ. Я смотрел в хэндбуке на стратикс2 вид ПЛЛ - всё так, как я описал. Конечно, не исключаю, что ПЛЛ внутри ПЛИС не сможет подстроиться под тактовую, получаемую из данных, из-за особенностей построения. Но из хэндбука не следует ни подтверждения этой мысли, ни опровержения. Так что остаётся проверять. Или слушать совет того, кто уже проверял. pll в циклонах и стратиксах (про ксайлинксы не знаю, но думаю, что примерно также) может только * и / частоту + сдвигать результат. Основание моего убеждения - изучение вопроса примерно полгода назад (была проработка проекта) плюс тот факт, что в application notes у altera и xilinx в lvds-передачах участвует клок, передаваемый по отдельной линииНичто не мешает подать на вход клока этот же сигнал данных. В теории. Ну а вообще, надо проверять, "вытянет" ли ПЛЛ такие трюки или будут срывы. Всё зависит от конкретной реализации ПЛЛ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gate 0 1 марта, 2006 Опубликовано 1 марта, 2006 · Жалоба Janna, именно о конкретной реализации pll я и говорю. Например, feedback есть только у стратиксов (которые дороги), а в дешевых циклонах у pll есть только вход частоты, сигналы сброса и разрешения. Будет ли pll хватать клок из потока данных - это вопрос экспериментальный. По моему опыта прочтения буржуйских доков - если не описано, или описано нечетко - значит не работает. Забыл еще упомянуть an356 у альтеры (Serial Digital Interface Reference Design for Cyclone & Stratix Devices). Там клок не восстанавливается, а используется чисто цифровой способ - oversampling (делаются 4 клока опорной частоты, сдвинутые на 90 градусов каждый и смотрят когда во входном потоке есть переходы уровней). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться