реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Wiznet vs Altera, голова уже болит((((
lons83
сообщение Apr 18 2013, 15:19
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



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

Есть Циклон 4 + Визнет w5300.
пытаюсь настроить Визнет.

частота 100 мгц.
делаю все как по даташиту.

Код
void sbros()    // функция сброса reset
{

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x07);   // сброс reset

    for (i=0; i<23; i++){}   // пауза 4 мкс

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0F);   // настройка PLL

        for (i=0; i<45000; i++){}  // пауза 20мс
}


void write_wiz(unsigned short adr, unsigned short data)   // функция записи
{

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_ADR_BASE, adr);    
    IOWR_ALTERA_AVALON_PIO_DATA(PIO_DATA_BASE, data);

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0E);     // установка cs

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0A);   // установка wr

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0E);     // снятие wr

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0F);     // снятие cs
}





void read_wiz(unsigned short adr)        // функция чтения
{
    unsigned short data;

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_ADR_BASE, adr);         // выставлzем адресс



    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0E);     // установка cs

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0C);   // установка rd


         data=IORD_ALTERA_AVALON_PIO_DATA(PIO_ADR_BASE);  

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0E);     // сн€тие rd

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0F);     // сн€тие cs

    printf("%X %X\n",adr,data);   // вывод адреса и данных
}






int main()
{


    IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE, 0xFFFF);  // тристабильные ножки данных на выход

    IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0F);        // управляющие в единицы

    sbros();

    write_wiz(0x000,0xB800);  // запись MR   -- прямая адрессация

    write_wiz(0x008,0x0000);   // установка MAC

    write_wiz(0x00A,0x0000);

    write_wiz(0x00C,0x0014);


    IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_DATA_BASE, 0x0000);  // тристабильные ножки данных на вход

    read_wiz(0x000);  // чтение данных по адресам

    read_wiz(0x008);

    read_wiz(0x00A);

    read_wiz(0x00C);


    while(1){}


    return 0;
}



Результат: чтобы я не записывал читается во всех регистрах 0xB800.
И комп не видит MAC-адрес....

Может кто-нибудь скажет в чем ошибка.
Заранее спасибо)))
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Apr 18 2013, 16:31
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



По моему, вы не соблюли временные интервалы для управляющих сигналов.
100МГц соответствует 10нС на такт,
а по даташиту на W5300 мин Trd, Tcs = 65нС.
Сделайте, для начала, сигналы заведомо длиннее, чем заявленые.
Читайте данные также не ранее чем Tdata_setup = 42 нС.
А вообще, можно было создать собственный компонент Avalon-MM,
где и задать необходимые временные интервалы.

Сообщение отредактировал Копейкин - Apr 18 2013, 16:31
Go to the top of the page
 
+Quote Post
lons83
сообщение Apr 18 2013, 17:14
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Сигналы и так длинные.
Промежуток между операциями, к примеру:запись в порт (две подряд идущие операции), равен 320 нс.
Код
IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0A);   // установка wr
IOWR_ALTERA_AVALON_PIO_DATA(PIO_MANAG_BASE, 0x0E);     // снятие wr


Цитата(Копейкин @ Apr 18 2013, 20:31) *
А вообще, можно было создать собственный компонент Avalon-MM,
где и задать необходимые временные интервалы.


А как его сделать собственный компонент? читал что-то про это. Но где он в SOPC находиться и как настраивается не нашел(((

Сообщение отредактировал lons83 - Apr 18 2013, 17:19
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 18 2013, 17:51
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



руками пишется блок на верилоге- вхдл...

Скажи лучше этот W5300 - нормальная штука, или так заплатка для ленивых? Типа модулей USB от FTDI когда по быстрому надо сделать что-то, а на нормальные разбиралки сил и времени нет?
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Apr 18 2013, 20:11
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



В SOPC builder, New component, в графическом интерфейсе ввести нужный набор сигналов и прописать временные параметры. Визард сгенерирует tcl-скрипт и Verilig или VHDL шаблон компонента. Дальше правка вручную под свои нужды.

Касательно W5300, у меня обеспечивает поток ~45мбит UDP.
Аппаратная поддержка TCP/IP, UDP.
А что вы от него хотите?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 19 2013, 04:56
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(Копейкин @ Apr 19 2013, 00:11) *
Касательно W5300, у меня обеспечивает поток ~45мбит UDP.
Аппаратная поддержка TCP/IP, UDP.
А что вы от него хотите?


TCP и DHCP если есть возможность. Ну и настоящий ТСР, а не урезанный с кучей ограничений, то есть чтобы не выяснилось в середине работы что втыкание этого устройства возможно только в определенные виды сетей, а любая не регламентированная активность в сети валит его или он валит сеть насмерть. Или что он не может работать с пакетами произвольной длинны, или что он дохнет от коротких пакетов.

правильно я понимаю что вы в него пихаете данные, он их пакует в ТСП пакет и пускает дальше, а все что пришло обратно с его айпишником или широковещательно с правильным мак адресом, он распаковывает и отдает вам как тело пакета, с отрезанными заголовками и прочей сервисной надстройкой?
Go to the top of the page
 
+Quote Post
lons83
сообщение Apr 19 2013, 05:17
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(Копейкин @ Apr 18 2013, 20:31) *
100МГц соответствует 10нС


Такой вопрос. у меня на вход подается 50 Мгц.
я через PLL разгоняю до 100Мгц и подаяю на вход своего МК.
В SOPC стоит источник частоты - External со 100 Мгц...

Я все правильно делаю?
Просто я тут задумался... как я уже сказал между снять сигнал и выставить сигнал проходит 320нс...
или это уже особенность компилятора?
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Apr 19 2013, 08:08
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Так, по пунктам.
1)
TCP и DHCP есть такая возможность.
Можно даже посмотреть как это делают, скачав на сайте wiznet wirmware для EVB-B1 демо-платы.
Там "С" исходники для Atmel AVR.
Про ограничение сетей - 10\100 Мбит сети.
Я в большую сеть не втыкал, но 3-4 устройства у меня на столе жили исправно, кстати на коротких пакетах.
Передаёт пакеты не больше стандартной длины. Содержимое буфера сам делит на пакеты.
Приходящим, отрезает заголовки Ethernet, оставляет TCP и UDP.
В режиме MACRAW, позволяет оставить все заголовки на месте и разбирать вручную.

2) lons83, скриншот из СОПЦбилдера можно?
И как сгенерированая система дальше подключается тоже...
Если вы тактируете систему 100МГц, то между 2 соседними операциями вывода в порт 320нс - это много.
Чем измеряете?
PLL правильно сконфигурирована?
Тактовая частота одна, для всех компонентов Nios, GPIO ?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 19 2013, 08:46
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Спасибо, надо будет попробовать.
Сейчас подымаю изернет на ПЛИС+Марвел+LwIP, но что-то мне это все меньше и меньше нравитсяsm.gif... Главное что все равно больше 50 МБит на софтварных процах в плисе фиг получишь, а свой ТСП стэк в железе я пока еще не готов...
Go to the top of the page
 
+Quote Post
alexPec
сообщение Apr 19 2013, 20:44
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Копейкин @ Apr 19 2013, 00:11) *
Касательно W5300


О! Интересно узнать, w5300 также греется как w5100? И как она по ЭМС, на помехах мощных не зависает, не отваливается?

Есть опыть с 5100, греется зараза как печка, выше определенной температуры (летом) без радиатора глючит напрочь. И на мощные помехи (типа пускатели на 75кВт рядом выключаются, ну как рядом - в соседнем шкафу) реагирует - отваливается TCP коннект, иногда просто виснет и не работает пока заножку ресета не дернешь.

В W5300 это исправлено?

Сейчас поднял TCP/IP/UDP на опенкоровском эзернете - в лабораторных условиях работает, скоро проверю девайс в суровых условиях - частотники, пускатели, разрядники. Если все ок - забываю про визнет и пользую только опенсорсы. Так хоть поправить можно если что, все под контролем.

Цитата
Скажи лучше этот W5300 - нормальная штука, или так заплатка для ленивых? Типа модулей USB от FTDI когда по быстрому надо сделать что-то, а на нормальные разбиралки сил и времени нет?


По мне так больше для ленивых sm.gif Год с лишним мучился с 5100 - отваливался коннект - через 2 года увидел свежую эрату - там моя проблема и написано что решения нет! Ресетьте мол чип и все заново. Ну это я и без них выяснил...
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 20 2013, 04:38
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



спасибо ценная информация.
В опенсорсах все хорошо. кроме то го что они для комфорта просят памяти им отжать, а у этого своей 128 килов на борту...
Я хотел ДДР монопольно юзать, теперь предеться менеджмент памяти делать, часть стэку отдавать...
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Apr 20 2013, 05:52
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Подтверждаю- W5300 греется, довольно сильно.
Но у меня короткие периоды работы, поэтому до сбоев не дошло, наверное.
Мощных источников помех рядом тоже нет.
Но буду иметь в виду. Спасибо за информацию.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 20 2013, 14:50
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Golikov A. @ Apr 19 2013, 15:46) *
Главное что все равно больше 50 МБит на софтварных процах в плисе фиг получишь, а свой ТСП стэк в железе я пока еще не готов...

а есть смысл за скоростью гнаться именно в TCP? имхо, если нужна скорость - UDP с аппаратным ускорением, а для надежных соединений - TCP, тут программно
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 20 2013, 18:39
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Вот и я так говорил, но компьютерные собратья меня не поддержалиsm.gif Им со стороны компьютера удобнее в прибор по ТСР лезть, меньше надстроек, по UDP еще же протокол надо навесить свой, контроль целостности передачи, подтверждение приема и прочее...
Go to the top of the page
 
+Quote Post
lons83
сообщение Apr 22 2013, 04:33
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(Копейкин @ Apr 19 2013, 12:08) *
2) lons83, скриншот из СОПЦбилдера можно?
И как сгенерированая система дальше подключается тоже...
Если вы тактируете систему 100МГц, то между 2 соседними операциями вывода в порт 320нс - это много.
Чем измеряете?
PLL правильно сконфигурирована?
Тактовая частота одна, для всех компонентов Nios, GPIO ?


Выкладываю скрины.

Измеряю осциллографом.
PLL. ну вроде по стандарту. Режим Нормал. 18 Мгц на входе 100 Мгц ны выходе.

P.S. Если просто создать PLL. Подать на вход частоту и на выходе смотреть осциллографом то будет 100Мгц. и 10 нс
а если через NIOS (то есть на вход 100Мгц и смотреть соседние операции вкл и выкл то будет 320 нс)

Сообщение отредактировал lons83 - Apr 22 2013, 05:23
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th July 2025 - 04:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.04582 секунд с 7
ELECTRONIX ©2004-2016