1891ВМ12Я 0 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба Клок восстанавливать вовсе необязательно, это всего-лишь один из вариантов решения задачи. По докам С10LP по возможностям соответствует C4E, в этом случае потолок, по моим оценкам, д/б в районе 1Гбит/сек. Некоторое время назад хотел из спортивного интереса попробовать практически, но нет времени. Прошу тут немного подробнее. На какой пример Вы ссылаетесь? Есть ли статья на этот волшебный метод? В старых версиях QII было ядро ASI, которое выполняло необходимую Вам функцию. Вижу у Xilinx DVB-ASI IP core, у Альтеры Altera IP-ASI: IP CORE - ASI Video Interface - это оно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 31 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба Вижу у Xilinx DVB-ASI IP core, у Альтеры Altera IP-ASI: IP CORE - ASI Video Interface - это оно? Оно, только скорость там фиксированная 270 Мбит/с. У Xilinx многое делается на задержках в LUT и перестроить на другую скорость потока сложно. Про Altera не знаю, но думаю что аналогично. Три варианта приёма данных без восстановления тактов для 8B10B описаны в XAPP514, XAPP1014 и XAPP1015. Старая тема: Clock Recovery из 8B10B. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба ISERDES работает штатно просто как сериализатор. С внешней PLL и логикой становится возможным слежение за фазой. Т.е. это не аппаратная фича. Ну, понятно, что ручками что-то сделать всё же придется. :biggrin: Аппаратная фича состоит в том, что к каждому дифференциальному входу IBUFDS плисины можно одновременно(!) подключить две(!) линии задержки IDELAY и два(!) набора регистров IDDR тактируемых от сдвинутых на 90 градусов клоков, что дает четыре семпла данных на каждый бит входного потока. Остальное - дело техники и простенькой FSM.. Понятно, что про кодировку 8/10 эта схема ничего не знает и аппаратно не учитывает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба На какой пример Вы ссылаетесь? Есть ли статья на этот волшебный метод? Статьи нет. Из практического опыта, на Циклонах можно делать многофазную выборку. Кроме того, задачу можно решить через измерение интервалов между переходами входного сигнала, те через TDC. В итоге, ограничение будет обусловлено передатчиком, а не приемником - из-за большой емкости пина в Циклонах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба Статьи нет. Из практического опыта, на Циклонах можно делать многофазную выборку. Выше кинули ссылку: https://www.xilinx.com/support/documentatio...tes/xapp224.pdf Видимо это и есть подобный метод. Про TDC почитаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба Приветствую! 1. Я понимаю что такое манчестер, только не очень ясно - так что там с этим манчестером на входе делать? Что если биты манчестера встанут неудобно относительно клока? В какой блок принимать этот манчестер?Не совсем значит понимаете - из манчестера клок выделяется на раз - причем если уж совсем хардкорно то для этого даже внешний клок не нужен - пару задержек на цепочке lcell или триггеров, и пару элементов and и xor. И вы получаете клок привязанный к данным (ну или наоборот). Этим клоком капчите данные и через fifo или cdc переносите на рабочий клок. Понятное дело вся эта садо-мазо асинхронщина должна быть жестко прибита constrain при P&R . Ну и рассчитывать задержки нужно с учетом гуляния от температуры и вольтажа. Но зато нарисовать все это можно за пол дня, на любой FPGA. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewkrot 0 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба У Lattice есть дешевые чипы с SERDES. А на спартанах только манчестер в помощь. По крайней мере не нужно будет выравнивать по постоянке данные. Одним геморроем меньше) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 25 сентября, 2018 Опубликовано 25 сентября, 2018 (изменено) · Жалоба Выше кинули ссылку... Видимо это и есть подобный метод. М/б и другие методы. Например, декодировать пакеты по всем каналам(фазам), и брать с правильными контрольными кодами (сам делал похожее). Изменено 25 сентября, 2018 пользователем Leka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 25 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба М/б и другие методы. Например, декодировать пакеты по всем каналам(фазам), и брать с правильными контрольными кодами (сам делал похожее).Это не решит проблемы если разбежка за пакет больше пары бит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Это не решит проблемы если разбежка за пакет больше пары бит. Не будет там такой "разбежки".. У ТС клоки на обоих концах линка равны с точностью до 100 ppm. Из этого следует, что сдвиг на один бит случится после 10 тысяч бит. Меж тем, у ТС длина пакета 2048 бит. То есть, за время передачи пакета накопленная ошибка будет не больше 1/5 битового интервала. ... поток с LVDS (от 10 до 400 Мбит/с, но каждый раз это константа), учитывая что тактовые не синхронные (хотя их стабильность 50 ppm) и плавают, ... ... можно будет на основе преамбулы очередного пакета выбирать версию с наилучшим положением, и этого выбора хватит на весь пакет, пакеты у меня до 2048 байт. PS. Только сейчас заметил, что у ТС длина пакета указана в байтах. То есть, в битах это 16384. Так что ошибка в один бит вполне реальна. Тогда только кодировка 8/10 и подстраивать момент выборки бита на лету.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба 2Кбайта, это логический пакет, на физическом уровне пакеты м/б меньше, например по 1Кбиту (те вставлять контрольные коды через каждые 1Кбит). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Протянули бы уже тактовый сигнал. Ради связи на 15 см столько фантазий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Не будет там такой "разбежки".. У ТС клоки на обоих концах линка равны с точностью до 100 ppm. Из этого следует, что сдвиг на один бит случится после 10 тысяч бит. Меж тем, у ТС длина пакета 2048 бит. То есть, за время передачи пакета накопленная ошибка будет не больше 1/5 битового интервала. PS. Только сейчас заметил, что у ТС длина пакета указана в байтах. То есть, в битах это 16384. Так что ошибка в один бит вполне реальна. Тогда только кодировка 8/10 и подстраивать момент выборки бита на лету.. Т.е. не надо никакого реклокинга, так получается? Я опасаюсь, а не вылезет ли в месте перехода цепочка из десятков бит, раскиданных по обе стороны от граничной ситуации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Т.е. не надо никакого реклокинга, так получается? Я опасаюсь, а не вылезет ли в месте перехода цепочка из десятков бит, раскиданных по обе стороны от граничной ситуации? Если вы откалибровались по преамбуле и длина пакета не превышает 2500 бит, то "реклокинг" внутри пакета уже не нужен. Можно также поставить более дорогие TXCO с лучшей начальной точностью и стабильностью. Скажем, 10 ppm будет не сильно дороже, а расхождение клоков на обеих сторонах линка будет в пять раз меньше. Как следствие, допустимый размер пакета будет тоже в пять раз больше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Если вы откалибровались по преамбуле и длина пакета не превышает 2500 бит, то "реклокинг" не нужен. Можно также поставить более дорогие TXCO с лучшей начальной точностью и стабильностью. Скажем, 10 ppm будет не сильно дороже, а расходжение клоков на обеих сторонах линка будет в пять раз меньше. Соответстенно, допустимый размер пакета будет тоже в пять раз больше. А что значит откалиброваться по преамбуле? Допустим, принимаю преамбулу, вижу ее смещение (у меня уже есть такое решение в модели) - определив величину битового смещения, начинаю кушать пакет. Что защищает от ситуации, чтобы не попасть на зону перехода, когда после приема 1250 бит пойдет зона на десятки бит, где битовое положение будет колбаситься туда-сюда из-за джиттера??? Протянули бы уже тактовый сигнал. Ради связи на 15 см столько фантазий. Таково жесткое требование на данное устройство. Пока макет - у меня есть клок уже, причем общий для приемной и передающей стороны - вообще халява. Но теперь я обязан убрать общий клок на приемной и передающей стороне, и не давать клок в параллель с данными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться