Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.04.2011, 13:36  
forgid
Прохожий
 
Регистрация: 23.04.2010
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
forgid на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от borysik Посмотреть сообщение
Кому надо могу дать разводку в лайауте. И схему рабочую в протеусе.
Дайте пожалуйста плату в лайоуте
Реклама:
forgid вне форума  
Непрочитано 15.05.2011, 18:46  
AndreiVV
Гражданин KAZUS.RU
 
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
AndreiVV на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

подскажите как послать с enc28j60 команду ping на пк или другую такую же enc28j60
AndreiVV вне форума  
Непрочитано 16.05.2011, 09:26  
rear
Вид на жительство
 
Аватар для rear
 
Регистрация: 30.12.2006
Адрес: Junktown
Сообщений: 300
Сказал спасибо: 164
Сказали Спасибо 171 раз(а) в 59 сообщении(ях)
rear на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от AndreiVV Посмотреть сообщение
подскажите как послать с enc28j60 команду ping на пк или другую такую же enc28j60
Пинг - это ICMP запрос по указанному IP адресу.
вам нужно сформировать этот запрос, и отправить пакет, потом запустить таймер, и ждать ответ. Если придет ICMP ответ, сравнить то что пришло, с тем что отправляли. Если совпадает, значит пинг прошел. Если ответ не пришел вовремя, значит пакет потерян

в общем, разбирайте структуру ICMP сообщений

Сам запрос может быть примерно так:

Код:
extern void send_icmp_request(uint8_t *dest_ip, uint8_t *dest_mac, uint8_t *buf,
                              uint16_t sequence_num, uint8_t *ping_msg, uint8_t msg_len){
    uint8_t i;
    uint16_t ck;
    // заповняємо поля пакета
    // ethernet header
    set_eth(buf, dest_mac, ETHTYPE_IP_V);
    set_ip(buf, dest_ip, IP_PROTO_ICMP_V, (msg_len + 8));
    // END OF IP HEADER
    // заповняємо секцію ІР даних
    // START ICMP HEADER
    buf[ICMP_TYPE_P] = ICMP_TYPE_ECHOREQUEST_V;
    // type
    buf[ICMP_TYPE_P + 1] = 0x00;
    //checksum = 0
    buf[ICMP_CHECKSUM_P] = 0x00;
    buf[ICMP_CHECKSUM_P + 1] = 0x00;
    //
    buf[ICMP_ID_H_P] = 0x55;
    buf[ICMP_ID_L_P] = 0x55;
    //
    buf[ICMP_SEQ_H_P] = (uint8_t)(sequence_num ›› 8);
    buf[ICMP_SEQ_L_P] = (uint8_t)(sequence_num & 0xFF);
    i = 0;
    while (i ‹ msg_len){
        buf[ICMP_MSG_P + i] = *(ping_msg + i);
        i++;
    }
    //
    ck=checksum(&buf[ICMP_TYPE_P], (msg_len + 8),0);
    buf[ICMP_CHECKSUM_P]=ck ›› 8;
    buf[ICMP_CHECKSUM_P+1]=ck& 0xff;
    enc28j60PacketSend(8 + IP_HEADER_LEN + ETH_HEADER_LEN + msg_len, buf);
}
__________________
Всегда стремись к недоступному
rear вне форума  
Сказали "Спасибо" rear
AndreiVV (16.05.2011)
Непрочитано 16.05.2011, 13:06  
di_halt
Прописка
 
Аватар для di_halt
 
Регистрация: 17.10.2006
Сообщений: 147
Сказал спасибо: 2
Сказали Спасибо 22 раз(а) в 11 сообщении(ях)
di_halt на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Вот тут подробно расписана работа с ENC28J60 на примере AVR от азов сети до построения полноценного вебсервера на Atmega32 с рабочим чатом и кнопочками.

