Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

 
Опции темы

Вопросы ENC28J60

Непрочитано 03.07.2011, 09:18  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Исходные данные IP,MAC,DNS,шлюз,маска и т д прописывается в файле TCPIPConfig.h,который может создаваться программкой TCPIPConfig.exe если не ошибаюсь
Код:
#define MY_DEFAULT_HOST_NAME			"trt"

#define MY_DEFAULT_MAC_BYTE1            (0x00)
#define MY_DEFAULT_MAC_BYTE2            (0x04)
#define MY_DEFAULT_MAC_BYTE3            (0xA3)
#define MY_DEFAULT_MAC_BYTE4            (0x00)
#define MY_DEFAULT_MAC_BYTE5            (0x00)
#define MY_DEFAULT_MAC_BYTE6            (0x00)

#define MY_DEFAULT_IP_ADDR_BYTE1        (192ul)
#define MY_DEFAULT_IP_ADDR_BYTE2        (168ul)
#define MY_DEFAULT_IP_ADDR_BYTE3        (0ul)
#define MY_DEFAULT_IP_ADDR_BYTE4        (2ul)

#define MY_DEFAULT_MASK_BYTE1           (255ul)
#define MY_DEFAULT_MASK_BYTE2           (255ul)
#define MY_DEFAULT_MASK_BYTE3           (255ul)
#define MY_DEFAULT_MASK_BYTE4           (0ul)

#define MY_DEFAULT_GATE_BYTE1           (169ul)
#define MY_DEFAULT_GATE_BYTE2           (254ul)
#define MY_DEFAULT_GATE_BYTE3           (1ul)
#define MY_DEFAULT_GATE_BYTE4           (1ul)

#define MY_DEFAULT_PRIMARY_DNS_BYTE1	(169ul)
#define MY_DEFAULT_PRIMARY_DNS_BYTE2	(254ul)
#define MY_DEFAULT_PRIMARY_DNS_BYTE3	(1ul)
#define MY_DEFAULT_PRIMARY_DNS_BYTE4	(1ul)

#define MY_DEFAULT_SECONDARY_DNS_BYTE1	(169ul)
#define MY_DEFAULT_SECONDARY_DNS_BYTE2	(254ul)
#define MY_DEFAULT_SECONDARY_DNS_BYTE3	(1ul)
#define MY_DEFAULT_SECONDARY_DNS_BYTE4	(1ul)
Реклама:
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 03.07.2011, 20:07  
mAmper
Частый гость
 
Регистрация: 12.08.2009
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mAmper на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Цитата:
Проблема в том что у Вас один и тот же ип-адрес и у пк и у enc28j60. Достаточно поменять ип-адрес в программе на 192.168.50.2 и все заработает.
Не заработало. В коде изменил, запустил Протеус. Пингую: превышен интервал ожидания для запроса.
Цитата:
не правильно поняли, он для enc28j60 а не для пик
Это я понял, просто не правильно выразился.
Цитата:
Не хочу показаться грубым,но вы общее представление знаете как работает локальная сеть на Ethernet ? В Wireshark даж фильтр не стоит на ваш IP или MAC нужный.....
Да все нормально. С этим делом действительно толком не разбирался.
Цитата:
Через виртуалку я не делал,напрямую делал через поднятый интерейс(который включен в локалку но с добавленным IP).
И так я тоже делал, тож не работает.
Ну в принципе-то если не сильно замарачиваться как там все работает (TCP/IP и т.п.), то этого хода действий долджно быть достаточно, чтобы просто пинговать. Я считаю, что на первом этапе не обязательно досканально понимать как все работает, это дело будущего. Мне просто нужно увидеть, что че-то там шивелится.
Может я что-то упускаю, можно мне по пунктам последовательность действий для схемы на avr. Выложу исходник компилятора winavr делал в code::blocks, схему в протеусе.
Вложения:
Тип файла: rar test2.rar (97.4 Кб, 107 просмотров)
mAmper вне форума  
Непрочитано 03.07.2011, 21:34  
mAmper
Частый гость
 
Регистрация: 12.08.2009
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
mAmper на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Я думаю, стоит обрисовать мою задачу изучения устройства ethernet.
Ну вот по каким-то причинам решил изучить ethernet (не суть важно). Залез в гугл. Проанализировал решения проблемы. Самым привлекательным решением оказался проект с tuxgraphics (кстати не так уж и много решений всего, в совновном клоны друг друга). Подкупило, что автор пишет об отработанности решения. Привлекательно изложена методика отстройки по шагам в железе. Зная о вполне достоверной симуляции в протеусе решил сначала там и попробовать. Кроме того Протеус позволяет более глубоко понять работу схемы. Ведь можно смотреть регистры устройств помимо мк (вы и сами все понимаете) и обойтись может быть "малой кровью".
Мне кажется вполне логичным мое желание увидеть первые скромные результаты, таким образом укрепить интерес, сразу убедиться, что схема в принципе рабочая. Чтобы не оставалось сомнений, что я что-то делаю зря. А уже после изучать протокол ethernet и работу стека TCP/IP.
Ну вот в общих чертах так.
mAmper вне форума  
Непрочитано 03.07.2011, 22:53  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

да нет, не так - сначала изучают все уровни транспортных протоколов, реализацию каждого уровня, слабые-сильные стороны, примеры, работу стека TCP/IP, потом делается в ЖЕЛЕЗЕ проект с tuxgraphics на МЕГЕ16 (вам подумать - зачем на меге16?), делается AVR JTAG и отлаживается-просматривается в железе в студии, а не в онаношпротеусе (пол-интернета в соплях - отчего не работает мой проект в этой гадости?)
в шпротеусе можно отлаживать небольшие блоки программы или программы, но если есть полное понимание где и почему происходит сбой, есть знания как отловить ошибки модели из шпротеуса, умения написать тест для модели и различить кто виноват - симулятор или программа (программист). иначе ждет непонимание происходящих процессов и разочарование
jump вне форума  
Непрочитано 04.07.2011, 23:13  
vvkka
Прописка
 
Регистрация: 24.08.2005
Сообщений: 140
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

вобщето всю ветку нечитал, но вот вопрос есть ли с enc28j60 проекты с под АРМ32. ну естественно хочется взгленуть на исходник.
вобщето конечно должнабыть библиотека под enc28j60, но пока нестричал
прошу неругать искать просто мало времени
vvkka вне форума  
Непрочитано 22.07.2011, 12:03  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от CERGEI1982 Посмотреть сообщение
Есть предложение к людям: Давай разберем стек TCP/IP фирмы microchip например для PIC18F67J60 взятый с демо платы тритона.Можно начать с отдельных файлов нужных для примитивного пинга.Потом все свяжем в кучу как идут вызовы в main.c.
Если кому идея по нраву могу начать с mac.h,ETH97J60.h,ETH97J60.c.
Исходники и сама схема выложена http://trt.ru/design/solutions/trt-ethernet.htm
Пришла демо платка с trt.ru,остался очень доволен.Попробывал их прошивки и уже собрал свою чисто пинг.Огорчило то что нет фрагментации пакетов по IP,так понял из-за малого объема памяти под буфер изернет.Теперь соберу свою платку и прикручу дисплей для пинга сетей,с менюшкой для пинга нужного IP до максимального MTU.
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 22.07.2011, 12:10  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от CERGEI1982 Посмотреть сообщение
Теперь соберу свою платку и прикручу дисплей для пинга сетей,с менюшкой для пинга нужного IP до максимального MTU.
Боже мой, не проще ли носить с собой какой-нибудь еее-рс с экраном 7 дюймов?
Easyrider83 вне форума  
Непрочитано 22.07.2011, 12:42  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от Easyrider83 Посмотреть сообщение
Боже мой, не проще ли носить с собой какой-нибудь еее-рс с экраном 7 дюймов?
Кому как удобно,я никого не заставляю.Двигаюсь в сторону веб-сервера.
Продолжить хош ? тогда можеш тут поспорить https://kazus.run/forums/showthread.php?t=12066
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 30.07.2011, 22:53  
selevo
Заблокирован
 
Регистрация: 15.04.2010
Адрес: Ижевск
Сообщений: 384
Сказал спасибо: 24
Сказали Спасибо 45 раз(а) в 35 сообщении(ях)
selevo на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

есть готовый проект ?
нажал кнопку на сайте ,лампа загорелась.

Есть проект на atmega88 нужен подобный но под винду.
http://www.rlocman.ru/shem/schematics.html?di=55066
selevo вне форума  
Непрочитано 31.08.2011, 13:26  
tanrubaka
Прохожий
 
Регистрация: 28.07.2011
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
tanrubaka на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

ENC28J60 и STR710. есть работающий проект. но по SPI передача и прием идет по 16 бит. неудобство в считывании/записи буфера. вот так:
void netbuf_read(void *buffer, int len)
{ unsigned short v;
netbuf_rdpt=netbuf_rxwrap(netbuf_rdpt+len);
while (len--)
{
spi_cs(1);
v = netbuf_pending=ENC28_RBM;
spi_putc( v ‹‹ ; /* ERDPT is preset */
spi_cs(0);
*((unsigned char *)buffer)=spi_getc();
buffer=((unsigned char *)buffer)+1;
}
/* leave SPI open */
}
void netbuf_write(void *buffer, int len)
{ unsigned short v;
netbuf_wrpt+=len;
netbuf_wrpt&=ENC28_BUFSIZE-1;
while (len--)
{
v = netbuf_pending=ENC28_WBM;
v = (v ‹‹ | *((unsigned char *)buffer);
spi_cs(1);
spi_putc(v);
spi_cs(0);
buffer=((unsigned char *)buffer)+1;
}
}
каждый раз происходит переключение CS, занимает очень много времени. хотелось сделать что-то типа :
// Чтение данных из буфера (по адресу в регистрах ERDPT)
void enc28j60_read_buffer(uint8_t *buf, uint16_t len)
{
enc28j60_select();
enc28j60_tx(ENC28J60_SPI_RBM);
while(len--)
*(buf++) = enc28j60_rx();
enc28j60_release();
}
// Запись данных в буфер (по адресу в регистрах EWRPT)
void enc28j60_write_buffer(uint8_t *buf, uint16_t len)
{
enc28j60_select();
enc28j60_tx(ENC28J60_SPI_WBM);
while(len--)
enc28j60_tx(*(buf++));
enc28j60_release();
}
пытался делать так на 8 бит по SPI, но в этом случаи читает первый байт, а после один и тотже. не переходя к следующим.
если не переключать CS каждый раз при команде чтения типа:
spi_cs(1);
while (len--)
{
spi_putc( v ‹‹ ;
*((unsigned char *)buffer)=spi_getc();
buffer=((unsigned char *)buffer)+1;
}
spi_cs(0);
приходят беспорядочные данные. в чем может быть проблема? с SPI или настройки ENC28J60?
tanrubaka вне форума  
 
Опции темы

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

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

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


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.