|
Приём LVDS с динамической подстройкой фазы, Как это реализовать на Altera, не имея спец. блоков DPA |
|
|
|
Jun 8 2017, 10:33
|

В поисках себя...
   
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140

|
Приветствую уважаемые посетители форума ! Возникло некоторое непонимание как на Altera реализовать приём данных по LVDS с динамической подстройкой фазы, т.е чтобы данные считывались по центру битового периода(sample window), а не в зоне джиттера. Думаю тут будет уместна эта картинка для наглядности:  К сожалению, Cyclone V, который на моей макетной плате, не содержит блоков DPA (dynamic phase alignment), а в альтеровских application notes я не увидел алгоритмов реализации(может плохо смотрел или не туда), поэтому смотрел как это реализовано у Xilinx(XAPP460, XAPP861, XAPP224), но неужели у альтеры нет ничего похожего ? Данные принимаю при помощи мега функции ALTLVDS_RX с калибровкой по тестовым паттернам.
|
|
|
|
|
 |
Ответов
|
Aug 7 2017, 13:36
|

В поисках себя...
   
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140

|
Цитата(Corner @ Aug 7 2017, 15:58)  Частота 800 МГц вытекает из 2 x максимальная частота тактирования регистров. Для этой ПЛИС 400 МГц потолок. А где Вы нашли это если не секрет ? Я весь даташит прочитал, и нашёл только: Global clock and Regional clock 550 MHZ (стр.39) Максимальная скорость встроенного LVDS приёмника 875Mbs (стр.48) А вот с какой скоростью могут работать регистры в ячейках я не увидел. Если что у меня speedgrade -C6 (5CSEMA5F31C6). Да я и не собираюсь выжимать больше, поскольку у меня согласователь уровней CML -> LVDS ограничен скоростью 800 Mbs. Сейчас основная задача разобраться с временными ограничениями и задать констрейны, чтобы реальная железка соответствовала тому, что говорит Timequest.
|
|
|
|
|
Aug 8 2017, 07:39
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(Flip-fl0p @ Aug 7 2017, 16:36)  А где Вы нашли это если не секрет ? Я весь даташит прочитал, и нашёл только: Global clock and Regional clock 550 MHZ (стр.39) Максимальная скорость встроенного LVDS приёмника 875Mbs (стр.48) А вот с какой скоростью могут работать регистры в ячейках я не увидел. Если что у меня speedgrade -C6 (5CSEMA5F31C6). Мне тоже интересно, откуда такие цифры. Согласно документации https://www.altera.com/content/dam/altera-w...-v/av_51002.pdfGlobal clock and Regional clock 525MHz (1-43) SERDES factor J = 1 to 2, Uses DDR Registers (1-51, (79*) - The maximum ideal data rate is the SERDES factor (J) x the PLL maximum output frequency (fOUT), provided you can close the design timing and the signal integrity simulation is clean) Далее, кстати, на 1-44 fOUT_max=400MHz (This specification is limited by the lower of the two: I/O fMAX or FOUT of the PLL). Но это в случае без DPA, для DPA фактор сериализации начинается от 4. Цитата Каждые 5 тактов частоты RX0_CLK я формирую запрос на запись данных в FIFO. Частота записи у меня естественно RX0_CLK . Для каждой линии приёма у меня свой FIFO буфер. Общее для них это частота чтения - CLK_40MHz У Вас нет никакой пересинхронизации и т.к. фазовые соотношения между стробом на запись и частотой на чтение могут быть любые, в общем случае схема работать стабильно не будет. Кстати, а что там за временные ошибки timequest рисует, этот переход из одного клокового домена в другой там тоже скорее всего есть. Еще второй момент - канальная синхронизация - Вы пишете в отдельные буфера в общем случае в разные моменты времени, если чтение произойдет посредине между записями, то слово на канальном уровне разобьется на два такта ну или опять же будут временные ошибки.
|
|
|
|
|
Aug 8 2017, 07:52
|

В поисках себя...
   
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140

