Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Multidrop LVDS vs Spartan-3E
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
makc
Возник вопрос: возможно-ли использовать LVDS на базе Spartan-3E в режиме multidrop? Для Virtex-Е есть соответствующий XAPP, в котором описывается подобная возможность. Однако для Spartan-3E я такого не нашел. При этом я предполагаю, что ячейки ввода-вывода у Spartan-3E отличаются от ячеек ввода-вывода у Virtex-E, поэтому распространять сказанное в упомянутом XAPP на Spartan-3E вряд-ли возможно. Если-ли у кого-нибудь подобный опыт?
atlantic
Цитата(makc @ Aug 22 2008, 21:19) *
Возник вопрос: возможно-ли использовать LVDS на базе Spartan-3E в режиме multidrop? Для Virtex-Е есть соответствующий XAPP, в котором описывается подобная возможность. Однако для Spartan-3E я такого не нашел. При этом я предполагаю, что ячейки ввода-вывода у Spartan-3E отличаются от ячеек ввода-вывода у Virtex-E, поэтому распространять сказанное в упомянутом XAPP на Spartan-3E вряд-ли возможно. Если-ли у кого-нибудь подобный опыт?

Вполне можно, только multidrop это не режим а топология. Тут главное надо правильно сделать разводку платы(терминацию делать на самом удаленном от передатчика приемнике), также факторами являются скорость передачи и кол-во приемников. Можно еще для ознакомления посмотреть TI Application Report SLLA054A, там они делают подобную оценку. Вообщем дифф. драйвера/приемники бывают нескольких стандартов в которых варьируются значение уровней сигналов, максимальных скоростей работы итд. Нужно обратить внимание, чтоб дифф.стандарт передатчика совпадал с приемниками, для этого надо смотреть их параметры в даташитах, в S3E большой выбор I/O стандартов. Например в S3E есть возможность нескольких вариантов конфигураций I/O интерфейсов дифф. стандартов : - RSDS(National) , MiniLVDS(TI) которые как раз в такой(Multidrop) топологии и работают(специально для драйверов столбцов TFT матриц ), и если у вас драйвер/приемники LVDS(signal swing 250-450mV) это вполне совместимо с multidrop .
DmitryR
Можно, только зачем? У вас так много устройств, что к каждому отдельную пару не протянуть? Или они там должны каждый с каждым общаться, как по шине? Просто LVDS обычно означает скорость, а скорость и multidrop - обычно трудно совместимые понятия.
makc
Цитата(atlantic @ Aug 23 2008, 19:54) *
Вполне можно, только multidrop это не режим а топология. Тут главное надо правильно сделать разводку платы(терминацию делать на самом удаленном от передатчика приемнике), также факторами являются скорость передачи и кол-во приемников.


Приёмников предполагается два. Оба такие же Spartan-3E. Вам не попадались где-нибудь рекомендации по разводке multidrop LVDS? Практически во всех статьях на эту тему я встречал отрывочные фразы на эту тему, но никаких целостных рекомендаций мне не попалось.

Цитата
Можно еще для ознакомления посмотреть TI Application Report SLLA054A, там они делают подобную оценку.


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

Цитата
Вообщем дифф. драйвера/приемники бывают нескольких стандартов в которых варьируются значение уровней сигналов, максимальных скоростей работы итд. Нужно обратить внимание, чтоб дифф.стандарт передатчика совпадал с приемниками, для этого надо смотреть их параметры в даташитах, в S3E большой выбор I/O стандартов. Например в S3E есть возможность нескольких вариантов конфигураций I/O интерфейсов дифф. стандартов : - RSDS(National) , MiniLVDS(TI) которые как раз в такой(Multidrop) топологии и работают(специально для драйверов столбцов TFT матриц ), и если у вас драйвер/приемники LVDS(signal swing 250-450mV) это вполне совместимо с multidrop .


Это я знаю, вопрос был об опыте использования этой топологии и возможных подводных камнях. Принципиальную возможность такого использования я и сам прекрасно понимаю.


Цитата(DmitryR @ Aug 24 2008, 11:04) *
Можно, только зачем? У вас так много устройств, что к каждому отдельную пару не протянуть? Или они там должны каждый с каждым общаться, как по шине? Просто LVDS обычно означает скорость, а скорость и multidrop - обычно трудно совместимые понятия.


1. Сэкономить контакты у ПЛИС, т.к. при пяти дифференциальных парах мне потребуется минимум лишних 10 выходных контактов.
2. Multidrop - не предполагает общения "каждый с каждым".
3. Скорость одной LVDS-линии должна быть в районе 230 Мбит/с, что вполне допустимо успешной для работы в топологии multidrop.
avesat
Цитата(makc @ Aug 24 2008, 10:23) *
...рекомендации по разводке multidrop LVDS?
...


Ну так в том же xapp для виртекс-Е все красиво расписано
http://www.xilinx.com/support/documentatio...tes/xapp231.pdf

здесь же они рекомендуют прочитать это:
http://www.national.com/an/AN/AN-1115.pdf
http://www.national.com/appinfo/lvds/blvds_wp.pdf
http://www.national.com/appinfo/lvds/files/BLVDS_WP1.pdf

И конечно симуляция топологии, если будете делать плату.
DmitryR
Цитата(makc @ Aug 24 2008, 11:23) *
1. Сэкономить контакты у ПЛИС, т.к. при пяти дифференциальных парах мне потребуется минимум лишних 10 выходных контактов.
10 контактов - это мелочи, не стоит заморочки.

Цитата(makc @ Aug 24 2008, 11:23) *
3. Скорость одной LVDS-линии должна быть в районе 230 Мбит/с, что вполне допустимо успешной для работы в топологии multidrop.
Я в этом очень не уверен. Для начала, я бы взял HyperLynx и посмотрел в нем (в LineSim), чем примерно дело пахнет. Уверен: увиденное отобъет всякое желание делать multidrop.

Цитата(makc @ Aug 24 2008, 11:23) *
Приёмников предполагается два. Оба такие же Spartan-3E.
А вообще, поставить одну большую ПЛИС не получается? Три Спартана на одной плате - это IMHO нечто.
makc
Цитата(DmitryR @ Aug 24 2008, 15:48) *
10 контактов - это мелочи, не стоит заморочки.


Вот если бы у Spartan'a все контакты были одинаковы и могли бы работать как входами, так и выходами, то тогда можно было бы подумать над Вашими словами. Но при имеющихся ограничениях 10 контактов для текущего проекта - это весомый аргумент.

Цитата
Я в этом очень не уверен. Для начала, я бы взял HyperLynx и посмотрел в нем (в LineSim), чем примерно дело пахнет. Уверен: увиденное отобъет всякое желание делать multidrop.


Пока не отбило. Linesim показывает вполне нормальную картинку с фронтами 500-600 нс, что при 231 Мбит/с дает окно около 4 нс, которого, ПМСМ, вполне достаточно для надежной работы интерфейса. Если не сложно, покажите модель, которая подтвердит Ваши слова.

Цитата
А вообще, поставить одну большую ПЛИС не получается? Три Спартана на одной плате - это IMHO нечто.


Не получается. А вообще их будет четыре, просто один должен быть связан сразу с двумя.
atlantic
Цитата(makc @ Aug 24 2008, 10:23) *
Приёмников предполагается два. Оба такие же Spartan-3E. Вам не попадались где-нибудь рекомендации по разводке multidrop LVDS? Практически во всех статьях на эту тему я встречал отрывочные фразы на эту тему, но никаких целостных рекомендаций мне не попалось.
Видел эту статью. Неплоха, только не совсем мой случай, т.к. они ориентируются на кабельные соединения, а мне это не нужно. Но для общего развития вполне неплохо.
Это я знаю, вопрос был об опыте использования этой топологии и возможных подводных камнях. Принципиальную возможность такого использования я и сам прекрасно понимаю.
1. Сэкономить контакты у ПЛИС, т.к. при пяти дифференциальных парах мне потребуется минимум лишних 10 выходных контактов.
2. Multidrop - не предполагает общения "каждый с каждым".
3. Скорость одной LVDS-линии должна быть в районе 230 Мбит/с, что вполне допустимо успешной для работы в топологии multidrop.

