|
|
  |
Burst-mode receiver на GTX Virtex 6 для PON сетей, Исследую принципиальную возможность реализации |
|
|
|
Feb 3 2012, 10:29
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Привет всем. Интересно здесь кто-нибудь заморачивался с GPON сетями? Ну или кто хорошо разобрался с xilinxовскими GTX трансиеверами может подскажет. В общем я сейчас исследую возможность реализации такого ресивера только средствами ПЛИС. Смысл вот в чем. GPON - это такая оптическая "1-ко-многим" сеть обычно используемая для интернета. http://ru.wikipedia.org/wiki/PONДаунстрим потоки там 2,488Гбит и апстрим 1.244Гбит. Смысл там в том, есть один основной оптический приемопередатчик (OLT) и 32-64 абонента. Сигнал от передатчика разветвляется пассивными сплиттерами. Оптоволокно двунаправленное с волновыим разделением 1490/1330нм. Прикол в том, что даунстрим там вещается непрерывно ко всем абонентам, а апстрим - разделен TDM, то есть каждый абонент вещает только в своей определенный слот времени. Таким образом на основной приемопередатчик обратно свет приходит пакетами. Это и навзывается burst transfer. Мы используем только физический уровень PON для своих применений - никакого интернета. Но принцип TDM для апстрима остается. Скорость апстрима и даунстрима у нас 640мБит. Собственно вопросы по приему апстрим burst пакетов. Перед каждым следующим пакетом ПЛИС сбрасывает оптоприемник, для того, чтобы он нормально адаптировался к уровню сигнала следующего пакета (а он может быть другим из-за разных длин линий) Для распознавания и выравнивания пакетов мы используем 120-битную преамбулу из чередующихся 1 и 0 и затем стартовый идентификатор из 0x335. В качестве железа используется внешний SERDES TLK1211, из которого альтеровская ПЛИС считывает побайтно невыравненные биты. Длинная преамбула позволяет TLK1211 нормально засинхронизироваться на поток. Далее идет поиск стартового идентификатора, выравнивание и декодирование 8B10B. Все в альтере сделано в VHDL. Еще прикол в том, что поиск стартового идентификатора разрешается только в том случае если оптический приемопередатчик установил сигнал наличия burst пакета. Это, вроде сделано для того, чтобы при отсутвии света ошибочно не распознать стартовый идентификатор из шума. Собственно я сейчас разбираюсь, можно ли все это сделать используя GTX в Virtex-6 без внешнего SERDES. Проблема в том, что я хочу использовать оптические приемо-передатчики без сигнала определения burst пакета. Типа такого: http://www.optoway.com.tw/html/products/pd...L-94B73B-WG.pdfНо тогда у меня непонятка, как тогда отличить правильный стартовый идентификатор от шума? Путем проверки, что перед ним идет минимум 12 чередующихся 0 и 1? Это вообще возможно? Какова тогда вероятность ложного обнаружения? Спасибо за прояснения, если будут.
|
|
|
|
|
Feb 7 2012, 01:39
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(syoma @ Feb 3 2012, 19:29)  .... Но тогда у меня непонятка, как тогда отличить правильный стартовый идентификатор от шума? Путем проверки, что перед ним идет минимум 12 чередующихся 0 и 1? Это вообще возможно? Какова тогда вероятность ложного обнаружения? Спасибо за прояснения, если будут. 1)тут большой вопрос какое время понадобится rxpll приёмника чтобы залочится ко входному сигналу. думаю что последовательность в виде 120 0 и 1 будет коротковата. нужно почитать ug366.pdf и нужен эксперимент. 2) чтобы не было ложных срабатываний я бы использовал 8b10b encoding, в начале пакета синхро слово(несколько) k28.1, перед данными и в конце пакета к28.5 и т.д. вообщем мне кажется возможно это реализовать, проблема будет с п.1.
--------------------
Cogito ergo sum
|
|
|
|
|
Feb 9 2012, 14:56
|
Группа: Участник
Сообщений: 11
Регистрация: 9-02-12
Пользователь №: 70 184