|
Цитата(bogaev_roman @ Aug 8 2017, 10:39)  Мне тоже интересно, откуда такие цифры. Согласно документации https://www.altera.com/content/dam/altera-w...-v/av_51002.pdfGlobal clock and Regional clock 525MHz (1-43) SERDES factor J = 1 to 2, Uses DDR Registers (1-51, (79*) - The maximum ideal data rate is the SERDES factor (J) x the PLL maximum output frequency (fOUT), provided you can close the design timing and the signal integrity simulation is clean) Далее, кстати, на 1-44 fOUT_max=400MHz (This specification is limited by the lower of the two: I/O fMAX or FOUT of the PLL). Но это в случае без DPA, для DPA фактор сериализации начинается от 4. У Вас нет никакой пересинхронизации и т.к. фазовые соотношения между стробом на запись и частотой на чтение могут быть любые, в общем случае схема работать стабильно не будет. Кстати, а что там за временные ошибки timequest рисует, этот переход из одного клокового домена в другой там тоже скорее всего есть. Еще второй момент - канальная синхронизация - Вы пишете в отдельные буфера в общем случае в разные моменты времени, если чтение произойдет посредине между записями, то слово на канальном уровне разобьется на два такта ну или опять же будут временные ошибки. Так у меня CYCLONE V а не ARRIA V А зачем мне делать пересинхронизацию, если я принятые данные отправляю в DC FIFO буфер ? Я принял слово и отдал в FIFO буфер. Сам буфер обеспечит синхронизацию, для этого его и ставил. Я сейчас привожу проект к тому виду, чтобы можно было показать общественности. Думаю, после того как проект выложу (ну и фиг с ним, что сырой), диалог будет более конструктивный. Пока выложу структуру приемника по одной линии. А слаки возникают из-за того, что данные слишком долго идут от выводов DDR регистра до регистра-приёмника. Ну и заодно вопрос про мультициклы. Является ли путь от SHREG до PARALEL_REG мультицикловым или нет.
Сообщение отредактировал Flip-fl0p - Aug 8 2017, 07:56
|
|
|
|
Сообщений в этой теме
Flip-fl0p Приём LVDS с динамической подстройкой фазы Jun 8 2017, 10:33 Flip-fl0p Есть мысли применить динамический сдвиг фазы (DPS)... Jun 8 2017, 12:47 dm.pogrebnoy Посмотрите реализацию Дмитрия Смехова aka dsmv
htt... Jun 8 2017, 19:19 Flip-fl0p Цитата(dm.pogrebnoy @ Jun 8 2017, 22:19) ... Jun 8 2017, 20:24 spectr Посмотрите еще вот здесь, совсем недавно было и ка... Jun 9 2017, 06:01 Flip-fl0p Цитата(spectr @ Jun 9 2017, 09:01) Посмот... Jun 9 2017, 06:17 doom13 Динамический сдвиг фазы клока PLL конечно поможет,... Jun 9 2017, 07:58 Flip-fl0p Цитата(doom13 @ Jun 9 2017, 10:58) Динами... Jun 9 2017, 08:04 doom13 Что-то подобное должно быть, но для Arria либо Str... Jun 9 2017, 08:23 Flip-fl0p Цитата(doom13 @ Jun 9 2017, 11:23) Что-то... Jun 9 2017, 08:31 Flip-fl0p Итак, мысль в голове докрутилась до следующего алг... Jun 13 2017, 13:30 Flip-fl0p Итак, в процессе разработки DPA возник очень важны... Jun 21 2017, 10:24 Александр77 Цитата(Flip-fl0p @ Jun 13 2017, 16:3... Jun 21 2017, 19:29  Flip-fl0p Цитата(Александр77 @ Jun 21 2017, 22:29) ... Jun 21 2017, 20:20   Flip-fl0p Отпишусь о результатах.
Вроде получилось реализова... Jun 26 2017, 12:28 krux не тратьте времени.
нормально (робастно) принять T... Jun 21 2017, 19:40 doom13 Расскажите принцип работы системы, для каждой лини... Jun 26 2017, 14:51 Flip-fl0p Цитата(doom13 @ Jun 26 2017, 17:51) Расск... Jun 26 2017, 15:34  Leka Цитата(Flip-fl0p @ Jun 26 2017, 18:3... Jun 26 2017, 18:35   Flip-fl0p Цитата(Leka @ Jun 26 2017, 21:35) Имхо. В... Jun 27 2017, 11:08 Leka Частоты какие? Jun 26 2017, 15:21 doom13 А какую-нибудь Альтеровскую доку по этой теме нашл... Jun 26 2017, 17:44 Flip-fl0p Цитата(doom13 @ Jun 26 2017, 20:44) А как... Jun 26 2017, 18:01 Leka A,B - сдвинутые по времени выборки, XOR дает биени... Jun 27 2017, 17:31 Flip-fl0p Цитата(Leka @ Jun 27 2017, 20:31) A,B - с... Jun 27 2017, 19:35 Leka Тут просто стандартный метод выделения фронта + уп... Jun 28 2017, 15:03 Flip-fl0p Итак господа. Отпишусь о результатах. DVI приёмник... Jun 29 2017, 19:58 dvladim Цитата(Flip-fl0p @ Jun 26 2017, 18:3... Jul 1 2017, 10:43 Flip-fl0p Итак. Мучения с DVI походят к концу. Сегодня получ... Jul 4 2017, 10:35  Kuzmi4 Цитата(Flip-fl0p @ Jul 4 2017, 13:35... Jul 5 2017, 12:52 Magnum Пользовал и корку lvds_rx и просто на регистре дес... Jul 6 2017, 15:18 Flip-fl0p Цитата(Magnum @ Jul 6 2017, 18:18) Пользо... Jul 6 2017, 18:40  Magnum Цитата(Flip-fl0p @ Jul 7 2017, 01:40... Jul 7 2017, 00:29  Magnum Цитата(Flip-fl0p @ Jul 7 2017, 01:40... Jul 7 2017, 03:21   Александр77 Цитата(Magnum @ Jul 7 2017, 06:21) Можно ... Jul 7 2017, 05:06   Flip-fl0p Цитата(Magnum @ Jul 7 2017, 06:21) Можно ... Jul 7 2017, 05:26    Magnum Цитата(Flip-fl0p @ Jul 7 2017, 12:26... Jul 7 2017, 06:22     Flip-fl0p Цитата(Magnum @ Jul 7 2017, 09:22) Ну, ка... Jul 7 2017, 06:41 Flip-fl0p Сейчас в процессе написания собственного приёмника... Jul 27 2017, 07:59 bogaev_roman Цитата(Flip-fl0p @ Jul 27 2017, 10:5... Jul 27 2017, 08:35  Flip-fl0p Цитата(bogaev_roman @ Jul 27 2017, 12:35)... Jul 27 2017, 08:41   warrior-2001 Цитата(Flip-fl0p @ Jul 27 2017, 11:4... Jul 27 2017, 10:02    Flip-fl0p Цитата(warrior-2001 @ Jul 27 2017, 13... Jul 27 2017, 10:11 Flip-fl0p А как правильно законстрейнить вариант в случае ди... Jul 28 2017, 08:29 Flip-fl0p Всё мучаюсь с констрейнами
В реальности железка... Aug 3 2017, 05:51  Magnum Вы требуете слишком повышенных обязательств от lvd... Aug 4 2017, 10:22   Flip-fl0p Цитата(Magnum @ Aug 4 2017, 13:22) Вы тре... Aug 4 2017, 10:27    bogaev_roman Цитата(Flip-fl0p @ Aug 4 2017, 13:27... Aug 4 2017, 12:56     Flip-fl0p Цитатапочитайте документацию -
А какую именно из ... Aug 4 2017, 13:10      bogaev_roman Цитата(Flip-fl0p @ Aug 4 2017, 16:10... Aug 4 2017, 13:42 Flip-fl0p Цитата(Flip-fl0p @ Jul 27 2017, 10:5... Aug 4 2017, 12:50 Flip-fl0p Цитата(bogaev_roman @ Aug 4 2017, 16:42) ... Aug 4 2017, 14:15    bogaev_roman Цитата(Flip-fl0p @ Aug 8 2017, 10:52... Aug 8 2017, 08:29 Димыч Вопрос топикастеру: сколько сейчас у Вас ресурсов ... Aug 8 2017, 14:39 Flip-fl0p Весь проект, а это приём по DVI видеопотока и выво... Aug 8 2017, 16:41 Димыч Спасибо! Довольно немного.
Дело в том, что соб... Aug 9 2017, 05:23 Corner Цитата(Димыч @ Aug 9 2017, 08:23) Спасибо... Aug 15 2017, 16:15  Flip-fl0p Цитата(Corner @ Aug 15 2017, 19:15) У МАХ... Aug 16 2017, 05:01 doom13 Приветствую.
Смотрю доку на Cyclone 10, правильно ... Feb 12 2018, 11:13 _Anatoliy Цитата(doom13 @ Feb 12 2018, 14:13)
Очен... Feb 12 2018, 11:22 doom13 Т.е. оно круче чем у Xilinx (Kintex-7), там автома... Feb 12 2018, 11:45 _Anatoliy Цитата(_Anatoliy)В Arria V использовали эти блоки?... Feb 12 2018, 12:15  Flip-fl0p Цитата(_Anatoliy @ Feb 12 2018, 15:15) По... Feb 14 2018, 06:18   _Anatoliy Цитата(Flip-fl0p @ Feb 14 2018, 09:1... Feb 14 2018, 09:45    Flip-fl0p Цитата(_Anatoliy @ Feb 14 2018, 12:45) А ... Feb 14 2018, 10:01     _Anatoliy Цитата(Flip-fl0p @ Feb 14 2018, 13:0... Feb 14 2018, 10:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|