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

 
 
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
Lmx2315
сообщение Dec 27 2017, 11:28
Сообщение #16


отэц
*****

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



Цитата(Tpeck @ Dec 27 2017, 14:21) *
Так говорят, что физический уровень lvds а это согласование и никакой отражухи. sm.gif
А SPI обычно CMOS3.3 или меньшего напряжения.

вы считаете что spi жёска связан с CMOS ?


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


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

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



Цитата(blackfin @ Dec 27 2017, 14:01) *
Напомню про Ultra-640_SCSI:


отлично, вместо того, чтобы реализовать полноценный и отвечающий всем требованиям интерфейс на полсотни строк vhdl -- гораздо проще разработать целую систему с синхронизаторами, калибровщиками, кодировщиками канала, восстановителями тактовых частот и неведомо ещё чем.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Dec 27 2017, 12:40
Сообщение #18


Местный
***

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



Цитата(Lmx2315 @ Dec 27 2017, 14:28) *
вы считаете что spi жёска связан с CMOS ?

SPI для флэшки, думаю что да.
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 14:59
Сообщение #19


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

Группа: Свой
Сообщений: 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 раз больше, чем у ТС. Калибраторы и синхронизаторы там совершенно из другой оперы.


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Dec 27 2017, 15:00
Сообщение #20


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

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



Цитата(FakeDevice @ Dec 27 2017, 09:07) *
делали на 128 МБит/с, отлично работает без каких-либо извращений. Но при условии, что это действительно UART, а не какой-то синхронный мутант. Единственное ограничение -- на приёмной стороне должна быть возможность работать на тактах 2x.

Можно Вас попросить подробнее описать, как Вы это делали?
Go to the top of the page
 
+Quote Post
Студент заборстр...
сообщение Dec 27 2017, 16:23
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Цитата(Олег Гаврильченко @ Dec 27 2017, 18:00) *
Можно Вас попросить подробнее описать, как Вы это делали?

Что ваяяете если не секрет?
Хотите сделать свой велосипед - аналог эзеркат?

Мы уже работаем над этим.
Поэтому, ребят, можете "расслабиться".
Как сделаем Вам написать за сколько у нас Вы его сможете купить?

Сообщение отредактировал Студент заборстроительного - Dec 27 2017, 16:25
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 17:07
Сообщение #22


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(Студент заборстроительного @ Dec 27 2017, 19:23) *
Хотите сделать свой велосипед - аналог эзеркат?
Мы уже работаем над этим.
Поэтому, ребят, можете "расслабиться".
Как сделаем Вам написать за сколько у нас Вы его сможете купить?

То что ТС хочет, называется SpaceWire. Оно уже сделано, и оно бесплатное)
А EtherCat, насколько я понимаю, процессорная фишка, а не ПЛИС-овая.

И потом, вроде Real Time Ethernet уже сделан и опубликован, нет ? White Rabbit разве не оно ?

У этих двух проектов правда есть одно общее свойство - там черт ногу сломит)


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


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Цитата(a123-flex @ Dec 27 2017, 20:07) *
И потом, вроде Real Time Ethernet уже сделан и опубликован, нет ? White Rabbit разве не оно ?

У этих двух проектов правда есть одно общее свойство - там черт ногу сломит)

Ни разу не видел аббревиатуру "White Rabbit".
А вот SERCOS III, PowerLink и EtherCAT уже более 10 лет назад как придумали.

Поэтому советую топиг стартеру не "изобретать велосипед"
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 18:56
Сообщение #24


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(Студент заборстроительного @ Dec 27 2017, 21:27) *
Ни разу не видел аббревиатуру "White Rabbit".
А вот SERCOS III, PowerLink и EtherCAT уже более 10 лет назад как придумали.

Это скорее всего из Вашего Асутп.

А white rabbit - это проект из ITER, европейского токамака.
https://www.ohwr.org/
Они там миллиарды пилят, и чтоб хоть какая-нибудь польза была, свою гору железа и софта самодельного, частично в opensource выложили.

Интересные кстати очень проекты там есть.

Цитата(Студент заборстроительного @ Dec 27 2017, 21:27) *
Поэтому советую топиг стартеру не "изобретать велосипед"

ему это все советуют


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


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(FakeDevice @ Dec 27 2017, 08:07) *
делали на 128 МБит/с, отлично работает без каких-либо извращений.

И каков был oversampling интересно знать? Обычно он == 16, ну или в худшем случае == 8.
Даже для oversampling == 8 получаем тактовую частоту UART = 1024 МГц.
Так сколько у вас было?
Go to the top of the page
 
