|
Проблема с запуском Wiznet W5100 |
|
|
|
Sep 6 2012, 05:51
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
К w5100 я подкинул m328 по spi. Тут все нормально - в регистры пишется и считывается. Я сначала дергаю ногу сброса, потом делаю софтовый сброс, потом гружу в w5100 мак адрес, адрес шлюза, маску подсети и ip адрес. Все стандарно. Хотелось бы послать пинг и получить ответ. К сожалению, когда подключаю кабель, компьютер ни как не реагирует. Кабель всякий пробовал. В том числе и перевернутый. Резистор 1М параллельно кварцу повесил - без него регистры не писались/читались. Когда втыкаю пачкорд, что идет на общую сеть, начинает мигать желтый светодиод, пару раз загорался зеленый. Воткнул перекрестным к ноутбуку - ноль реакции. Не видит сетевуха компьютера. Все прозвонил на наличие нужных питаний и отсутсвие замыканий. Остается поменять микросхему и транс. Что еще можно глянуть? Нуждаюсь в свежей мысли по сабжу.
Прикрепленные файлы
1.pdf ( 33.23 килобайт )
Кол-во скачиваний: 54
|
|
|
|
|
Sep 6 2012, 07:32
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
Цитата(Сергей Борщ @ Sep 6 2012, 09:28)  В схеме криминала не видно. А трансформатор точно того типа, что указан на схеме? Другой тип может быть с другой цоколевкой, отношением витков и соединением обмоток. И что с инициализацией? Возможно, собака порылась в ней? Вот такой транс. Попробую микросхему поменять. Может поджарил случайно. Как я выше писал, если воткнуть пачкорд сети, начинает через полминуты мигать желтый светодиод изредка. Значит принимает вероятно схема, но не передает. Инициализация: Код u8_t config_gateway[4]= {192,168,2,4}; u8_t config_subnet_mask[4] = {255,255,255,0}; u8_t config_mac_address[6] = {0x00, 0x08, 0xDC, 0x01, 0x02, 0x03}; u8_t config_ip_address[4] = {192,168,2,41};
W5100_Reset_Init(); W5100_CS_Init();
W5100_Reset_On(); OS_Ttimer_Delay(0.5*SEC); W5100_Reset_Off(); OS_Ttimer_Delay(0.5*SEC);
setMR(MR_RST);
OS_Ttimer_Delay(0.5*SEC);
Wiz_WR(MR,0); Wiz_WR(IMR,0); Wiz_WR(RTR0,0x0F); Wiz_WR(RTR0+1,0xA0); Wiz_WR(RCR,0x08);
setGAR(config_gateway); // Set default gateway setSHAR(config_mac_address); // Set mac address setSUBR(config_subnet_mask); // Set subnet mask setSIPR(config_ip_address); // Set ip address
|
|
|
|
|
Sep 11 2012, 21:14
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(vesago @ Sep 11 2012, 15:30)  В общем сделал я вторую плату - те же яйца. W5100 тепленькая, пишу в нее данные, читаю - все как надо. А сеть не видит. Пробовал и другой разъем подкидывать, и питатель менял и схему многократно вызванивал. Отличие от референца только, что на земле адрес и данные. Но это, как я понимаю, влияет только на работу с регистрами. Остаеттся только кварц поменять - вдруг перемаркированный  У вас скорость/дуплекс принудительно ногами выставлена или в auto negotiation? Такая же беда была когда выставлял принудительно 10мбит. Комп не видел сети. Весь извелся, уже почти отчаялся, втыкаю мой W5100 в китайский свитч - работает свинота! Показывает 10 мбит. Втыкаю в комп - не работает - нет сети. Втыкаю в свитч комп и W5100 - все пингуется, все ок. Что за беда - непонятно, на компе пробовал в параметрах сетевухи и auto negotiation, и принудительно 10 мбит - ну не видит и все тут. А когда ставил на W5100 auto negotiation и на компе auto negotiation - сеть появляется, все работает на 100 мбит. Любые другие настройки на компе или W5100 (в части дуплекса и 10/100мбит)- сеть пропадает. А если через свитч - в любой конфигурации работает. Вот такая загадка китая... Кстати, не удивляйтесь что греется, это для нее похоже нормально, уже больше 100 девайсов на ней спаяли - все ок, некоторые уже 5 лет пашут...
|
|
|
|
|
Sep 12 2012, 06:55
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
Цитата(Сергей Борщ @ Sep 11 2012, 21:18)  А может быть ошибка в процедуре записи/чтения регистров? Может вы пишете не туда? И вместо правильной маски и IP записывается что-то другое? В этом плане я почти уверен. Я сначала записываю IP, маску, MAC, потом считываю по SPI 100 байт в буфер и вижу драконом как записанные данные в ячейках соответсвующих карте памяти, так и значия, выставляемые при сбросе самой микросхемой - размер буфер приема и передачи = 0x55, тоже в правильном месте. Тем не мене, прикручу родной драйвер, да попробую им. По поводу auto negotiation - ноги OPMODE2-0 микросхемы, которыми задается режим работы PHY у меня сидят на земле - срисовал так с референсной схемы. Я пробовал в настройках сетевой карты компьютера менять настройки скорости. При переключении кратковременно загорается желтый сведодиод моей платы - FDXLED. Если поставить 10 мбит, то постоянно горит зеленый - LINKLED. Все это вселяет надежду, что дело не такое уж и пропащее  Отчикаю от земли ноги OPMODE2-0 и попробую другие комбинации. Также думаю отчикать от земли адресные ноги и ноги данных - много пересмотрел схем на сабже, везде они в воздухе.
|
|
|
|
|
Sep 12 2012, 19:56
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(Lmx2315 @ Sep 12 2012, 11:10)  ..уважаемый, не могли бы вы выложить вашу схему включения этой микросхемы , спасибо. Да рефренс один в один, адреса, данные - в воздухе, читаю/пишу тоже через SPI, тока резисторы на трансе не 49.9 Ом, а что под рукой доступное есть - 56 Ом паяем, на 10 мбит все нормально в условиях пром. помех на длине линии аж 270 м. 100 мбит - поменьше, стабильно работало где-то на 90м, длиннее - линк пропадал время от времени. Если сильно нагревается - пропадает линк, поэтому ставим маленькие радиаторы. Ну и бывает у нее - зависает - хз от чего. Поначалу (в 2007) вобще непонятно из-за чего было. Недавно смотрел - errata появилась. На одну из проблем китайцы (или корейцы ли) говорят: мол решение как обойти проблему не найдено. Но у нас софт постоянно к девайсу по сети лезет, поэтому мне легко отловить зависание. Нет обращений - ресет, железный, прямо ногой reset, и конфигурирование заново. Да, ноги OPMODE все соединил вместе и повесил на одну из ног проца. Получается молу делать либо auto negotiation, либо 10 мбит.
|
|
|
|
|
Sep 13 2012, 05:30
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
Да, схема проста как валенки. В полном объеме в референсе представлена. Вот еще образцы.. А в моей проблеме наметился просвет. Лопухнулся я - оставил GNDA висеть в воздухе. Внутри чипа она наверное связана с цифровой землей (или погорела  ) - сопротивление ом 10, когда тестером по ногам проверял не увидел. А сегодня стал мерять уровни на ногах и увидел, что какого-то на GNDA 0.8 вольта висит. Соединил с общей землей и линк поднялся. Правда только на 10 мбитах принудительно выставленных и без пинга, но уже лучше - втыкаешь кабель, сразу в трее значок появляется.
Эскизы прикрепленных изображений
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|