«Чем цивилизованнее и могущественнее перед силами природы человеческое общество, тем сильнее в нем развиты системы передачи и обработки информации.»

А. Л. Дмитриев. Оптические системы передачи информации

Пролог

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

Введение

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

Много раз я натыкался на статьи, в которых связь между устройствами на базе аппаратной платформы Arduino осуществлялась при помощи оптического канала связи. Здесь и лазерный диод с фоторезистором без оптоволокна [1]. И более интересные проекты с использованием специализированных трансиверов и ресиверов [2].

Проект на оптических трансиверах и ресиверах вроде HFBR-1415PMZ от Broadcom показался мне очень интересным [3]. Этот оптический трансивер может поддерживать скорость передачи до 160МБод! А если нужно быстрее? На чём строятся линии связи 1Гбит или 10 или 100?

Трансиверы похожего формфактора для указанных скоростей найти не удалось. Однако поиски привели к SFP модулям, которые как раз поддерживают перечисленные скорости.

Сразу возникли вопросы

  • HFBR-1415PMZ трансивер, согласно документации, содержит в себе лишь светодиод, а что внутри SFP трансиверов?

  • Почему у некоторых SFP трансиверов два гнезда, а у других только одно?

  • Что обеспечивает большую скорость передачи данных?

  • Можно ли использовать эти трансиверы для своих поделок, ведь ценник на них не сильно отличается от низкоскоростных трансиверов Broadcom, а технические характеристики значительно шире?

Полагаю, для многих ответы на эти вопросы очевидны, некоторые легко найдут на них ответы изучив литературу, но я всё же решил пойти путём экспериментов. Подробно изучить что же внутри SFP модуля и для закрепления материала разработать проект обмена данными между платами Arduino на SFP модулях.

Что внутри SFP

Для экспериментов были взяты SFP модули Modultech 1.25Гбит, 10км, работающие с длинами волн 850нм (MT-SFP-G-DF-31-10-CD) и 1310нм (MT-SFP-F-DF-31-10-CD). Каждый модуль имеет приёмник и передатчик и два разъёма для подключения оптического волокна. Документация нашлась на сайте производителя [4].

Внешний вид SFP модуля
Внешний вид SFP модуля

Внутри на печатной плате расположено три микросхемки, два оптических модуля и немного пассивных компонентов. Модуль имеет двусторонний краевой разъём, через который осуществляется подключение модуля.

Печатная плата SFP модуля
Печатная плата SFP модуля

TOSA и ROSA

Один из оптических модулей – лазерный излучатель, помещённый в специальный пластиковый корпус – направляющую для оптического волокна. Второй модуль – фотоприёмник (скорее всего PIN) с точно таким же пластиковым корпусом. В крайне полезной статье можно прочитать какие типы лазерных передатчиков и приёмников используются в таких модулях [5].

В не менее полезной серии статей удалось выяснить, что передатчики и приёмники называются TOSA (Transmitter Optical Sub-Assemblies) и ROSA (Receiver Optical Sub-Assemblies) а есть ещё и BOSA (Bidirectional Optical Sub-Assemblies) [6].

BOSA используется как раз в тех SFP модулях, где есть только одно гнездо для оптоволокна. В них данные передаются светом одной длины волны, а принимаются другой.

Установить модели TOSA и ROSA конкретно в данных SFP модулях не удалось ввиду отсутствия видимых следов маркировки, но после долгих поисков были найдены производители и поставщики схожих (по количеству выводов и типу колпачков) сборок. Среди них оказались Lasemate Group, Eoptolink, Optoway, Jezetek [7][8][9][10].

Внешний вид и распиновка ROSA eoptolink LC-ROSA2x91xxx
Внешний вид и распиновка ROSA eoptolink LC-ROSA2x91xxx

Видно, что сборки устроены внутри не просто, они содержат усилитель, некоторые модели снабжены выводом RSSI (received signal strength indicator). Конкретно в MT-SFP-G-DF-31-10-CD стоят ROSA типа E с выводом RSSI, который подключается к соответствующей ножке ASIC.

Микросхемы

На нижней стороне расположена EEPROM с интерфейсом I2C BL24C08F [11]. В ней хранится конфигурация для другой микросхемы, которую можно прочитать и записать по тому же I2C интерфейсу, который, к слову, выведен в краевой разъём SFP модуля. I2C интерфейс даёт доступ к системе цифровой диагностики модуля (DDTC).

