Jump to content
    

Stratix II + Ethernet

Всем доброго времени суток!

Имеется отладочная плата SII-DSP-2S60, нужно сделать передачу данных через Ethernet.

С Альтерой только начал работать, раньше не приходилось, как и с ethernet.

Nios II вставить удалось, портами подергать через него.

На плате стоит PHY/MAC SMSC LAN91C111, вроде у Альтеры есть компонент в qsys для интерфейса с ним. Но найти там не могу и как прикрутить не понимаю.

Вообщем скачал кучу документации, но чем дальше читаю, тем больше запутываюсь. Про lwIP и NicheStack посмотрел, но они, я так понимаю, под операционкой управляются. А хотелось бы для начала без ОС обойтись. Да и вообще просто бы эхо сервер для начала сварганить.

Прошу помощи в создании такого проекта. Может кто документацию какую посоветует, где доходчиво объяснено что и как, для таких как я. Или проект есть, который можно изучить и поколупать.

Заранее благодарю откликнувшихся!

Edited by Azatot

Share this post


Link to post
Share on other sites

На плате стоит PHY/MAC SMSC LAN91C111, вроде у Альтеры есть компонент в qsys для интерфейса с ним. Но найти там не могу и как прикрутить не понимаю.

Более ранние версии Quartus-a смотрите, в новых этого компонента уже нет (в Q13.0 и Q14.0 точно). Не помню как в Qsys, а в SOPC данное IP точно было.

 

Share this post


Link to post
Share on other sites

Более ранние версии Quartus-a смотрите, в новых этого компонента уже нет (в Q13.0 и Q14.0 точно). Не помню как в Qsys, а в SOPC данное IP точно было.

У меня Quartus 11. Там в SOPC Builder есть такой компонент, а в Qsys он чем то заменяется, но чем не очень понятно.

Плата досталась от предыдущего "владельца" так сказать, поэтому никаких примеров к ней нет. Да и на сайте Альтеры ничего путного для этого кита найти не могу.

Share this post


Link to post
Share on other sites

У меня Quartus 11. Там в SOPC Builder есть такой компонент, а в Qsys он чем то заменяется, но чем не очень понятно.

Плата досталась от предыдущего "владельца" так сказать, поэтому никаких примеров к ней нет. Да и на сайте Альтеры ничего путного для этого кита найти не могу.

Ничем не заменяется, его просто выкинули. Но там Host Bus Interface - интерфейс SRAM-памяти (будет виден Nios, как внешняя память, если всё правильно прикрутить), для записи регистров пишем по определённым адресам (у нас LAN91C111 был подключен к DSP от TI по XINT). Думаю, Вам надо сделать простейший переходник на Avalon MM (возможно просто выкинуть шину Avalon наружу) и подключить к нему LAN91C111 и сможете читать/писать его регистры и fifo.

Возможно, получится приспособить под эти цели SDRAM-контроллер.

 

Share this post


Link to post
Share on other sites

Думаю, Вам надо сделать простейший переходник на Avalon MM (возможно просто выкинуть шину Avalon наружу) и подключить к нему LAN91C111 и сможете читать/писать его регистры и fifo.

Т.е. надо вывести шину, как порты ввода/вывода (как, например, поморгать светодиодами)?

И, соответственно, по datasheet на LAN91C111 смотреть куда что писать?

Share this post


Link to post
Share on other sites

Т.е. надо вывести шину, как порты ввода/вывода (как, например, поморгать светодиодами)?

И, соответственно, по datasheet на LAN91C111 смотреть куда что писать?

Только, наверное, не просто вывести наружу, а сделать своё ядро avalon_to_lan_bridge. Для него интерфейс со стороны Qsys-системы - Avalon MM Slave, с другой - интерфейс LAN91C111. И там и там есть шина адреса и шина данных, их в своём блоке кидаете "напрямую", а вот для вспомогательных сигналов интерфейсов, возможно, надо будет какую-то логику навернуть. Полученный переходник/контроллер включаете в свою Qsys-систему и из Ниоса видите регистры LAN91C111.

Посмотрите на SDRAM-контроллер в Qsys, не утверждаю, но возможно получится им читать/писать регистры LAN.

Share this post


Link to post
Share on other sites

