Перейти к содержанию
    

LVDS протокол для передачи на 50-100 МБ/с

Можно Вас попросить подробнее описать, как Вы это делали?

 

да там ничего особо хитрого, клок 2x, работа по обоим фронтам клока. вот и вся хитрость. получаем 4 семпла на бит. нарисовать это на бумаге и всё очевидно станет. можно и проще сделать, как посоветовал

 

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

 

там тоже 4x, для относительно небольших скоростей вполне подходит вариант. но увеличение скорости требует увеличения точности смежных фаз клоков. плюс еще вместо одного домена используется 2. мелочь, но жаба душит. поэтому мой вариант с одним доменом 2x, но с DDR мне больше понравился. Тем более, что 2x уже и в других модулях используется. Ну и если требуется повышенная надёжность -- не забывайте про защиту от метастабильности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

работа по обоим фронтам клока, да там ничего особо хитрого
)

 

там тоже 4x, для относительно небольших скоростей вполне подходит вариант. но увеличение скорости требует увеличения точности смежных фаз клоков. плюс еще вместо одного домена используется 2. мелочь, но жаба душит. поэтому мой вариант с одним доменом 2x, но с DDR мне больше понравился. Ну и если требуется повышенная надёжность -- не забывайте про защиту от метастабильности.

В оригинальном xapp rloc.

Поэтому метастабильности там нет - проверено десятками тысяч часов и сотнями девайсов. Доменов действительно 2. Частота там 1x.

Очень полезно такое бывает, когда линию подразогнать нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Грубо говоря, oversampling получается 4.

Это если тактовая - строго меандр.

Но даже если меандр, всё равно - точность определения точки стробирования в 4 раза ниже стандарта UART. Ну и соответственно - помехоустойчивость.

Можно ли это назвать полноценным UART? Вопрос....

 

Я бы делал по-другому:

Разбил поток на блоки некоей длины, с маркерами начала и конца блока, добавил в блок информацию для контроля целостности.

В передатчике выдвигал биты как в UART, только без стартового и стоповых битов - синхронизируемся в начале блока, макс.длина блока выбирается такой, чтобы точка стробирования не ушла за пределы бита при максимальных отношениях частот приёмника/передатчика.

В приёмнике сделать oversampling любой насколько позволяет макс.тактовая, но не менее 3. Завести N приёмников (где: N - величина oversampling-а) с точками стробирования в каждом такте.

Все приёмники работают независимо принимая параллельно один и тот же блок. В конце блока проверяем его валидность (по контрольной информации). Если блок валиден - передаём его на выход.

Ну и сделать между приёмниками необходимую синхронизацию для удаления лишних копий блоков.

Делал когда-то давно подобное только на DSP - работало стабильно. Да и сейчас ещё работает - устройство уже десяток лет в коммерческой эксплуатации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В оригинальном xapp rloc.

Поэтому метастабильности там нет - проверено десятками тысяч часов и сотнями девайсов. Доменов действительно 2. Частота там 1x.

Очень полезно бывает, когда линию подразогнать нужно.

домена 2 -- это минус.

частота 1x -- это плюс.

ну и наглядность, простота реализации в xapp мне тоже понравилась.

тут, видимо, исходя из реальных обстоятельств лучше принимать решение. Просто, повторюсь, у меня к тому моменту уже были задействованы dcm и с 2x, и с 3x. Лишнего уже не терял по потреблению и ресурсам. Вот и реализовал именно так не задумываясь.

обеспечение точности разницы фаз, конечно, на совести трассировщика...

Я никого не стремлюсь убедить/переубедить, но лично мне спокойнее, когда работаю на 1 домене.

 

Это если тактовая - строго меандр.

Но даже если меандр, всё равно - точность определения точки стробирования в 4 раза ниже стандарта UART. Ну и соответственно - помехоустойчивость.

Можно ли это назвать полноценным UART? Вопрос....

не будет она строго меандром, конечно, но ~40% внутри кристалла вполне достижимо ведь?

помехоустойчивость... а что мы сможем тут сделать в разумных пределах кроме попыток защиты от метастабильности? не фильтровать же в самом деле на 16x сигнал? да и от помехи зависит. даже если фильтровать -- далеко не всегда спасёт. если нужна надёжность -- только дублирование. всего. засылок, устройств и т.д. и то не факт, что метеорит не упадёт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не будет она строго меандром, конечно, но ~40% внутри кристалла вполне достижимо ведь?

помехоустойчивость... а что мы сможем тут сделать в разумных пределах кроме попыток защиты от метастабильности? не фильтровать же в самом деле на 16x сигнал? да и от помехи зависит. даже если фильтровать -- далеко не всегда спасёт. если нужна надёжность -- только дублирование. всего. засылок, устройств и т.д. и то не факт, что метеорит не упадёт.

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

 

Завести N приёмников (где: N - величина oversampling-а) с точками стробирования в каждом такте.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В каналах на базе xapp контролировалась целостность потока. Частота была 96 Мгц, кристаллы - spartan3, virtex2. За несколько лет на многих устройствах сбоя не было ни разу.

у меня тоже контролируется. года за 3-4 тоже сбоя не было ни разу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

помехоустойчивость... а что мы сможем тут сделать в разумных пределах кроме попыток защиты от метастабильности?

Сам oversampling как раз и нужен для повышения помехоустойчивости. Чем он выше, тем точнее определение точки стробирования.

Т.е. - самая минимальная помеха, которая чуть-чуть сдвинет фронт стартового бита, при оверсэмплинге==16 внесёт ошибку равную всего лишь 1/16 baudrate в определение точки стробирования.

А вот при 4x, промахнёмся аж на четверть бита и точка стробирования на стартовом бите уже может находится на расстоянии 0.25 битового периода от края бита (это без учёта отличия скважности от меандра).

 

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

Зато макс.битовая скорость может быть всего лишь в 3 раза ниже макс.тактовой частоты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зато макс.битовая скорость может быть всего лишь в 3 раза ниже макс.тактовой частоты.
диалог наверно позабавит разработчиков модемов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам oversampling как раз и нужен для повышения помехоустойчивости. Чем он выше, тем точнее определение точки стробирования.

Т.е. - самая минимальная помеха, которая чуть-чуть сдвинет фронт стартового бита, при оверсэмплинге==16 внесёт ошибку равную всего лишь 1/16 baudrate в определение точки стробирования.

(+/-) 1/16 = |1/8|, если быть точнее.

 

А вот при 4x, промахнёмся аж на четверть бита и точка стробирования на стартовом бите уже может находится на расстоянии 0.25 битового периода от края бита (это без учёта отличия скважности от меандра).
надо исходить из размера пакетов, скорости обмена, девиации. тут каждый сам выбирает, что ему ближе. палка о двух концах: либо частота не подойдёт, либо точности не хватит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

диалог наверно позабавит разработчиков модемов

Чем именно? У меня указанный алгоритм как раз в модеме и работал. :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем именно? У меня указанный алгоритм как раз в модеме и работал. :laughing:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

В том модеме на каждый строб у меня не один бит приходился.

Очень узкие у вас представления о модемах. Модемы не только на мегабиты бывают, и работают не только по лапше, но и по радиоканалу например. Либо вообще внутри сложного комплексного канала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень узкие у вас представления о модемах.

Ну простите

 

Беспроводным каналом я раз в жизни занимался - мне не понравилось.

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

Это было ужасно.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...