|
Ethernet контроллер W5100 от Wiznet, проблемы. |
|
|
|
Apr 6 2011, 12:10
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 14-04-09
Пользователь №: 47 659

|
тут в соседней теме прочитал следующее: Цитата Сначала на W5100 выдается аппаратный сигнал Reset (на вывод "/RESET" выдается 0); Через 100мс аппаратный сигнал Reset снимается (на вывод "/RESET" выдается 1); Еще через 100мс на W5100 выдается команда "софтового" сброса. Для этого в регистр "Mode Register" (с адресом $0000) заносится значение b10000000 (устанавливается бит RST); Сразу после этого начинается, собственно, процесс инициализации внутренних регистров. Но почему-то ничего подобного я не нашел  в даташите..... Это подтвержденная информация?
|
|
|
|
|
Apr 6 2011, 13:31
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 14-04-09
Пользователь №: 47 659

|
А выдержка по времени??? или это было притянуто за уши из временных диаграмм работы? Но судя по ним, время на рестарт чипа равно 10мс + 2мкс
Сообщение отредактировал Errorkpi - Apr 6 2011, 13:35
|
|
|
|
|
Apr 8 2011, 06:34
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 14-04-09
Пользователь №: 47 659

|
Ну я собственно об этом и писал 2мкс + 10мс. Только я энто на графиках сброса увидел 65стр. в даташите. Просто меня удивили числа в алгоритме на соседней теме 100мс. Явное отличие на 3 и 1 порядка соответственно, думал что я чего-то недопонимаю. Но учитывая возможные нестабильности, нарастания и спадания импульсов и ТКЕ я наверно выберу временные рамки в 5 и 15мс соответственно.
Сообщение отредактировал Errorkpi - Apr 8 2011, 06:35
|
|
|
|
|
Apr 8 2011, 14:51
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 14-04-09
Пользователь №: 47 659

|
http://electronix.ru/forum/index.php?showt...mp;#entry911225Кстати у человека при описании получился неплохой гайд по инициализации микрухи (ну на начальном этапе  )
Сообщение отредактировал Errorkpi - Apr 8 2011, 14:52
|
|
|
|
|
May 20 2012, 17:37
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 20-05-12
Из: Санкт-Петербург
Пользователь №: 71 932

|
Дабы не плодить темы, напишу здесь. Работаю W5100 (WIZ812MJ) + FPGA
Чип инициализируется, распределение памяти 2к на сокет. (UDP) Сокет открывается (регистр статуса = 0x22). Пинг идет. Адреса, порт, подсеть устанавливаю.
Далее читаю Sn_TX_WR, маскирую 0x7FF, прибавляю 0x4000, записываю один байт. Sn_TX_WR увеличиваю на 1. Говорю SEND. Регистр команд равен 0. Т.е. вроде послал. Но ничего не происходит. Снифер молчит, TX_LED молчит. В чем может быть проблема?
Есть странность, если открыть сокет и нечего не делать, пинг идет. Если пытаться что-то послать, пинг отваливается. Хотя WIZ говорит, что сокет открыт.
|
|
|
|
|
Oct 7 2013, 18:21
|

отэц
    
Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684

|
QUOTE (Unfog @ May 20 2012, 21:37)  Дабы не плодить темы, напишу здесь. Работаю W5100 (WIZ812MJ) + FPGA .... Решили ли проблему? з.ы. прошло много времени - если кто знает ответ, подскажите, та же проблема только с w5200. Пингуется, говорит что сокет открыл - а сканер портов не видит на нём открытых сокетов .
--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0 SHA-256
|
|
|
|
|
Oct 10 2013, 02:11
|
Частый гость
 
Группа: Участник
Сообщений: 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)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|