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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Ethernet контроллер W5100 от Wiznet, проблемы.
Errorkpi
сообщение Apr 6 2011, 12:10
Сообщение #16


Участник
*

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



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


Но почему-то ничего подобного я не нашел wacko.gif в даташите..... Это подтвержденная информация?
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Apr 6 2011, 13:29
Сообщение #17


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Я софтового сброса не делал, только аппаратный. В том числе и на ходу. В даташите в разделе "5.1 Initialization" велено этот регистр использовать, надо понимать, что весь. Но прямого указания на необходимость программного сброса нет. Фред Иди предлагает этот регистр не трогать, оставить как есть по умолчанию.
Я не по злобе пренебрёг софтовым сбросом, просто забыл. Но ничего плохого в связи с этим не заметил.
Моё мнение - и без него хорошо, но написать пару лишних строк кода не обременительно sm.gif


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Errorkpi
сообщение Apr 6 2011, 13:31
Сообщение #18


Участник
*

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



А выдержка по времени??? или это было притянуто за уши из временных диаграмм работы? Но судя по ним, время на рестарт чипа равно 10мс + 2мкс

Сообщение отредактировал Errorkpi - Apr 6 2011, 13:35
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Apr 6 2011, 14:25
Сообщение #19


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Табличка "AC Characteristics". Не менее 2 мкс импульс сброса и не менее 10 мс подождать после его окончания. Я это и делаю. Кто такой PLOCK - не изволили написать. Возможно, захват какого-то ФАПЧ. Нужна ли пауза на PLOCK после программного сброса - дело тёмное. Можно попытаться найти программный сброс в исходниках атмеловских драйверов, чисто по адресу регистра.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Errorkpi
сообщение Apr 8 2011, 06:34
Сообщение #20


Участник
*

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



Ну я собственно об этом и писал 2мкс + 10мс. Только я энто на графиках сброса увидел 65стр. в даташите. Просто меня удивили числа в алгоритме на соседней теме 100мс. Явное отличие на 3 и 1 порядка соответственно, думал что я чего-то недопонимаю. Но учитывая возможные нестабильности, нарастания и спадания импульсов и ТКЕ я наверно выберу временные рамки в 5 и 15мс соответственно.

Сообщение отредактировал Errorkpi - Apr 8 2011, 06:35
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Apr 8 2011, 07:10
Сообщение #21


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Ну да, запас - это святое. А что за соседняя тема?


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Errorkpi
сообщение Apr 8 2011, 14:51
Сообщение #22


Участник
*

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



http://electronix.ru/forum/index.php?showt...mp;#entry911225
Кстати у человека при описании получился неплохой гайд по инициализации микрухи (ну на начальном этапе sm.gif )

Сообщение отредактировал Errorkpi - Apr 8 2011, 14:52
Go to the top of the page
 
+Quote Post
Unfog
сообщение May 20 2012, 17:37
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 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 говорит, что сокет открыт.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Oct 7 2013, 18:21
Сообщение #24


отэц
*****

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



QUOTE (Unfog @ May 20 2012, 21:37) *
Дабы не плодить темы, напишу здесь.
Работаю W5100 (WIZ812MJ) + FPGA
....

Решили ли проблему?
з.ы.
прошло много времени - если кто знает ответ, подскажите, та же проблема только с w5200.
Пингуется, говорит что сокет открыл - а сканер портов не видит на нём открытых сокетов .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Oct 8 2013, 17:01
Сообщение #25


отэц
*****

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



QUOTE (Lmx2315 @ Oct 7 2013, 22:21) *
Решили ли проблему?
з.ы.
прошло много времени - если кто знает ответ, подскажите, та же проблема только с w5200.
Пингуется, говорит что сокет открыл - а сканер портов не видит на нём открытых сокетов .


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


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
pokk
сообщение Oct 10 2013, 02:11
Сообщение #26


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

Группа: Участник
Сообщений: 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
pokk
сообщение Oct 10 2013, 09:01
Сообщение #27


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

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



Что-то понять не могу с регистра статуса Sn_SR (Sn_SR (Socket nStatus Register) [R] [0x0403, 0x0503, 0x0603, 0x0703] [0x00]
This register has the status value of socket n. The main status is shown in the below diagram.
) считываются какие-то значения которые не соответствуют командам
(0x38, 0x7 и другие ) и не как не хочет читаться SOCK_ESTABLISHED (это всё происходит так когда reset полез )

Подскажите как происходит работа с регистром прерываний (Sn_IR (Socket nInterrupt Register)) что куда прерывает и как ?
или его тупо так же как регистр статуса читать ? тогда в чём отличие ?


Go to the top of the page
 
+Quote Post

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

 


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


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