Теория
Работа с ENC28J60
UDP сервер
UDP клиент
работа с DHCP и бродкаст сообщения
tcp клиент
http и CGI
HTTP и TCP часть 2
http и CGI (заключение)
Тесты производительности и краткое описание получившегося стека
FAQ (в процессе написания)
__________________
Мой блог по электронике - www.easyelectronics.ru
di_halt вне форума  
Эти 8 пользователя(ей) сказали Спасибо di_halt за это сообщение:
AndreiVV (16.05.2011), finevlad (17.05.2011), grbizly (16.05.2011), kaf-0 (16.05.2011), kalina105 (16.05.2011), rear (16.05.2011), Uz_Sleep_Walker (18.05.2011), vsky (19.05.2011)
Непрочитано 16.05.2011, 13:11  
di_halt
Прописка
 
Аватар для di_halt
 
Регистрация: 17.10.2006
Сообщений: 147
Сказал спасибо: 2
Сказали Спасибо 22 раз(а) в 11 сообщении(ях)
di_halt на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Вот еще, до кучи:

Вебсервер на Tiny2313 от того же товарища. Чисто ради лулзов, т.к. ни на что больше места там уже почти не осталось
__________________
Мой блог по электронике - www.easyelectronics.ru
di_halt вне форума  
Сказали "Спасибо" di_halt
rear (16.05.2011)
Непрочитано 16.05.2011, 14:48  
artist
Частый гость
 
Регистрация: 01.07.2005
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
artist на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сначала посылаем arp запрос, если ответили можно запускать пинг, если нет то пинг можно не запускать пинг т.к данный узел в сети отсутствует
artist вне форума  
Непрочитано 16.05.2011, 20:20  
AndreiVV
Гражданин KAZUS.RU
 
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
AndreiVV на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от rear Посмотреть сообщение
Пинг - это ICMP запрос по указанному IP адресу.
вам нужно сформировать этот запрос, и отправить пакет, потом запустить таймер
то есть не важно что отсылать?
AndreiVV вне форума  
Непрочитано 17.05.2011, 02:58  
urmlr
Почётный гражданин KAZUS.RU
 
Аватар для urmlr
 
Регистрация: 15.07.2009
Адрес: San Jose, USA
Сообщений: 927
Сказал спасибо: 11
Сказали Спасибо 228 раз(а) в 166 сообщении(ях)
urmlr на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от artist Посмотреть сообщение
Сначала посылаем arp запрос, если ответили можно запускать пинг, если нет то пинг можно не запускать пинг т.к данный узел в сети отсутствует
Красиво, но к сожалению, неверно. arp касается лишь локальной сети и дальше default gateway не уходит, а пинговать можно хоть Африку, хоть яндекс.

Соответственно, если адрес назначения в пакете не является адресом локальной подсетки, то посылается такой пакет, в том числе и пинг, на default gateway.
urmlr вне форума  
Непрочитано 17.05.2011, 03:05  
urmlr
Почётный гражданин KAZUS.RU
 
Аватар для urmlr
 
Регистрация: 15.07.2009
Адрес: San Jose, USA
Сообщений: 927
Сказал спасибо: 11
Сказали Спасибо 228 раз(а) в 166 сообщении(ях)
urmlr на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от AndreiVV Посмотреть сообщение
то есть не важно что отсылать?
Смотря в каком смысле. Пинг, вообще-то, имеет определённый формат и его надо выдержать. То, что не определяется форматом (длина пакета например) можно делать как б-г на душу положит, хотя есть риск что не все системы отнесутся к этому благосклонно.
urmlr вне форума  
Непрочитано 17.05.2011, 12:40  
artist
Частый гость
 
Регистрация: 01.07.2005
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
artist на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Обычно подобные устройства работают в прнделах локальной сети,а чтобы достучаться до гейтвея опять нужно посылать arp запро,мас то узнать как то надо, а что касаетсчя пинга то тут лучше всего посмотреть например
wiresharkом как и куда комп отсылает пакеты и что получает в ответ.
artist вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot