Jump to content

    
Sign in to follow this  
zorromen

Работа с ENC28J60

Recommended Posts

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

Попытайтесь увеличить timeout в своей программе;)

 

где почитать про обмен данными ? или как правильно реализовать механизм передачи данных из флеш в комп ?

Посмотрите в сторону Modbus over TCP/IP (например).

Share this post


Link to post
Share on other sites

showone,

посмотрите в сторону UDP. проще реализация и вы властны делать что угодно. многие скажут что-то про гарантию доставки и все такое, но для работы девайса с собственным софтом намного лучше реализовать эту самую гарантию + парочку "фирменных" фишечек :)

конкретно у меня UDP без проблем работает на расстоянии Мариуполь(Украина)<->Москва. TCP пришлось прикрутить только из-за необходимости в web-интерфейсе.

http://91.204.198.43 - завтра после 10 запущу макетку, пусть еще пыль пособирает пару недель )) макетка набросаная проводом мгтф и совершенно не соответсвует рекомендациям. включен будет в свитч офисной сети, поэтому всякого широковещательного мусора должно хватать для создания полевых условий :)

там кстати и ведется статистика зависаний ENC. EthR это счетчки сброса enc (инкриментируется при зависании и при передергивании питания), startup это счетчик тех самых передергиваний питания.

логин admin

пароль 123456

Edited by HALFer

Share this post


Link to post
Share on other sites
я даже не представляю,что надо сделать чтобы повесить мегу-мастера spi.

а установка ревизии ENC на ходу-это как и зачем?Она-же только читается.

вы не пробовали поставить мой протокол инициализации и приема пакетов?

Немного неверно я выразился: под установкой ревизии ENC я имел ввиду замену самого контроллера на контроллер другой ревизии (с 6 на 4) во время работы устройства. Протокол инициализации и приема пактов пробовал переносить на свой проект сразу после того, как получил Ваши исходники (у меня даже нога INT висин на том же пине меги, использовал ее вместо чтения регистра EPKTCNT) - проблема не исчезла.

 

Очень сомневаюсь, что СПИ может зависнуть. Сам прикручиваю к мегам16-32, 48-88 цветные ЖКИ - там в одном пакете на дисплей идет 96*132*2= 25 тысяч байт, если б хотя бы 1 байт завис - были бы серьезные артефакты. А так все идеально, причем неделями напролет... Ищите косяки в коде, или глюки у ENC

Код менял уже не раз, ENC пробовал тоже разные.

Share this post


Link to post
Share on other sites
посмотрите в сторону UDP. проще реализация и вы властны делать что угодно.

 

это то понятно, у меня UDP реализован и работает на ура.

но необходимо получать данные именно по TCP/IP

 

вот и не получается пока, знаний мало.

 

может сперва на запрос от компа сразу ответить, потом подготовить данные, и дальше или их переслать, или передать со вторым запросом. или все делается проще. пока у меня затык в этом.

Share this post


Link to post
Share on other sites
:blush: Понимая, что проблема остается только в аппаратной части и проверив плату еще раз (уже шестой раз), все же нашел достаточно серьезный косяк в плате (который увидел только через линзу) - не_контакт конденсатора (18pF) на одном из пинов кварца ENC :blush: Поставил плату на проверку, о результатах позже отпишусь.
Edited by kernel

Share this post


Link to post
Share on other sites
:blush: Понимая, что проблема остается только в аппаратной части и проверив плату еще раз (уже шестой раз), все же нашел достаточно серьезный косяк в плате (который увидел только через линзу) - не_контакт конденсатора (18pF) на одном из пинов кварца ENC :blush: Поставил плату на проверку, о результатах позже отпишусь.

даже если это решит вашу проблему,советую еще раз внимательно пересмотреть и ваш софт:никакие закидоны мака не должны

подвешивать хост-контроллер.

Share this post


Link to post
Share on other sites
даже если это решит вашу проблему,советую еще раз внимательно пересмотреть и ваш софт:никакие закидоны мака не должны

подвешивать хост-контроллер.

Девайс все же повис :( Софт использую tuxgraphics.org. Проблем с ним вроде ни у кого не было.

 

Ресет Меги возобновляет работу ENC.

Edited by kernel

Share this post


Link to post
Share on other sites

А ничего, что я пин CS ENC приделал к пину другого порта Меги (т.е. не на тот порт, где SPI)? А то может быть я не знаю каких-то особенностей работы SPI? :)

 

WHALE, вопрос к Вам: в Вашем коде SPI инициализируется как Fosc/2, т.е., если я правильно понимаю, частота SPI = 4 MHz (т.к. кварц у Вас 8 MHz) ? Не получается ли у меня какой-нибудь разгон SPI, т.к. у меня Fosc/2 при кварце 16 MHz будет = 8 MHz (хотя, насколько мне помнится, в даташите на ENC как раз и рекомендуется клок SPI от 8 MHz при работе Меги от внешнего кварца)?

Edited by kernel

Share this post


Link to post
Share on other sites

нет,это нормально.вы лучше посмотрите осцилографом, что происходит с мегой, когда она зависает.Что на ноге входа прерывания от

ENC, CS ENC и на ногах интефейса SPI?

З.Ы. Я так и не понял,вы работаете по поллингу MAC-а?Софт tuxgraphics вроде-же работает без прерываний..

Share this post


Link to post
Share on other sites

Осциллографа у меня нет :(

Пробовал как с прерыванием, так и по поллингу.

 

Убрал инициализацию стека (т.е. стек отключил), поставил мигание светодиодом при приеме пакетов. Девайс работает гораздо дольше, зависа пока не было.

 

Нет, сразу после того как написал - завис :(

 

Плата у меня получилась какая-та аномальная :wacko:

Вчера обнаружил, что диод на входе садит напряжение (т.е. скачет в пределах 4.3-4.5 В), думал, что от этого тактирование Меги может быть не стабильным на 16MHz. Сегодня после того, как убрал диод, на Мегу стало уходить 5.1 В (с импульсного БП (компьютерного)). После этого пакеты вообще перестали приниматься (точнее, в течение пары секунд сразу после включения принимаются, затем прием пакетов глохнет), иногда пропадал линк, другой светодиод ENC (который светится при приеме пакетов) моргал вообще как-то странно. Теперь я вообще в тупике. Напряжения во всех точках стали в пределах допустимого (судя по даташитам), а проблем стало еще больше.

У меня от этого девайса уже крыша скоро съедет :blink:

Edited by zltigo

Share this post


Link to post
Share on other sites

Доброго времени суток.

Похоже только у меня проблема с передачей данных на этой микрухе. Хотя с приёмом проблем нет. Ревизия силикона В7, жрёт всего 130мА (что странно).

 

Пробовала подключать осциллограф, но не смогла увидить не приёмные ни переданные пакеты. Как определить лезет ли хоть чтонибудь из чипа? Может я просто неправильно формирую пакет...

 

Заранее благодарна.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this