Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Stratix II + Ethernet
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Страницы: 1, 2
Azatot
Всем доброго времени суток!
Имеется отладочная плата SII-DSP-2S60, нужно сделать передачу данных через Ethernet.
С Альтерой только начал работать, раньше не приходилось, как и с ethernet.
Nios II вставить удалось, портами подергать через него.
На плате стоит PHY/MAC SMSC LAN91C111, вроде у Альтеры есть компонент в qsys для интерфейса с ним. Но найти там не могу и как прикрутить не понимаю.
Вообщем скачал кучу документации, но чем дальше читаю, тем больше запутываюсь. Про lwIP и NicheStack посмотрел, но они, я так понимаю, под операционкой управляются. А хотелось бы для начала без ОС обойтись. Да и вообще просто бы эхо сервер для начала сварганить.
Прошу помощи в создании такого проекта. Может кто документацию какую посоветует, где доходчиво объяснено что и как, для таких как я. Или проект есть, который можно изучить и поколупать.
Заранее благодарю откликнувшихся!
doom13
Цитата(Azatot @ Jan 30 2015, 09:07) *
На плате стоит PHY/MAC SMSC LAN91C111, вроде у Альтеры есть компонент в qsys для интерфейса с ним. Но найти там не могу и как прикрутить не понимаю.

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

У меня Quartus 11. Там в SOPC Builder есть такой компонент, а в Qsys он чем то заменяется, но чем не очень понятно.
Плата досталась от предыдущего "владельца" так сказать, поэтому никаких примеров к ней нет. Да и на сайте Альтеры ничего путного для этого кита найти не могу.
doom13
Цитата(Azatot @ Jan 30 2015, 09:34) *
У меня Quartus 11. Там в SOPC Builder есть такой компонент, а в Qsys он чем то заменяется, но чем не очень понятно.
Плата досталась от предыдущего "владельца" так сказать, поэтому никаких примеров к ней нет. Да и на сайте Альтеры ничего путного для этого кита найти не могу.

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

Т.е. надо вывести шину, как порты ввода/вывода (как, например, поморгать светодиодами)?
И, соответственно, по datasheet на LAN91C111 смотреть куда что писать?
doom13
Цитата(Azatot @ Jan 30 2015, 10:10) *
Т.е. надо вывести шину, как порты ввода/вывода (как, например, поморгать светодиодами)?
И, соответственно, по datasheet на LAN91C111 смотреть куда что писать?

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

Мда, задача усложнилась еще больше! smile3046.gif Надо еще будет разобраться как ядра свои в Qsys делать, если SDRAM контроллер не подойдет.
А ПО для Niosa, которое может UDP пакеты формировать, можно где-нибудь раздобыть?

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

Посмотрел, вроде, в Qsys есть такой компонент Generic Tri-State Controller. В его настройках можно выбрать LAN91C111.
Может этот контроллер и подойдет?
Только, что бы проверить, нужна реализация на Nios.
doom13
Цитата(Azatot @ Jan 30 2015, 10:32) *
Мда, задача усложнилась еще больше! smile3046.gif Надо еще будет разобраться как ядра свои в Qsys делать, если SDRAM контроллер не подойдет.
А ПО для Niosa, которое может UDP пакеты формировать, можно где-нибудь раздобыть?

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


Цитата(Azatot @ Jan 30 2015, 10:40) *
Посмотрел, вроде, в Qsys есть такой компонент Generic Tri-State Controller. В его настройках можно выбрать LAN91C111.
Может этот контроллер и подойдет?

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

Регистры смотреть через Nios?
doom13
Цитата(Azatot @ Jan 30 2015, 10:50) *
Регистры смотреть через Nios?

Да, для Ниос он - внешняя память, должно быть доступно через Memory Monitor в Eclipse.
krux
Цитата(Azatot @ Jan 30 2015, 10:40) *
в Qsys есть такой компонент Generic Tri-State Controller. В его настройках можно выбрать LAN91C111.
Может этот контроллер и подойдет?
Только, что бы проверить, нужна реализация на Nios.

подойдёт.
у меня на циклоне-3 такой вариант работал.
единственный момент - нужно иметь возможность дергать аппаратный ресет у LAN91C111 через GPIO из nios.
Azatot
Цитата
подойдёт.
у меня на циклоне-3 такой вариант работал.
единственный момент - нужно иметь возможность дергать аппаратный ресет у LAN91C111 через GPIO из nios.

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

Да, надо.
Azatot
Цитата
Да, надо.

Да, это я уже понял, в datasheete Альтеровском вычитал.
Но, самое забавное, что количество сигналов на выходе Tristate Conduit Bridge не соответствует количеству сигналов в LAN.
И длина адреса LAN 20 бит, а Generic Tri-State Controller формирует только 16 бит. Можно в ручную, конечно, поправить на 20, но будет ли работать.
doom13
Цитата(Azatot @ Jan 30 2015, 11:29) *
Да, это я уже понял, в 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]), так что всё нормально.
Azatot
Цитата
Адрес там 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]), так что всё нормально.

А сигналы tristate_conduit_bridge_0_out_tcm_read_n_out и tristate_conduit_bridge_0_out_tcm_write_n_out в Nios это ENET_IOR_N и ENET_IOW_N соответственно в LAN?
doom13
Цитата(Azatot @ Jan 30 2015, 11:56) *
А сигналы tristate_conduit_bridge_0_out_tcm_read_n_out и tristate_conduit_bridge_0_out_tcm_write_n_out в Nios это ENET_IOR_N и ENET_IOW_N соответственно в LAN?

Да, только в моей доке на LAN они nRD, nWR называются.

UPP
Сигнал сброса там уже присутствует, но это будет сброс совместный со всей Qsys системой. Поэтому на ногу LAN, как и писали выше, лучше завести сброс от PIO.
Azatot
Цитата
Да, для Ниос он - внешняя память, должно быть доступно через Memory Monitor в Eclipse.

Пины назначил, скомпилил проект, залил. Зашел в Эклипс, создал проект, который диодами дергает, залил.
Во вкладке memory ничего нет.

Цитата
Да, только в моей доке на LAN они nRD, nWR называются.

У меня pdf с назначением ног Stratix и там сигналы, видимо, не так как в datasheet на LAN называются.
Есть еще ENET_SRDY_N и ENET_W_R_N, это и они вполне могут быть!
doom13
Цитата(Azatot @ Jan 30 2015, 12:14) *
Пины назначил, скомпилил проект, залил. Зашел в Эклипс, создал проект, который диодами дергает, залил.
Во вкладке memory ничего нет.

Что значит ничего нет, а другие адреса смотрели (On-Chip Memory)?
Azatot
Цитата
Что значит ничего нет, а другие адреса смотрели (On-Chip Memory)?

В этой вкладе надо добавить адреса, которые в Qsys присваивались?
doom13
Цитата(Azatot @ Jan 30 2015, 12:19) *
В этой вкладе надо добавить адреса, которые в Qsys присваивались?

Да, конечно. Можете попробовать из Ниос писать/читать заданный адрес, должно работать.
Azatot
Цитата
Да, конечно. Можете попробовать из Ниос писать/читать заданный адрес, должно работать.

Спасибо, понял.
В адресах LAN 0xFFFFFFFF лежат. После них прошивка идет.
Попробовать записать что-нибудь в регистры LAN нужно?
doom13
Цитата(Azatot @ Jan 30 2015, 12:25) *
Спасибо, понял.
В адресах LAN 0xFFFFFFFF лежат. После них прошивка идет.
Попробовать записать что-нибудь в регистры LAN нужно?

0xFFFFFFFF это не есть хорошо, что-то не прочитало оно, но попробуйте.

UP
Может быть окно Memory глючит с этим контроллером, но, вроде, не должно.
Попробуйте через указатель память LAN писать/читать.

UPP
Если и так не работает, тогда смотрите, что там не так с интерфейсом получилось. Сброс от PIO заведите, при запуске программы Ниос сбрасывайте микросхему. Даже при выборе для Generic Tri-State Controller опции LAN91C111 есть ещё куча настроек.
Если всё будет правильно - LAN для Ниос - это память (в Qsys есть возможность даже Reset Vector на неё повесить sm.gif ).
Azatot
Цитата
0xFFFFFFFF это не есть хорошо, что-то не прочитало оно, но попробуйте.

