Метценгерштейн 0 7 сентября, 2013 Опубликовано 7 сентября, 2013 · Жалоба Имел до этого опыт работы с W5100 и STM32, все работало как надо. Перевел проект под AVR, работает не стабильно. То пинговалось, теперь даже этого не делает. Схему перепроверил, подключил логич. анализатор на MISO MOSI SCK, что вывожу в SPI, то вижу на ЛА. Уровни фронтов осциллом нормальные. В общем, тупик полный.... Кого бы попросить посмотреть в проект, схему, и может у кого есть проект под АВР и W5100 под ИАР, прислать мне его, попробую скомпилить. проект + схема. http://files.mail.ru/1401C586534949B29DDEC889D6847676 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 8 сентября, 2013 Опубликовано 8 сентября, 2013 · Жалоба проблема обнаружилась вот в чем- записал в W5100 по адресу 0x000F число 172, теперь его считываю в коде WIZ_SPIInit(); //инициализация в AVR iinchip_init(); Delay (20 MS); IINCHIP_WRITE (0x000F, 172); for (;;) { putHEX (IINCHIP_READ (0x000F)); putString (" \r\n"); Delay (2000 MS); } uint8_t IINCHIP_READ(uint16_t addr) { uint8_t temp = 0; off (WIZ_SCS); temp = SPI_Exchg (0x0f); temp = SPI_Exchg ((addr & 0xFF00) >> 8); temp = SPI_Exchg (addr & 0x00FF); temp = SPI_Exchg (0xff); Delay(2 MKS ); // небольшая задержка при поднятии CS на 2 мкс (32 МГц)- чтобы не сразу за CLK поднимался on (WIZ_SCS); return temp; } параллельно включил логич. анализатор- есть у меня на Rigol он. И смотрю последний- 4-й байт, заодно в консольку закидываю значение. То, что в консолку пишет- то и я вижу на ЛА. и пишет мне AC AC AC 98 58 AC .. и ЛА показывает, что MISO не AC принимает. Принимает хрень. Как только подключил щуп осцилла, чтобы реальность посмотреть, так и ни одного сбоя нет и и фронты ровные и всегда AC выводит. Стоит убрать- опять через раз-два пишет хрень. А почему так? инициализация PORTB = (0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(1<<1)|(0<<0); // все ноги в 0 DDRB =(1<<7)|(1<<6)|(1<<5)|(1<<4)|(1<<3)|(1<<2)|(1<<1)|(1<<0); // все ноги на вывод PB4- это MISO делал его и входом и выходом- один хрен. http://s2.ipicture.ru/uploads/20130908/TAwtma4I.jpg вот что на ЛА происходит- считал число 172. а вот что дает даташит на W5100 http://clip2net.com/s/5Ik5Nh и на проекте STM32 тоже биты CPOL, CPHA были 0 и 0. тут наверное, пошел плату спиртом мыть ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LexsLavrov 0 8 сентября, 2013 Опубликовано 8 сентября, 2013 · Жалоба Очевидно подключение осцилла делает ногу MISO не болтающейся в воздухе, а все-таки с какой-то емкостью на землю. Нога меги MISO сконфигурирована как вход? а, вижу... Ну мож пулап такой-нить присандалить, или пуллдаун. Хотя у меня все работало четко без пуллов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 9 сентября, 2013 Опубликовано 9 сентября, 2013 · Жалоба void SPI_Init(void) { SPI_PORT |= (1<<SCK)|(1<<MOSI)|(1<<MISO); // PORT_SPI &= ~(1<<SCK); SPI_DDR |= (1<<SCK)|(1<<MOSI); SPI_DDR &= ~(1<<MISO); SPSR = (1<<SPI2X); SPCR = (1<<SPE)|(1<<MSTR); //Mode 0 } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 9 сентября, 2013 Опубликовано 9 сентября, 2013 · Жалоба промыл плату- все нормально стало- где-то залипон висел. ловим дальше глюки... странно ведет себя, если ставлю ф-ю recv (0, recv_IP, RX_dataSize); приводит к ресету процессора и выполнение заново main(); питание и ресет не дергаются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 13 сентября, 2013 Опубликовано 13 сентября, 2013 · Жалоба кто замечал, что при вызове ф-ии sendto (); в ней при выполнении IINCHIP_WRITE(Sn_CR(s),Sn_CR_SEND); происходит прерывание? в даташите не нашел, что должно быть так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться