реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Closed TopicStart new topic
> LVDS протокол для передачи на 50-100 МБ/с, Можно ли использовать SPI через LVDS на скорости 50-100 МБ/с
Олег Гаврильченк...
сообщение Dec 25 2017, 14:31
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Dec 25 2017, 14:55
Сообщение #2


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(Олег Гаврильченко @ Dec 25 2017, 17:31) *
Требуется передавать данные от одного устройства на несколько других. В оба направления. Передатчик и приемник - ПЛИС. Для последовательной передачи достаточно скорости 50-100 МБ/с. Устройства

100 МБ/с - это 100 мегабит в секунду или мегабайт?
Даже если это всего лишь 100 мбит/с то это точно не уарт . Может быть SPI . Для работы Aurora на стороне приёмника нужна такая же плис как и на стороне передатчика, правда там не lvds .
А ещё есть SerDes .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 25 2017, 23:09
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 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. Или в личку.


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post
andk
сообщение Dec 26 2017, 04:30
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 17-12-04
Из: Миасс
Пользователь №: 1 519



Манчестер можно попробовать
Go to the top of the page
 
+Quote Post
arhiv6
сообщение Dec 26 2017, 05:49
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 633
Регистрация: 21-05-10
Из: Томск
Пользователь №: 57 423



Можно понизить частоту SPI, используя больше линий данных. Есть же Quad SPI, но линий данных можно и больше сделать.


--------------------
Go to the top of the page
 
+Quote Post
Alex11
сообщение Dec 26 2017, 12:34
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



SPI стандартный работать не будет на 100 МГц. На 50 может быть. Проблема в обратной по отношению к клоку передаче данных. Можно сделать модифицированный SPI с двумя линиями клоков - в одну и другую строну, тогда проблем не будет. Синхронный UART тоже можно использовать (это, правда, уже не UART, но в смысле клок и данные со старт-стопом). Только с той же оговоркой - в каждую строну свой клок.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Dec 26 2017, 13:06
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(Alex11 @ Dec 26 2017, 15:34) *
SPI стандартный работать не будет на 100 МГц. На 50 может быть. Проблема в обратной по отношению к клоку передаче данных.


SPI-flash вполне себе работают на 100+ МГц. Да, для больших частот предлагается калибровать фазу приемного клока. Но на 100 МГц у меня сейчас просто FPGA грузится без всяких ухищрений.
Go to the top of the page
 
+Quote Post
lembrix
сообщение Dec 26 2017, 13:51
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 13-04-17
Из: Зеленоград
Пользователь №: 96 508



Цитата(alexadmin @ Dec 26 2017, 16:06) *
SPI-flash вполне себе работают на 100+ МГц. Да, для больших частот предлагается калибровать фазу приемного клока. Но на 100 МГц у меня сейчас просто FPGA грузится без всяких ухищрений.

Завялено требование в 0.5 м, а SPI-flash обычно существенно ближе.
Go to the top of the page
 
+Quote Post
FakeDevice
сообщение Dec 27 2017, 06:07
Сообщение #9


Частый гость
**

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



Цитата(a123-flex @ Dec 26 2017, 02:09) *
uart до 50 не разогнать. без извращений

делали на 128 МБит/с, отлично работает без каких-либо извращений. Но при условии, что это действительно UART, а не какой-то синхронный мутант. Единственное ограничение -- на приёмной стороне должна быть возможность работать на тактах 2x.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Dec 27 2017, 07:38
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(lembrix @ Dec 26 2017, 16:51) *
Завялено требование в 0.5 м, а SPI-flash обычно существенно ближе.


Да, согласен. 0.5 м это уже 7 нс задержки туда-обратно...
Go to the top of the page
 
+Quote Post
FakeDevice
сообщение Dec 27 2017, 09:56
Сообщение #11


Частый гость
**

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



Цитата(alexadmin @ Dec 27 2017, 10:38) *
Да, согласен. 0.5 м это уже 7 нс задержки туда-обратно...

если клок только у мастера, тогда да, проблема. если данные в обе стороны со своими клоками, управляющими сигналами и т.д. идут, то +/- одинаковые задержки будут, но в таком случае даже lvds наловит столько помех, что ему хватит (тем более, что проводами качественный lvds не сделать).
а UART -- линия туда, линия обратно. обе "молчаливые". для отсеивания "вдруг чего словится" -- можно добавить контрольную сумму.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Dec 27 2017, 10:35
Сообщение #12


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(FakeDevice @ Dec 27 2017, 12:56) *
а UART -- линия туда, линия обратно. обе "молчаливые". для отсеивания "вдруг чего словится" -- можно добавить контрольную сумму.

..мой опыт говорит - не хочешь проблем , веди синхронные интерфейсы.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
FakeDevice
сообщение Dec 27 2017, 10:38
Сообщение #13


Частый гость
**

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



Цитата(Lmx2315 @ Dec 27 2017, 13:35) *
..мой опыт говорит - не хочешь проблем , веди синхронные интерфейсы.

не вижу никаких проблем кроме той, что нужен клок в 2 раза выше того, на котором сформирована последовательность бит. если сделать всё грамотно, то как раз наоборот: меньше сигналов -- меньше проблем.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Dec 27 2017, 11:01
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(FakeDevice @ Dec 27 2017, 12:56) *
.. в таком случае даже lvds наловит столько помех, что ему хватит (тем более, что проводами качественный lvds не сделать)..

Напомню про Ultra-640_SCSI:
Цитата
Частота шины: 160 МГц DDR
Пропускная способность: 640 Мбайт/сек
Максимальная длина кабеля: 10 м
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Dec 27 2017, 11:21
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(lembrix @ Dec 26 2017, 16:51) *
Завялено требование в 0.5 м, а SPI-flash обычно существенно ближе.

Так говорят, что физический уровень lvds а это согласование и никакой отражухи. sm.gif
А SPI обычно CMOS3.3 или меньшего напряжения.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 13:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01516 секунд с 7
ELECTRONIX ©2004-2016