Ethernet модуль на W5100 - не могу запустить.
- Войдите на сайт для отправки комментариев
Ср, 09/07/2014 - 15:52
Имел ли кто-нибудь из присутствующих на форуме дело вот с таким
шилдом ?
Это не ENC28J60, это W5100 [в извращенной форме]. SS,MISO,MOSI,SCK,+5V,GND подключаю к Arduino Mega на 53,50,51,52, все, как указанно здесь http://arduino-info.wikispaces.com/Ethernet. Подаю питание, подключаю витую пару - светодиоды горят все, что должны гореть.
Запускаю пример из библиотеки Ethernet.
Ethernet.begin(mac,ip); Serial.println(Ethernet.localIP()); - выдает 0.0.0.0, иногда выдает бессмыслицу.
Про распиновку, проверку контактов, аппаратный SS на 53-ем пине Меги - не надо, интересуюсь лишь, работал ли кто именно с таким шилдом (хорошо бы, конечно, на Arduino Mega).
Заранее благодарен откликнувшимся.
да, работал с таким, только плата - синего цвета.
http://devicter.blogspot.ru/2013/02/web.html
Благодарю, ссылка полезная, взял оттуда функцию ресета шилда. На ресет реагирует адекватно, видно по светодиодам. Думаю, что сам шилд вполне работоспособен, просто я не могу до него достучаться. Скорее всего, стучусь не в те пины. Пытался проследить, на какие пины шлет команды стандартная библиотека в случае Меги, пока безрезультатно. Жаль, мои Уно и Нано все заняты работой, не хочется разбирать.
ustas, Вы его случайно не к Меге подключали ?
А нужно ли варить кофе с целью погадать что у вас еще подключено на SPI и как настроена ваша сеть и пробовали ли вы выдать ему насильно IP?
Уже не нужно варить, уже не нужно гадать. Проблема решена.
Фраза "Arduino communicates with the shield using the SPI bus. This is on digital pins 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used as SS. On the Mega, the hardware SS pin, 53, is not used to select the W5100, but it must be kept as an output or the SPI interface won't work." была мною замечена еще вчера, но подключение SS к 10-му пину дало долгожданный результат только вкупе с ресеттингом шилда при старте скетча. Алилуйя ! Теперь буду испытывать новый шилд на стабильность работы, а затем переписывать скетч с enc28j60 на w5100.
ustas, респект Вам.
О как. Тоесть назначение 10 пина в качестве чип селекта в скече было для вас не очевидно? И про распиновку просили не гадать.
Еще раз : без ресета он (у меня) не работает ни на 53-м, ни на 10-м пине, то есть распиновка была испробована в обоих вариантах.
Ну так это же вроде логично, про ресет.
Теперь уже да )). Просто предшественнику (enc28j60) я ресетов не делал.
Вообщето ресет встроен в процесс инициализации в библиотеке. Просто провод нужно подсоединять.
Уважаемые, подскажите, как реализовать работу данного шилда на меге 2560 r3, по SPI с использованием SS на 53 pin, с SS на 10 пин, все нормально работает, а как заставить на 53??? Где надо изменить spi.h и на что, по аналогии в http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/
вносим изменения в файле w5100.h
1
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
2
inline
static
void
initSS() { DDRB |= _BV(0); };
// вместо Pin 10 используем Pin 53
3
inline
static
void
setSS() { PORTB &= ~_BV(0); };
4
inline
static
void
resetSS() { PORTB |= _BV(0); };
5
6
//inline static void initSS() { DDRB |= _BV(4); };
7
//inline static void setSS() { PORTB &= ~_BV(4); };
8
//inline static void resetSS() { PORTB |= _BV(4); };
вносим изменения в файле w5100.h
Спасибо, всё гениальное - просто!!!!
Други, подскажите, может кто пытался подружить данный Ethernet шилд на w5100 с SD шилдом https://www.ebay.com/itm/261720518170 на меге через 50, 51, 52 и 53 пинах?
Други, подскажите, может кто пытался подружить данный Ethernet шилд на w5100 с SD шилдом https://www.ebay.com/itm/261720518170 на меге через 50, 51, 52 и 53 пинах?
Этот micro-SD шилд гадит в линию MISO. Лечение - MISO цеплять через 74HC125.
а какой SD шилд не гадит?
а какой SD шилд не гадит?
Сложно сказать. Есть, которые нормально отпускают линии при поднятии CS в HIGH. Указанный вами (имею такой же) при поднятии CS в HIGH продолжает тянуть линии данных к питанию, так уж там сделана подтяжка. Можно перепаять, я решил проще - 74HC125 и MISO модуля пустил через него - запараллеливаем CS модуля и OE канала 74HC125, и получаем, что когда CS в высоком уровне - MISO от модуля в High-Z состоянии, что решает все проблемы. У меня тоже с W5100 этот модуль одновременно работать не хотел, сейчас - всё решено указанным способом. Считаю, что лучше так сделать, дело копеечное, чем перепаивать или надеяться на расово верные модули.
а какой SD шилд не гадит?
Сложно сказать. Есть, которые нормально отпускают линии при поднятии CS в HIGH. Указанный вами (имею такой же) при поднятии CS в HIGH продолжает тянуть линии данных к питанию, так уж там сделана подтяжка. Можно перепаять, я решил проще - 74HC125 и MISO модуля пустил через него - запараллеливаем CS модуля и OE канала 74HC125, и получаем, что когда CS в высоком уровне - MISO от модуля в High-Z состоянии, что решает все проблемы. У меня тоже с W5100 этот модуль одновременно работать не хотел, сейчас - всё решено указанным способом. Считаю, что лучше так сделать, дело копеечное, чем перепаивать или надеяться на расово верные модули.
а можно схему включения 74HC125 к шилду?
а можно схему включения 74HC125 к шилду?
Так в даташите же есть, там всё просто, как блин:
1. На ногу OE (1OE или 2OE или 3OE или 4OE - какой канал выберете) канала заводим сигнал, который будет включать канал, если низкий уровень (в нашем случае - кидаем туда сигнал с того же пина, на который подвешен CS для SD-модуля). Далее - от разъёма MISO SD-модуля кидаем линию на вход канала 74HC125 (1A или 2А или 3А или 4А - какой канал выберете), выход этого же канала (1Y или 2Y или 3Y или 4Y - какой канал выберете) - к MISO шины SPI, всё.
Распиновка микрухи есть в даташите: http://pdf1.alldatasheet.com/datasheet-pdf/view/15531/PHILIPS/74HC125.html
Т.е. буквально несколько проводков - и всё, ничего сложного там нет.
а можно схему включения 74HC125 к шилду?
Так в даташите же есть, там всё просто, как блин:
1. На ногу OE (1OE или 2OE или 3OE или 4OE - какой канал выберете) канала заводим сигнал, который будет включать канал, если низкий уровень (в нашем случае - кидаем туда сигнал с того же пина, на который подвешен CS для SD-модуля). Далее - от разъёма MISO SD-модуля кидаем линию на вход канала 74HC125 (1A или 2А или 3А или 4А - какой канал выберете), выход этого же канала (1Y или 2Y или 3Y или 4Y - какой канал выберете) - к MISO шины SPI, всё.
Распиновка микрухи есть в даташите: http://pdf1.alldatasheet.com/datasheet-pdf/view/15531/PHILIPS/74HC125.html
Т.е. буквально несколько проводков - и всё, ничего сложного там нет.
Так подожди, на моем шилде уже стоит 74LVC125A, это ж вроде тоже самое что и 74HC125, так в чем может быть проблема? Или там не реализована данная логика?
Так подожди, на моем шилде уже стоит 74LVC125A, это ж вроде тоже самое что и 74HC125, так в чем может быть проблема? Или там не реализована данная логика?
Ты померь мультиметром, чего на линии MISO, когда CS SD-модуля - в HIGH. И если там 5В - это подтяжка самого модуля хернёй страдает, таща шину вверх. Из-за этого будут проблемы, когда дуина будет читать из MISO, общаясь с другим слейвом на SPI, например, с тем же W5100.
Шо там стоит на SD-модуле - это отдельная песня, там помимо этого сделана подтяжка линий к питанию, глянь там резюки стоят - проследи, куда идут. Но лучше и проще - тупо быстренько померять мультиметром, предварительно заглушив модуль, подсоединив его CS к питанию. У расово верного модуля не должно быть 5В на линии MISO в этом случае.
на модуле SD стоит LVC125a, причем MISO выходит с него рекомендованным образом.
с 4Y идет прямо на выход, ничего лишнего типа подтяжек не прицеплено, ноги управления все запараллелены, куда вот только?
я прифигел НА ЗЕМЛЮ! то есть постоянно активно :(
таким образом для достижения требуемого результата 13 ногу надо поднять и кинуть перемычкой на CS.
точный рецепт: поднять 13 ногу в воздух и с нее кинуть перемычку на R1.
Сразу начинает работать правильно в паре с w5100.
Потребуются: хороший паяльник с очень тонким жалом (практически игла), тонкая игла, чтобы подцепить ножку, самый тонкий монтажный провод в лаке, мощные очки, прямые руки.
после манипуляции все залил каплей циакрина.
Вот только ножку так лучше не изгибать: велик шанс, что обломится у корпуса...
Однократный перегиб стерпела, а паять так удобнее.
оно все такое мелкое, что радиус изгиба подобрать не получилось
Уважаемые форумчане пытаюсь подключить такой же девайс к ардуино нано но выходит одна и таже ошибка: