|
LVDS протокол для передачи на 50-100 МБ/с, Можно ли использовать SPI через LVDS на скорости 50-100 МБ/с |
|
|
|
Dec 25 2017, 14:31
|

Частый гость
 
Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052

|
Требуется передавать данные от одного устройства на несколько других. В оба направления. Передатчик и приемник - ПЛИС. Для последовательной передачи достаточно скорости 50-100 Мб/с. Устройства связаны кабелем или шлейфом и расстояние между ними до 0,5 м. В качестве физического протокола я выбрал LVDS. У меня возникли такие вопросы: 1. Можно ли передавать данные по обычному SPI. Т.е. использовать 3 линии SCK, MOSI, MISO(через LVDS)? Или это слишком высокая скорость? 2. Можно ли использовать синхронный или асинхронный UART на 50-100 Мб/с? 3. Какие еще варианты посоветуете?
Я работал с SPI только на скоростях до 25 Мб/с и только через КМОП. Разумеется, есть быстрые последовательные протоколы(RapidIO, PCI-E, Aurora и др). Но в спецификациях на них указано что они разработаны для скоростей в 10 раз выше нужной мне, и для их использования нужна будет более дорогая ПЛИС на стороне приемника. И отлаживать их дольше.
Еще хочу задать вопрос по протоколам. Мне известны протоколы для низких скоростей: RS-4.., CAN, SPI, I2C и др. И известны высокоскоростные: PCI-E, Ethernet. Существуют ли решения для скоростей именно 25-~ 200 Мб/с? МБ/с - это мегабит в секунду.
Сообщение отредактировал Олег Гаврильченко - Dec 25 2017, 16:14
|
|
|
|
|
 |
Ответов
|
Dec 25 2017, 23:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(Олег Гаврильченко @ Dec 25 2017, 18:31)  Требуется передавать данные от одного устройства на несколько других. В оба направления. Передатчик и приемник - ПЛИС. Для последовательной передачи достаточно скорости 50-100 Мб/с. Устройства связаны кабелем или шлейфом и расстояние между ними до 0,5 м. В качестве физического протокола я выбрал LVDS. У меня возникли такие вопросы: 1. Можно ли передавать данные по обычному SPI. Т.е. использовать 3 линии SCK, MOSI, MISO(через LVDS)? Или это слишком высокая скорость? да можно. Цитата(Олег Гаврильченко @ Dec 25 2017, 18:31)  2. Можно ли использовать синхронный или асинхронный UART на 50-100 Мб/с? uart до 50 не разогнать. без извращений Цитата(Олег Гаврильченко @ Dec 25 2017, 18:31)  3. Какие еще варианты посоветуете? по простому - double или quad spi. Цитата(Олег Гаврильченко @ Dec 25 2017, 18:31)  Еще хочу задать вопрос по протоколам. Мне известны протоколы для низких скоростей: RS-4.., CAN, SPI, I2C и др. И известны высокоскоростные: PCI-E, Ethernet. Существуют ли решения для скоростей именно 25-~ 200 Мб/с? МБ/с - это мегабит в секунду. Ethernet 100 - как раз оно. Возможно идеальный путь, если места на плате не жалко под phy и пинов на плисе. Или SpaceWire. Или перепиливать UART. Или в личку.
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Dec 27 2017, 06:07
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 31-10-14
Из: Воронеж
Пользователь №: 83 452

|
Цитата(a123-flex @ Dec 26 2017, 02:09)  uart до 50 не разогнать. без извращений делали на 128 МБит/с, отлично работает без каких-либо извращений. Но при условии, что это действительно UART, а не какой-то синхронный мутант. Единственное ограничение -- на приёмной стороне должна быть возможность работать на тактах 2x.
|
|
|
|
|
Dec 27 2017, 14:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(FakeDevice @ Dec 27 2017, 09:07)  делали на 128 МБит/с, отлично работает без каких-либо извращений. Но при условии, что это действительно UART, а не какой-то синхронный мутант. Единственное ограничение -- на приёмной стороне должна быть возможность работать на тактах 2x. в классических реализациях uart-а внутренняя частота - x16 x2 - это как раз и есть извращения. если извращаться, то и x1 работает. Цитата(FakeDevice @ Dec 27 2017, 14:28)  отлично, вместо того, чтобы реализовать полноценный и отвечающий всем требованиям интерфейс на полсотни строк vhdl -- гораздо проще разработать целую систему с синхронизаторами, калибровщиками, кодировщиками канала, восстановителями тактовых частот и неведомо ещё чем. Вам просто показали, что помехозащищенности lvds достаточно для устойчивой работы на скорости в 3 раза выше, чем у ТС и на дальности в 20 раз больше, чем у ТС. Калибраторы и синхронизаторы там совершенно из другой оперы.
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Dec 27 2017, 19:51
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 31-10-14
Из: Воронеж
Пользователь №: 83 452

|
Цитата(a123-flex @ Dec 27 2017, 17:59)  в классических реализациях uart-а внутренняя частота - x16 x2 - это как раз и есть извращения. если извращаться, то и x1 работает. с x1 -- согласен. x2 -- уже вполне адекватными решениями можно добиться цели. Цитата Вам просто показали, что помехозащищенности lvds достаточно для устойчивой работы на скорости в 3 раза выше, чем у ТС и на дальности в 20 раз больше, чем у ТС. Калибраторы и синхронизаторы там совершенно из другой оперы. так речь же не идёт о том, что можно сделать. понятное дело, многое. только какой ценой? исходя из контекста я понимаю, что речи о золотых во всех смыслах проводах не идёт. ну как минимум таких, чтобы удовлетворить ключевые требования к высокочастотным lvds линиям. всего-то надо передать 100 Мбит/с.
|
|
|
|
|
Dec 27 2017, 20:32
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 31-10-14
Из: Воронеж
Пользователь №: 83 452

|
Цитата(Олег Гаврильченко @ Dec 27 2017, 18:00)  Можно Вас попросить подробнее описать, как Вы это делали? да там ничего особо хитрого, клок 2x, работа по обоим фронтам клока. вот и вся хитрость. получаем 4 семпла на бит. нарисовать это на бумаге и всё очевидно станет. можно и проще сделать, как посоветовал Цитата(a123-flex @ Dec 27 2017, 23:08)  xapp224 - это дорого ? там тоже 4x, для относительно небольших скоростей вполне подходит вариант. но увеличение скорости требует увеличения точности смежных фаз клоков. плюс еще вместо одного домена используется 2. мелочь, но жаба душит. поэтому мой вариант с одним доменом 2x, но с DDR мне больше понравился. Тем более, что 2x уже и в других модулях используется. Ну и если требуется повышенная надёжность -- не забывайте про защиту от метастабильности.
|
|
|
|
|
Dec 27 2017, 20:36
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(FakeDevice @ Dec 28 2017, 00:32)  работа по обоим фронтам клока, да там ничего особо хитрого ) Цитата(FakeDevice @ Dec 28 2017, 00:32)  там тоже 4x, для относительно небольших скоростей вполне подходит вариант. но увеличение скорости требует увеличения точности смежных фаз клоков. плюс еще вместо одного домена используется 2. мелочь, но жаба душит. поэтому мой вариант с одним доменом 2x, но с DDR мне больше понравился. Ну и если требуется повышенная надёжность -- не забывайте про защиту от метастабильности. В оригинальном xapp rloc. Поэтому метастабильности там нет - проверено десятками тысяч часов и сотнями девайсов. Доменов действительно 2. Частота там 1x. Очень полезно такое бывает, когда линию подразогнать нужно.
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Dec 27 2017, 20:59
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 31-10-14
Из: Воронеж
Пользователь №: 83 452