+Quote Post
FakeDevice
сообщение Dec 27 2017, 19:51
Сообщение #26


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

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



Цитата(a123-flex @ Dec 27 2017, 17:59) *
в классических реализациях uart-а внутренняя частота - x16
x2 - это как раз и есть извращения.
если извращаться, то и x1 работает.

с x1 -- согласен. x2 -- уже вполне адекватными решениями можно добиться цели.

Цитата
Вам просто показали, что помехозащищенности lvds достаточно для устойчивой работы на скорости в 3 раза выше, чем у ТС и на дальности в 20 раз больше, чем у ТС. Калибраторы и синхронизаторы там совершенно из другой оперы.

так речь же не идёт о том, что можно сделать. понятное дело, многое. только какой ценой? исходя из контекста я понимаю, что речи о золотых во всех смыслах проводах не идёт. ну как минимум таких, чтобы удовлетворить ключевые требования к высокочастотным lvds линиям. всего-то надо передать 100 Мбит/с.
Go to the top of the page
 
+Quote Post
Студент заборстр...
сообщение Dec 27 2017, 20:07
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Народ. А если 32 уровня сигнала использовать можно же тогда 5 бит за такт передавать
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 20:08
Сообщение #28


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(FakeDevice @ Dec 27 2017, 23:51) *
с x1 -- согласен. x2 -- уже вполне адекватными решениями можно добиться цели.
так речь же не идёт о том, что можно сделать. понятное дело, многое. только какой ценой? исходя из контекста я понимаю, что речи о золотых во всех смыслах проводах не идёт. ну как минимум таких, чтобы удовлетворить ключевые требования к высокочастотным lvds линиям. всего-то надо передать 100 Мбит/с.

xapp224 - это дорого ?


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


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

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



Цитата(jcxz @ Dec 27 2017, 22:31) *
И каков был oversampling интересно знать? Обычно он == 16, ну или в худшем случае == 8.
Даже для oversampling == 8 получаем тактовую частоту UART = 1024 МГц.
Так сколько у вас было?

поток 128 МБит/с, тактовая на приёме 2x = 256 МГц, но! некоторые триггеры, которые ловят старт-бит, работают по другому фронту. в результате имеется один (если правильно помню) переход между некоторыми триггерами, где получается t=(1/256MHz) / 2, эквивалент ~ 512 МГц. Грубо говоря, oversampling получается 4. Но с учётом того, что на этом переходе только клоковый домен меняется, нету ни логики или еще чего-то, разводится норм. ну на свежих поколениях, как минимум.
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 20:10
Сообщение #30


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(Студент заборстроительного @ Dec 28 2017, 00:07) *
Народ. А если 32 уровня сигнала использовать можно же тогда 5 бит за такт передавать

это Вы про PAM5 ?
http://www.ecolan.ru/imp_info/introduction/magest/


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


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

Группа: Свой
Сообщений: 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 уже и в других модулях используется. Ну и если требуется повышенная надёжность -- не забывайте про защиту от метастабильности.
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 20:36
Сообщение #32


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

Группа: Свой
Сообщений: 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.
Очень полезно такое бывает, когда линию подразогнать нужно.


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


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(FakeDevice @ Dec 27 2017, 22:08) *
Грубо говоря, oversampling получается 4.

Это если тактовая - строго меандр.
Но даже если меандр, всё равно - точность определения точки стробирования в 4 раза ниже стандарта UART. Ну и соответственно - помехоустойчивость.
Можно ли это назвать полноценным UART? Вопрос....

Я бы делал по-другому:
Разбил поток на блоки некоей длины, с маркерами начала и конца блока, добавил в блок информацию для контроля целостности.
В передатчике выдвигал биты как в UART, только без стартового и стоповых битов - синхронизируемся в начале блока, макс.длина блока выбирается такой, чтобы точка стробирования не ушла за пределы бита при максимальных отношениях частот приёмника/передатчика.
В приёмнике сделать oversampling любой насколько позволяет макс.тактовая, но не менее 3. Завести N приёмников (где: N - величина oversampling-а) с точками стробирования в каждом такте.
Все приёмники работают независимо принимая параллельно один и тот же блок. В конце блока проверяем его валидность (по контрольной информации). Если блок валиден - передаём его на выход.
Ну и сделать между приёмниками необходимую синхронизацию для удаления лишних копий блоков.
Делал когда-то давно подобное только на DSP - работало стабильно. Да и сейчас ещё работает - устройство уже десяток лет в коммерческой эксплуатации.
Go to the top of the page
 
+Quote Post
FakeDevice
сообщение Dec 27 2017, 20:59
Сообщение #34


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