Возможно, что всетаки с сигналами напутано.
Попробую переназначить и посмотреть, что получится.
Цитата
Если и так не работает, тогда смотрите, что там не так с интерфейсом получилось. Сброс от PIO заведите, при запуске программы Ниос сбрасывайте. Даже при выборе для Generic Tri-State Controller опции LAN91C111 есть ещё куча настроек.

По идее он автоматом эти настройки расставляет, когда LAN выбираешь.
doom13
Цитата(Azatot @ Jan 30 2015, 12:48) *
По идее он автоматом эти настройки расставляет, когда LAN выбираешь.

Да, но, возможно, LAN в них что-то не нравится или подключили что-то не так.
Azatot
Цитата
Сброс от PIO заведите, при запуске программы Ниос сбрасывайте

Тут еще ситуация какая: В pdf с констрейнами ресет enet_RESET_n на fpga не заведен! Там пусто.
doom13
Цитата(Azatot @ Jan 30 2015, 12:54) *
Тут еще ситуация какая: В pdf с констрейнами ресет enet_RESET_n на fpga не заведен! Там пусто.

Сброс микросхемы LAN91C111 висит в воздухе? Но, думаю, пока reset не главная проблема. Там есть ещё и программный сброс, им можно будет обойтись. Не помню, чтобы у нас были проблемы с данной микросхемой в плане сброса.

UP
Проверяйте все подключения и сам контроллер (осциллом, SignalTap-ом).
Azatot
Цитата
Попробуйте через указатель память LAN писать/читать.

Есть же, наверное, функция по чтению/записи памяти по адресу в добавленных исходниках альтеровских.
doom13
Цитата(Azatot @ Jan 30 2015, 13:05) *
Есть же, наверное, функция по чтению/записи памяти по адресу в добавленных исходниках альтеровских.

Если предполагается что проц будет видеть микросхему как внешнюю память, то в BSP не будет никаких драйверов, но надо проверить.

UP
Проверил, так и есть, для Вас - это внешняя память и никаких драйверов в BSP нет. Регистры LAN пишете через указатель.

Смотрите ещё сигналы из группы System Control Bus в описании микросхемы. Если использовать generic_tristate_controller + tristate_conduit_bridge, то для "половины" из них нет соответствия в Qsys системе, надо думать, что подавать на данные пины LAN.
Azatot
Цитата
Смотрите ещё сигналы из группы System Control Bus в описании микросхемы. Если использовать generic_tristate_controller + tristate_conduit_bridge, то для "половины" из них нет соответствия в Qsys системе, надо думать, что подавать на данные пины LAN.

Часть сигналов, которые не генерит Qsys по pdf должны подключаться к пинам, которые у плис заведены на GND и VCC.
Суть в том, что у меня pdf на кит с ep2s180, а сам кит на ep2s60. Корпуса у них одинаковые. Флэш память, диоды и прочее работает по тем констрейнам, что в pdf. А вот с LAN ерунда какая то. В pdf на мой кит констрейнов на LAN вообще нет!
doom13
Цитата(doom13 @ Jan 30 2015, 11:40) *
Адрес там 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]), так что всё нормально.

Тут всё же немного неправильно. Надо так:

lan91c111 ---> Nios

A15-A1 ---> tristate_conduit_bridge_tcm_address_out[14:0] (возможно, tristate_conduit_bridge_tcm_address_out[15:1])
AEN ---> тут надо CS вывести и подключить, в настройках ядра галка не стоит
nBE3-nBE0 ---> tristate_conduit_bridge_tcm_byteenable_n_out[3:0]
nRD ---> tristate_conduit_bridge_tcm_read_n_out
nWR ---> tristate_conduit_bridge_tcm_write_n_out

У нас на схеме ещё ARDY задействован (там сигнал nXREADY от XINTF подключен), что тут к нему коннектить не знаю.
И смотрите, что ещё с ПЛИС на LAN идёт, возможно, не так, как в нашей схеме.

