> Мусор в коде как-то плохо вяжется с "Программа для МК должна быть простой и надежной" Есть множество факторов когда это не так.
1) Сильная помеха или иное внешнее воздействие (высокоэнергетичная частица, etc) может в принципе записать в program counter какой-то бред. И будет хорошо если прогулка на левый адрес зарубится по быстрому.
2) Флеш - это вам не память на диодах и даже не выжигаемые перемычки, информация там хранится как заряд. Поэтому уповать на абсолютную надежность флеша может только завзятый оптимист. Пессимисты же как минимум считают чексумм и ставят обработчики исключений. Только у атмеля исключений нет как класса, ему все-равно что выполнять :P.
3) Судя по всему у атмеля при понижении напряжения иногда бывает даже так что BOD перестает работать раньше чем заканчивает трепыхаться процессор. Который успевает намолотить бреда и иногда что-нибудь куда-нибудь прописать. Иначе объяснить тот факт что EEPROM и FLASH у особо невезучих кадров слетал даже с активным BOD как-то сложно.
> Слетевшего flash не разу не видел, даже в тяжелых условиях.
Так вы наверное и не расставляли девайсы миллионми. А если б флеш сыпался в каждом первом случае, атмел наверное переделал бы еще на этапе ранних прототипов. А так проблема начала вылезать сильно опосля и не у всех. Насчет нулевой ячейки еепрома у аврщиков почти суеверие :). А реально "тяжелыми условиями" является медленная посадка напряжения. Скажем если кондер на несколько тысяч мкф по питанию или батарейное питание.
> У почти у всех avr есть аппаратный uart, у старших бывает два
> и четыре аппаратных uart.
Ну да. Но они дорогие и периферия не поражает воображение. Старшие меги стоят как средние кортексы, но по скорости и периферии и близко не стояли.
> Это "аварийный" UI (для случая раз в году, а то и реже) - если насос встанет.
Вот в этом случае большинство людей вообще хотело бы какой-нибудь алерт: "хьюстон, у нас проблемы". Если железка была кому-то нужна и важна, понятное дело.
> идти искать причину (проверять насос и датчик).
Это все отлично. Но нынче неплохо бы СМСочку, или там алерт в систему мониторинга инфраструктуры. Нуачо, админам так можно. А остальные чем хуже? Они тоже так хотят.
> Стоит под капотом, можно поставить в салон, но смысла никакого.
У нормальных людей все блоки с электроникой сто лет как связаны в сеть. CAN это называется. Зачем так?
- Затем что в сервиснике потом состояние большинства подсистем диагностируется через единственный разъем.
- Затем что то как разные подсистемы себя ощущают можно в два счета выплюнуть на бортовой компьютер, если он есть.
> Работает два года и тоже кстати включается и выключается вместе с зажиганием.
И все бы ничего... если не сравнивать с тем что наинженерили другие.
> один этот потенциометр что-то около 50$ стоил.
О, я недооценил - там извращение на извращении.
> готов перепаивать, но когда эта кроха, имеющая вместо ОЗУ 32 регистра
> 8-битных, сделала мне свертку, я просто не мог остановится ;)
Ну знаете, нынче в QFN размером с тетрадную клеточку и крошечнее тинек лезет куда как более забористое ядро и периферия. И ног на все хватает, в отличие от.
> бы оно просто сняло с меня рутинные действия и не требовало
> настройки и что бы я не думал в самолете что я что-то забыл.
Вот только "включить" до того как "забыть" можно в обратном порядке. И тогда получается плохо. Людям свойственно ошибаться. Девайсы с управлением - позволяют переиграть свои оплошности на ходу. А глупые девайсы ... не так уж и автоматизируют. К ним надо таскаться кнопки жать, на светодиоды смотреть, а если забыл - все, облом. Это не автоматизация а какие-то полумеры и слабая пародия на то что должно быть на самом деле, имхо.
> Оно просто должно работать. Даже если я окажусь не
> в состоянии с ними взаимодействовать.
Я не против локальной автономности железок и даже за. Но с возможностью воздействия ремотно. ИМХО это должно быть как-то так: если конективити нет и новых указаний не поступало, оно фигарит в режимах заданных ранее.
>> создание себе уймы сложностей на ровном месте. В целом довольно контрпродуктивно.
> Согласен, но иногда очень весло и познавательно. Иногда просто возникает желание
> проверить, возможно ли это?
Тут я вас вполне понимаю и одобряю такие развлечения... покуда вы не утверждаете что это оптимальное решение всех проблем :)
> attiny2313a (аппаратный uart) + RBPi + usb-wifi
Я подобное в первом приближении вижу себе как-то так: ARMовская борда в сеть, к ней нечто типа NRF'а, который будет "гейтом", через который мелочь сигналит свое состояние и при желании перепрограммируется. А остальным девайсам - нечто типа таких же NRFов. NRF мелкие, маложручие как черти-что, дружат между собой, готовых модулей на них тьма, если самому в RF не хочется соваться. Ну и протокол с перепосылками и контролем доступности поверх. Не получилось за 1 раз передать параметры автомату поливки - придем попозже и еще раз попробуем. Целенаправленно гадить эфир никто не будет а помехи уйдут. А реалтайм там не критичен, поэтому паучье логово проводов по всей хате можно и не тянуть, пережив плюс-минус выпадение пары пакетов. Хотя наиболее критичные вещи можно и проводами, но реально для полного кайфа всяких датчиков надо много. Несколько градусников за борт, всякие там обнаружители воды, и тому подобная мелочь.
> Можно поставить и просто аналоги RBPi + usb-wifi, правда несколько ниже надежность.
Не понял с чего вдруг RBPi приписали какую-то особую надежность. У них тепловой режим конский, особенно на платах с линейным стабом питания. А как известно чем горячее - тем менее надежно.
> "Показометры" в машине встроенные.
...но не для всего, судя по такой конструкции :).
> Этот экран нужен как раз для быстрой подстройки и общей статистики - показания
> должны быть точными, иначе смысл теряется.
Не вижу проблем выводить и показометр и точное показание. Сочетая достоинства обоих вариантов. Но это не про 20х4.
> Угу, особенно хреновы табы в браузере :)
Табы в браузере - не показометры параметров.
> Нет, такой вариант не подходит.
Странно, а остальные конструкторы считают иначе. Вон та куча приборов в самолете - показометры. Сначала механические. А потом и вовсе замененные на умную систему которая лишний мусор отсеивает и так сразу - показывает только ключевые параметры и аномалии/проблемы. А индикаторами нынче - кучка TFT. А с учетом их цен, они доступны не толко Боингу и Эйрбасу нынче.
> это для грубой настройки, для точной - логи. И на разбор их, даже
> в спокойной обстановке за чаем может уйти больше времени чем на сам заезд.
Все-равно, говоря за себя - я бы не хотел втыкать на 20х4 вообще. А во время езды - в частности.
> А не чего что дальше вы вообще будете управлять всем этим со
> смарта или компьютера с i7? :)
Нет, ничего: они как таковые не есть mandatory часть этой системы и если есть - то ради совсем иных задач пользователя. Можно сказать что потенциально весь мир, от девайса размером с SD карту до суперкомпьютера имеет возможность воздействовать ремотно. Реально разумеется надо поделить их на свой-чужой, инчае будет много лулзов :). Но их мощность к делу мало относится - это универсальные девайсы, для них "включить автомат полива" - всего лишь очередная задачка. Из еще 20 других которые на этом i7 крутятся. Просто если внимание сфокусировано на этом i7 - почему бы "рулем" не выступить ему? А вот те девайсы будут выделены под свою задачу. Ну и куча проприетарного кода с сложным протоколом - это грабли и куча потенциальных проблем с безопасностью. У wi-fi проблем и так хватает, а уж проприентарный протокольный код - вот блин, чего мне для счастья не хватало так это чужой прошивки в беспроводке, с кучей багов. А потом через нее всю сеть как раз и вынесут, да? :)
> Да так и планирую сделать, но отсутствие острой необходимости затягивает дело ;)
Ну понятно что без этого можно пережить. Но симпатично и фичасто и не сильно в ущерб надежности вроде как-то так получается.
> Это был отдельный случай, кстати stm32 с четырьмя uart'ами есть?
Есть. А в старших семействах они еще и довольно быстрые (к вопросу зачем DMA). И 4 - это не предел. Там можно и чипы с 5-6 U(S)ART найти. И SPI который под 30Мбит выдаст - бывает.
> Похоже вы никогда не использовали AVR, раз не в курсе даже про uart.
Я в курсе что при выборе освоить ли мне DMA или самому фигарить софтварный UART я пожалуй DMA освою. С точки зрения соотношений возня vs насколько доставляет результат :)