Группа: Свой
Сообщений: 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 сигнал? да и от помехи зависит. даже если фильтровать -- далеко не всегда спасёт. если нужна надёжность -- только дублирование. всего. засылок, устройств и т.д. и то не факт, что метеорит не упадёт.
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 21:06
Сообщение #35


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(FakeDevice @ Dec 28 2017, 00:59) *
не будет она строго меандром, конечно, но ~40% внутри кристалла вполне достижимо ведь?
помехоустойчивость... а что мы сможем тут сделать в разумных пределах кроме попыток защиты от метастабильности? не фильтровать же в самом деле на 16x сигнал? да и от помехи зависит. даже если фильтровать -- далеко не всегда спасёт. если нужна надёжность -- только дублирование. всего. засылок, устройств и т.д. и то не факт, что метеорит не упадёт.

В каналах на базе xapp контролировалась целостность потока. Частота была 96 Мгц, кристаллы - spartan3, virtex2. Генераторы с обоих сторон 50 ppm. Разъемы мр, провода и разводка в модулях жуть. Длина 2-6 метров. Температура была -20 +85. За несколько лет на многих устройствах сбоя не было ни разу.

Цитата(jcxz @ Dec 28 2017, 00:42) *
Завести N приёмников (где: N - величина oversampling-а) с точками стробирования в каждом такте.

расходненько будет.


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


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

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



Цитата(a123-flex @ Dec 28 2017, 00:06) *
В каналах на базе xapp контролировалась целостность потока. Частота была 96 Мгц, кристаллы - spartan3, virtex2. За несколько лет на многих устройствах сбоя не было ни разу.

у меня тоже контролируется. года за 3-4 тоже сбоя не было ни разу.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 27 2017, 21:14
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 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 раза ниже макс.тактовой частоты.
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 21:26
Сообщение #38


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(jcxz @ Dec 28 2017, 01:14) *
Зато макс.битовая скорость может быть всего лишь в 3 раза ниже макс.тактовой частоты.
диалог наверно позабавит разработчиков модемов


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


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

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



Цитата(jcxz @ Dec 28 2017, 00:14) *
Сам oversampling как раз и нужен для повышения помехоустойчивости. Чем он выше, тем точнее определение точки стробирования.
Т.е. - самая минимальная помеха, которая чуть-чуть сдвинет фронт стартового бита, при оверсэмплинге==16 внесёт ошибку равную всего лишь 1/16 baudrate в определение точки стробирования.
(+/-) 1/16 = |1/8|, если быть точнее.

Цитата(jcxz @ Dec 28 2017, 00:14) *
А вот при 4x, промахнёмся аж на четверть бита и точка стробирования на стартовом бите уже может находится на расстоянии 0.25 битового периода от края бита (это без учёта отличия скважности от меандра).
надо исходить из размера пакетов, скорости обмена, девиации. тут каждый сам выбирает, что ему ближе. палка о двух концах: либо частота не подойдёт, либо точности не хватит.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 27 2017, 21:29
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(a123-flex @ Dec 27 2017, 23:26) *
диалог наверно позабавит разработчиков модемов

Чем именно? У меня указанный алгоритм как раз в модеме и работал. laughing.gif
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 21:33
Сообщение #41


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(jcxz @ Dec 28 2017, 01:29) *
Чем именно? У меня указанный алгоритм как раз в модеме и работал. laughing.gif

Битовой плотностью. В моем представлении модем - то что из лапши на километр мегабиты жмёт.


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


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(a123-flex @ Dec 27 2017, 23:33) *
Битовой плотностью. Я модемом называю то что из лапши на километр мегабиты жмёт.

В том модеме на каждый строб у меня не один бит приходился.
Очень узкие у вас представления о модемах. Модемы не только на мегабиты бывают, и работают не только по лапше, но и по радиоканалу например. Либо вообще внутри сложного комплексного канала.
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 27 2017, 21:42
Сообщение #43


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(jcxz @ Dec 28 2017, 01:40) *
Очень узкие у вас представления о модемах.

Ну простите

Беспроводным каналом я раз в жизни занимался - мне не понравилось.
Может быть это потому было, что мы систему за 2 месяца под ключ сдали.
Это было ужасно.

Поэтому беспроводные я подсознательно исключил)


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


Местный
***

Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334



Рекомендую почитать тему: Обмен инфой между микроконтроллерами со скоростью 1Гбит/с
Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 30 2017, 19:43
Сообщение #45


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



посмотрите еще это - использование внешнего серилизатора


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 01:16
Рейтинг@Mail.ru


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