UP
Ещё INTR0 заведено.

nADS ---> 0 (сидит на земле)

nCYCLE, WnR, LCLK, nRDYRTN ---> 1
Azatot
Цитата
Регистры LAN пишете через указатель

А как это сделать? совсем уже не соображаю! krapula.gif
doom13
Цитата(Azatot @ Jan 30 2015, 14:00) *
А как это сделать? совсем уже не соображаю! krapula.gif


Код
int *lan_reg = (int *) LAN_BASE_ADDRESS; // LAN_BASE_ADDRESS - адрес в Qsys
int reg;

reg = *lan_reg; // чтение
*lan_reg = reg; // запись

Но пока в Memory видите FFFFFF - не прокатит, смотрите, что писал выше.
Azatot
Цитата
Но пока в Memory видите FFFFFF - не прокатит, смотрите, что писал выше.

В описании платы сигналы все эти есть и заведены на LAN.
Вообщем, посижу, спокойно поразбираюсь с документацией, а то путаница какая то!
И программатор отобрали до понедельника. sad.gif
В любом случае, огромное спасибо за потраченное время на меня! rolleyes.gif
В понедельник отпишусь о результатах.
Serhiy_UA
Цитата(Azatot @ Jan 30 2015, 09:07) *
...На плате стоит PHY/MAC SMSC LAN91C111, вроде у Альтеры есть компонент в qsys для интерфейса с ним. Но найти там не могу и как прикрутить не понимаю.....
Может это поможет, там были легкие советы по Ethernet с чипом LAN91C111:
http://electronix.ru/forum/index.php?showtopic=70682&hl=
http://electronix.ru/forum/index.php?showtopic=37680&hl=
http://electronix.ru/forum/index.php?showtopic=66839&hl=
http://electronix.ru/forum/index.php?showtopic=62982&hl=
http://electronix.ru/forum/index.php?showtopic=62964&hl=

У меня был Ethernet-100 на Stratix-II и LAN91C111, что на DK-NIOS-2S60N, работал нормально. Усеченный стек TCP/IP на NiosII был свой.
Azatot
Цитата
У меня был Ethernet-100 на Stratix-II и LAN91C111, что на DK-NIOS-2S60N, работал нормально. Усеченный стек TCP/IP на NiosII был свой

А какие-нибудь исходники не сохранились у Вас? А то все ссылки, которые в темах не активны. Видимо никто особо уже не пользуется такими микросхемами. rolleyes.gif
Golikov A.
Цитата
Сброс микросхемы LAN91C111 висит в воздухе? Но, думаю, пока reset не главная проблема. Там есть ещё и программный сброс, им можно будет обойтись


Стесняюсь спросить, но все же: неужели нога ресета висящая в воздухе и теоретически способная ловя наводки переодически сбрасывать микросхему действительно не проблема и можно по этому поводу не переживать?
Serhiy_UA
Цитата(Azatot @ Jan 30 2015, 16:30) *
А какие-нибудь исходники не сохранились у Вас? А то все ссылки, которые в темах не активны. Видимо никто особо уже не пользуется такими микросхемами. rolleyes.gif
Исходный проект на DK-NIOS-2S60N и тексты для NiosII от 2009 года в среде QII-7.2 имеются.
Там был реализован процессор первичной обработки для гражданского берегового радара. Процессор принимал коды с частотой 25МГц от АЦП в 12 разрядов, и выполнял небольшую первичную, в том числе и пороговую обработку. На проходе упаковывал данные в UDP-пакеты и через LAN91C111 выдавал их по Ethernet-100 в индустриальные ПК для последующей вторичной обработки...
doom13
Цитата(Golikov A. @ Jan 30 2015, 15:55) *
Стесняюсь спросить, но все же: неужели нога ресета висящая в воздухе и теоретически способная ловя наводки переодически сбрасывать микросхему действительно не проблема и можно по этому поводу не переживать?

Не стесняйтесь, спрашивайте. Не висит она в воздухе, просто ТС не ответил, куда она подключена. А пост был к тому, что на данном этапе проблема не в ресете, а втом, что интерфейс Ниоса неправильно подключен к интерфейсу микросхемы.