Насчет того, что будет 5 пар, и два премника ИМХО это довольно странно. Просто мультидроп следует использовать(опять таки ИМХО), когда много приемников(>4) и всего две пары дифф.сигналов clk и data, тогда это удобно разводить на плате. В вашем случае придется думать над разводкой, чтоб сделать daisy chain(так как 5 пар(много) и их длины надо делать одинаковыми) вообщем надо смотреть конкретно:расстояние, какие корпуса кристаллов, как расположены между собой итд. ИМХО у вас где-то архитектура скажем кривая(без обид pls.) хотя может по другому в вашем конкретном случае и нельзя . Случайно те 5 пар не по XAPP486 -> 2x{XAPP485} ?
makc
Цитата(atlantic @ Aug 24 2008, 22:17) *
Насчет того, что будет 5 пар, и два премника ИМХО это довольно странно. Просто мультидроп следует использовать(опять таки ИМХО), когда много приемников(>4) и всего две пары дифф.сигналов clk и data, тогда это удобно разводить на плате. В вашем случае придется думать над разводкой, чтоб сделать daisy chain(так как 5 пар(много) и их длины надо делать одинаковыми) вообщем надо смотреть конкретно:расстояние, какие корпуса кристаллов, как расположены между собой итд. ИМХО у вас где-то архитектура скажем кривая(без обид pls.) хотя может по другому в вашем конкретном случае и нельзя . Случайно те 5 пар не по XAPP486 -> 2x{XAPP485} ?


Пары те самые. А вот по-другому сделать, к сожалению, нельзя.
Я понимаю возможные трудности с выравниванием длин отдельных пар. Но, т.к. расстояния между кристаллами предполагаются совсем небольшие (около 2-3 см между кристаллами, корпуса BGA), то возможные отличия в длине пар не должны сказаться на работе интерфейса передачи данных, т.к. он будет иметь довольно большой запас окна (около 3 нс).
atlantic
Цитата(makc @ Aug 24 2008, 21:23) *
Пары те самые. А вот по-другому сделать, к сожалению, нельзя.
Я понимаю возможные трудности с выравниванием длин отдельных пар. Но, т.к. расстояния между кристаллами предполагаются совсем небольшие (около 2-3 см между кристаллами, корпуса BGA), то возможные отличия в длине пар не должны сказаться на работе интерфейса передачи данных, т.к. он будет иметь довольно большой запас окна (около 3 нс).

Ну тогда не вижу в разводке траблов, раз такие расстояния маленькие, тут проблем не должно быть. Я просто с XAPP485 "немного" повозился пока заставил его работать, не нравится мне ихняя идея(в смысле то что это не готовое core), какой-то он сырой, еслиб это был IP core, то было бы надежнее, а так может придется "напильничать".
makc
Цитата(atlantic @ Aug 24 2008, 22:46) *
Ну тогда не вижу в разводке траблов, раз такие расстояния маленькие, тут проблем не должно быть. Я просто с XAPP485 "немного" повозился пока заставил его работать, не нравится мне ихняя идея(в смысле то что это не готовое core), какой-то он сырой, еслиб это был IP core, то было бы надежнее, а так может придется "напильничать".


Идея у них по своей сути проста и понятна, т.ч. даже если придётся переписать самому "с нуля", то особых проблем я не вижу. Буду пробовать...

PS: Меня, правда, несколько смущают результаты моделирования в HyperLynx, а именно размах сигнала на входах приёмников, т.к. он получается около 550 мВ. Мне кажется, что это многовато, хотя и вписывается в допустимые пределы. Модель и временная диаграмма ниже:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
DmitryR
Цитата(makc @ Aug 24 2008, 23:08) *
PS: Меня, правда, несколько смущают результаты моделирования в HyperLynx, а именно размах сигнала на входах приёмников, т.к. он получается около 550 мВ. Мне кажется, что это многовато, хотя и вписывается в допустимые пределы.
Это как раз нормально, вы смоделируйте не один фронт, а ПСП, причем введя в нее соответствующий джиттер. Чтобы посмотреть, не будет ли там отраженки etc. И даже если не будет - ваше окно данных станет более реальным (заметно более узким).
atlantic
Цитата(makc @ Aug 24 2008, 22:08) *
Идея у них по своей сути проста и понятна, т.ч. даже если придётся переписать самому "с нуля", то особых проблем я не вижу. Буду пробовать...

PS: Меня, правда, несколько смущают результаты моделирования в HyperLynx, а именно размах сигнала на входах приёмников, т.к. он получается около 550 мВ. Мне кажется, что это многовато, хотя и вписывается в допустимые пределы. Модель и временная диаграмма ниже:

ИМХО тут самое трудное это сделать тесты такого канала связи.

