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

 
 
> Ethernet контроллер W5100 от Wiznet, проблемы.
Zemlyanov
сообщение Jul 8 2010, 13:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 25-12-07
Пользователь №: 33 630



Делаю преобразователь RS 232 >Ethernet. В качестве Ethernet контроллер решил использовать W5100 от Wiznet. Контроллер связал с МК по SPI интерфейсу. Заработал сразу без проблем ,ping , connect к серверу все на ура. После этого я решил отладить передачу данных от W5100 в качестве клиента на сервер. И вот тут начались проблемы . Начинаю передавать данные в размере 10 байт на сервер , но приходит не 10 байт, а 4 пакета по 1460 байт и в последнем пакете последние данные это то что я послал, и это происходит при первой посылке все остальные посылки отправляют столько байт сколько передал.
На сколько я понял, проблема в следующем в W5100 есть регистр Sn_TX_RR (Socket n TX Read Pointer Register) [R] в котором находиться адрес начал передаваемых данных и регистр Sn_TX_WR (Socket n TX Write Pointer Register) [R/W] в котором находится адрес конца передаваемых данных .При первой передаче в регистре Sn_TX_RR находиться случайный адрес и он превышает или находится фиг знает где относительно адрес конца передачи, получается что контроллер по кругу считывает данные со своих регистров доходит до адреса конца чтения и после этого контроллер устанавливает правильное значение в этом регистре и все остальные передачи идут без проблем . Вопрос -как установить правильное значение регистра Sn_TX_RR для первого пакета данных , ведь этот регистр только для чтения и значения в нем контроллер W5100 меняет аппаратно ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
pokk
сообщение Oct 10 2013, 02:11
Сообщение #2


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

Группа: Участник
Сообщений: 91
Регистрация: 3-07-11
Пользователь №: 66 028



Здравствуйте, возникла у меня вот такая проблема w5100 не даёт устанавится TCP соединению разывает его флагом reset.

Всё более менее работает странички открываются картинки выдаются но иногда при retransmission происходит сброс а бразуер всё шлёт и шлёт retransmission и на этом всё зависает пока куда-то вся инициализация не слетит


Код
22068    2652.981635000    192.168.1.63    192.168.1.4    TCP    54        52877 > 5000 [FIN, ACK] Seq=361 Ack=12 Win=64230 Len=0
22069    2652.982735000    192.168.1.4    192.168.1.63    TCP    60        5000 > 52877 [ACK] Seq=12 Ack=362 Win=2048 Len=0
22070    2653.820030000    192.168.1.4    192.168.1.63    TCP    60        [TCP Retransmission] 5000 > 52877 [FIN, ACK] Seq=3084509875 Ack=3252656888 Win=2048 Len=0
22071    2653.820069000    192.168.1.63    192.168.1.4    TCP    54        52877 > 5000 [RST] Seq=3252656888 Win=0 Len=0
22072    2653.822132000    192.168.1.4    192.168.1.63    TCP    60        [TCP Retransmission] 5000 > 52877 [FIN, ACK] Seq=3084509875 Ack=3252656888 Win=2048 Len=0
22073    2653.822156000    192.168.1.63    192.168.1.4    TCP    54        52877 > 5000 [RST] Seq=3252656888 Win=0 Len=0
22074    2653.822936000    192.168.1.4    192.168.1.63    TCP    60        [TCP Retransmission] 5000 > 52877 [FIN, ACK] Seq=3084509875 Ack=3252656888 Win=2048 Len=0
22075    2653.822959000    192.168.1.63    192.168.1.4    TCP    54        52877 > 5000 [RST] Seq=3252656888 Win=0 Len=0
22079    2653.825881000    192.168.1.4    0.0.0.0            TCP    60        5000 > 0 [FIN, ACK] Seq=1 Ack=1 Win=2048 Len=0
22094    2653.972698000    192.168.1.63    192.168.1.4    TCP    66        52880 > 5000 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1
22095    2653.982600000    192.248.1.4    0.0.0.0             TCP    60        5000 > 0 [FIN, ACK] Seq=1 Ack=1 Win=2048 Len=0
22096    2653.989771000    192.240.1.4    0.0.0.0             TCP    60        5000 > 0 [FIN, ACK] Seq=1 Ack=1 Win=2048 Len=0
22102    2654.017253000    192.240.1.4    0.0.0.0            TCP    60        [TCP Retransmission] 5000 > 0 [FIN, ACK] Seq=1 Ack=1 Win=2048 Len=0


После этого всё даже ping не работает.


Код
    CHIP_WRITE(0x0000,0);
//GWR (Gateway IP Address Register) [R/W] [0x0001 – 0x0004] [0x00]
    CHIP_WRITE(0x0001,192);
    CHIP_WRITE(0x0002,168);
    CHIP_WRITE(0x0003,1);
    CHIP_WRITE(0x0004,18);
//SUBR (Subnet Mask Register) [R/W] [0x0005 – 0x0008] [0x00]
    CHIP_WRITE(0x0005,255);
    CHIP_WRITE(0x0006,255);
    CHIP_WRITE(0x0007,255);
    CHIP_WRITE(0x0008,0);