|
Цитата(a123-flex @ Dec 27 2017, 23:36)  В оригинальном xapp rloc. Поэтому метастабильности там нет - проверено десятками тысяч часов и сотнями девайсов. Доменов действительно 2. Частота там 1x. Очень полезно бывает, когда линию подразогнать нужно. домена 2 -- это минус. частота 1x -- это плюс. ну и наглядность, простота реализации в xapp мне тоже понравилась. тут, видимо, исходя из реальных обстоятельств лучше принимать решение. Просто, повторюсь, у меня к тому моменту уже были задействованы dcm и с 2x, и с 3x. Лишнего уже не терял по потреблению и ресурсам. Вот и реализовал именно так не задумываясь. обеспечение точности разницы фаз, конечно, на совести трассировщика... Я никого не стремлюсь убедить/переубедить, но лично мне спокойнее, когда работаю на 1 домене. Цитата(jcxz @ Dec 27 2017, 23:42)  Это если тактовая - строго меандр. Но даже если меандр, всё равно - точность определения точки стробирования в 4 раза ниже стандарта UART. Ну и соответственно - помехоустойчивость. Можно ли это назвать полноценным UART? Вопрос.... не будет она строго меандром, конечно, но ~40% внутри кристалла вполне достижимо ведь? помехоустойчивость... а что мы сможем тут сделать в разумных пределах кроме попыток защиты от метастабильности? не фильтровать же в самом деле на 16x сигнал? да и от помехи зависит. даже если фильтровать -- далеко не всегда спасёт. если нужна надёжность -- только дублирование. всего. засылок, устройств и т.д. и то не факт, что метеорит не упадёт.
|
|
|
|
|
Dec 27 2017, 21:14
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(FakeDevice @ Dec 27 2017, 22:59)  помехоустойчивость... а что мы сможем тут сделать в разумных пределах кроме попыток защиты от метастабильности? Сам oversampling как раз и нужен для повышения помехоустойчивости. Чем он выше, тем точнее определение точки стробирования. Т.е. - самая минимальная помеха, которая чуть-чуть сдвинет фронт стартового бита, при оверсэмплинге==16 внесёт ошибку равную всего лишь 1/16 baudrate в определение точки стробирования. А вот при 4x, промахнёмся аж на четверть бита и точка стробирования на стартовом бите уже может находится на расстоянии 0.25 битового периода от края бита (это без учёта отличия скважности от меандра). Цитата(a123-flex @ Dec 27 2017, 23:06)  расходненько будет. Зато макс.битовая скорость может быть всего лишь в 3 раза ниже макс.тактовой частоты.
|
|
|
|
Сообщений в этой теме
Олег Гаврильченко LVDS протокол для передачи на 50-100 МБ/с Dec 25 2017, 14:31 Lmx2315 Цитата(Олег Гаврильченко @ Dec 25 2017, 17... Dec 25 2017, 14:55        a123-flex Цитата(FakeDevice @ Dec 28 2017, 00:59) н... Dec 27 2017, 21:06         FakeDevice Цитата(a123-flex @ Dec 28 2017, 00:0... Dec 27 2017, 21:12         a123-flex Цитата(jcxz @ Dec 28 2017, 01:14) Зато ма... Dec 27 2017, 21:26          jcxz Цитата(a123-flex @ Dec 27 2017, 23:2... Dec 27 2017, 21:29           a123-flex Цитата(jcxz @ Dec 28 2017, 01:29) Чем име... Dec 27 2017, 21:33            jcxz Цитата(a123-flex @ Dec 27 2017, 23:3... Dec 27 2017, 21:40             a123-flex Цитата(jcxz @ Dec 28 2017, 01:40) Очень у... Dec 27 2017, 21:42         FakeDevice Цитата(jcxz @ Dec 28 2017, 00:14) Сам ove... Dec 27 2017, 21:29  Олег Гаврильченко Цитата(FakeDevice @ Dec 27 2017, 09:07) д... Dec 27 2017, 15:00   Студент заборстроительного Цитата(Олег Гаврильченко @ Dec 27 2017, 18... Dec 27 2017, 16:23    a123-flex Цитата(Студент заборстроительного @ Dec 27 20... Dec 27 2017, 17:07     Студент заборстроительного Цитата(a123-flex @ Dec 27 2017, 20:0... Dec 27 2017, 18:27      a123-flex Цитата(Студент заборстроительного @ Dec 27 20... Dec 27 2017, 18:56   FakeDevice Цитата(jcxz @ Dec 27 2017, 22:31) И каков... Dec 27 2017, 20:08    jcxz Цитата(FakeDevice @ Dec 27 2017, 22:08) Г... Dec 27 2017, 20:42  jcxz Цитата(FakeDevice @ Dec 27 2017, 08:07) д... Dec 27 2017, 19:31 andk Манчестер можно попробовать Dec 26 2017, 04:30 arhiv6 Можно понизить частоту SPI, используя больше линий... Dec 26 2017, 05:49 Alex11 SPI стандартный работать не будет на 100 МГц. На 5... Dec 26 2017, 12:34 alexadmin Цитата(Alex11 @ Dec 26 2017, 15:34) SPI с... Dec 26 2017, 13:06  lembrix Цитата(alexadmin @ Dec 26 2017, 16:06) SP... Dec 26 2017, 13:51   alexadmin Цитата(lembrix @ Dec 26 2017, 16:51) Завя... Dec 27 2017, 07:38    FakeDevice Цитата(alexadmin @ Dec 27 2017, 10:38) Да... Dec 27 2017, 09:56     Lmx2315 Цитата(FakeDevice @ Dec 27 2017, 12:56) а... Dec 27 2017, 10:35      FakeDevice Цитата(Lmx2315 @ Dec 27 2017, 13:35) ..мо... Dec 27 2017, 10:38     blackfin Цитата(FakeDevice @ Dec 27 2017, 12:56) .... Dec 27 2017, 11:01      FakeDevice Цитата(blackfin @ Dec 27 2017, 14:01) Нап... Dec 27 2017, 11:28   Tpeck Цитата(lembrix @ Dec 26 2017, 16:51) Завя... Dec 27 2017, 11:21    Lmx2315 Цитата(Tpeck @ Dec 27 2017, 14:21) Так го... Dec 27 2017, 11:28     Tpeck Цитата(Lmx2315 @ Dec 27 2017, 14:28) вы с... Dec 27 2017, 12:40 Студент заборстроительного Народ. А если 32 уровня сигнала использовать можно... Dec 27 2017, 20:07 a123-flex Цитата(Студент заборстроительного @ Dec 28 20... Dec 27 2017, 20:10 Студент заборстроительного Рекомендую почитать тему: Обмен инфой между микрок... Dec 28 2017, 05:19 Maverick посмотрите еще это - использование внешнего серили... Dec 30 2017, 19:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|