|
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, 14:55
|

отэц
    
Группа: Свой
Сообщений: 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
|
|
|
|
|
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 26 2017, 13:51
|
Участник

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

|
Цитата(alexadmin @ Dec 26 2017, 16:06)  SPI-flash вполне себе работают на 100+ МГц. Да, для больших частот предлагается калибровать фазу приемного клока. Но на 100 МГц у меня сейчас просто FPGA грузится без всяких ухищрений. Завялено требование в 0.5 м, а SPI-flash обычно существенно ближе.
|
|
|
|
|
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, 09:56
|

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

|
Цитата(alexadmin @ Dec 27 2017, 10:38)  Да, согласен. 0.5 м это уже 7 нс задержки туда-обратно... если клок только у мастера, тогда да, проблема. если данные в обе стороны со своими клоками, управляющими сигналами и т.д. идут, то +/- одинаковые задержки будут, но в таком случае даже lvds наловит столько помех, что ему хватит (тем более, что проводами качественный lvds не сделать). а UART -- линия туда, линия обратно. обе "молчаливые". для отсеивания "вдруг чего словится" -- можно добавить контрольную сумму.
|
|
|
|
|
Dec 27 2017, 10:38
|

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

|
Цитата(Lmx2315 @ Dec 27 2017, 13:35)  ..мой опыт говорит - не хочешь проблем , веди синхронные интерфейсы. не вижу никаких проблем кроме той, что нужен клок в 2 раза выше того, на котором сформирована последовательность бит. если сделать всё грамотно, то как раз наоборот: меньше сигналов -- меньше проблем.
|
|
|
|
|
Dec 27 2017, 11:01
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(FakeDevice @ Dec 27 2017, 12:56)  .. в таком случае даже lvds наловит столько помех, что ему хватит (тем более, что проводами качественный lvds не сделать).. Напомню про Ultra-640_SCSI: Цитата Частота шины: 160 МГц DDR Пропускная способность: 640 Мбайт/сек Максимальная длина кабеля: 10 м
|
|
|
|
|
Dec 27 2017, 11:21
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243

|
Цитата(lembrix @ Dec 26 2017, 16:51)  Завялено требование в 0.5 м, а SPI-flash обычно существенно ближе. Так говорят, что физический уровень lvds а это согласование и никакой отражухи.  А SPI обычно CMOS3.3 или меньшего напряжения.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|