Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ethernet конвертор в синхронный поток
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Fast Ethernet/Gigabit Ethernet/FibreChannel
admin
какие есть решения или как это можно по простому сделать?

нужно запихнуть ethernet в синхронный канал 64килобита и из него же извлечь.

покупать железяку за 500 у.е. нет желания, т.к. этих конвертеров надо серию.
one_man_show
Сразу на ум приходит XPort. Но у него асинхронный RS. Если взять к нему софтовый кит разработчика (дается бесплатно при покупке 5 шт), то можно попробовать искусственно организовать синхронный поток. По-моему это самое быстрое решение.,Если нужно, то весь TCP-стек там реализован, о нем можно не думать, а конвертилка оп умочанию тоже есть.
admin
Стоп,
Xport дает возможность подключить RS232 железки к сети ethernet и через TCP/ip управлять железякой, (посылая команды через www туда чуть ли не ручками)

Или я что-то не доконца понимаю?


Иначе было бы очень просто поиметь решение за 75$ + прикрутить конвертер из асинхронного в синхронный.

Подобный медиа конвертер стоит в http://www.cronyx.ru 390$ (64kbps V35 <-> 10Mbit ethernet)
one_man_show
Софтовый кит разработчика называется CPK. Дается бесплатно при покупке ПЯТИ икс-портов. Хотя условия уже могли поменяться (стать легче), лучше узнайте у дистрибутора:
АО "Родник Софт" (095)113-7001, менеджер Столбов Алексей.
Имея доступ к внутренностям, с икс-портом можно многое нагородить, т.е. заставить быть не только прозрачным преобразователем cool.gif
Dainis
Цитата(udofun @ Jul 27 2004, 04:54 PM)
какие есть решения или как это можно по простому сделать?

нужно запихнуть ethernet в синхронный канал 64килобита и из него же извлечь.

покупать железяку за 500 у.е. нет желания, т.к. этих конвертеров надо серию.

Этим я занимаюс последние 5 лет, решение:

1) RAD ChipBridge ( only 10Mbit, obsolute)
2) RAD ChipRouter( only 10Mbit)
3) Redux RS-120 & RS-125
4) ADMtek AT8993
5) ADMtek ADM6996F
6) nSYStech's Xbridge2.0
NeoN
Делал нечто подобное, вот тут оно целиком на FPGA. XC2S30+62C256+LXT905=~25$.
petrov
Всё намного проще udofun. ;)
Есть у реалтека микросхема свича пятипортового RTL8305SB.
http://www.realtek.com.tw/products/product...aspx?modelid=18
У неё есть интересный режим работы MII интерфейса, когда данные с портов она выдаёт на MII с тактовой частотой определяемой внешним устройством(причём это не обязательно 2,5 или 25 МГц а любая частота(и это не отражено в документации ;) )). При этом микросхема сама умеет регулировать поток данных с UTP портов, и никаких потерь пакетов не происходит. Её не надо даже конфигурить, режим работы можно сигналами на ножках задавать.
Сделал на ней радиоудлинитель Etherneta(синхронная передача данных, отдельные полосы на приём и передачу) на пару десятков мегабит.
Да кстати использовал квадратурные аналоговые модулятор-демодулятор Atmel U2793B и U2794B.
NeoN
Есть такое дело за исключением 2-х НО:
1. В простейшем случае приходится передавать 4 бита данных и RX_DV, т.е. избыточность 25%, либо 8 бит и DV - 12.5%. Для получения меньшей избыточности требуется изощряться с подсчетом и передачей длины пакета, что убивает на нет всю простоту решения.
2. Сама микросхема не слишком стабильна в плане зависания при ESD по физике Ethernet и не только. Короче, надежность варианта не очень получилась.
petrov
Цитата(NeoN @ Feb 3 2005, 14:03)
Есть такое дело за исключением 2-х НО:
1. В простейшем случае приходится передавать 4 бита данных и RX_DV, т.е. избыточность 25%, либо 8 бит и DV - 12.5%. Для получения меньшей избыточности требуется изощряться с подсчетом и передачей длины пакета, что убивает на нет всю простоту решения.
2. Сама микросхема не слишком стабильна в плане зависания при ESD по физике Ethernet и не только. Короче, надежность варианта не очень получилась.
*

Да так и есть приходится подсчитывать длину пакета чтобы RXDV на приёме сформировать, но это не шибко сложно и не очень много места на плисине занимает по сранению с самой модуляцией демодуляцией. А надёжность вроде нормальная.
NeoN
А вот это уже интересно - чтобы подсчитать длину пакета, полученного от RTL, нужно дождаться приема этого пакета полностью, след. длину удастся в канал передать только в конце пакета. А на удаленной стороне эта длина нужна в начале пакета. Т.е. прийдется буфферизовать пакет либо на приеме, либо на передаче, причем, одним буффером обойтись не удастся - пока один пакет принимается, другой должен передаваться в канал? Или я что-то не понимаю?
petrov
Цитата(NeoN @ Feb 4 2005, 13:46)
А вот это уже интересно - чтобы подсчитать длину пакета, полученного от RTL, нужно дождаться приема этого пакета полностью, след. длину удастся в канал передать только в конце пакета. А на удаленной стороне эта длина нужна в начале пакета. Т.е. прийдется буфферизовать пакет либо на приеме, либо на передаче, причем, одним буффером обойтись не удастся - пока один пакет принимается, другой должен передаваться в канал? Или я что-то не понимаю?
*