//SHAR (Source Hardware Address Register) [R/W] [0x0009 – 0x000E] [0x00]
//This register sets up the Source Hardware address.
    CHIP_WRITE(0x0009,0x00);
    CHIP_WRITE(0x000A,0x08);
    CHIP_WRITE(0x000B,0xDC);
    CHIP_WRITE(0x000C,0x01);
    CHIP_WRITE(0x000D,0x02);
    CHIP_WRITE(0x000E,0x03);
//SIPR (Source IP Address Register) [R/W] [0x000F – 0x0012] [0x00]
//This register sets up the Source IP address.
    CHIP_WRITE(0x000F,192);
    CHIP_WRITE(0x0010,168);
    CHIP_WRITE(0x0011,1);
    CHIP_WRITE(0x0012,4);
//IR (Interrupt Register) [R] [0x0015] [0x00]
//This register is accessed by the host processor to know the cause of an interrupt.
//Any interrupt can be masked in the Interrupt Mask Register (IMR). The /INT signal retain low
//as long as any masked signal is set, and will not go high until all masked bits in this Register
//have been cleared.
//    7         6        5      4       3       2       1      0
//CONFLICT UNREACH  PPPoE  Reserved S3_INT S2_INT S1_INT S0_INT
    //CHIP_WRITE(0x0015,);
      CHIP_WRITE(0x0016,0);

      CHIP_WRITE(0x0017,0x00);  // таймаут 400ms
      CHIP_WRITE(0x0018,0xc8);

      //CHIP_WRITE(0x0017,0x0f);  // таймаут 400ms
      //CHIP_WRITE(0x0018,0xA0);

      CHIP_WRITE(0x0019,0x08);

//Значение регистра "RX Memory Size Register" ($001A) устанавливается в b00000011. Считываем, проверяем, Ok!
//Значение регистра "TX Memory Size Register" ($001B) устанавливается в b00000011. Считываем, проверяем, Ok!
      CHIP_WRITE(0x001A,0x06);
      CHIP_WRITE(0x001B,0x06);
//Значение регистра "Interrupt Mask Register" ($0016)
//Значение регистра "Retry Time-value Register" ($0017)
//Значение регистра "Retry Time-value Register" ($0018)




Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Zemlyanov   Ethernet контроллер W5100 от Wiznet, проблемы.   Jul 8 2010, 13:14
- - Yarst   Здравствуйте, Zemlyanov! Пытаюсь разобраться с...   Sep 16 2010, 13:16
- - DSIoffe   Цитата4 пакета по 1460 байт А чем кончилось, а? У ...   Feb 6 2011, 16:25
- - Zemlyanov   Проблема в не правильном указании адреса начало и ...   Feb 7 2011, 12:05
- - DSIoffe   Большое спасибо. Буду разбираться. Правда, у меня ...   Feb 7 2011, 12:38
- - Zemlyanov   Код hi=wiz_rd(0x0424);// считываете ...   Feb 7 2011, 16:25
- - DSIoffe   Большое спасибо, я нашёл у себя лажу, теперь W5100...   Feb 13 2011, 20:58
|- - kolobok0   Цитата(DSIoffe @ Feb 13 2011, 23:58) ...К...   Mar 14 2011, 09:29
- - DSIoffe   Спасибо, разобрался, есть такое слово - MTU. Вот т...   Feb 14 2011, 19:22
- - DSIoffe   Спасибо, всё так: моё устройство подключено кабеле...   Mar 14 2011, 09:42
- - Errorkpi   А где-то есть описание использования драйвера от п...   Apr 6 2011, 09:41
- - DSIoffe   Лучше всего читать datasheet. Там описаны все реги...   Apr 6 2011, 10:34
- - Errorkpi   Прочитал, конечно впечатляет, но немного не то. Я ...   Apr 6 2011, 10:45
- - DSIoffe   Да я вообще проект для ПЛИС писал по тому даташиту...   Apr 6 2011, 10:50
- - Errorkpi   Курю даташит. Вроде все понятно, пока Будем разби...   Apr 6 2011, 11:09
- - Errorkpi   тут в соседней теме прочитал следующее: ЦитатаСнач...   Apr 6 2011, 12:10
- - DSIoffe   Я софтового сброса не делал, только аппаратный. В ...   Apr 6 2011, 13:29
- - Errorkpi   А выдержка по времени??? или это было притянуто за...   Apr 6 2011, 13:31
- - DSIoffe   Табличка "AC Characteristics". Не менее ...   Apr 6 2011, 14:25
- - Errorkpi   Ну я собственно об этом и писал 2мкс + 10мс. Тольк...   Apr 8 2011, 06:34
- - DSIoffe   Ну да, запас - это святое. А что за соседняя тема?   Apr 8 2011, 07:10
- - Errorkpi   http://electronix.ru/forum/index.php?showt...mp;#e...   Apr 8 2011, 14:51
- - Unfog   Дабы не плодить темы, напишу здесь. Работаю W5100 ...   May 20 2012, 17:37
|- - Lmx2315   QUOTE (Unfog @ May 20 2012, 21:37) Дабы н...   Oct 7 2013, 18:21
|- - Lmx2315   QUOTE (Lmx2315 @ Oct 7 2013, 22:21) Решил...   Oct 8 2013, 17:01
- - pokk   Что-то понять не могу с регистра статуса Sn_SR ...   Oct 10 2013, 09:01


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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 15:26
Рейтинг@Mail.ru


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