|
ethernet phy в ПЛИС., скорость сотка, только оптика. |
|
|
|
Feb 14 2012, 07:29
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 2-10-04
Из: Мухосранска
Пользователь №: 763

|
Есть некая железка. На ней связка: ПЛИС (mii)-> PHY -> оптический трансивер 100мб/с. И вот тут возникла мысль- а если выкинуть этот PHY, а его функционал поднять в ПЛИС? Почитал, выяснилось, что в общем -то сделать надо не много: кодирование 4b/5b и NRZi кодирование. Единственное, что на приеме будет проблема с восстановлением клока, но и это вроде как решаемо( как мне кажется). В связи с этим вопросы: 1. Кто-нибудь заморачивался данной проблемой? если да- то как, работает?  2. есть что-нибудь похожее в исходниках в интернетах, а то я не нашел? спасибо.
|
|
|
|
|
 |
Ответов
|
Apr 3 2016, 17:58
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
Предпочитаю открытое общение на форуме.
Опыта по сетям нет ни по железу, ни по программированию. Так что пришлось еще разбираться, как на Си написать отправку-прием между компами UDP-пакета... Еще не выбрал окончательно, на какой частоте семплировать - х2=250МГц, или х4=500МГц. Сейчас х2=250МГц, и 2 независимых канала приема (по числу фаз) - когда по одному каналу идут ошибки (из-за неудачной фазы), по другому ошибок нет. Разгребать думаю мелким софтовым процессором (тк скорость небольшая, максимум 10МБайт/сек) - проще единичные ошибки исправлять. Пока все принятое в ПК передается для анализа. Почему-то кажется, что на х4=500МГц проблем меньше не будет. Но не уверен...
Главный критерий в этом проекте - простота и минимум ресурсов, не больше 1000 ЛЕ на все (отправка-получение UDP-пакетов на максимальной скорости).
Сообщение отредактировал Leka - Apr 3 2016, 18:06
|
|
|
|
|
Apr 3 2016, 18:42
|

Профессионал
    
Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815

|
Цитата(Leka @ Apr 3 2016, 20:58)  Предпочитаю открытое общение на форуме.
Опыта по сетям нет ни по железу, ни по программированию. Так что пришлось еще разбираться, как на Си написать отправку-прием между компами UDP-пакета... Еще не выбрал окончательно, на какой частоте семплировать - х2=250МГц, или х4=500МГц. Сейчас х2=250МГц, и 2 независимых канала приема (по числу фаз) - когда по одному каналу идут ошибки (из-за неудачной фазы), по другому ошибок нет. Разгребать думаю мелким софтовым процессором (тк скорость небольшая, максимум 10МБайт/сек) - проще единичные ошибки исправлять. Пока все принятое в ПК передается для анализа. Почему-то кажется, что на х4=500МГц проблем меньше не будет. Но не уверен...
Главный критерий в этом проекте - простота и минимум ресурсов, не больше 1000 ЛЕ на все (отправка-получение UDP-пакетов на максимальной скорости). LVDS+DDR 250 МГц - 500 Мсэмплов. Циклон4, Спартан3Е. Везде работает, но часть библотек не кросс платформенная. Железо разное. Синхронизация фазы не требуется - 4х кратного оверсэмплинга достаточно, чтобы не возникало проблем. Главное, чтобы оптика не имела неравномерно заваленных фронтов и джиттера. Тогда работать не будет ни при какой частоте сэмплирования. Приблизительно 200 плиток приемник с передатчиком вместе. Основной объем это синхронизатор по коду. Еще 150 плиток ест дескрэмблер для медного варианта. Размер для протокола зависит от хочушек в плане полноценности сетевого устройства. Помимо UDP, для нормальной работы, еще надо ARP и ICMP (DU и PING). Иначе, будете сводить с ума коммутатор. Парсер приемника, формирователь служебных пакетов и формирователь пакетов с данными занимают 900 плиток. Можно сэкономить 100 плиток, если забить на КС для IP заголовка. ПС: Если нет опыта написания аппаратных стэков, лучше откажитесь от этой затеи.
Сообщение отредактировал Corner - Apr 3 2016, 18:49
|
|
|
|
|
Apr 3 2016, 19:51
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
Цитата(Corner @ Apr 3 2016, 21:42)  Синхронизация фазы не требуется - 4х кратного оверсэмплинга достаточно, чтобы не возникало проблем. Не совсем понял, под синхронизацией фазы понимал прежде всего подстройку частоты. Если устройства (например, ПЛИС и комп) связываются по 100base-tx, частоты по Rx и Tx парам разные? Если разные, то подстройка должна быть, например, неявно через буфер (в какой-то момент пропуск символа, или выдача 2х вместо одного). Или одно из устройств подстраивает частоту? Цитата ПС: Если нет опыта написания аппаратных стэков, лучше откажитесь от этой затеи. У меня проекты на ПЛИС - хобби, а не работа. Будет слишком сложно - брошу, или поменяю задачу. Просто для DIY-проектов ищется скоростная замена UART-у, малоногая, и с возможностью прозрачного беспроводного соединения. 100base-tx "на резисторах" потребует 6 ног ПЛИС, микросхема PHY - заметно больше.
Сообщение отредактировал Leka - Apr 3 2016, 19:56
|
|
|
|
Сообщений в этой теме
Mad Makc ethernet phy в ПЛИС. Feb 14 2012, 07:29 Denisnovel Зависит от ПЛИС. В Cyclone IV GX есть трансивер с ... Feb 14 2012, 07:57 Mad Makc Цитата(Denisnovel @ Feb 14 2012, 11:57) З... Feb 14 2012, 08:08 dvladim Цитата(Mad Makc @ Feb 14 2012, 12:08) ПЛИ... Feb 14 2012, 19:38 Mad Makc Цитата(dvladim @ Feb 14 2012, 23:38) А кл... Feb 15 2012, 12:22 vadimp61 Цитата(Mad Makc @ Feb 14 2012, 11:29) Ест... Feb 14 2012, 20:15 FPGAEASY А зачем избавляться от PHY? Экономия места, или сп... Feb 20 2012, 16:38 Mad Makc экономия на компонентах и обвязки + спортивный инт... Feb 20 2012, 20:19 wolfman Цитата(Mad Makc @ Feb 21 2012, 05:49) эко... Feb 25 2012, 20:39 Leka Цитата(Mad Makc @ Feb 14 2012, 10:29) Ест... Mar 22 2016, 11:13 Corner Уже прикручено. Подробности личкой. И оптика и мед... Apr 3 2016, 12:46   aaarrr Цитата(Leka @ Apr 3 2016, 22:51) 100base-... Apr 3 2016, 20:02   iosifk Цитата(Leka @ Apr 3 2016, 22:51) 100base-... Apr 3 2016, 21:38    Corner Цитата(iosifk @ Apr 4 2016, 00:38) А как ... Apr 3 2016, 21:45 Leka И какая микросхема? Apr 3 2016, 20:31 Corner Ааа... немного теории. Если частоты разные и сдвиг... Apr 3 2016, 20:59 Leka Цитата(aaarrr @ Apr 3 2016, 23:02) Семь
... Apr 3 2016, 21:20 Corner Цитата(Leka @ Apr 4 2016, 00:20) Сейчас п... Apr 3 2016, 21:38 Leka Именно на меди, 100base-tx, не стал открывать нову... Apr 3 2016, 21:59 Corner Цитата(Leka @ Apr 4 2016, 00:59) Именно н... Apr 3 2016, 22:20  Leka Цитата(Corner @ Apr 4 2016, 01:20) А ПК в... Apr 3 2016, 23:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|