Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с подключением платы с компом
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
xxxmatrixxx
Здравствуйте,

есть cycloneIII_3c120_development_board, в котором реализован Ethernet 10/100/1000 Мбит/с

я работаю в Quartus 9.1, проект делался по 9.0, винда стоит WinXp x64

загружаю стартовый проект в Quartus, гружу его, затем создаю проект в Eclipse(SimpleSocketServer) с использованием MicroC и nichestack...

по логу консоли видно, что данный кит стартует, инициализирует nichestack, подготавливает задачи и стартует ОС, т.е. и сами задачи...

но по реакции винды на стороне ПК видно, что соединение не установлено, либо имеются ошибки, при проверке снифером(CommView) видно, что с данным сервером(cycloneIII_3c120_development_board) соединения нет, пакеты от него не приходят...

проверил кабель, все нормально... не знаю, на что еще можно грешить, кроме как не на сам nichestack...

Подскажите, что я делаю не так... какая реакция должна быть при этом, куда смотреть, чтобы локализовать проблему?
vadimuzzz
Этот проект используется: http://www.alterawiki.com/wiki/Nios_II_Eth..._Design_Example ?
в 9-м квартусе была бага с RGMII: http://www.altera.com/support/kdb/solution...122009_293.html
xxxmatrixxx
Цитата(vadimuzzz @ Jan 16 2013, 10:40) *
Этот проект используется: http://www.alterawiki.com/wiki/Nios_II_Eth..._Design_Example ?
в 9-м квартусе была бага с RGMII: http://www.altera.com/support/kdb/solution...122009_293.html


Да, спасибо большое, именно этот кит я использую, я сделал как написано в мануале, подключение изменилось на RGMII, но все равно соединение с компом не устанавливается...

тогда я решил подключить кабель от маршрутизатора напрямую к плате, выдернув его из компа, по логам Eclipse видно, что соединение установлено, IP выдан по DHCP, все задачи запущены...

я решил кабель махнуть, ничего не изменилось... затем пробовал подключать к другому компу с другой ОС - та же тема...

возник следующий вопрос: почему с компом соединение не устанавливается, а если вместо компа подключить маршрутизатор, то связь есть??

может есть у кого какие-нибудь мысли, где копать???
vadimuzzz
Цитата(xxxmatrixxx @ Jan 16 2013, 20:39) *
возник следующий вопрос: почему с компом соединение не устанавливается, а если вместо компа подключить маршрутизатор, то связь есть??

т.е. плата получает IP динамически? тогда либо поднимите на компе DHCP-сервер, либо переделайте на статику
xxxmatrixxx
Цитата(vadimuzzz @ Jan 16 2013, 18:36) *
т.е. плата получает IP динамически? тогда либо поднимите на компе DHCP-сервер, либо переделайте на статику


при попытке соединиться по DHCP комп не отвечает, если смотреть относительно лога Eclipse, и переходит на статический адрес...
пробовал и откл DHCP на модуле и статический IP задать, но ничего не выходит.... ситуация повторяется...

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

я вот подумываю, может в версии IP проблема? Хотя я работаю на плате с IPv4, на WinXp по умолчанию IPv4... скорее с 7й могла такая тема возникнуть, но не здесь...

кстати, комп 2й я подключал с установленной Win7...

vadimuzzz
а MicroC и nichestack вам точно необходимы? я делал проект без них, могу скинуть. если же точно нужно с осью и стеком, то собирайте debug-версию и смотрите, где оно залипает. начать стоит с tse_sgdmaRx_isr() - обработчик прерывания на прием. ставим breakpoint и глядим, что пришло. если работает, смотрим tse_mac_raw_send(), можно и выход передающего sgdma поглядеть в сигналтапе для уверенности. там особо накосячить-то и негде - пины да констрейны кривые. это при условии, что в данной версии корки бага нет (я бы здесь копнул - собрать на более новом квартусе).
xxxmatrixxx
Цитата(vadimuzzz @ Jan 17 2013, 04:06) *
а MicroC и nichestack вам точно необходимы? я делал проект без них, могу скинуть. если же точно нужно с осью и стеком, то собирайте debug-версию и смотрите, где оно залипает. начать стоит с tse_sgdmaRx_isr() - обработчик прерывания на прием. ставим breakpoint и глядим, что пришло. если работает, смотрим tse_mac_raw_send(), можно и выход передающего sgdma поглядеть в сигналтапе для уверенности. там особо накосячить-то и негде - пины да констрейны кривые. это при условии, что в данной версии корки бага нет (я бы здесь копнул - собрать на более новом квартусе).


Вообще я хотел, как раз без использования ОС и стэка протоколов, но не нашел подходящей коры, чтобы можно было использовать TCP/IP, либо UDP...

Я буду очень признателен, если скинете свой пример мне на мыло petrov3372@yandex.ru

Да, и еще один вопрос, я сделал модуль, который уже находится в разводке и стал писать под него прогу, имея на руках этот кит, я глянул его, кажется что-то мигает, что-то высвечивается и забил... написал работу по Ethernet через сокеты с использованием очередей сообщений... можно ли будет к вашей коре подключить MicroC и работать через сокеты?

Еще раз спасибо
vadimuzzz
Цитата(xxxmatrixxx @ Jan 17 2013, 12:37) *
можно ли будет к вашей коре подключить MicroC и работать через сокеты?

корка там не моя, альтеровская. я просто сделал минимальный драйвер и огрызок tcp/ip. так что там вся автоматизация на уровне "пакет принял/пакет отправил". зато спокойно влезает в onchip memory. см. почту
xxxmatrixxx
Цитата(vadimuzzz @ Jan 17 2013, 11:56) *
корка там не моя, альтеровская. я просто сделал минимальный драйвер и огрызок tcp/ip. так что там вся автоматизация на уровне "пакет принял/пакет отправил". зато спокойно влезает в onchip memory. см. почту


Спасибо большое, получил...

сейчас буду разбираться, еще раз спасибо))))
xxxmatrixxx
Всем большое спасибо, кто откликнулся...

разобрался в чем было дело, спасибо vadimuzzz за советы и помощь!!!

Причина была в следующем:
1. Не компилился почему-то один из файлов конфигурации ethernet, удалил, вставил, помогло... может в сборщике не был прописан
2. Баг с прогой, указанный vadimuzzz
3. забыл настроить ip на модуле и на компе, чтобы они находились в одной сетке...

сейчас подкючился через Telnet+ - все работает...

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