Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Может на avr WDT в esp запилить?

Тема в разделе "Прочее", создана пользователем Andy Korg, 3 июн 2015.

  1. Andy Korg

    Andy Korg Moderator Команда форума

    Сообщения:
    411
    Симпатии:
    73
    У нас жара (+30) и пережаренный мозг рождает бредовые идеи. Может сделать для esp8266 внешний собачий таймер на attiny13 например. На вход avr будут идти импульсы от esp, а avr будет при отсутствии сообщений от esp сбрасывать эту самую esp. Как вам такая идея?
     
  2. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    Andy Korg, а чего в ней бредового? @pvvx, помнится, предлагал дополнительный мелкий МК в добавку к ESP в частности в роли нормального WDT. Только он, емнип, предлагал PIC. Но это кому что ближе, в общем-то.
    Заодно можно как расширитель портов использовать, я считаю. Если конечно не тини, а что-то побольше, подключить по I2C, закинуть на АВР-ку прошивку, которая просто будет доступ ко всем портам АВР-ки давать (на чтение, запись, управление), ну, и заодно мониторить состояние ESP и в случае чего его перегружать.
     
  3. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.394
    Симпатии:
    1.271
    Дык Atmel или STM сами "зависучие" от любого внешнего элек.маг. чиха :)
    А другие нормальные "бренды" (выпускаемые под военную приемку и фирмы имеют таковой опыт при разработке) имеет малую распространенность и сложности с программированием (требуют особый программатор).
    Народ всегда выбирает самый худший вариант. Это всемирный закон и без исключений за практику в 30 лет :)
    А Пик предлагал, т.к. первым вспомнился в корпусе SOT23-6...
     
    Последнее редактирование: 3 июн 2015
  4. Andy Korg

    Andy Korg Moderator Команда форума

    Сообщения:
    411
    Симпатии:
    73
    Ага! я не один такой значить умный :) Надо будет запилить чего-нибудь по этому поводу. У меня как раз есть attiny43 со встроенным DC/DC - типа от 0.7V может работать :)
    Фиг его знает, ихний аппаратный wdt ни разу не подводил, плюс еще brown врубить - и вообще непробиваемый получается. :)
     
  5. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    Поддержу, у меня некоторые поделки на АВР годами уже работают. При этом помехи дома такие бывают в электросети (увы, дом старый, проводка и т.п. - ужас). Не завод, конечно, и не пром.оборудование. Но в целом меня устраивает на 100%.
     
  6. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.394
    Симпатии:
    1.271
    Проводка тут не при чем - вспомните хоть историю с подключением реле к ESP8266 и коммутацией сети 220 или отверткой по проводкам... :)
    Сбрасываются они все, но некоторые можно отстроить и на такие помехи...
     
  7. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    pvvx, ну вот, в таких условиях, так же с отвертками, релями и 220, аврки у меня работают прекрасно.
    Сбрасываются? Возможно. Главное, чтобы после такого сброса работоспособность восстанавливалась так, чтобы я, как пользователь, этого сброса вообще не замечал.
    Ну и 1 штука конкретно работает в качестве центра управления некоторыми функциями, типа освещения, так вот, чтобы она сбросилась хоть раз - я не замечал, а не заметить было бы сложно, т.к. свет тогда бы погас в комнате =)
    Я не спорю на счет стабильности, у меня нет сравнительной базы для этого, в частности PIC я вообще не тестировал. Я лишь делюсь наблюдениями.
     
  8. Andy Korg

    Andy Korg Moderator Команда форума

    Сообщения:
    411
    Симпатии:
    73
    Собственно весь огород только из-за аппаратного WDT, ведь в esp он програмный вроде бы, а значит зависание ядра приведет к зависанию WDT
     
  9. Discriminator

    Discriminator Читатель

    Сообщения:
    130
    Симпатии:
    9
    Простите, а зачем ? Внешний сброс это хорошо, но в ESP, как я понимаю есть WDT ? Просто я смотрю как он усердно перезагружается от while(1)....
     
  10. Andy Korg

    Andy Korg Moderator Команда форума

    Сообщения:
    411
    Симпатии:
    73
    В esp вроде как wdt программный, а значит при зависании ядра получим зависание wdt. В avr WDT отдельный аппаратный блок не зависящий ни от ядра, ни от тактового генератора ядра.
     
  11. Discriminator

    Discriminator Читатель

    Сообщения:
    130
    Симпатии:
    9
    Понятно.
     
  12. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.394
    Симпатии:
    1.271
    В OpenSDKnoWiFi WDT работает нормально. Есть даже проблемы с его вырубанием :)
    WDT был назван "программный", по тому что реализован в китай-SDK криво и может зависнуть в самих процедурах его обработки...
    Плюс во всех не Espressif проектах, была и во многих, таких как NodeMCU и т.д. остается ошибка с wdt_enable().
     
    Последнее редактирование: 6 июн 2015
  13. Andy Korg

    Andy Korg Moderator Команда форума

    Сообщения:
    411
    Симпатии:
    73
    Т.е. на самом деле у esp полноценный wdt? Отдельный тактовый генератор, отдельный блок? Мне почему-то думалось, что это какая-то надстройка над внутренним таймером, а этот самый таймер сидит на общем с CPU тактовом генераторе, вот и высказал свою мысль насчет avr.
     
  14. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.394
    Симпатии:
    1.271
    Он то отдельный в потрохах чипа, имеет несколько аппаратных режимов работы, но бездарно используется в софте. Его то отключат, то переназначат на другой режим или просто повяжут с китай-обработчиком по прерываниям и подтверждением по софт-таймеру. Каждый "портировщик" имеющихся прошивок на ESP8266 никогда не заморачивался с ним, а лепил как попало, без разбору. От этого WDT у них не работает. Ведь цель всех прошивок - понапихать как угодно поболее всякой фигни, для галочки, да совершенно не адаптированно к системе чипа. А WDT этому мешает. Его просто вырубают. Детям надо "Дурину" и потупее, а в ней система не работает по событиям, а крутит вечный цикл. Строить систему по другому - "сложно для понимания толпы".
    Покажите хоть одну прошивку, где WDT что-то проверяет и завязано с какими событиями для проверки работоспособности или контроля её, а не просто тупо подтверждается когда не попадя :) Даже "оконный режим" подтверждения не используется...
    Откройте любую тему, близкую к программированию и сделайте поиск по WDT - основной вопрос толпы - "Как отключить WDT" :)
    Откройте "Дурино" - там функция отключить WDT есть, а включить обратно - нет :)
    О китай-SDK и говорить то не о чем - там в обработке INT от WDT всё зависнуть может. :) и куча функций подтверждения WDT просто так (и отключения WDT) в каждом модуле китай-библиотек, хотя время после подтверждения WDT в китай-SDK больше или равно 1.6 секунды! Т.е. подтверждается везде, лиш-бы не сработал :)

    Нормальным средством борьбы с такими, является встраивание в чип WDT, который не отключается никогда и имеет короткое “окно” по времени когда его можно подтвердить, и то с учетом засылки кода, который зависит от прошлого. Если “подтверждение” сброса WDTпоступает в другое время – нафиг сбрасывать чип. Тогда детки сразу “складывают лапки” :) Такой режим у WDT, возможно*, тоже есть в ESP8266 :p
    *возможно - У него два аппаратных таймера и вроде свой источник тактирования, но дока или окончательного разбора по нему нема. Счас он виснет ещё по причине множественных ошибок в конфигурации других аппаратных частей чипа. Например можно вырубить CPU или "кэш" или ещё чего и всё зависнет наглухо. А таких ошибок в SDK много, в связи с бездарностью подхода и часто возникают из-за неверно поставленной системы приоритетов прерываний и т.д..

    А т.к. чип тимеет мало ресурсов для создания системы “исправления бездарного” кода от домохозяек(ев), то в Дурино-подобных системах WDTпроще отключить. Всё равно системы на “Дуринах” не требуют надежности и система эта создается для обучения отуплению . “Тяп ляп и за пять минут светодиод мигает” - это её главное назначение. :)
     
    Последнее редактирование: 7 июн 2015
  15. Sanchos

    Sanchos Читатель

    Сообщения:
    66
    Симпатии:
    10
    А что, если использовать внешний WDT STWD100 или какой-либо его аналог?
     

    Вложения:

  16. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.394
    Симпатии:
    1.271
    Всё можно, но реальной аппаратной беды с WDT у ESP8266 нет. Она только 'софтовская' = китайский SDK. В последних версиях WDT 'усилили', но беда в перезапуске из SDK через ROM-BIOS осталась (китай-код обработки WDT).
     

Поделиться этой страницей