А на эквивалентной схеме у вас один резистор лишний наверно R1(вообщем должен быть 1 резистор, см. 2 пост)
makc
Цитата(atlantic @ Aug 25 2008, 22:51) *
ИМХО тут самое трудное это сделать тесты такого канала связи.


Да, я это понимаю.

Цитата
А на эквивалентной схеме у вас один резистор лишний наверно R1(вообщем должен быть 1 резистор, см. 2 пост)


Один резистор должен быть на конце длинной линии, а тут получается не все так однозначно, т.к. драйвер подсоединяется не так далеко от середины (в этом случае нужно ставить на концах два резистора). С другой стороны, моделирование показывает лучшую форму сигнала именно при двух резисторах. В конце-концов в готовом изделии резистор можно либо не запаивать, либо отключать в ПЛИС, если используется встроенный в ячейки ввода/вывода резистор.
atlantic
Цитата(makc @ Aug 25 2008, 22:03) *
Да, я это понимаю.
Один резистор должен быть на конце длинной линии, а тут получается не все так однозначно, т.к. драйвер подсоединяется не так далеко от середины (в этом случае нужно ставить на концах два резистора). С другой стороны, моделирование показывает лучшую форму сигнала именно при двух резисторах. В конце-концов в готовом изделии резистор можно либо не запаивать, либо отключать в ПЛИС, если используется встроенный в ячейки ввода/вывода резистор.

Насчет моделирования ничего не скажу, а в реальных платах видел только 1 резистор.
Надеюсь у вас все-таки daisy-chain, а то судя по вашей фразе:
Цитата
драйвер подсоединяется не так далеко от середины

это будет star, очепятка?
avesat
Цитата(makc @ Aug 24 2008, 22:08) *
PS: Меня, правда, несколько смущают результаты моделирования в HyperLynx, а именно размах сигнала на входах приёмников, т.к. он получается около 550 мВ. Мне кажется, что это многовато, хотя и вписывается в допустимые пределы. Модель и временная диаграмма ниже:


550 многовато конечно при максимальном дифф 600.

вот навскидку точка-точка
makc
Цитата(atlantic @ Aug 25 2008, 23:33) *
Надеюсь у вас все-таки daisy-chain, а то судя по вашей фразе:
это будет star, очепятка?


Нет, не совсем. Интерпретация того, что это - daisy-chain или star в данном случае будет зависеть от того, как интерпретировать длину отводов к отдельному приёмнику. Исли интерпретировать в моем примере 0.5" как полноценную отдельную линию, а не отвод от основной линии, то это будет star, в противном случае - daisy. На сколько я понимаю, эта интерпретация будет зависеть от крутизны фронтов сигнала, определяющих максимальную длину отводов при превышении которых будет требоваться резистор-терминатор на конце отвода.


Цитата(avesat @ Aug 26 2008, 00:12) *
550 многовато конечно при максимальном дифф 600.
вот навскидку точка-точка


Я тоже так думаю. Многовато. Я брал последнюю IBIS-модель с сайта Xilinx. А Вы какую модель использовали?
avesat
Цитата(makc @ Aug 26 2008, 06:19) *
... Я брал последнюю IBIS-модель с сайта Xilinx. А Вы какую модель использовали?


Тоже с сайта. На моей схеме длинна 100омной дифф пары 5000th = 127мм, и резистор 100ом. Попробуйте просимулить тоже в HL, если результаты будут схожи, то нужно пересматривать вашу топологию.
makc
Цитата(avesat @ Aug 26 2008, 13:24) *
Тоже с сайта. На моей схеме длинна 100омной дифф пары 5000th = 127мм, и резистор 100ом. Попробуйте просимулить тоже в HL, если результаты будут схожи, то нужно пересматривать вашу топологию.


Странно, у меня результаты существенно другие получаются:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
avesat
Все прояснилось. Если открыть ds312.pdf на страницах 126-127 то Vid про которое мы говорили они считают относительно нулевого потенциала (gnd) вот и выходит, что верхний график совпадает с картинками у ксайлинкса.
makc
Цитата(avesat @ Aug 26 2008, 23:39) *
Все прояснилось. Если открыть ds312.pdf на страницах 126-127 то Vid про которое мы говорили они считают относительно нулевого потенциала (gnd) вот и выходит, что верхний график совпадает с картинками у ксайлинкса.


Точно. Я сам уже до этого дошел сегодня вечером, правда написать об этом не успел. Значит все в порядке, можно работать дальше.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.