|
|
  |
Работа с ENC28J60 |
|
|
|
Jul 26 2007, 07:10
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 20-01-06
Из: Нижний Новгород
Пользователь №: 13 414

|
Цитата(zltigo @ Jun 29 2007, 17:41)  Лучше это изделие 2005 года положить в мусорник и припаять тот, который 0х05 возвращает. При тактировании микроконтроллера непосредственно от ENC, согласовании уровней, использовании последнего Микрочиповского стека и выполнении всех рекомендаций Errata у нас успешно работают все ревизии ENC. Но правда за год уже обновляли раза три ревизию стека, чтобы от глюков избавиться. И не факт, что микрочиповцы еще багов в стеке не наловят  Цитата(zorromen @ May 15 2007, 08:52)  2) Там нада какойта ферит нада ... че это ваще ... Феррит - любой дроссель 0805 типа BLM21PG
|
|
|
|
|
Jul 27 2007, 07:18
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Алексей Непочатов @ Jul 26 2007, 10:10)  При тактировании микроконтроллера непосредственно от ENC.... Большое "удобство"  Цитата использовании последнего Микрочиповского стека.... В котором работа с железом писана по поллингу, левой ногой, практически без обработки ошибок и уж точно без разборок с нештатными ситуациями. Все по принципу - если что контроллер (центральный!) перезагрузим а остальные ошибки TCP вытянет  . Причем работу с железом в своем стеке они делают все тупеее и тупее, например, в 'новых' выбросили поддержку нескольких буферов передачи. К чему-бы это  . Цитата ...у нас успешно работают все ревизии ENC. условия и особено критерии "работы", однако, у всех разные  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 27 2007, 08:06
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 20-01-06
Из: Нижний Новгород
Пользователь №: 13 414

|
Цитата(zltigo @ Jul 27 2007, 11:18)  Большое "удобство"  Да уж было не до удобства, когда глюки полезли. Срочно переводили уже готовое устройство на тактирование от ENC. Цитата(zltigo @ Jul 27 2007, 11:18)  В котором работа с железом писана по поллингу, левой ногой, практически без обработки ошибок и уж точно без разборок с нештатными ситуациями. Все по принципу - если что контроллер (центральный!) перезагрузим а остальные ошибки TCP вытянет  . Причем работу с железом в своем стеке они делают все тупеее и тупее, например, в 'новых' выбросили поддержку нескольких буферов передачи. К чему-бы это  . Стек взят за основу и переписан, разумеется, ибо в том виде, в котором он поставляется - использовать его невозможно. Никаких перезагрузок контроллера, не дай бог  Цитата(zltigo @ Jul 27 2007, 11:18)  условия и особенно критерии "работы", однако, у всех разные  . Да уж условия - какие есть, а критерии однозначные у всех - чтобы работало годами без перезагрузок
Сообщение отредактировал Алексей Непочатов - Jul 27 2007, 08:07
|
|
|
|
|
Jan 23 2008, 16:55
|

Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147

|
Все. После перевода документов и сборки платы, где я использую АРМ. Написаных функций инициализации, записи и чтения регисторов ENC28J60. Для работы решил использовать полный дуплекс, присоеденил сводиоды как надо на разьеме, чтобы ток втекал, даже резисторы приделал паралельно светодиодам, чтобы при ресете автоматика сама переводила в полный дуплекс. При инициализации сам вручную тоже ставлю этот режим. Тока при соединении кабеля камень его не видет. PHY голову морочит, говорит "нема кабеля". Кабель продсоединяется в свичу, в котором постоянно летают пакеты. Я че думаю, как свитч определяет наличие кабеля? В данном случае моего устройства. А если присоеденить к компу через нуль-кабель , то он просто пишет нема кабеля. Неужели трансформаторы полетели?
|
|
|
|
|
Jan 23 2008, 21:26
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 20-01-06
Из: Нижний Новгород
Пользователь №: 13 414

|
Какой трансформатор используете?
|
|
|
|
|
Jan 24 2008, 07:47
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 20-01-06
Из: Нижний Новгород
Пользователь №: 13 414

|
Схему подключения трансформатора к ENC выложите, может что-нибудь интересное увидим.
|
|
|
|
|
Jan 24 2008, 19:54
|
Частый гость
 
Группа: Участник
Сообщений: 104
Регистрация: 21-12-06
Пользователь №: 23 770

|
А можно уточнить какой общий ток потребления ?
--------------------
Затравленный и прижатый к стене кот превращается в тигра. Мигель Сервантес.
|
|
|
|
|
Jan 24 2008, 20:04
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 20-01-06
Из: Нижний Новгород
Пользователь №: 13 414

|
У нас вроде все согласно даташиту, больше 250 мА не жрет. Но это прямо скажем немало, и греется при этом заметно.
|
|
|
|
|
Mar 11 2009, 16:18
|

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

|
Цитата(zhevak @ Jun 27 2007, 15:38)  Люди, а здесь есть кто для приема пакетов пользует прерывание, а не полинг флага PKTIF в регистре EIR? Вопрос в следующем -- вы используете прерывание только этого флага или обрабатываете еще и другие флаги? Я что-то поленился прописывать обработчики TXIRIF и RXERIF (биты TXIRIE и RXERIE не подняты). Наверно, зря. Вобщем-то, мой девайс (mega8 + ENC28J60) работает. И вроде как даже работает длительное время. Как минимум час-два, больше -- не проверял. Но, вот, сегодня я обнаружил один очень неприятный ньюанс: если девайсу слать что-нибудь по UDP и одновременно пингачить его, то ENC-ишка впадает в ступор. Нагрузка, вроде какбы, не серьезная: UDP -- 60 байт, которые никак не обрабатываются (я уже все поотрубал нахрен! Ничего не осталось!), посылаются примерно 30 раз в секунду; и ICMP -- стандартные 42 байта При такой "нагрузке" девайс работает примерно 1-2 иногда 3 секунды (когда как) и перестает выставлять прерывания. Микроконтроллер, я убедился -- не виснет. Что-то я не особо догоняю, что делать-то? С одной стороны, совсем не хочется писать расшифровщик прерывании ENC и как-то обрабатывать ошибки (я даже еще не смотрел что там делать-то надо в таких случаях), а с другой -- не соображу, как можно еще вернуть ENC к работе. Посоветуйте че-нить... Хех! А то, молчание какое-то тут подозрительное нависло. То-ли стругают, понимаш-ли, каждый свой девайс и думают, что выйдут на рынок раньше других и сделают супер-пупер-бизнес, то-ли ENC-сишками вообще мало-кто занимается. Ау, эмбеддеры!  у меня сейчас практически ваша ситуация.В качестве основы использовал стек Guido Socher ,переточенный на работу по прерываниям.Выход прерываний у ENC-шки устанавливаются в 0 и выйти из этого положения никак не удается.Даташит на эту тему вроде курил,ничего не нашел.Виснет стабильно,если в нее фигачить любыми не отфильтрованными пакетми(ARP,ICMP,UDP) c интевалом менее 5ms.Кстати,зачем "махать" флагом разрешения прерывания меги,я не понял.Чип вам говорит,что у него пакет в буфере лежит,а вы его отказываетесь обрабатывать?ИМХО,так еще хуже.Тут похоже,что наоборот не успеваю забирать.Да,SPI у меня на максимуме(4MHz при 3V).Сейчас проблему решил лобовым способом-по таймеру периодически поллю вход прерывания,и если он в 0 больше определенного интевала,то ENC получает ломом по балде-хард-ресет и инит по новой.Но это,мягко говоря неспортивно... Вам удалось как-то решить эту проблему?
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
Mar 11 2009, 16:56
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(WHALE @ Mar 11 2009, 19:18)  Виснет стабильно,если в нее фигачить любыми.... Не "виснет". Разбирайтесь медленно и печально с софтом навешанным на нее. Железяка, конечно, в общем-то весьма убогенькая, с богатой errata, из коллизий не выбраться корректно, не смотря на "рецепты" в errata, но с описанными заплатками 4,5 и 7 релизы работают терпимо и уж по крайней мере без "виснет" по вине железа.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 12 2009, 05:33
|

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

|
Цитата(zltigo @ Mar 11 2009, 19:56)  Не "виснет". Разбирайтесь медленно и печально с софтом навешанным на нее. Железяка, конечно, в общем-то весьма убогенькая, с богатой errata, из коллизий не выбраться корректно, не смотря на "рецепты" в errata, но с описанными заплатками 4,5 и 7 релизы работают терпимо и уж по крайней мере без "виснет" по вине железа. 4,5 и 7 релизы чего?микрочиповского стека или силикона?
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
Mar 12 2009, 07:37
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(WHALE @ Mar 12 2009, 08:33)  4,5 и 7 релизы чего?микрочиповского стека или силикона? Силикона. Микрочиповский стек не использую совсем, единственно, что работа с собственно железом писалась вприглядку на их enc28j60.c ввиду отсутствия  внятной документации. По enc28j60.с могу сказать, что в свежих стеках они работу м железом только примитизировали  . P.S. На данный момент времени использование вещей подобных enc28j60 совершенно не целесообразно. Сам несколько лет назад использовал только по причине того, что в конкретном изделии Ethernet был сугубо опционален. В ближайщее время, при первой-же возможности, это изделие будет переработано уже под контроллер с набортным MAC, благо их сейчас выбор....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|