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

 
 
 
Reply to this topicStart new topic
> Проблеммы с W5100, вероятно в области разводки, помогите
LexsLavrov
сообщение Jun 4 2013, 09:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 9-06-11
Из: Санкт-Петербург
Пользователь №: 65 588



1) Седал плату на базе ATmega16 для работы с w5100, использовал заводской модуль wiz811mj Rev1.0. Написал прошивку (асм) - все работает: пинги, UDP, никаких претензий.
2) На плате ATmega16 разъемы для подключения wiz811mj поставил шире, развел и изготовил (изготовление заводское, с маской и шелкографией) собственный модуль типа wiz811mj, но только со светодиодами Tx, Rx, Col, Spd. Схема - все содрано с wiz811mj практически полностью. Схема изменена только в том смысле что предполагается работа только с SPI - адресные ноги на землю все, ноги данных и RD, WR - болтаются в воздухе.

А вот тут начались чудеса...
Когда втыкаю свой модуль - загорается FDX, Link моргает, причем когда Link гаснет - Rx - загорается. Spd горит непрерывно. Из чего делаю вывод - W5100 проинициализировалась и какие-то данные в ее регистры записались. Если просто подать питание на модуль, но не грузить ничего в нее - молчит, не мигает. НО передача данных и пинг НЕ РАБОТАЮТ!

Сколхозил переходник и воткнул wiz811mj в свою плату с широко стоящими разъемами - ВСЕ РАБОТАЕТ. Значит дело не в управляющей плате и не в коде!

Собрал еще три платы своих модулей, все одинаковое. И не работают они тоже одинаково - дело не в сборке.

Воткнул осциллограф - все нормально, за исключением того что на MISO такой сигнал как будто он болтается в воздухе - очень зашумлен, но в целом повторяет MOSI. Звонил - все звонится от ноги контроллера до ноги W5100, щупом касаюсь непосредственно самого вывода W5100.

W5100 греется, но вроде не больше обычного. Даже навесил сверху на проводах инвертор как на схеме wiz811mj - все то же.
MAG JACK - LU1T516-43LF вроде бы полный аналог того что на wiz811mj - RDA-125BAG1A.
Электролиты танталовые 3.3 и 10 мкФ. Индуктивности 1 мкГн. Между аналоговой и цифровой землями - бусина ферритовая. Кварц 25 МГц, при нем кондеры 13 пФ, 1 МОм - все как по схеме wiz811mj.

Куда копать - ума не приложу!

Еще важная информация: ATmega питается от 5В, W5100 от преобразователя из 5В в 3.3В. Каких-либо согласующих элементов по сигналам SPI нет.

Тем временем градус неадэквата растет - если закоротить между собой MOSI и MISO и проинициализировать W5100 то начинают идти пинги. Т.е. MAG JACK работает исправно. При этом моргают Tx и Rx. Т.е. Вроде все работает в W5100, но на SPI все равно каша.

Вобщем последний эксперимнт как раз и натолкнул меня на верную мысль - я перепутал при разводке MISO и MOSI! Перепаял их обратно - все заработало, пинги идут с самого начала, UDP на 100 Мбит бегает без проблем!

Даже как-то чувствую что зря тему писал sm.gif
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 7 2013, 11:06
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



нет, не зря тему писал ))
можешь мне помочь))

Делал w5100 под STM32- все работало пучком. Переделал все под мегу 8- то есть пинги, то нет, в общем, дурит.
Хотел бы попросить проект полностью, если он вдруг под ИАР. Даже не пойму что делать и куда смотреть уже.
Go to the top of the page
 
+Quote Post
LexsLavrov
сообщение Sep 7 2013, 11:58
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 9-06-11
Из: Санкт-Петербург
Пользователь №: 65 588



Цитата(Метценгерштейн @ Sep 7 2013, 15:06) *
нет, не зря тему писал ))
можешь мне помочь))

Делал w5100 под STM32- все работало пучком. Переделал все под мегу 8- то есть пинги, то нет, в общем, дурит.
Хотел бы попросить проект полностью, если он вдруг под ИАР. Даже не пойму что делать и куда смотреть уже.

Если бы я еще знал что такое ИАР... sm.gif Проект написан на avr assembler. В понедельник могу дать т.к. оно на работе лежит.

А насчет "то есть пинг, то нет" - это либо не проблема меги а именно W5100 дурит сама, либо мега что-то не то (или не тогда когда надо) делает с W5100. Ну например где-то какая-то ошибка в коде заставляет мегу сбрасываться и постоянно сбрасывать и загружать W5100. Пока W5100 сбрасывается и загружается - она ессно не пингуется, а потом пингуется и т.д. по кольцу. Обычно такие вещи случаются когда где-нибудь стоит reti, на который код попадает не через call/rcall.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 7 2013, 12:00
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