Пакет буферизируется на предаче(фифо), на лету подсчитывается длина, и вставляется в начало пакета при выходе его из фифо, при этом в этот же фифо записывается следующий пакет и подсчитывается его длина. Для длин тоже небольшое фифо есть, поскольку в фифо для пакетов их(пакетов) несколько может продвигаться. На приёме всё просто, никаких буферов.
NeoN
Ну что-то типа того... правда лишние 1.5кБ интегральной задержки не есть рулез... Особенно для коротких пакетов.
petrov
Цитата(NeoN @ Feb 4 2005, 15:21)
Ну что-то типа того... правда лишние 1.5кБ интегральной задержки не есть рулез... Особенно для коротких пакетов.
*

Ага, задержка на длину максимального пакета, но по другому вроде никак.
NeoN
я делал так - группировал четверки в пакеты фиксированной длины (по 16 шт), а в коце каждого передавал кол-во полезных четверок в пакете (4 бита) . При этом групповая задержка была около 10 октетов, а избыточность - 6.25%.
admin
Цитата
режим работы можно сигналами на ножках задавать.
Сделал на ней радиоудлинитель Etherneta(синхронная передача данных, отдельные полосы на приём и передачу) на пару десятков мегабит.
Да кстати использовал квадратурные аналоговые модулятор-демодулятор Atmel U2793B и U2794B.


Интересное решение cheers.gif
Сейчас изучаю датащиты.
admin
Какие частоты использовались в приемнике и передатчике?
Модуляцию какую делали?
Много это на ПЛИС заняло?
petrov
Цитата(udofun @ Feb 18 2005, 12:05)
Какие частоты использовались в приемнике и передатчике?
Модуляцию какую делали?
Много это на ПЛИС заняло?
*

Промежуточная частота 140 МГц на приём и передачу. Модуляция DQPSK.
Убралось всё в EP1C6T144C8(ALTERA Cyclone 5980 LEs), немного свободного места осталось.
Shamil
Поднимая старую тему:
Цитата(petrov @ Feb 3 2005, 16:40) *
Есть у реалтека микросхема свича пятипортового RTL8305SB.
http://www.realtek.com.tw/products/product...aspx?modelid=18
У неё есть интересный режим работы MII интерфейса, когда данные с портов она выдаёт на MII с тактовой частотой определяемой внешним устройством(причём это не обязательно 2,5 или 25 МГц а любая частота(и это не отражено в документации wink.gif )).

Интересно, это свойство только этой микросхемы или
любой свитч с интерфейсом MII может работать с тактовой
отличной от стандартной 25 МГц (2.5 МГц) ?
Интересует в частности Micrel KS8993.

Стоит задача сделать конвертор Ethernet в синхронный канал со
скоростью N*64КБит (N=4..31), позволяющий соединять два
сегментам сети Ethernet.

Micrel KS8993 представляет собой 3-х портовый свитч,
причем один из портов выводиться как MII интерфейс.
Родилась идея взять такую микросхему, один или два порта отдать
в локалку, а с третьего порта на скорости N*64КБит забирать/отдавать
данные для передачи по синхронному каналу на другую
сторону (на такое же устройство).

Может кто нибудь знающий покритиковать эту идею,
или предложить более правильное решение ???
zltigo
Цитата(Shamil @ Apr 15 2006, 19:25) *
Micrel KS8993 представляет собой 3-х портовый свитч,
причем один из портов выводиться как MII интерфейс.
Родилась идея взять такую микросхему, один или два порта отдать
в локалку, а с третьего порта на скорости N*64КБит забирать/отдавать
данные для передачи по синхронному каналу на другую
сторону (на такое же устройство).

Нормальная идея. По такому принципу уже существет прототип на ADM6996/6999.
В потоке (до 8192Kbit/s) пакуется в HDLC пакеты. Для настроить/покопаться RS232 и SPI.
Предполагаются 2-4-8 портовые варианты.
Частичная совместимость с Cisco. В серию в виде встраиваемого модуля его собираются запускать летом.
petrov
Цитата(Shamil @ Apr 15 2006, 19:25) *
Интересно, это свойство только этой микросхемы или
любой свитч с интерфейсом MII может работать с тактовой
отличной от стандартной 25 МГц (2.5 МГц) ?
Интересует в частности Micrel KS8993.

На счёт любого не знаю, про Micrel KS8993 тоже. Tаким свойством обладает также Marvell 88E6063.

Цитата(Shamil @ Apr 15 2006, 19:25) *
Стоит задача сделать конвертор Ethernet в синхронный канал со
скоростью N*64КБит (N=4..31), позволяющий соединять два
сегментам сети Ethernet.

Micrel KS8993 представляет собой 3-х портовый свитч,
причем один из портов выводиться как MII интерфейс.
Родилась идея взять такую микросхему, один или два порта отдать
в локалку, а с третьего порта на скорости N*64КБит забирать/отдавать
данные для передачи по синхронному каналу на другую
сторону (на такое же устройство).

Может кто нибудь знающий покритиковать эту идею,
или предложить более правильное решение ???


Идея нормальная(если Micrel KS8993 так работает). На приёме нужно будет разностную задержку распроcтранения по разным каналам компенсировать.
Shamil
Насчет идеи, понял что это не бред, спасибо smile.gif .

А вот насчет заставить MII интерфейс у Micrel KS8993
работать на низкой скорости остаются сомнения,
кто бы развеял...

Посмотрел на ADM6996/6999, у них диапазон частот для RCLK и TCLK
на MII интерфейсе задан довольно жестко +-10%, т.е. никаких
произвольных скоростей.
Есть правда у Infineon микросхема ADM6993. Это тоже
трехпортовый свитч, так у него есть специальный режим
работы третьего порта в режиме HDLC со скоростью от 64 Кбит/сек
до 50 МБит/сек. Вроде бы самое идеальное для меня решение,
но диапазон рабочей температуры не индустриальный sad.gif .
petrov
Цитата(Shamil @ Apr 16 2006, 15:28) *
Посмотрел на ADM6996/6999, у них диапазон частот для RCLK и TCLK
на MII интерфейсе задан довольно жестко +-10%, т.е. никаких
произвольных скоростей.


Не знаю на счёт ADM6996/6999, но обычно период тактового сигнала делают постоянным, его просто включают когда есть возможность передавать или выключают когда нет. А микросхема свича просто работает, очередной пакет в буфер складывает, если буфер забит она flow control осуществлять начинает, типа сообщения по ethernet портам отправляет что не может больше пакеты принимать. А вы по MII интерфейсу этот буфер опустошаете, положительный фронт CLK сформировали, очередной nibble на шину выставился, клок в нуле до следующей возможности передавать вашим модемом данные.
Shamil
Цитата(petrov @ Apr 16 2006, 21:06) *
Не знаю на счёт ADM6996/6999, но обычно период тактового сигнала делают постоянным, его просто включают когда есть возможность передавать или выключают когда нет. А микросхема свича просто работает, очередной пакет в буфер складывает, если буфер забит она flow control осуществлять начинает, типа сообщения по ethernet портам отправляет что не может больше пакеты принимать. А вы по MII интерфейсу этот буфер опустошаете, положительный фронт CLK сформировали, очередной nibble на шину выставился, клок в нуле до следующей возможности передавать вашим модемом данные.

Да я так и предполагал работать, весь вопрос в том как отсутствие CLK на MII порту
будет восприниматься свичем (Micrel KS8993)? Вдруг он этот порт в аварию поставит,
и проверит его в следующий раз через секунду.

Цитата(petrov @ Apr 16 2006, 00:07) *
На счёт любого не знаю, про Micrel KS8993 тоже. Tаким свойством обладает также Marvell 88E6063.

А на Marvell 88E6063 я не смог получить datasheet, какую то NDA хотят для регистрации sad.gif .
petrov
Цитата(Shamil @ Apr 16 2006, 19:22) *
А на Marvell 88E6063 я не смог получить datasheet, какую то NDA хотят для регистрации sad.gif .


Контора на которую работаю подписала этот NDA, весь даташит в красных номерах.
Не знаю как получают всё это, может особых усилий это не требует.
Krys
это требует большого времени... У меня эпопея с НДА Марвела длится уже с января... Вроде приняли моё соглашение, но доступ к микрухам я пока так и не получил... трясу своего локального дистрибьютера, а он молчит, как рыба об лёд.
aat_81
Цитата(petrov @ Apr 16 2006, 20:22) *
Контора на которую работаю подписала этот NDA, весь даташит в красных номерах.
Не знаю как получают всё это, может особых усилий это не требует.

А не мог бы на этот марвеловский чип прислат доку...очень нужно. ПЛИЗ beer.gif
Rst7
Цитата(petrov @ Apr 16 2006, 17:06) *
А вы по MII интерфейсу этот буфер опустошаете, положительный фронт CLK сформировали, очередной nibble на шину выставился, клок в нуле до следующей возможности передавать вашим модемом данные.


Вот этот момент можно поподробнее? Если судить по диаграммам интерфейса MII, то положительный фронт стробирует данные. Следовательно данные должны появиться раньше фронта. Т.е. видимо наоборот (сначала читаем данные, потом формируем фронт):
Код
for(;;)
{
1. Ждем возможности просунуть данные, CLK=0, однако данные на шине стоят
2. Появились возможность, читаем ниббл с шины
3. CLK=1
4. CLK=0
}


Я прав?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.