На верхней стороне расположена микросхема i7525BN, которая представляет собой лазерный драйвер и усилитель для PIN фотодиода. Производит эту микросхему фирма TMtech и на сайте производителя на неё нашлась крайне скудная документация [12].

В документации на модуль SFP сказано, что модуль поддерживает средства цифровой диагностики (DDM) согласно стандарту SFP MSA. В документе SFF-8472 подробно изложены формат обмена данными и карты регистров, куда можно записывать конфигурацию и считывать диагностическую информацию [13].

Натыкался на множество проектов подключения Arduino к этому интерфейсу (вот один из них) с целью создания измерителей мощности излучения [14].

Это конечно здорово, но нас интересует как передавать данные по оптоволокну через SFP модуль используя Arduino. И таких проектов найти не удалось.

Интерфейс модуля SFP

В спецификации INF-8074i SFP (Small Formfactor Pluggable) Transceiver можно найти исчерпывающую информацию обо всех стандартизированных решениях в SFP трансиверах [15].

На странице 20 имеется описание разъёма, предназначенного для подключения SFP модулей любых типов.

Распиновка разъёма для подключения SFP модуля (Diagram of Host Board Connector Block Pin Numbers and Names)
Распиновка разъёма для подключения SFP модуля (Diagram of Host Board Connector Block Pin Numbers and Names)

Из важного:

  • Модуль питается от напряжения 3.3В. Указано, что максимальный ток потребления может составлять до 300мА. Сказано про необходимость фильтрации питающего напряжения, приведена подробная схема фильтра. Плюс питания VccR (питание приёмника) и VccT (питание передатчика). Минус питания VeeR и VeeT. Конкретно в данной модели SFP модуля все земли уже объединены на плате и все линии питания тоже.

  • Вывод 3 – очень важен. TX Disable подтянут внутри модуля к плюсу питания через сопротивление 4.7-10кОм и для того чтобы передатчик заработал, нужно этот вывод прижать к земле.

  • TD+ и TD- - дифференциальная линия входа передатчика, сюда подаётся то, что нужно передать по оптоволокну. На плате уже установлена гальвано развязка через конденсаторы и терминатор 100 Ом. Данный вход допускает колебания дифференциального напряжения 500 – 2400мВ. Для достижения наилучших характеристик по электромагнитной совместимости рекомендуют оставаться в диапазоне 500 – 1200мВ.

  • RD+ и RD- - дифференциальная линия выхода приёмника, отсюда выходит то, что передали по оптоволокну. Здесь есть только гальвано развязка, терминатор нужно установить на стороне приёмника (100 Ом). Дифференциальное напряжения может колебаться от 370 до 2000мВ.

На странице 23 (рисунок 2B) приведена схема подключения SFP модуля

Схема подключения SFP модуля (Example SFP Host Board Schematic)
Схема подключения SFP модуля (Example SFP Host Board Schematic)

В целом всё понятно. На TD гоним данные, с RD принимаем данные, всё просто! Подключаем!

SFP модуль первое подключение

Первым делом нужно где-то раздобыть дифференциальный сигнал. Arduino не имеет дифференциальных интерфейсов. Нужен преобразователь CMOS/TTL – дифференциальный сигнал. Вспомнился LDVS, но у него не дотягивается дифференциальное напряжение, а вот M-LDVS хоть и медленнее чутка, но зато напряжение уже 480 - 650мВ [16].

Довольно быстро нашлась микросхема MS2111 фирмы Ruimeng. Которая является приёмником и передатчиком линии M-LDVS и может обеспечивает скорость до 200Мбит/с [17].

Поскольку модуль SFP имеет краевой разъём я долго пытался найти ответную часть SFP, которая устанавливается в хосте. Удалось найти только на Aliexpress [18].

Две микросхемы MS2111 обслуживают один SFP модуль, одна работает в режиме передатчика, вторая - в режиме приёмника. В ходе первой серии экспериментов электрический вход подключен к генератору (RIGOL DG4202), выход - к осциллографу (RIGOL MSO5354). Оптический передатчик подключен к оптическому приёмнику. Для подключения был использован патч-корд с разъёмом LC/UPC длинной 1 метр, тип оптического волокна 9/125мкм.

Внешний вид сборки для первой серии экспериментов
Внешний вид сборки для первой серии экспериментов