Цитата(Serhiy_UA @ Jan 30 2015, 15:09) *
У меня был Ethernet-100 на Stratix-II и LAN91C111, что на DK-NIOS-2S60N, работал нормально. Усеченный стек TCP/IP на NiosII был свой.

Расскажите, как правильно подключить LAN91c111-контроллер ПЛИС к самой микросхеме?
Golikov A.
Тогда я спрошу,
а что если она не в воздухе, а подключен не на тот уровень и микросхема постоянно в ресете? То есть пин что шел на ресет, взяли да заземлили как ненужный. Микруха в ресете и все запросы в ее область возвращают FFFFF - высокий импеданс...

ну хотя... да причем тут ресет....
doom13
Цитата(Golikov A. @ Jan 30 2015, 17:58) *
Тогда я спрошу,
а что если она не в воздухе, а подключен не на тот уровень и микросхема постоянно в ресете? То есть пин что шел на ресет, взяли да заземлили как ненужный. Микруха в ресете и все запросы в ее область возвращают FFFFF - высокий импеданс...

ну хотя... да причем тут ресет....

Т.к. это девборда, то там по определению всё в порядке. Не засоряйте тему, читайте внимательно, это был риторический вопрос...
Чтобы Вам было более понятно
Цитата(Azatot @ Jan 30 2015, 12:54) *
Тут еще ситуация какая: В pdf с констрейнами ресет enet_RESET_n на fpga не заведен! Там пусто.

вопрс был направлен на то, чтобы ТС ещё раз более внимательно посмотрел, куда подключен сброс микросхемы LAN91C111.
doom13
Актуальным пока остаётся ответ на это
Цитата(doom13 @ Jan 30 2015, 16:39) *
Цитата(Serhiy_UA @ Jan 30 2015, 15:09) *
У меня был Ethernet-100 на Stratix-II и LAN91C111, что на DK-NIOS-2S60N, работал нормально. Усеченный стек TCP/IP на NiosII был свой.

Расскажите, как правильно подключить LAN91c111-контроллер ПЛИС к самой микросхеме?
Golikov A.
Балаболка вы doom13... ладно не буду мешать, упивайтесь...
doom13
Цитата(Golikov A. @ Jan 30 2015, 20:15) *
Балаболка вы ...

Куда уж мне до Вас (все аргументы см. в других темах). smile3009.gif

Да ещё, я зашёл в эту тему, т.к. в одном нашем старом, но пока ещё живом, проекте используется именно LAN91C111 и я имел с ней дело (правда, там она висит на XINTF-е TI-шного проца). А ещё работал с похожим драйвером LAN9211, который тоже висит на XINTF-е другого TI-шного проца.
А Вы так, как всегда, язык почесать 08.gif
Serhiy_UA
Цитата(doom13 @ Jan 30 2015, 16:39) *
Расскажите, как правильно подключить LAN91c111-контроллер ПЛИС к самой микросхеме?
В приложении скрин структуры моего проекта в SOPC Builder.
Там видно подключение к проекту самого чипа LAN91c111.
Здесь за основу здесь был взят проект NiosII_stratixII_2s60_RoHS_small, который входил в комплект примеров с LAN91c111. Примеры поставляются вместе китом DK-NIOS-2S60N и с софтом на QII-7.2. Далее исходный пример был расширен и адаптирован под мою задачу.
Думаю, аналогичный пример должен быть и на кит, что у Azatot.

Еще одна ссылка на ресурсы по LAN91c111:
http://www.microchip.com/wwwproducts/Devic...oduct=LAN91C111
doom13
Цитата(Serhiy_UA @ Jan 31 2015, 09:06) *

Не совсем то, что хотелось увидеть. ЕстьSOPC/Qsys-система с контроллером LAN91C111, покажите как порты контроллера LAN91C111 SOPC-системы подключаются к самой микросхеме LAN91C111.
Azatot
Цитата
Не висит она в воздухе, просто ТС не ответил, куда она подключена.