хорошо, может пойдем таким путем- я скажу какие ноги у меня на каких выводах, и попрошу скомпилить под меня проект. Можно так сделать? wink.gif
Go to the top of the page
 
+Quote Post
LexsLavrov
сообщение Sep 7 2013, 12:46
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 9-06-11
Из: Санкт-Петербург
Пользователь №: 65 588



Цитата(Метценгерштейн @ Sep 7 2013, 16:00) *
хорошо, может пойдем таким путем- я скажу какие ноги у меня на каких выводах, и попрошу скомпилить под меня проект. Можно так сделать? wink.gif

Ну вобщем можно... У меня вообще проект под мега16, но вроде бы она от мега8 не особенно отличается...
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 7 2013, 13:13
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



http://files.mail.ru/1401C586534949B29DDEC889D6847676
это схема + проект.

посмотрел я на мегу 16- в SPI части отличий нет. Так что смело меняем проц в настройках на мегу8 и ноги поменяйте тоже на мои- чтобы не перепаивать
Go to the top of the page
 
+Quote Post
LexsLavrov
сообщение Sep 7 2013, 13:43
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 9-06-11
Из: Санкт-Петербург
Пользователь №: 65 588



Цитата(Метценгерштейн @ Sep 7 2013, 17:13) *
http://files.mail.ru/1401C586534949B29DDEC889D6847676
это схема + проект.

посмотрел я на мегу 16- в SPI части отличий нет. Так что смело меняем проц в настройках на мегу8 и ноги поменяйте тоже на мои- чтобы не перепаивать

Нашел на флешке более-менее годные бэкапы одного проекта с W5100. Вот так должна выглядеть схема http://yadi.sk/d/NlbnEe8i8rnh8. Обратите внимание на разъемы Х2 и Х3 - это как раз к ним и подключается модуль с W5100. Этот проект еще под WIZ811MJ. Теперь я уже сделал собственный такой же - мне просто возможно понадобится принудительно работать на 10 Mbit. У вас 4 и 7 ноги на разъеме Х3, который стыкуется с J2 на WIZ811MJ - неправильно: 4 надо повесить на PB2 т.е. SS, и соединить с 7.

Кстати параллельно с W5100 на SPI ничего не висит часом? У меня не висит, но я читал что там не все по стандарту.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 7 2013, 16:52
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



http://clip2net.com/s/5I1Dtz
тут мы видим, что только один /SCS используется. /CS не нужен, соответственно

http://clip2net.com/s/5I1EUZ
тут- что стоит инвертор и подключает SPI_EN к лог.1

да и на STM32 все работало в такой схеме!!!
Go to the top of the page
 
+Quote Post
vesago
сообщение Sep 8 2013, 07:49
Сообщение #9


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



У меня были проблемы с запуском w5100. Оказалось аналоговая земля в воздухе висела. Еще влияют корректные параметры - IP адрес, макадрес, который не должен с нуля начинаться. Ну и проверьте, чтобы в W5100 не был запрещен пинг. Если на STM32 работало, а на меге тот же код не работает - значит со схематиком напартачили.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 8 2013, 15:52
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



можно спросить- какой режим SPI используется в меге?
если можно, то сразу инициализацию показать.
проблему нарыл. решение пока не знаю
http://electronix.ru/forum/index.php?showtopic=115311
Go to the top of the page
 
+Quote Post
LexsLavrov
сообщение Sep 8 2013, 19:49
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 9-06-11
Из: Санкт-Петербург
Пользователь №: 65 588



В меге можно сделать любой режим SPI. Я на этом не зацикливался - сразу поставил тот, что указан в описании W5100 - поэтому не помню какой sm.gif
О! Нарыл дома!
Код
;### CONFIGURE SPI #############################################
        sbi        PORTB,4        ;set SS

        sbi        SPCR,SPE    ;enable SPI
        cbi        SPCR,DORD    ;MSB transmitted first
        sbi        SPCR,MSTR    ;set SPI master mode
        cbi        SPCR,CPOL    ;set SPI mode0
        cbi        SPCR,CPHA    ;set SPI mode0
        sbi        SPCR,SPR1    ;|
        cbi        SPCR,SPR0    ;|
        cbi        SPSR,SPI2X    ;|set SPI clock 1/64


Вот как сразу поставил этот режим - ни разу больше к этому месту кода не возвращался.

Сообщение отредактировал LexsLavrov - Sep 8 2013, 19:51
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Sep 9 2013, 06:35
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Цитата(LexsLavrov @ Sep 8 2013, 23:49) *
cbi SPCR,CPOL ;set SPI mode0
cbi SPCR,CPHA ;set SPI mode0

вот что мне надо было.
у меня так же. в таком же режиме эти биты.
Код
  SPCR = (0<<SPIE) | (1<<SPE) | (0<<DORD) | (1<<MSTR) | (0<< CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

т.е. инициализация верная.
Go to the top of the page
 
+Quote Post

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

 


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


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