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

 
 
7 страниц V  « < 4 5 6 7 >  
Reply to this topicStart new topic
> Работа с ENC28J60
WHALE
сообщение Nov 30 2009, 07:35
Сообщение #76


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(HALFer @ Nov 30 2009, 01:33) *
после того как сделал абсолютно все рекомендации в эррате к 6 ревизии + прикрутил маленький шаманский бубен все работает уже вот 3 недели на подоконнике под постоянными fping'ами (100мс период, 256 байт длина) + время от времени в перекурах кнопаю его web-интерфейс. все шарашит нормально smile.gif
шаманство заключалось в том, что раз в минуту проверяю к-во входящих пакетов (после выполнения последней эрраты редко зависает только прием пакетов). если их нет (а они будут, т к включено это все в офисную сеть с 50+ компутерами) то под зад его софтовым ресетом и все пучком. судя по статистике такое случалось всего 4 раза за 3 недели. клокать мегу от enc (потому ногу reset enc на мегу цеплять запрещаеца smile.gif ). входные пакеты проверять только "полингом".
вот собстна после бессоных ночей только в таком режиме и заработала более-менее.
ну а если за минуту вдруг действительно не было ниодного пакета, то имхо ничего страшного, лишний ресет не помешает smile.gif всеравно в эфире тишина

А у меня все ровно наоборот... нога ресет ENC заведена на мегу,и тактируется мега от собственного кварца и работаю я по прерываниям.
Последний раз к девайсу прикасался месяца 3 назад-ничего не виснет.Что я делаю неправильно?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
kernel
сообщение Nov 30 2009, 09:03
Сообщение #77


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Цитата(WHALE @ Nov 30 2009, 14:35) *
...нога ресет ENC заведена на мегу,и тактируется мега от собственного кварца и работаю я по прерываниям.
Последний раз к девайсу прикасался месяца 3 назад-ничего не виснет.Что я делаю неправильно?

У меня так же - ATMEGA16 с собственным кварцем 16MHz, к ней подведена нога INT и RESET enc28j60. Но через некоторое время EPKTCNT виснет на нуле, т.е. входящих пакетов всегда нет sad.gif WHALE, а у Вас какая ревизия чипа?
Go to the top of the page
 
+Quote Post
WHALE
сообщение Nov 30 2009, 09:08
Сообщение #78


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



насчет ревизии-уже не помню.я начинал с ней долбаться в конце 2008 и уже забыл.
если хотите-могу вам отправить свои исходники.Попробуйте из них что-нибудь извлечь.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
kernel
сообщение Nov 30 2009, 09:14
Сообщение #79


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Цитата
насчет ревизии-уже не помню.я начинал с ней долбаться в конце 2008 и уже забыл.
если хотите-могу вам отправить свои исходники.Попробуйте из них что-нибудь извлечь.

Отправьте, пожалуйста. Почту сейчас в ЛС скину. Заранее благодарю.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Nov 30 2009, 09:27
Сообщение #80


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



отправил


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
kernel
сообщение Nov 30 2009, 09:37
Сообщение #81


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Цитата
отправил

Огромное спасибо, WHALE!
По схеме: уже не первый раз замечаю, что CS у ENC подтягивают резистором, а у меня не подтянут. Может быть это влияет отрицательно на ЕНКшку? У меня схема соединения ENC та же (даже все компоненты и их номиналы совпадают с Вашей схемой), за исключением резистора на CS.
Go to the top of the page
 
+Quote Post
WHALE
сообщение Nov 30 2009, 09:41
Сообщение #82


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Ну так повесьте резистор-минутное дело.Правда,не думаю,что это сильно поможет..


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
kernel
сообщение Dec 2 2009, 12:19
Сообщение #83


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Попробовал ловить пакеты по прерыванию даже не проверяя EPKTCNT (следовал примеру WHALE, т.к. даже схема соединения ENC почти полностью совпадает), девайс работал еще быстрее, чем без INT, но ENC также продолжал виснуть через несколько минут\часов в основном после простоя sad.gif Пока сделал, как предложил HALFer, рестарт и переинициализацию enc28j60 каждую минуту (только при условии, если EPKTCNT == 0), девайс работает, но это, мягко говоря, не очень хороший вариант. В выходные попробую поставить на CS резистор, но, думаю, толку от этого не будет sad.gif
Go to the top of the page
 
+Quote Post
WHALE
сообщение Dec 2 2009, 13:46
Сообщение #84


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



У вас МЕГА работает на 16Mhz.А питаете её от 5V?правильно-ли согласовали уровни с ENC.
У меня,если обратили внимание,Мега висит вместе с ENC на 3,3V и тактируется от 8Мгц.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
kernel
сообщение Dec 2 2009, 15:21
Сообщение #85


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Цитата(WHALE @ Dec 2 2009, 20:46) *
У вас МЕГА работает на 16Mhz.А питаете её от 5V?правильно-ли согласовали уровни с ENC.
У меня,если обратили внимание,Мега висит вместе с ENC на 3,3V и тактируется от 8Мгц.

Мега работает на 16MHz, питание 5В. Уровни согласовал с помощью 74HCT08N (который, кстати, рекомендуется в даташите самого ENC28J60), схему приводил выше, да вроде с этим не должно быть проблем (уровни воспринимаются нормально), хотя на всякий случай я пробовал менять на ходу на другую 74HCT08N (другого производителя) - результат тот же.
Только что выяснилась неприятная особенность: общение с девайсом абсолютно прекращается через некоторое время (т.е. после "зависания"). Как оказалось, не работает даже сброс, в том числе и аппаратный.
Проблем с инициализацией SPI вроде быть не должно (SPCR = (1<<SPE)|(1<<MSTR); SPSR |= (1<<SPI2X)wink.gif, тем более что нога RESET через некоторое время тоже не воспринимает сигнал sad.gif
Go to the top of the page
 
+Quote Post
WHALE
сообщение Dec 2 2009, 16:49
Сообщение #86


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Что значит "не работает даже сброс"? Вы видите осцилографом,что мега ресетит ENC, и обмен при этом не
возобновляется?Или мега тоже зависает?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
kernel
сообщение Dec 2 2009, 17:26
Сообщение #87


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Цитата(WHALE @ Dec 2 2009, 23:49) *
Что значит "не работает даже сброс"? Вы видите осцилографом,что мега ресетит ENC, и обмен при этом не
возобновляется?Или мега тоже зависает?

Каждую минуту таймер выполняет следующие действия: подается на порт со светодиодом 1 - светодиод горит; выполняется ресет (хардварный) с инициализацией ENC; подается на порт со светодиодом 0 - светодиод не горит. Результаты таймера через некоторое время немного другие: светодиод меняет свое состояние, а ENC не сбрасывается (когда ENC ресетится - это видно даже по светодиоду link`а, который должен погасать на несколько сотен миллисекунд во время сброса). После зависа пакеты ENC принимает (другой светодиод моргает при приеме пакетов), при этом не срабатывает прерывание, не заполняется положительным числом регистр EPKTCNT (который и должен сообщать о приходе пакета). Точно вспомнить не могу, но, если я не ошибаюсь, не помогает даже установка другой ревизии ENC28J60 на ходу. Складывается впечатление, что виснет SPI у ATMEGA.

Сообщение отредактировал kernel - Dec 2 2009, 17:27
Go to the top of the page
 
+Quote Post
WHALE
сообщение Dec 2 2009, 18:47
Сообщение #88


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



я даже не представляю,что надо сделать чтобы повесить мегу-мастера spi.
а установка ревизии ENC на ходу-это как и зачем?Она-же только читается.
вы не пробовали поставить мой протокол инициализации и приема пакетов?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
niXto
сообщение Dec 2 2009, 19:27
Сообщение #89


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 24-06-09
Из: Беларусь
Пользователь №: 50 607



Цитата(kernel @ Dec 2 2009, 20:26) *
Каждую минуту таймер выполняет следующие действия: подается на порт со светодиодом 1 - светодиод горит; выполняется ресет (хардварный) с инициализацией ENC; подается на порт со светодиодом 0 - светодиод не горит. Результаты таймера через некоторое время немного другие: светодиод меняет свое состояние, а ENC не сбрасывается (когда ENC ресетится - это видно даже по светодиоду link`а, который должен погасать на несколько сотен миллисекунд во время сброса). После зависа пакеты ENC принимает (другой светодиод моргает при приеме пакетов), при этом не срабатывает прерывание, не заполняется положительным числом регистр EPKTCNT (который и должен сообщать о приходе пакета). Точно вспомнить не могу, но, если я не ошибаюсь, не помогает даже установка другой ревизии ENC28J60 на ходу. Складывается впечатление, что виснет SPI у ATMEGA.

Очень сомневаюсь, что СПИ может зависнуть. Сам прикручиваю к мегам16-32, 48-88 цветные ЖКИ - там в одном пакете на дисплей идет 96*132*2= 25 тысяч байт, если б хотя бы 1 байт завис - были бы серьезные артефакты. А так все идеально, причем неделями напролет... Ищите косяки в коде, или глюки у ENC
Go to the top of the page
 
+Quote Post
showone
сообщение Dec 3 2009, 14:15
Сообщение #90


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 15-07-05
Пользователь №: 6 832



подскажите люди знающие.
задача: есть простейший логер, на ATmega168, получает 50 байт по UART и пишет в AT45DB321D.
нужно эти данные (все или вновь добавленные) передать по TCP/IP на комп.
взял ENC28J60H подключил по примеру http://www.tuxgraphics.org/electronics/200...icle06111.shtml
TCP/IP их же. связка заработала.

инициатором запроса пересылки данных выступает комп в сети.

подскажите как правильно реализовать обмен данными в TCP/IP ?

сделал по примеру WEB сервера т.е. на запрос от компа в сети, отвечаю данными по 50 байт - работает.
но если за данными приходится лезть во флешку, а потом отвечать на запрос, то приложение на компе вылетает в TIMEOUT.

где почитать про обмен данными ? или как правильно реализовать механизм передачи данных из флеш в комп ?
Go to the top of the page
 
+Quote Post

7 страниц V  « < 4 5 6 7 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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