Приветствую!
Да, она, естественно, не висит в воздухе. Посмотрел по схеме кита, ресет висит на конфигурационной CPLD EPM7256AETC144. Соответственно доступ к нему просто так не получишь. На ней, похоже, все ресеты от переферии висят.
Цитата
AEN ---> тут надо CS вывести и подключить, в настройках ядра галка не стоит

Как Вы и писали ранее, AEN это tristate_conduit_bridge_tcm_address_out[0], посмотрел в схематике кита, а так же:
ENET_DATACS_N - VCC
ENET_IOCHRDY - VCC
ENET_LDEV_N - GND
ENET_SRDY_N - GND
ENET_W_R_N - VCC
Цитата
В приложении скрин структуры моего проекта в SOPC Builder.
Там видно подключение к проекту самого чипа LAN91c111.

В SOPC Builder есть такой компонент LAN91c111, и может быть он там и подключается правильно автоматически. А при переходе в Qsys может Альтера что то и упустила и надо руками допиливать.
Цитата
Думаю, аналогичный пример должен быть и на кит, что у Azatot.

Я уже писал, что кит достался от предыдущего "обладателя", и вся документация, примеры и вообще все, кроме платы пропало.
doom13
Цитата(Azatot @ Feb 2 2015, 07:42) *
В SOPC Builder есть такой компонент LAN91c111, и может быть он там и подключается правильно автоматически. А при переходе в Qsys может Альтера что то и упустила и надо руками допиливать.

Автоматически он не мог подключаться, SOPC не может знать, на каких ногах FPGA висит микросхема LAN91C111.

Цитата(Azatot @ Feb 2 2015, 07:42) *
Да, она, естественно, не висит в воздухе. Посмотрел по схеме кита, ресет висит на конфигурационной CPLD EPM7256AETC144. Соответственно доступ к нему просто так не получишь. На ней, похоже, все ресеты от переферии висят.

Т.е. при включении она сформирует ресет, как надо. Далее после правильного подключения LAN91C111 будет возможность сделать программный сброс.
Azatot
Цитата
Автоматически он не мог подключаться, SOPC не может знать, на каких ногах FPGA висит микросхема LAN91C111.

Я имел ввиду, что в SOPC может быть интерфейс Nios с LAN прописан лучше (все сигналы выведены).
Serhiy_UA
doom13, Вы писали "Не совсем то, что хотелось увидеть. ЕстьSOPC/Qsys-система с контроллером LAN91C111, покажите как порты контроллера LAN91C111 SOPC-системы подключаются к самой микросхеме LAN91C111."

Я работаю с QII-7.2 или QII-8.1, там используется SOPC, что вполне достаточно для Stratix II и Cyclone III. Предполагаю, что в Qsys аналогично, хотя могу и ошибаться. Теперь кратко по шагам.
1. В QII вручную создается начальная версия модуля верхнего уровня, например, main.v, после чего он компилируется.
2. В SOPC Builder создается система NiosII со всеми нужными нам компонентами, в том числе и с компонентом LAN91C111. Только там будет не сам контроллер LAN91C111, а его внешний интерфейсный канал (шины адреса, данных и управление).
3. Теперь в SOPC Builder генерируется система, после чего этот сгенерированный модуль, уже как большой черный ящик, включается в модуль main.v.
4. Для выполнения этого в сгенерированном файле *_sopc.v находится строка *_sopc DUT (обычно она в конце файла), после которой перечисляются все сигналы сгенерированной SOPC Builder системы (большого черного ящика). Все перечисление копируется в main.v и там создается подчиненный модуль. В файле main.v. сигналы от LAN91C111, логически выводятся на внешние выводы ПЛИС.
5. Далее main.v опять компилируется. После компиляции выходные сигналы ПЛИС увязываются с физическими контактами.
6. Теперь из SOPC Builder переходим в Nios II IDE и там создается программный проект для NiosII. При этом там задается ссылка на исходный *_sopc.sopc, чтобы все соответствовало друг-другу. Далее пишется и компилируется программа на С++. При этом надо учитывать то, что после каждой компиляции проекта в QII нужно выполнять процедуру Refresh в Nios II IDE.
7. Загрузка программы для тестирования системы и уже готовой прошивки в EPCS, тоже отдельная тема.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.