|
Я так и понял, что вопрос выливается в то, что сможет ли Xilinxовский CDR засинхронизироваться в приемлемое время на входной сигнал. К сожалению все UG366 прошерстил - не нашел характеристик CDR. Может они в другом документе даны? С ложными срабатываниями я разобрался - SFP приемник все-таки выдает нормальный строб наличия сигнала и по нему можно начинать принимать данные. Может кто ткнуть ссылкой на зарактеристики CDR в GTX?
Греет то, что в Virtex®-6 LXT Family Serial I/O Protocol Support конкретно сказано, что GPON поддерживается - а там используется точно такой принцип приема.
Просмотрел также Virtex-6 FPGA Data Sheet: DC and Switching Characteristics - там есть про GTX, но тоже нет ничего про CDR. GTX в Xilinx использует "phase rotator CDR architecture". Теоретически это должно ж быть достаточно быстро, хотя теорию я до конца не понял.
|
|
|
|
|
Feb 10 2012, 02:10
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(syoma75 @ Feb 9 2012, 23:56)  Я так и понял, что вопрос выливается в то, что сможет ли Xilinxовский CDR засинхронизироваться в приемлемое время на входной сигнал. К сожалению все UG366 прошерстил - не нашел характеристик CDR. Может они в другом документе даны? С ложными срабатываниями я разобрался - SFP приемник все-таки выдает нормальный строб наличия сигнала и по нему можно начинать принимать данные. Может кто ткнуть ссылкой на зарактеристики CDR в GTX?
Греет то, что в Virtex®-6 LXT Family Serial I/O Protocol Support конкретно сказано, что GPON поддерживается - а там используется точно такой принцип приема.
Просмотрел также Virtex-6 FPGA Data Sheet: DC and Switching Characteristics - там есть про GTX, но тоже нет ничего про CDR. GTX в Xilinx использует "phase rotator CDR architecture". Теоретически это должно ж быть достаточно быстро, хотя теорию я до конца не понял. в той таблице line rate для поддерживаемого GPON 1.244. так и надо? нашёл вот что(virtex6-cxt??? почему то нет дашита для lxt  ) тоесть если предположить что GTX в семействах LXT и CXT одинаковые то: TPHASE - Clock recovery phase acquisition time Lock to data after PLL has locked to the reference clock – – 200 μs пдф http://www.xilinx.com/support/documentatio...heets/ds153.pdfтам же RXPPMTOL - Data/REFCLK PPM offset tolerance CDR 2nd-order loop disabled –200 – 200 ppm CDR 2nd-order loop enabled –2000 – 2000 ppm
--------------------
Cogito ergo sum
|
|
|
|
|
Feb 10 2012, 08:26
|
Группа: Участник
Сообщений: 11
Регистрация: 9-02-12
Пользователь №: 70 184

