Jump to content

    

another_one

Участник
  • Content Count

    296
  • Joined

  • Last visited

Community Reputation

0 Обычный

About another_one

  • Rank
    Местный

Recent Profile Visitors

3278 profile views
  1. Здравствуйте! Есть Xilinx Spartan 6(XCS75) Необходимо реализовать клиент Ethernet TCP и UDP(100 Mb) Вопросы: 1)Есть ли готовые IP блоки без AXI?(Знаю что есть в ISE c AXI отдельно под сервер и клиент) 2) Если нет без AXI, - Как лучше сделать интеграцию блока , - в свой автомат с AXI или в рамках IP проца от Xilinx ? Спасибо!
  2. W5300 инициализация

    Что-то в исходниках W5300 я не увидел передачу по UDP, только прием Теперь SOCK_UDP вижу но данный передавать по нормальному так и не научился, хотелось бы посмотреть рабочий пример с передачей по UDP
  3. W5300 инициализация

    Попробовал двигаться дальше, но снова проблема. Когда записываю одно слово в fifo , как показано выше, я его wiresharkом вижу, но когда записываю последовательно более чем одно слово в Fifo, посылку не наблюдаю. Все инструкции такие же, за исключением последовательной записи в fifo 92 слов.
  4. Спасибо большое!!
  5. W5300 инициализация

    Я вроде тот же и делаю разницы особо нет с тем что в даташите. что у Вас, что у меня, разница только в том что я делаю это для ПЛИС Я приведенной ниже конфигурацией решил снова послать данные Данные шлются, приходит SEND_OK, вижу их в wiresharke, только вот почему все таки не устанавливается SOCK_UDP после открытия сокета не пойму???( 1) nRESET pin hold in low 10 2) After nRESET release(going to HIGH) wait 10 ms 4) Write to MR (address 0x000) = 0x0000 ; 5) Write to IMR (address 0x004) = 0x70FF ; 6) Write to SHAR (address 0x008) = 0x0008 ; 7) Write to SHAR2 (address 0x00A) = 0xDC01 ; 8) Write to SHAR4 (address 0x00C) = 0x0203 ; 9) Write to GAR (address 0x010) = 0xA9FE ; 10) Write to GAR2 (address 0x012) = 0x0001 ; 11) Write to SUBR (address 0x014) = 0xFFFF ; 12) Write to SUBR2 (address 0x016) = 0x0000 ; 13) Write to SIPR (address 0x018) = 0xA9FE ; 14) Write to SIPR2 (address 0x01A) = 0x0003 ; 15) Write to RTR (address 0x01C) = 0x0FA0 ; 16) Write to RCR (address 0x01E) = 0x0007 ; 17) Write to MTYPER (address 0x030) = 0xFFFF ; 18) Write to TMS01R (address 0x020) = 0x4000 ; 19) Write to TMS23R (address 0x022) = 0x0000 ; 20) Write to TMS45R (address 0x024) = 0x0000 ; 21) Write to TMS67R (address 0x026) = 0x0000 ; 22) Write to RMS01R (address 0x028) = 0x0C00 ; 23) Write to S0_IMR (address 0x204) = 0x001C ; 24) Write to S0_DIP (address 0x214) = 0xA9FE ; 25) Write to S0_DIP2 (address 0x216) = 0xD955 ; 26) Write to S0_DPORTR(address 0x212) = 0x1388 ; 27) Write to S0_MR (address 0x200) = 0x0002 ; 28) Write to S0_PORTR (address 0x20A) = 0x1388 ; 29) Write to S0_CR (address 0x202) = 0x0001 ; 30) Write to S0_TX_WRSR(address 0x220) = 0x0001 ; 31) Write to S0_TX_WRSR2(address 0x222) = 0x0000 ; 32) Write to S0_TX_FIFOR(address 0x22E) = 0x1234 ; 33) Write to S0_CR(address 0x202) = 0x0020 ; В связи с этим вопрос, является ли это потенциальной проблемой или нет и можно двигаться дальше? Спасибо!
  6. Здравствуйте! Подскажите пожалуйста кто знает возможно ли реализовать на spartan 6 1Gb ethernet? Если да то как? Я как понял физуровень отчасти обеспечивают соответствующие диф драйверы, а где брать сам стэк? И вообще динамические характеристики позволяют сделать соответствующую пропускную способность? Заранее благодарен
  7. W5300 инициализация

    я как раз его и смотрю но читаю с него неопределенное состояние Попробовал поиграться с адресами, все тоже самое Из этого вывод - что ошибка в алгоритме Я читаю регистр почти сразу после установки режима UDP, когда как согласно даташиту необходимо ждать пока не установится режим Только вот я не понял зачем закрывать сокет пока он не будет установлен в UDP, - противоречие, или я не правильно понимаю приведенный код ниже { START: Sn_MR = 0x02; /* sets UDP mode */ Sn_PORT R = source_port; /* sets source port number */ Sn_CR = OPEN; /* sets OPEN command */ /* wait until Sn_SSR is changed to SOCK_UDP */ if (Sn_ SSR != SOCK_UDP) Sn_CR = CLOSE; goto START;
  8. W5300 инициализация

    угу, открываю в UDP, S0_SSR почему-то не читается, - читаются ZZZZ... СS формируются правильно.
  9. W5300 инициализация

    Попробовал передать в этих условиях, wireshark не показывает передачу по UDP. Посмотрел посредством netstat какие UDP открыты, использую один из них, указываю DIPR 0.0.0.0, DPORTR 5000. По-прежнему SOCK_UDP не читается Прошу подсказать что не так с инициализацией UDP, видимо что-то в указанием адресов и портов
  10. W5300 инициализация

    Спасибо!, я тоже так подумал, но смущает тот факт что регистры S0_CR и S0_SSR не показывают что прошла инициализация UDP, т.е сокет не открыт в UDP, как я тогда буду что-то посылать?? S0_CR показывает LISTEN...
  11. W5300 инициализация

    Спасибо большое! Теперь пингуется!))) Только вот в режим UDP не входит Мониторю Wireshark'ом, передачу еще пока никакую не делаю Ожидаю факт открытия UDP, которого не происходит согласно данным в S0_CR и S0_SSR Вероятно что-то напутал с адресами, прошу меня подкорректировать Вот моя инициализация конкурирования UDP и его открытие : 1) nRESET pin hold in low 10 2) After nRESET release(going to HIGH) wait 10 ms 3) Write to MR (address 0x000) = 0x0000 ; 4) Write to IMR (address 0x004) = 0x70FE ; 5) Write to SHAR (address 0x008) = 0x0008 ; 6) Write to SHAR2 (address 0x00A) = 0xDC01 ; 7) Write to SHAR4 (address 0x00C) = 0x0203 ; 8) Write to GAR (address 0x010) = 0xA9FE ; 9) Write to GAR2 (address 0x012) = 0xD959 ; 10) Write to SUBR (address 0x014) = 0xFFFF ; 11) Write to SUBR2 (address 0x016) = 0x0000 ; 12) Write to SIPR (address 0x018) = 0xA9FE ; 13) Write to SIPR2 (address 0x01A) = 0xD957 ; 14) Write to RTR (address 0x01C) = 0x0FA0 ; 15) Write to RCR (address 0x01E) = 0x0007 ; 16) Write to MTYPER (address 0x30) = 0x00FF ; 17) Write to TMS01R (address 0x20) = 0x400 ; 18) Write to RMS01R (address 0x028) = 0x0C00 ; 19) Write to S0_MR (address 0x200) = 0x0002 ; 20) Write to S0_IMR (address 0x204) = 0x0011 ; 21) Write to S0_DIP (address 0x214) = 0xA9FE ; 22) Write to S0_DIP2 (address 0x216) = 0xD955 ; 23) Write to S0_PORTR (address 0x20A) = 0x1388 ; 24) Write to S0_DPORTR (address 0x212) = 0x1388 ; 25) Write to S0_CR (address 0x202) = 0x0001 ;
  12. W5300 инициализация

    Похоже именно в этом проблема, я записывал все значения этих регистров как в даташите Прошу подсказать исходя из https://my-files.ru/ear7xp Какие данные нужно записывать в моем случае Заранее благодарен!
  13. W5300 инициализация

    Спасибо! Я посмотрел Ваш WIZNET_Init() и складывается впечатление что достаточно записать MR, SHAR, GAR, SUBR, SIPR, чтобы устройство начало пинговатся... Еще маленький вопрос - есть ли зависимость этих адресов от инициализации, например если я поставлю на свое усмотрение, может ли быть это причиной дальнейших проблем с инициализацией Спасибо! Получается что так Но что-то не заводиться... и уже все что можно перепроверил
  14. W5300 инициализация

    Спасибо! Вроде все так как и у вас на этапе инициализации Но по прежнему ничего нет, регистры пишутся , записываются но режим UDP не устанавливается и INT в HIGH В связи с этим уточняющий вопрос - после какой минимальной конфигурации устройство должно пинговатся? Спасибо!
  15. W5300 инициализация

    Я смотрел их библилотеку, делаю все также, регистры пишутся, читаются, но не пингуеться и wireshark ничего не показывает что записываю. И ножка инит постоянно в высоком уровне.