Только, наверное, не просто вывести наружу, а сделать своё ядро avalon_to_lan_bridge. Для него интерфейс со стороны Qsys-системы - Avalon MM Slave, с другой - интерфейс LAN91C111. И там и там есть шина адреса и шина данных, их в своём блоке кидаете "напрямую", а вот для вспомогательных сигналов интерфейсов, возможно, надо будет какую-то логику навернуть. Полученный переходник/контроллер включаете в свою Qsys-систему и из Ниоса видите регистры LAN91C111. Посмотрите на SDRAM-контроллер в Qsys, не утверждаю, но возможно получится им читать/писать регистры LAN.

Мда, задача усложнилась еще больше! :smile3046: Надо еще будет разобраться как ядра свои в Qsys делать, если SDRAM контроллер не подойдет.

А ПО для Niosa, которое может UDP пакеты формировать, можно где-нибудь раздобыть?

 

Ничем не заменяется, его просто выкинули.

Посмотрел, вроде, в Qsys есть такой компонент Generic Tri-State Controller. В его настройках можно выбрать LAN91C111.

Может этот контроллер и подойдет?

Только, что бы проверить, нужна реализация на Nios.

Share this post


Link to post
Share on other sites

Мда, задача усложнилась еще больше! :smile3046: Надо еще будет разобраться как ядра свои в Qsys делать, если SDRAM контроллер не подойдет.

А ПО для Niosa, которое может UDP пакеты формировать, можно где-нибудь раздобыть?

С построением ядра у Вас всё будет просто, нужно только внутреннюю логику/железо описать (логику "переходника"), далее в Qsys создаёте новый компонент, а ему подсовываете verilog/vhdl - файл.

Да если такой компонент есть в SOPC - сгенерируйте его, если исходники железа окажутся открытыми (а это должно быть так) сделайте на их основе свой компонент для Qsys.

 

 

Посмотрел, вроде, в Qsys есть такой компонент Generic Tri-State Controller. В его настройках можно выбрать LAN91C111.

Может этот контроллер и подойдет?

Не знал, раз есть - должен подойти. Ставте и пробуйте посмотреть регистры LAN.

Share this post


Link to post
Share on other sites

Не знал, раз есть, должен подойти. Ставте и пробуйте посмотреть регистры LAN.

Регистры смотреть через Nios?

Share this post


Link to post
Share on other sites

Регистры смотреть через Nios?

Да, для Ниос он - внешняя память, должно быть доступно через Memory Monitor в Eclipse.

 

Share this post


Link to post
Share on other sites

в Qsys есть такой компонент Generic Tri-State Controller. В его настройках можно выбрать LAN91C111.

Может этот контроллер и подойдет?

Только, что бы проверить, нужна реализация на Nios.

подойдёт.

у меня на циклоне-3 такой вариант работал.

единственный момент - нужно иметь возможность дергать аппаратный ресет у LAN91C111 через GPIO из nios.

Share this post


Link to post
Share on other sites

подойдёт.

у меня на циклоне-3 такой вариант работал.

единственный момент - нужно иметь возможность дергать аппаратный ресет у LAN91C111 через GPIO из nios.

Я так понимаю, что Generic Tri-State Controller нужно еще подключать к Tristate Conduit Bridge, а уже с него выходы на LAN91C111 назначать (а ресет LANа, соответственно, вообще отдельным пином)?

Share this post


Link to post
Share on other sites

Я так понимаю, что Generic Tri-State Controller нужно еще подключать к Tristate Conduit Bridge, а уже с него выходы на LAN91C111 назначать (а ресет LANа, соответственно, вообще отдельным пином)?

Да, надо.

Share this post


Link to post
Share on other sites

Да, надо.

Да, это я уже понял, в datasheete Альтеровском вычитал.

Но, самое забавное, что количество сигналов на выходе Tristate Conduit Bridge не соответствует количеству сигналов в LAN.

И длина адреса LAN 20 бит, а Generic Tri-State Controller формирует только 16 бит. Можно в ручную, конечно, поправить на 20, но будет ли работать.

Share this post


Link to post
Share on other sites

Да, это я уже понял, в datasheete Альтеровском вычитал.

Но, самое забавное, что количество сигналов на выходе Tristate Conduit Bridge не соответствует количеству сигналов в LAN.

И длина адреса LAN 20 бит, а Generic Tri-State Controller формирует только 16 бит. Можно в ручную, конечно, поправить на 20, но будет ли работать.

Адрес там A15-A1 (tristate_conduit_bridge_tcm_address_out[15:1]), AEN (tristate_conduit_bridge_tcm_address_out[0]), nBE3-nBE0 (tristate_conduit_bridge_tcm_byteenable_n_out[3:0]), так что всё нормально.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...