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

Стоит задача сформировать простейший кадр 802.3, но в том виде в котором он непосредственно приходит с SERDES

на данном этапе не совсем ясно как представить последовательность кадра

/*
preamble SDF destination source data
address adress length
0xAA 0xAB 0xFFFFFFFFFFFF, 0x00FFFFFFFFFE 0x002E
data
0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F
0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x1D 0x1E 0x1F
0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A 0x2B 0x2C 0x2D
crc32
0x12368ADD
*/

с кодирование 10b8b

как кодировать то ?
есть примеры ?


спасибо
starley
Вы вопрос попонятнее сформулируйте. В заголовке про файбер пишите, а в вопросе про эзернетовский кадр.
Таблица кодирования, например, в стандарте FC-FS есть, его можно с www.t11.org взять.
arexol
Цитата(starley @ Apr 10 2009, 17:04) *
Вы вопрос попонятнее сформулируйте. В заголовке про файбер пишите, а в вопросе про эзернетовский кадр.
Таблица кодирования, например, в стандарте FC-FS есть, его можно с www.t11.org взять.



Ну вообще то задача состоит в том чтоб понять как работает FC роутер.
у меня есть его модель.
сварганил тестбенч в котором я могу подать на вход роутера последовательность бит.

Цель - прогнать через модель роутера простейший фрейм, т.е подать его на входной порт и увидеть его на выходном порте.

сейчас проблема состоит в том чтоб получить этот самый фрейм в таком виде в каком он должен приходить с FC канала.

Поток там кодируется с помощью избыточного кодирования 8b10b.

сейчас пытаюсь разобраться с этим кодированием чтоб закодировать вышеуказанный фрейм и подать его на роутер.

достаточно ли будет этого чтоб пакет прошёл или там ещё что-то зашифровано ?
starley
Цитата(arexol @ Apr 10 2009, 19:49) *
достаточно ли будет этого чтоб пакет прошёл или там ещё что-то зашифровано ?


Ну, во-первых, кадр должен иметь правильный формат. Тот кадр, который вы привели, таковым не является. Он вообще не файберовский.
Во-вторых, как роутер маршрутизирует кадры? По статической таблице? Это я к тому, что вы должны слать кадр с определенным адресом назначения, чтобы увидеть его на выходе роутера.
В-третьих, хорошо было бы, чтобы он правильную контрольную сумму, иначе роутер может его отбросить и на выходе вы ничего не увидите.
arexol
Цитата(starley @ Apr 10 2009, 22:26) *
Ну, во-первых, кадр должен иметь правильный формат. Тот кадр, который вы привели, таковым не является. Он вообще не файберовский.


да согласен - не файберовский

вот у меня есть dataflow как оно там должно проходить
Нажмите для просмотра прикрепленного файла
и вот 2 структуры пакета
Нажмите для просмотра прикрепленного файла
С кодированием 8B10B я вроде раскурил - взял енкодер и декодер - симулировал в моделсиме и получил таблицы соответствия, т.е могу закодировать любую последовательность данных в нужный вид. и добавить служебные символы SOP EOP IDLE.

Теперь проблема - что именно передавать в качестве Payload data.

Хотелось бы передавать пакет где DA = 0xFFFFFFF - бродкаст - чтобы не париться с таблицами.

Непонятно какой пакет FC наверняка сможет пройти через роутер ?
может лучше ARP взять ? пройдёт ли он с broadcast адресом ?
Нажмите для просмотра прикрепленного файла
на счёт сжатия и суперблоков я не понял ещё, но тем не менее хотелось бы иметь нормальный пакет для начала
starley
У вас, как я понял, не просто файберовский коммутатор, а еще и мост на эзернет? Тогда вопрос, вас этот самый эзернет интерфейс интересует или только файбер или и то, и другое.
Слать на broadcast адрес - здравая идея, что именно будет в теле кадра, по идее, не важно. Пошлите что-нибудь на broadcast адрес. Но заметьте, что кроме SOF, EOF и нагрузки в теле кадра еще присутствует FC заголовок и контрольная сумма.
Способ получения вами таблиц несколько смущает. Вы для обоих значений диспаритета получили коды?
arexol
Цитата(starley @ Apr 11 2009, 23:37) *
У вас, как я понял, не просто файберовский коммутатор, а еще и мост на эзернет? Тогда вопрос, вас этот самый эзернет интерфейс интересует или только файбер или и то, и другое.
Слать на broadcast адрес - здравая идея, что именно будет в теле кадра, по идее, не важно. Пошлите что-нибудь на broadcast адрес. Но заметьте, что кроме SOF, EOF и нагрузки в теле кадра еще присутствует FC заголовок и контрольная сумма.
Способ получения вами таблиц несколько смущает. Вы для обоих значений диспаритета получили коды?


Да это мост 4 файбера в 2 WLAN-a - оба конца интересуют smile.gif

По поводу диспаритета - я вообще не понял что это и как оно используется cranky.gif потому выбрал положительный - получил таблицу и написал перекодировщик (это только для данных) Нажмите для просмотра прикрепленного файла

Видимо я выбрал неправильный путь - надо наверное с другой стороны попробовать
закинтуть фрейм с RGMII интерфейса и глянуть во что оно на файбере выльется, и это же самое обратно послать.

Так будет проще наверное никаких тебе кодирований-перекодирований , как считаете ?
starley
Цитата(arexol @ Apr 13 2009, 16:05) *
По поводу диспаритета - я вообще не понял что это и как оно используется cranky.gif потому выбрал положительный - получил таблицу и написал перекодировщик (это только для данных)


Код 8b10b имеет нулевую постоянную составляющую, - для этого в канале должно присутствовать одинаковое количество нулей и единиц. Каждый символ имеет 2 способа кодирования в одном коде больше числом нулей, в другом больше единиц.
Если на данный момент было передано больше единиц, то текущее значение диспаритета 1 и передается символ с большим количеством нулей. Если же было передано больше нулей, то для очередного символа выбирается код с большим количеством единиц.
Так что ваш перекодировщик работать не будет. Надо или правильно написать его или найти готовый. Можно, например, модель RocketIO взять, если вы с Xilinx работаете.

Цитата(arexol @ Apr 13 2009, 16:05) *
Видимо я выбрал неправильный путь - надо наверное с другой стороны попробовать
закинтуть фрейм с RGMII интерфейса и глянуть во что оно на файбере выльется, и это же самое обратно послать.
Так будет проще наверное никаких тебе кодирований-перекодирований , как считаете ?

Ну если вам надо просто посмотреть, что модель в принципе работоспособна, и RGMII вам знаком, то да. Хотя вопрос, что слать, чтобы оно гарантированно на файбере вылезло?
Если же вам надо что-то делать для файберовского интерфейса, - то пора почитать стандарт.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.