Member
Статус: Не в сети Регистрация: 25.10.2005 Откуда: IDC
Соединили мы тут 4 компа оптикой. Сперва данные выводились чрез COM порт на оптический модулятор, который в свою очередь транслировал через фибру куда надо.
Далее пришли новые модуляторы которые могут работать в гигабитном режиме. Встал вопрос а как нам выдавать на гора последовательную информацию на таких скоростях.
Решили овладеть контролем над гигабитной сетевой картой (NIC)[как самый простой и дешёвый].
А как мне овладеть полным контролем над картой? контроль над битами информации?
C/C++, Java канают
Member
Статус: Не в сети Регистрация: 14.04.2003 Откуда: Минск, Беларусь
akachief писал(а):
Далее пришли новые модуляторы которые могут работать в гигабитном режиме.
Могут транслировать Gigabit Ethernet по меди в оптику?
akachief писал(а):
А как мне овладеть полным контролем над картой? контроль над битами информации?
Это в принципе невозможно. Преамбула Ethernet пакета программно недоступна.
akachief писал(а):
Соединили мы тут 4 компа оптикой.
Задача надо понимать обмениваться какой либо информацией? Так для этого не надо никаких "овладений битами", вполне достаточно стандартного стека IP к примеру.
akachief Я думаю что можно полностью управлять данным устройством на уровне портов. Вам лишь остаеться узнать структуру и адрес регистра управляющего слова и запрограммировать устройство.(например на ассемблере при помощи команд in eax,[addr] out [addr],eax).
Member
Статус: Не в сети Регистрация: 25.10.2005 Откуда: IDC
SweetLow писал(а):
Могут транслировать Gigabit Ethernet по меди в оптику?
Нет, в смысле да, модулятор это когда изменение напряжения на входе (например бинарное,между 0В и +5В), провоцирует соответствуещее мерцание света в фибере навыходе. Поэтому транслировать можно что угодно - гигабитный Ethernet или Моцарта, неважно что, важно что побитно, последовательно.
SweetLow писал(а):
в принципе невозможно
Хм, сдаётся мне что вы тут неправы, аргументы?
SweetLow писал(а):
IP
Наша Задача проверить новый подход к передаче информации посредством оптики, поэтому "стандартные" способы нам неинтересны.
Ведь могу же я "зажечь" любой пиксель на мониторе, подать напряжение +3.3В на третий pin разъёма D25 LPT порта, итд. И причём просто, стандартными программными средствами. А как мне выдать серию из скажем N битов на третий pin разъёма RJ-45 моего гигабитного адаптера? , Так-то. Добавлено спустя 9 минут, 26 секунд
CCCP писал(а):
на уровне портов
Во-во, точно. В каком направлении начать рыть? В смысле что почитать и где нескажете? А то я часов шесть искал в Гугле но ничего путёвого ненашёл. Такое ощущение будто фсе программеры мира решили творить свои вехи на высшем уровне, соответсвенно вся найденная мною информация относится ка таковой. Всякие там WDM over IP интересны конечно но не в данном случае.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
akachief писал(а):
транслировать можно что угодно
Скажем аккуратно, верится слабо. Ну да я не о том.
Скорость передачи 1Gbits/s или (утрированно) 100MB/s.
Вопрос - чем изволите передавать? Я уж опускаю такие мелочи, как кодирование, контрольные коды, заголовки и прочие 'мелочи'.
Вроде-бы современный процессор как-то не особо успевает это делать ... И вот тут тихо приближаемся к ASIC. Всё, никаких " in eax,[addr]".
www.xilinx.comwww.altera.com и в путь. (путь будет длинным)
Member
Статус: Не в сети Регистрация: 25.10.2005 Откуда: IDC
serj писал(а):
верится слабо
Но верится же... Ладно, теперь я сутрирую. Хочу передать "тупую" информацию с одного процессорного элемента(ПЭ) на другой."Тупая" это значит некая последовательность битов. Без заголовков, кодов итп итд. Говорю же, *на физическом уровне*. Хочу послать 11110010101010101 с первого ПЭ на второй, и на втором получить эту же цепочку битов 11110010101010101. Могу же я это сделать через RS-232. Почему не могу добится того же результата посылая информацию посредством аппарата NIC? К тому же невижу связи с
serj писал(а):
современный процессор как-то не особо успевает это делать
, вот есть сервер, на нём две интелловские 10-гигабитные карточки работают на всю и ничего про ASIC неслышали.
Всё что меня интересует на данном этапе - передача последовательных битов на высокой скорости. Цель - ~3Gb/s.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
akachief, у вас есть специалист по железу?
С такими скоростями не сможет работать ни один процессор в мире. Процессор может оперировать только с блоками данных или конфигурировать направление передачи.
Сам прием-передачу может делать только специализированный chip. Если информация передается исключительно в цифровом виде, то можно применить 'готовые' ПЛИС (ссылки выше).
В зависимости от сложности задач, быстродействия и стоимости решения применяются разные ПЛИС.
Для облегчения работы можно купить готовые библиотеки элементов. Стоят они ... ммм ... не дешево. Правда и самому делать ... мммммм ... не слишком быстро.
Кстати, и сами ПЛИС стоят не слишком 'задаром'.
Для простой передачи а-ля RS232 через Gb интерфейс потребуется:
1) буфферизированный сдвиговый регистр приема/передачи
2) буферы на блок данных (1 на прием, 1 на передачу)
3) контроллер PCI с BusMastering. (передача блоков данных)
п1 делается 'закрыв глаза'
п2 требует наличия памяти на chip'е. Чем больше, тем лучше. Но ... это здорово повышает цену.
п3 ... отчетливо представляю трудности, пол пути прошел (и забил). Правда, эту библиотеку можно приобрести. Сделать самому 'с 0' сумашедший труд.
Member
Статус: Не в сети Регистрация: 25.10.2005 Откуда: IDC
Можно.
Мы выдумываем всякие штуки чтобы жизнь интересней была. Одна из таких штук литиум-ниобиумный опто-модулятор который делает переключение луча за несколько фемто-секунд. Данный "прибор" управлятся посредством TTL сигнала на входе.
В лаборатории есть 30 Гигабитные function generators с помощью которых мы показали что возможна трансляция на скорости 20Gb/s с помощью модулатора и 1550нм лазера по оптоволокну.
Следуюший шаг - собрать систему наглядно демонстрирующюю связь между елементами сети на гигабитных скоростях, используя наш "прибор". Поэтому пытаемся "строить снизу вверх" такую систему - отсюда и вопросы.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
akachief, минимально необходимые условия я написал выше.
Покупайте библиотеку PCI и делайте device на ПЛИС.
Альтернативный вариант - взять прибор с MAC (процессор, switch) и эмулировать Physical.
p.s.
Цитата:
Данный "прибор" управлятся посредством TTL сигнала на входе.
Мда.
Мне предстоит делать модуль оптики для каких-то вшивых B-PON 155/622 ... дико боюсь. А тут с легкостью говорят о "TTL сигнале".
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
akachief Что-то вы ребята не в ту степь рванули Если вы приборы будете использовать в обычных сетях (как я понял из описания), то зачем свое писать то??? Сделайте так, чтобы ваш прибор работал со стандартными протоколами и сетевыми картами. Найдите парочку гигабитных карт вперед.
serj писал(а):
Мне предстоит делать модуль оптики для каких-то вшивых B-PON 155/622 ... дико боюсь. А тут с легкостью говорят о "TTL сигнале".
Страшно это все Мы тут на заводе несколько раз писали проги под железо, включая спектромент на плавильной печи. Этож елы какие палы!
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
akachief AFAIK, при первоначальной постановке задачи сделать это можно, но слишком трудоемко. И самое главное - не нужно. Даже читать и показывать юзеру сырой набор битов из сети не любая сетевуха (туды жеи драйвер) может читайте про promiscious mode Что и говорить про посылку в сеть. Рекомендую почитать про структуру сети и, думаю, тогда станет понятно чем же она отличается от RS232.... BTW, вспомните те же DVD vs CD. По первым в Raw-виде особо не поползаешь (формат такой вумный) с нынешними ДВД, а вот СД - пожалуйста (как и флоппи - так спец. программной их юстировать можно). Конечно, можно разработать супер-крутой ДВД-читалку, которая сможет выдать все, что есть на болванке, но стоимость/трудоемкость такого решения будет такой, что сведет на нет все труды. Ray Adams ага а потом еще и хороший Web-Interface прикрутить - вообще супер будет У нас так на факультете ЯМР работает
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 14.04.2003 Откуда: Минск, Беларусь
Root писал(а):
читайте про promiscious mode Что и говорить про посылку в сеть.
Преамбулу ты все рано не увидишь, хоть лопни. Это же железная фича.
akachief писал(а):
Поэтому транслировать можно что угодно - гигабитный Ethernet или Моцарта, неважно что, важно что побитно, последовательно.
Gigabit Ethernet во первых пользует все четыре пары, во вторых, AFAIK, ни о какой бинарной логике сигнала на физическом уровне Gb Ethernet речь не идет.
serj писал(а):
Для простой передачи а-ля RS232 через Gb интерфейс потребуется: 1) буфферизированный сдвиговый регистр приема/передачи 2) буферы на блок данных (1 на прием, 1 на передачу) 3) контроллер PCI с BusMastering. (передача блоков данных)
Хотел нечто подобное написать, но ты уже все изложил. Но 3Gbit/s ты с обычной PCI не получишь. Для такого удовольствия минимум PCI 64bit/66Mhz надо. Добавлено спустя 12 минут, 8 секунд Это если конечно речь о 3 Gbit/s речь идет. Если о 3Gbyte/s - то вообще "хавайся у бульбу"
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
SweetLow писал(а):
Для такого удовольствия минимум PCI 64bit/66Mhz надо.
Серверные мамки не проблема, а по протоколу это одно и то-же. Просто 'ширее' данные и больше ног с ПЛИС. 3GB/s ... это да, надо делать контроллер на AMD'шный HT. Мрак.
Впрочем, можно проще - делается 'тупой' контроллер 'шнурка'. С одной стороны данные (потоковые) входят, с другой выходят. Без обработки, буфферизации и специального управления. И без компьютера, естественно. p.s. SweetLow, HI!
Member
Статус: Не в сети Регистрация: 25.10.2005 Откуда: IDC
Если кому интересно - мы закончили свой проект - сэмулировали 4 узла в сети, каждый узел имеет 2.5Gbps последовательный канал на приём/передачу. Коммуникация полная дуплексная. Сигнал LVDS (до оптики). Кодировка 8b/10b. BER(Bit-Error Ratio) равен 10Е-12.
Эмуляцию сделали на основе сервера на котором стояла карточка с FPGA и прочей мутатой.
Модули писали вчетвером на VHDL в течении нескольких недель.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения