|
|
  |
Ищу конвертор из MDIO в I2C, для подключения SFP |
|
|
|
Feb 14 2011, 16:05
|

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

|
Цитата(vitan @ Feb 14 2011, 18:23)  Искал повсюду, не нашел ничего подобного.
Нужно подключать к MAC модули SFP. Проблема в том, что у MAC интерфейс MDIO, а у SFP - I2C. Конвертор можно сделать, по-идее, где-нибудь в ПЛИС или на микроконтроллере, но не хочется тратить время, хочется взять готовое.
Есть ли такое? Это как вы сразу к MAC собрались SFP подключать-то? SFP согласно спецификации это SERDES (который является 1000BASE-X) и который никак MAC интерфейсом не является. Т.е. для подключения MAC к SFP между ними нужен PHY, который сделает из GMII/RGMII/SGMII на выходе 1000BASE-X (88E1111, например) Смутно догадываюсь, что Ваш SFP - "несовсем стандартный". Скорее всего 10\100\1000BASE-T c SGMII, и MAC c SGMII.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Feb 15 2011, 07:35
|

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

|
Цитата(vitan @ Feb 14 2011, 20:24)  Так точно.  Очень хочется сэкономить время на разработку путем применения этих SFP и не рисовать кучу PHY и не разводить под них плату. Только, как всегда, есть ложка дегтя. Что-то чувствую, не найти. Экономия времени, таким образом, может вылиться в написание и отладку своего конвертора на ПЛИС.  А вот зачем MDIO используется? Правильно - для автонегоциации (скорость, дуплекс) Но у SGMII есть автонегоциация уже "внутри". Поэтому, если я не ошибаюсь MDIO на SGMII не нужно. Еще... а что по I2C вы хотите увидеть в модуле? Посмотрите, что там лежит. Станет понятно - нужно это именно MAC-у - или нет. Обычно там лежит имя производителя, тип модуля, можность передатчика, температура... емнип и ничего такого, что надо MAC-у.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Feb 15 2011, 08:10
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Я хочу нарисовать схему и развести плату. Это надо сделать так, чтобы потом не переделывать. MDIO используется в общем случае не только для переговоров, но и для чтения\записи любых регистров, которые есть внутри PHY. В случае SFP-модуля c SGMII внутри него есть не только PHY, но и EEPROM. Я пока не смотрел детально, но думаю, что EPROM имеет адрес 0, а PHY - адрес 1 на шине I2C. По стандарту SFP в EPROM может содержаться много всего. Кроме того, как мне стало известно, большинство таких SFP делается на марвеле 1111, а сколько там регистров я хорошо представляю.  Т.о. нужно как-то управлять SFP. В моем случае управление имеется на том же чипе, что и MAC, и оно сделано на MDIO. Там есть автоматический поллинг по MDIO и другие вещи, которые хотелось бы использовать по назначению. Данные, которые чип получает по MDIO, он сразу складывает в свои внутренние регистры, к которым обеспечивается доступ стандартными драйверами, без переписывания софта. От этого всего не хочется отказываться. Конечно, можно прицепить какую-то внешнюю (по отношению к MAC) I2С, но хочется решить задачу красиво и правильно.
|
|
|
|
|
Feb 15 2011, 08:42
|

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

|
Цитата(vitan @ Feb 15 2011, 11:10)  Я хочу нарисовать схему и развести плату. Это надо сделать так, чтобы потом не переделывать. MDIO используется в общем случае не только для переговоров, но и для чтения\записи любых регистров, которые есть внутри PHY. В случае SFP-модуля c SGMII внутри него есть не только PHY, но и EEPROM. Я пока не смотрел детально, но думаю, что EPROM имеет адрес 0, а PHY - адрес 1 на шине I2C. По стандарту SFP в EPROM может содержаться много всего. Кроме того, как мне стало известно, большинство таких SFP делается на марвеле 1111, а сколько там регистров я хорошо представляю.  Т.о. нужно как-то управлять SFP. В моем случае управление имеется на том же чипе, что и MAC, и оно сделано на MDIO. Там есть автоматический поллинг по MDIO и другие вещи, которые хотелось бы использовать по назначению. Данные, которые чип получает по MDIO, он сразу складывает в свои внутренние регистры, к которым обеспечивается доступ стандартными драйверами, без переписывания софта. От этого всего не хочется отказываться. Конечно, можно прицепить какую-то внешнюю (по отношению к MAC) I2С, но хочется решить задачу красиво и правильно. Ну тогда обратитесь с саппорт производителя MAC и опишите ситуацию.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Feb 15 2011, 11:32
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Victor® @ Feb 15 2011, 11:42)  Ну тогда обратитесь с саппорт производителя MAC и опишите ситуацию. Сомневаюсь, что мне что-то скажут внятное, хотя попробовать можно, конечно... Посмотрел, что внутри SFP (для примера взял Finisar 825x). Оказывается, EPROM там имеет адрес вовсе не 0, как того требует стандарт. Странно, но ладно, раз уж отклонились от стандарта в протоколе передачи, то и здесь, видимо, можно. Конвертилку сделать, очевидно, будет весьма непросто, учитывая то, что надо в реальном времени переставлять биты в последовательных потоках. Возможно, это вообще недостижимо. Поэтому решил забить и сделать все-таки управление SFP от внешнего I2C.
|
|
|
|
|
Feb 15 2011, 13:43
|

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

|
Цитата(vitan @ Feb 15 2011, 14:32)  Сомневаюсь, что мне что-то скажут внятное, хотя попробовать можно, конечно...
Посмотрел, что внутри SFP (для примера взял Finisar 825x). Оказывается, EPROM там имеет адрес вовсе не 0, как того требует стандарт. Странно, но ладно, раз уж отклонились от стандарта в протоколе передачи, то и здесь, видимо, можно.
Конвертилку сделать, очевидно, будет весьма непросто, учитывая то, что надо в реальном времени переставлять биты в последовательных потоках. Возможно, это вообще недостижимо. Поэтому решил забить и сделать все-таки управление SFP от внешнего I2C. А зачем в реальном времени? Делаете в FPGA 2-х портовку, на нее навешивеете с одной стороны MDIO, с другой I2С. Ну и подумать как это разруливаться будет. Думаю и на каком-то простом MCU это делается очень просто.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|