|
По всем остальным Виртексам-6 http://www.xilinx.com/support/documentatio...heets/ds152.pdfЧего-то 200µs - это слишком много. А это точно та характеристика? У меня смутные подозрения, что она что-то другое подразумевает.
|
|
|
|
|
Feb 14 2012, 13:40
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(syoma75 @ Feb 10 2012, 17:26)  По всем остальным Виртексам-6 http://www.xilinx.com/support/documentatio...heets/ds152.pdfЧего-то 200µs - это слишком много. А это точно та характеристика? У меня смутные подозрения, что она что-то другое подразумевает. х.з. та или нета. думаю лучше у хилых спрашивать напрямую.
--------------------
Cogito ergo sum
|
|
|
|
|
Feb 14 2012, 19:55
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(syoma @ Feb 3 2012, 13:29)  Привет всем. Интересно здесь кто-нибудь заморачивался с GPON сетями? Ну или кто хорошо разобрался с xilinxовскими GTX трансиеверами может подскажет. В общем я сейчас исследую возможность реализации такого ресивера только средствами ПЛИС. Смысл вот в чем. GPON - это такая оптическая "1-ко-многим" сеть обычно используемая для интернета. http://ru.wikipedia.org/wiki/PONДаунстрим потоки там 2,488Гбит и апстрим 1.244Гбит. Смысл там в том, есть один основной оптический приемопередатчик (OLT) и 32-64 абонента. Сигнал от передатчика разветвляется пассивными сплиттерами. Оптоволокно двунаправленное с волновыим разделением 1490/1330нм. Прикол в том, что даунстрим там вещается непрерывно ко всем абонентам, а апстрим - разделен TDM, то есть каждый абонент вещает только в своей определенный слот времени. Таким образом на основной приемопередатчик обратно свет приходит пакетами. Это и навзывается burst transfer. Мы используем только физический уровень PON для своих применений - никакого интернета. Но принцип TDM для апстрима остается. Скорость апстрима и даунстрима у нас 640мБит. Собственно вопросы по приему апстрим burst пакетов. Перед каждым следующим пакетом ПЛИС сбрасывает оптоприемник, для того, чтобы он нормально адаптировался к уровню сигнала следующего пакета (а он может быть другим из-за разных длин линий) Для распознавания и выравнивания пакетов мы используем 120-битную преамбулу из чередующихся 1 и 0 и затем стартовый идентификатор из 0x335. В качестве железа используется внешний SERDES TLK1211, из которого альтеровская ПЛИС считывает побайтно невыравненные биты. Длинная преамбула позволяет TLK1211 нормально засинхронизироваться на поток. Далее идет поиск стартового идентификатора, выравнивание и декодирование 8B10B. Все в альтере сделано в VHDL. Еще прикол в том, что поиск стартового идентификатора разрешается только в том случае если оптический приемопередатчик установил сигнал наличия burst пакета. Это, вроде сделано для того, чтобы при отсутвии света ошибочно не распознать стартовый идентификатор из шума. Собственно я сейчас разбираюсь, можно ли все это сделать используя GTX в Virtex-6 без внешнего SERDES. Проблема в том, что я хочу использовать оптические приемо-передатчики без сигнала определения burst пакета. Типа такого: http://www.optoway.com.tw/html/products/pd...L-94B73B-WG.pdfНо тогда у меня непонятка, как тогда отличить правильный стартовый идентификатор от шума? Путем проверки, что перед ним идет минимум 12 чередующихся 0 и 1? Это вообще возможно? Какова тогда вероятность ложного обнаружения? Спасибо за прояснения, если будут. Смею предположить, что Вы собрались OLT делать. Если ONT/ONU/RG - то вылетите в трубу в моменте, используя FPGA. А раз OLT - то денег у Вашей фирмы должно быть не меряно... Если меряно - то тем более делать в этой облати нечего. Поэтому, самый простой совет - если хотите делать именно на FPGA и позволяют средства обращайтесь напрямую в Xilinx за поддержкой. А тут никто Вам _реально_ не поможет. Это достаточно денежная тема.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Feb 15 2012, 08:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(Victor® @ Feb 14 2012, 21:55)  Смею предположить, что Вы собрались OLT делать. Да OLT, но как я писал выше - от PON мы используем только среду передачи, но не протокол. Цитата Если ONT/ONU/RG - то вылетите в трубу в моменте, используя FPGA. Почему? ONT у нас уже реализован на внешнем SERDES + ПЛИС. Все отлично работает. Цитата А раз OLT - то денег у Вашей фирмы должно быть не меряно...Если меряно - то тем более делать в этой облати нечего. Ну деньги есть. Но я пока не вижу дороговизны OLT. PON уже нам сэкономила кучу денег по сравнению с сотнями peer-to-peer оптических соединений. Цитата Поэтому, самый простой совет - если хотите делать именно на FPGA и позволяют средства обращайтесь напрямую в Xilinx за поддержкой. А тут никто Вам _реально_ не поможет. Это достаточно денежная тема. Жалко.
|
|
|
|
|
Nov 12 2014, 14:12
|
Участник

Группа: Участник
Сообщений: 42
Регистрация: 23-07-14
Пользователь №: 82 337

|
syoma, удалось ли вам решить свою задачу?
|
|
|
|
|
Mar 20 2015, 12:44
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 16-11-10
Пользователь №: 60 920

|
Цитата(syoma @ Mar 19 2015, 18:31)  Встроенный CDR не сработал - слишком медленный. Но задачу решили в лоб - простым оверсамплингом. Запустили приемник на 5,12Гбит - 8-кратное превышение рабочей скорости - и уже в параллельном коде вылавливаем переходы и переводим в биты. Все работает, и скорость захвата практически мгновенная! Если у Вас есть ссылки на аппноты или другие источники поделитесь если не сложно...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|