С генератора подавался меандр с различной частотой, амплитуда 3.3В. На осциллограммах представлены сигналы с генератора (жёлтый график) и с выхода приёмника после микросхемы MS2111 (синий график). В активном режиме модуль потребляет около 170мА при питании от источника напряжения 3.3В.

2МГц
2МГц
100кГц
100кГц
1кГц
1кГц

Как можно увидеть, наш подопытный не так прост. Нельзя просто взять и гнать в него логические уровни. Так не работает. Этот вывод может показаться очевидным, ведь по входу и по выходу электрической линии связи на печатной плате стоят мелкие разделяющие конденсаторы.

SFP второе включение: пробуем модуляцию

И так, при передаче низкочастотного меандра получается какая-то шляпа. Но при передаче высокочастотного сигнала (более 2МГц) вроде всё в порядке. Где-то я слышал что согласно стандарту IEEE 802.3 при передаче по линии связи данные кодируются манчестерским кодом [19].

Такой формат должен подойти для этих трансиверов. Ведь сигнал в манчестерском коде не пребывает постоянно в одном состоянии даже если передаётся последовательность одинаковых бит.

Но тут проблема: для большинства платформ Arduino формировать манчестерский код с частотой 2МГц – невыполнимая задача. А ведь его ещё нужно как-то потом расшифровывать…

Было принято решение отказаться от манчестера и использовать частотную манипуляцию. Первая частота 2МГц, вторая частота 0Гц. Промодулировать UART таким способ очень просто, нужен только один логический вентиль «2И». Декодируем при помощи пассивного ФНЧ (RC), а дальше компаратор, чтобы до логического уровня дотянуть. Несущую будет генерировать таймер микроконтроллера, но можно было бы взять и кварцевый генератор.

Для экспериментов выбрана Arduino Leonardo на базе микроконтроллера ATmega32U4. Выбор пал именно на эту платформу, так как она имеет аппаратный интерфейс UART, который не используется для коммуникации с ПК.

В предыдущем эксперименте установлено, что SFP трансивер потребляет до 170мА при напряжении питания 3.3В. В сборку включен понижающий импульсный преобразовать на микросхеме MP2307ВN.

TX подключается к одному из входов микросхемы 74HC08N. Эта микросхема содержит в себе 4 логических элемента «2И». На второй вход подаётся меандр с частотой 2МГц с вывода PB5 (OC1A). Выход микросхемы подключается к передатчику MS2111 и дальше по дифферециальной паре отправляется на SFP трансивер.

Дифференциальный выход SFP трансивера подключается к приёмнику MS2111. Выход приёмника подключен к ФНЧ и компаратору LM393. Открытый коллектор компаратора подтянут к 3.3В через 1кОм и подключен к RX. Кольцо замкнулось.

Исходный код в Arduino IDE
String recive;
String transmit;

void TimerSetup () {
  // OC1A - output
  DDRB |= (1<<PB5);
  	// FastPWM 14, TOP = ICR1,  prescaller 1, F_PWM = 2MHz
	TCCR1A = (1<<COM1A1)|(0<<COM1A0)|(0<<COM1B1)|(0<<COM1B0)|(1<<WGM11)|(0<<WGM10);
	TCCR1B = (1<<WGM13)|(1<<WGM12)|(0<<CS12)|(0<<CS11)|(1<<CS10);
	ICR1 = 7;
	OCR1A = 3;

	TIMSK1 = (0<<ICIE1)|(0<<OCIE1B)|(0<<OCIE1A)|(0<<TOIE1);
}

void setup() {
  Serial.begin(9600);
  Serial.setTimeout(200);
  Serial1.begin(9600);
  Serial1.setTimeout(200);
  TimerSetup();
}

void loop() {
  // ловим сообщение от ПК
  if(Serial.available() > 0) {
    // читаем что получили и в точности отправляем в трансивер
    transmit = Serial.readString();
    Serial1.print(transmit);

    // эхо
    Serial.print("T: ");
    Serial.print(transmit);
    Serial.println(" ");
  }
  
  // ловим сообщение от трансивера
  if(Serial1.available() > 0) {
    // читаем что получили и отправляем на ПК
    recive = Serial1.readString();

    Serial.print("R: ");
    Serial.println(recive);
    Serial.println(" ");
  }
}

Микроконтроллер принимает сообщение от ПК и транслирует их напрямую в UART. Посылка принятая по UART отправляется на ПК. В эксперименте скорость обмена данными по UART составляет 9600 бод.

Осциллограмма на TX и RX.

Жёлтый - TX, Розовый - RX
Жёлтый - TX, Розовый - RX

Работает отлично!

Заключение

Цель достигнута. При помощи Arduino Leonardo данные передаются через SFP трансивер MT-SFP-F-DF-31-10-CD.

В результате удалось реализовать ещё один способ связи между двумя платформами Arduino по оптоволокну, отличающийся сомнительной полезностью... А также узнать побольше об устройстве оптоволоконных SFP трансиверах.

Перечень использованных источников

  1. Лазерная связь между двумя Arduino кодом Морзе

  2. Arduino Optical Fiber Communication – Easy Guide

  3. Документация на модуль HFBR-1415PMZ

  4. Документация на SPF модули Modultech

  5. Основные параметры и сертификация оптических SFP модулей

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

  7. Официальный сайт Lasermate Group

  8. Официальный сайт Eoptolink

  9. Официальный сайт Optoway

  10. Официальный сайт Sichuan Jiuzhou Optical Electronics

  11. Документация на микросхему BL24C08F

  12. Документация на микросхему i7525BN

  13. Документ SFF-8472

  14. Подключение Arduino к DDM SFP модуля

  15. INF-8074i SFP (Small Formfactor Pluggable) Transceiver

  16. Руководство по реализации схем с интерфейсами LVDS и M-LVDS

  17. Документация на микросхему MS2111

  18. Ссылка на продавца сокета SFP модуля

  19. IEEE Standard for Ethernet IEEE Std 802.3™-2015

Комментарии (30)


  1. NutsUnderline
    03.05.2024 17:21
    +2

    Дивно! Познавательно.. Возможно стоило бы использовать rpi2040 - у нее генератор дифсигнала тянет hdmi то есть 5 гигабит. Не какие то там 9600


    1. jonic
      03.05.2024 17:21
      +4

      5 гигабит? Это rpi2040 тянет 5ггц частоту? Реально? Чет сомневаюсь


    1. Yuri0128
      03.05.2024 17:21
      +1

      Если я правильно вас понял, - ведь там стоит rp2040? Если да, - то о каком генераторе дифсигнала идет речь? В rp2040 его нет. Если о встроенной PIO машине, - то я получал макимум 62.5 (можно и 66,5) МГц, запрограммировав на ней SPI 24-битный. Раскажите, как вы получили на нем 5Гбит при том, что PLL дает нормально работать только до 133 МГц?


      1. NutsUnderline
        03.05.2024 17:21

        а кто сказал что я лично это получал :) насчет 5ГГц только погорячился (по старой fullhd памяти ) - заявлено и описано что rpi2040 умеет генерировать DVI/HDMI разрешение VGA в 60Hz (252 Mbps) и еще хватает мощей на всякие спрайты. но тема обмусоливаеться аж с 2021 года https://github.com/Wren6991/PicoDVI автор детально описывает там довольно кучеряво сделано

        на гигагерцы тогда - fpga, надо думать.


        1. Yuri0128
          03.05.2024 17:21

          А внимательно почитать саму тему тяжело было? На которую ссылаетесь.

          Уточняю: там реализован режим только 640x480p 60 Hz DVI mode при разгоне rp2040 в 252 МГц вместо штатных 125МГц. Не все они гонятся.

          Прежде чем писать, - поизучайте, на что ссылаетесь. Меньше будет огорчений. Или сами попробуйте вначале.


          1. NutsUnderline
            03.05.2024 17:21

            Да, я прочитал, осознал, признал свою ошибку, и вообщем то, зацитировал это самое 252. Каюсь, посыпаю голову пеплом, что я могу еще сделать чтобы Вас порадовать :) В разрезе fullhd это конечно не поможет, но вот для этой оптической связи все равно хороший шаг вперед может быть.


            1. Yuri0128
              03.05.2024 17:21

              Попробовать это сделать самому. Поделиться тут опытом. Это реально будет итересно.

              ПС - я там выше/ниже привел пример Манчестера на 10 Мбод на том-же rp2040


    1. MechanikArtem Автор
      03.05.2024 17:21
      +1

      Я рассматривал rpi2040 для своих экспериментов. Никогда не работал с этими контроллерами, а тут была бы возможность разобраться с её PIO. Но руки так и не дошли. В другой раз...


      1. NutsUnderline
        03.05.2024 17:21
        +1

        Еще аппаратный манчестер есть в контроллерах с интерфейсом dali например, AT90PWM, но скорости там все равно не те.


        1. MechanikArtem Автор
          03.05.2024 17:21
          +1

          Спасибо за наводку, буду знать в какую сторону смотреть в следующий раз


        1. Yuri0128
          03.05.2024 17:21
          +2

          На том-же rp2040реализован Манчестер с битрейтом 10 Мбод: https://github.com/raspberrypi/pico-examples/tree/master/pio/manchester_encoding


          1. MechanikArtem Автор
            03.05.2024 17:21

            Спасибо за материал, изучу на досуге


          1. Sun-ami
            03.05.2024 17:21
            +1

            Кодирование можно и программно на SPI реализовать - сложнее с декодированием.


      1. Yuri0128
        03.05.2024 17:21
        +1

        Неплохой вариант эти PIO машины. Я на них много чего пореализовывал. пробуйте.


  1. VBKesha
    03.05.2024 17:21
    +2

    Время от времени было желание поковырять это SFP. И почемуто меня мучает воспоминание, что там в EEPROM записано какие кодировки чип подерживает 8b10b и подобные.хотя сейчас найти это не могу.
    И в итоге вопрос так получается через эти модули вполне можно передавать любой досаточно "быстро меняющийся" сигнал, и не обязательно придерживаться этих 8b/10b 64b/66b и подобные?


    1. MechanikArtem Автор
      03.05.2024 17:21

      Собственно это я и сделал, передавал частотно модулированный сигнал


  1. Flammmable
    03.05.2024 17:21
    +3

    Так ли уж нужно было паять провода прямо к модулю? Ведь вполне доступны разъёмы SFP на плату. Например KLS1-SFP-01.


    1. MechanikArtem Автор
      03.05.2024 17:21
      +1

      Спасибо за ссылку на слот для установки sfp! Я нашёл только сам краевой разъём без слота (ссылку оставил в статье). Поскольку плату я вообще не делал, а данный модуль дальше пошёл в разбор, то и закупаться разъёмами для меня не было никакого смысла.


  1. Kononvaler
    03.05.2024 17:21
    +1

    Действительно, сомнительно к применению, но прочитал с удовольствием. Спасибо большое.


  1. imEngineer
    03.05.2024 17:21
    +1

    Я такое делал, тоже на sfp. Но весь высокочастотный обмен возложил на SerDes микросхемы. На выхлопе по 10 каналов с приемной стороны и 10 каналов с принимающей, получился такой удлинитель gpio через оптику. Но эти 10 бит передаются "как есть", т.е. могут передаваться как 10 нулей подряд так и 10 единиц и их чередование, что не похоже на меандр или манчестерский код, который нормально прожует sfp. Т.к. каналов мне нужно было всего 3 по сути в оконечных приборах, то я поставил инверторы на каждый вод и имел прямой и инверсный сигналы, которые подавал на воды, в итоге получил из 10 бит 5 бит, но при этом любая комбинация бит давала чередование нуля и единицы на 10 битной шине... хотя даже не так, при передаче к примеру 0b00000 на 10 битной шине будет 0b0101010101, при передаче 0b11111 будет 0b1010101010, 0b10000 -> 0b1001010101, мысль думаю поняли... любая комбинация даст изменение частоты на sfp только в 2 раза, что ему норм... таким образом убирается так называемая постоянная составляющая, которая может сжечь лазер, от чего и защищается sfp.


    1. MechanikArtem Автор
      03.05.2024 17:21

      Интересное решение. Какие микросхемы использовали?


      1. imEngineer
        03.05.2024 17:21
        +1

        MS1224 и MS1023 соответсвенно. До этого использовал SN65LV1023 и его "пару", но санкции, и пришлось заменить на китайца, но при этом китаец полностью работает и с оригиналом в связи...
        По сути получается GPIO, которые обновляются на частоте 66мгц. Я гонял на 5 каналах 2 мбода по юарту одновременно, но по итогу 4 канала ограничил на 500кбодах, т.к. больше мне не надо было, но 1 канал работает на 2 мегабитах для связи между контроллерами. Но есть заморочки по управлению этими микросхемами, с МК нужно следить что линк поднялся и присутствует и перезагружать (отправлять синхроимпульс) линк если его нет, но там не так много проблем.


  1. Gudd-Head
    03.05.2024 17:21

    Этот вывод может показаться очевидным, ведь по входу и по выходу электрической линии связи на печатной плате стоят мелкие разделяющие конденсаторы.

    Говорят, дело не в конденсаторах (их номинал можно попробовать увеличить), а в АРУ приёмника, которая начинает сходить с ума при долгом (относительно гигабитной пропускной способности) отсутствии сигнала.

    использовать частотную манипуляцию. Первая частота 2МГц, вторая частота 0Гц.

    Это больше похоже на АМ: есть несущая /нет несущей.

    скорость обмена данными по UART составляет 9600 бод. Осциллограмма на TX и RX.

    Не показано самое интересное - как при шуме с меандром на 100 кГц получилось передать "0" на 9600 бод. Хотелось бы увидеть осциллограммы непосредственно на выходе модуля.


    1. MechanikArtem Автор
      03.05.2024 17:21

      С конденсаторами не пробовал ничего делать, даже номинал не мерил, хотя для полноты эксперимента возможно надр было бы...

      Скорее всего вы правы, дело в АРУ внутри микросхемы. Я пробовал измерять напряжение RSSI непосредственно на выводе ROSA. Но там оно довольно медленно меняется, там полоса пропускания в районе 1-2кГц получается. Но подробно я этот вопрос не рассматривал, поэтому в публикацию не включил.

      На счёт типа модуляции спорить не буду... Отмечу, что было бы эффективнее скакать между 2МГц и 2,1МГц (например), тогда удалось бы удалось вообще от этих шумоы избавиться и скорость передачи поднять.

      На выходе трансивера действительно небольшая каша. ФНЧ несколько сглаживает ситуацию... Там с этими шумами всё интересно. Если начать аккуратно вытаскивать разъём со стороны лазера (на 1-2мм), то эти шумы становятся значительно меньше. Полагаю при длине кабеля в несколько километров будет такой же эффект наблюдаться из за затухания сигнала. Причём, если таким же образом извлекать кабель со стороны приёмника, такого эффекта не наблюдается, в какой то момент сигнал просто пропадает.

      Откопаю осциллограммы, покажу вам.


  1. Qweritos
    03.05.2024 17:21
    +1

    Большое спасибо за проделанные исследования, на досуге обязательно попробую повторить!

    А вы не пробовали 1x9 трансиверы?

    Они по большей части все в качестве интерфейса используют PECL/LVPECL (для скоростей 1.25G), но бывает и TTL.

    Я пробовал последний (взял на али), но что-то с наскоку не завелось (пока не углублялся в чем дело).


    1. MechanikArtem Автор
      03.05.2024 17:21

      Я остановился именно на sfp трансиверах, так как некоторые модели предназначены для скоростей 10Гбит. Меня в основном интересовали фоьоприёмники, которые в них используются. Начал с изучение с бюджетных моделей 1.25Гбит, которое и привело меня к ROSA модулям, рассчитаным на высокочастотные оптические сигналы.

      Для разбора может прикуплю себе пару штучек. Но что-то мне подсказывает, что оптический приёмник и передатчик там будет схожий с sfp модулями.


  1. eri
    03.05.2024 17:21
    +1

    Почему бы просто не навесить эзернет чип?


    1. MechanikArtem Автор
      03.05.2024 17:21

      В серьёзном проекте так бы и следовало поступить. Здесь цель была исследовать модуль трансивера.


  1. sdy
    03.05.2024 17:21
    +1

    Тема интересная, в некоторых модулях со встроенным OTDR с помощью доп схем формируется короткий импульс для определения расстояния до места повреждения волокна. Причем длительность импульса меняется в зависимости от исследуемого расстояния. Если 100мкс для SFP не такая проблема, то SFP+ не держат полку как в вашем случае и было.

    Кстати, странно что в ваших экспериментах уже на 10мкс сигнал валился. Возможно модель модуля имеет особенности. В моем случае 100мкс сигнал использовался для кабелей порядка 50км, при меньшей длительности затухание уже было слишком большим и выделить было очень сложно

    Статья огонь, успехов только в исследованиях дальнейших


    1. MechanikArtem Автор
      03.05.2024 17:21

      Другие модули не разбирал, поэтому трудно сказать особенность ли это конкретной модели и вообще модулей такого типа.

      Спасибо :)