Перейти к содержанию
    

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

showone,

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

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

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

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

логин admin

пароль 123456

Изменено пользователем HALFer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я даже не представляю,что надо сделать чтобы повесить мегу-мастера spi.

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

посмотрите в сторону UDP. проще реализация и вы властны делать что угодно.

 

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

Изменено пользователем kernel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Изменено пользователем kernel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

 

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

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

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

Изменено пользователем zltigo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

разобралась.

Неправильно считала адрес последнего байта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...