Перейти к содержанию
    

lwIP + SFP на SP605

Здравствуйте,

 

Есть необходимость подключить плату SP605 к сети по оптике используя SFP модули и медаконвертер. У меня SFP модуль на плате подключается к другому SFP модулю, который вставлен в медиаконвертер, который по Ethernet подключен к сети. Как я пробовал запустить:

Сначала собрал простой проект который подключается через стандартный Ethernet разъем на плате. Запустил приложение Echo server, все работает. Потом перевел корку AXI Ethernet в режим 1000Base-X и в UCF настроил выходы и клоки на SFP. Пересобрал и запустил тоже приложение. Ping не идет.

 

Начитался инет, посмотрел сообщения с похожей тематикой. Щас в голове такая каша, уже не знаю куда че крутить. :wacko:

 

3. Точно ли Ваш SFP поддерживает гигабит?

Да, модули насколько я знаю могут работать на гигабит. Я делал проверку с ними. Подключал компьютер через 2 медиаконвертера к сети. Все работало.

4. Нужно выяснить, поднялся ли линк SFP-модуля (это не то же самое, что Ethernet-link). Для этого нужно через фунции lwIP считать все регистры MDIO, главным образом регистры auto-negatiation и link-Up.

А что за функции?

5. Еще можно внедриться тута chipscope-ом, найти внутренний GMII и посмотреть, какая там передается последовательность К-байтов.

Я использую XPS и насколько я знаю не получится залезть внутрь корки AXI Ethernet, а через ISE я не умею :(

6. Если ли на Вашей плате возможность подключиться к SFP через I2C?

Насколько я знаю можно. Там подключается корка IIC_SFP

 

 

 

Еще такой вопрос. В каком режиме все таки я должен использовать корку AXI Ethernet: SGMII или 1000Base-X ?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что за функции?

Функции для чтения MDIO можно найти в sw\standalone_bsp_0\microblaze_0\libsrc\lwip140_v1_03_a\src\contrib\ports\xilinx\netif\xaxiemacif_physpeed.c

Регистры MDIO подробно описаны в PG047.

 

Я использую XPS и насколько я знаю не получится залезть внутрь корки AXI Ethernet

ChipScope к EDK прикручивается следующим образом:

 

1. В EDK: Нажимаете Generate Netlist.

2. В EDK: В меню Projects -> Customize buttons добавляете ngcbuild -i implementation\system.ngc implementation\system_all.ngc

3. В EDK: Нажимаете на соответствующую custom button.

4. Создаете новый проект ChipScope Inserter. Указываете design files, например:

C:\xil_projects_14.7\current\hw\implementation\system_all.ngc

C:\xil_projects_14.7\current\hw\implementation\system.ngc

C:\xil_projects_14.7\current\hw\implementation\

5. В ChipScope Inserter делаете все как обычно, но в конце нажимаете Insert

6. В EDK: Нажимаете Generate Bitstream.

 

не перепутайте ngc с ngо, которое там по умолчанию.

 

Кроме этого, неплохо сделать так, чтобы в нетлисте ngc была сохранена иерархия проекта. Для этого во всех source файлах необходимо написать KEEP_HIERARCHY.

Пример:

Код

architecture Behavioral of sp6_DAC_IF_s4 is

...

attribute KEEP_HIERARCHY : string;

attribute KEEP_HIERARCHY of Behavioral : architecture is "yes";

 

В противном случае в ChipScope Inserter все будет свалено в одну кучу.

Раскапывать эту кучу не очень приятно, особенно в проектах EDK.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...