Две стороны повсеместного применения микроконтроллеров

Микроконтроллеры (старое красивое название — однокристалльные микро-ЭВМ) в настоящее время имеют невероятно много областей применения. От промышленной автоматики до бытовых приборов, от управления ядерными станциями до детских игрушек, от секретных военных систем до переключения каналов в вашем радиоприемнике. Одним словом, проще перечислить, где они не применяются.

Изобретение и дальнейшее развитие микроконтроллеров произвело настоящую революцию в цифровой электронике. Изменились не только схемотехника и элементная база, но и сами принципы построения систем. Значительные изменения претерпел цикл разработки. Появились целые классы устройств, существование которых было бы невозможно без контроллеров.

Но у всякой технологии, как бы хороша она не была, всегда есть обратная сторона. Сюда относятся незаметные на первый взгляд трудности; проблемы, порождаемые новым подходом; ограничения, с которыми приходится считаться. Новые возможности, которые предоставляет технология, могут найти самые неожиданные применения, и не всегда направленные во благо.

Эта статья имеет целью дать обзорную оценку как положительных, так и отрицательных аспектов повсеместного применения микроконтроллеров.

Светлая сторона

Упрощение схемотехники


Если сравнивать схемотехнику устройств на жесткой логике и на контроллерах, то последняя намного проще. При разработке требуется только определить, из каких функциональных блоков будет состоять устройство, какими интерфейсами их объединить, и какую элементную базу выбрать. Вместо составления схемы будущего устройства из отдельных деталей теперь применяется блочное проектирование. Микроконтроллер позволяет на одном кристалле создать законченный блок, а то и несколько.

Реализация всех алгоритмов работы — теперь задача программы контроллера, а написание программы гораздо менее трудоемко, чем синтез цифровой схемы. С ростом сложности задач это преимущество становится все более явным. Растущий размер программного кода компенсируется его структурированностью, а также введением дополнительных уровней абстракции. Широко применяются встраиваемые ОС и стандартные библиотеки, что позволяет разделить код, работающий с аппаратурой, и код, задающий поведение и алгоритмы.

Унификация


Разделение программной и аппаратной части позволило унифицировать элементную базу. Один и тот же контроллер может применяться для создания множества различных устройств. Унификация приводит к снижению стоимости производства. Экономически выгодно производить несколько десятков видов контроллеров вместо сотни разновидностей логических микросхем (и тысячи специализированных).

Несколько разных по функциональности устройств могут иметь одну и ту же схему, а различаться лишь программой. Наиболее ярким примером могут служить промышленные ПЛК (программируемые логические контроллеры). Они собираются из стандартных модулей: устройств ввода, устройств вывода, вычислительных и интерфейсных модулей. За взаимодействие модулей между собой и алгоритмы работы системы в целом отвечает программная часть. Таким образом, из небольшого набора стандартных блоков можно построить любую необходимую систему.

Простота внесения изменений


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

Микроконтроллер в этом отношении дает гораздо больше гибкости. Для внесения изменений в алгоритм работы устройства достаточно загрузить новую прошивку. Большая часть современной электроники поддерживает перепрошивку в условиях сервис-центра, а зачастую даже пользователем. В наши дни вы можете легко обновить ПО своего телефона, принтера или фотоаппарата. В недалеком будущем вы сможете проделать то же самое, скажем, со стиральной машиной или кофеваркой. По мере того, как все больше устройств получают возможность доступа к сети, логично ожидать распространения механизма автообновлений, подобно тому, который применяется сегодня для компьютерных программ.

Темная сторона


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

Снижение надежности


Теория надежности включает в себя много различных аспектов, но в «бытовом» смысле, когда говорят о надежности техники, обычно имеют в виду устойчивость к отказам и сбоям. Отказ — это неустранимое нарушение работоспособности, как пример можно привести перегоревшую лампочку. Сбой — это нарушение, которое устраняется само по себе, или при минимальном воздействии оператора. Старый телевизор, который «чинится» ударом кулака — пример системы, работающей со сбоями.

Чем из большего числа элементов состоит система, тем вероятнее возникновение отказа какого-нибудь из них. В этом отношениии интегральная схема контроллера, содержащая миллионы транзисторов, на первый взгляд проигрывает жесткой логике, где всего несколько сот транзисторов на кристалл. Однако уровень надежности в микроэлектронике сегодня достаточно высок. Все кристаллы, вызывающие подозрения, отбракованы еще на этапе производства. Более слабыми местами являются печатные платы, соединения микросхем между собой и пассивные элементы. Таким образом, по частоте отказов, вызванных внутренними причинами, микроконтроллерные схемы даже выигрывают.

Проигрывают они по устойчивости к сбоям. Сбои, как правило, вызываются внешними воздействиями: температурой, электромагнитными помехами, радиацией. Особенно чувствительны контроллеры к электромагнитным воздействиям, которые вызывают зависания и самопроизвольные перезагрузки. Для обеспечения помехозащищенности микроконтроллерных схем требуются специальные меры: разделение шин питания, сторожевые таймеры, дополнительные слои металлизации на плате и т.п. Подробнее — см. [1].

Часто источником сбоев становится плохо отлаженная прошивка. Или же причина ненадежной работы лежит на стыке программной и аппаратной части. Например, многократная запись в одну и ту же ячейку flash-памяти рано или поздно приводит к исчерпанию ресурса ячейки, и данные начинают повреждаться. Микроконтроллер может обеспечить уровень надежности, необходимый для большинства задач, но только при грамотном подходе к проектированию. Об этом, кстати, стоит сказать отдельно.

Кажущаяся простота разработки


Прежде чем заниматься разработкой электроники, необходимо накопить значительную сумму знаний. Схемотехника цифровых устройств — это довольно объемный институтский курс. Плюс желательно знать электротехнику, основы аналоговой схемотехники и дискретную математику. Одним словом, порог входа для разработки электронных схем достаточно высок.

Порог входа для программирования гораздо ниже. Можно за один вечер изучить основы любого языка и научиться писать «Hello world»ы. Ясно, что между «программистом» и «хорошим программистом» лежит огромная пропасть, но легкость, с которой можно начать писать, подкупает.

Точно также низок порог входа для разработки устройств на контроллерах. Сейчас полно отличных Arduino-подобных комплектов, огромный выбор периферийных модулей к ним, осталось потратить тот самый вечер на освоение IDE (среды разработки) — и можно приступать к своему первому проекту.

Так почему же хороший программист встраиваемых систем — сравнительная редкость? Дело в том, что помимо непосредственно умения писать код, он должен знать все особенности своей архитектуры. Ему необходимо представлять, как работают цифровые устройства, разбираться в кодировании сигналов, знать, как поведет себя устройство в каких-либо нестандартных условиях. Программист, работающий с контроллерами, находится гораздо ближе к «железу», чем прикладной программист. Соответственно, без знания принципов работы этого железа ему не обойтись.

Получается, что легкость разработки под контроллеры — только иллюзия. Микроконтроллер гораздо чувствительнее к ошибкам программиста, чем «большие» компьютеры. Ограниченный объем памяти, требования к быстродействию «по тактам» и почти полное отсутствие «защит от дурака» требуют высокой квалификации разработчика.

Функциональная перегруженность и неудобные интерфейсы


— Как выглядит идеальный интерфейс? Одна кнопка с надписью «Сделай мне хорошо».
— Нет, никаких кнопок, просто надпись «Тебе уже хорошо».


Шутка с долей правды.

Для решения той или иной задачи микроконтроллер всегда выбирается c запасом по параметрам. Соответственно, часть ресурсов контроллера (иногда до 90%) остается свободной. Это приводит к тому, что добавить несколько дополнительных функций можно практически «бесплатно», дописав пару десятков строк в коде прошивки. И такой возможностью часто злоупотребляют. В результате нарушается принцип K.I.S.S., объявляющий простоту системы одним из основных приоритетов в проектировании. Получается устройство, большая часть возможностей которого никогда не используется, а о половине из них пользователь даже не знает.

Наличие ненужных функций — лишь вершина айсберга. Казалось бы, не используется — и ладно, может когда-нибудь пригодится… Но функциональная сложность приводит к сложности пользовательских интерфейсов. Тут возможно два пути. Можно попытаться «втиснуть» управление всеми функциями в ограниченный набор элементов ввода-вывода. Так появляются меню с N-надцатью уровнями вложенности, или кнопки с десятками альтернативных действий. Как пример сумеречного инженерного гения в этом направлении можно привести телефон-АОН «Русь». У кого был этот агрегат, тот знает, что его настройка похожа на программирование в машинных кодах.

Второй путь — сделать интерфейс удобным для пользователя путем применения большого цветного экрана (лучше сенсорного) или добавления своей кнопки для каждой функции. Этот вариант уже лучше, но увеличиваются габариты, уменьшается время автономной работы, снижается надежность устройства. И не забываем о цене. Даже если затраты на производство возрастают незначительно, наличие «супер-пупер экрана с 5000000 цветов» позволяет без лишних угрызений совести накрутить +50...250% к конечной стоимости устройства.

Недокументированные функции


В крупном торговом комплексе ни с того ни с сего открываются фрамуги дымоудаления (большие окна с электроприводом) и выдают неисправность на реле управления. Ночью обещали дождь; не починим — зальёт полкомплекса.
Вызываю из фирмы спеца, который релюху эту программировал. Он на город один, зараза, сам всё паяет и ставит. Описал проблему; он ответил, мол, всё понятно, сейчас приеду и сделаю.
Приезжает, уверенной походкой идет к релюхе, снимает с неё плату, тыкает в переходник. Открывает редактор какой-то — всё в шестнадцатиричном коде, ни черта не понять. Что же, думаю, он делать будет? Наблюдаю как бы случайное движение мышки в правый нижний угол — навёл, каналья, дату посмотрел, открыл конвертер, перевёл какие-то числа в hex, поиском нашёл их в коде и заменил на другие. «Чё, — спрашиваю, — таймер отработал?»


IThappens.ru

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

Какова вероятность того, что помимо основных функций, в прошивке не присутствуют какие-либо дополнительные? Это может быть отправка статистики производителю, намеренно сделанная ошибка, модуль перехвата данных, backdoor — все, что угодно. Причем «закладку» не обязательно добавлять во время разработки, можно внести изменения в прошивку любого существующего устройства. В качестве примера можно привести червя StuxNet, который внедрял свой код в ПЛК ядерно-обогатительных предприятий [2]. Если вы не обогащаете уран, это еще не значит, что вам ничего не угрожает. Уже разработаны механизмы атаки на принтеры [3] и роутеры [4], использующие смену прошивки. Учитывая, с какой легкостью перепрошивается большинство устройств, в ближайшем будущем следует ожидать появления новых «программно-аппаратных» вирусов и разновидностей атак.

А вы уверены, что прямо сейчас ваша микроволновка не следит за вами? :)

Заключение


В ходе чтения этой статьи, особенно второй её части, может сложиться впечатление, что я призываю отказаться от широкого использования контроллеров. Это ни в коем случае не так. Во-первых, технический прогресс невозможно повернуть вспять. Во-вторых, для многих задач контроллеры — единственная альтернатива, и заменить их нечем. И, наконец, в-третьих, описанные негативные аспекты никоим образом не перевешивают достоинств микроконтроллера.

Основной вывод, который хотелось бы сделать — а он подходит для любой технологии — необходимо умело пользоваться преимуществами, которые дает эта технология, но не забывать об их оборотной стороне. Благодарю за внимание, и да пребудет с вами Сила!

Литература


[1] — Г. Горюнов. «Почему одни микроконтроллеры надежнее других».
[2] — «Как Symantec взломала Stuxnet». Хабрахабр.
[3] — «Десятки миллионов принтеров HP LaserJet уязвимы». Хакер.
[4] — «Троян в роутере: заражение D-link 500T в домашних условиях». Хакер №7/10
+42
12 февраля 2012, 21:17
93
Ocelot 250,4

комментарии (62)

0
ShouldNotSeeMe #
>Например, многократная запись в одну и ту же ячейку flash-памяти рано или поздно приводит к исчерпанию ресурса ячейки
С недавнего времени в микроконтроллерах ставят ECC для флеш-памяти, так что ресурс исчерпается не так быстро, но зато всей памяти.
+6
Ocelot #
Вы имели в виду ремаппинг? ECC это, вроде, коррекция ошибок.
0
ShouldNotSeeMe #
Про ремаппинг не уверен, а ECC уже ставят.
0
Rayslava #
Ремаппинг тоже есть.
Например, у самых простых STM8 вообще вся память общая — даже код от данных отделяется на этапе прошивки и можно их гонять по кристаллу как угодно.
–1
Ocelot #
Но ведь это забота программиста — следить за равномерной нагрузкой на память?
+4
JC_Piligrim #
Ни в коем случае!

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

А по теме — за равномерной нагрузкой на память должен следить специальный драйвер (однажды написанный), но никак не программист в каждом проекте.
+2
BarsMonster #
ECC конечно полезен, но не может многократно увеличить время работы с перезаписью.

По мере увеличения кол-ва циклов перезаписи, запись становится все более «нестойкой» (т.е. данные начинают быстрее пропадать при работе под повышенной температурой), и ECC тут проблему не решит, ошибки тупо очень быстро вылезут за границы того, что ECC может исправить.
0
firefish #
>Проанализировав схему устройства на жесткой логике, можно восстановить весь алгоритм его работы. Проделать то же самое с микроконтроллерным устройством на порядок сложнее.
Я не в теме. Т.е. скорее будет доступна полная схема устройства(того, которое на жесткой логике), чем исходник прошивки?
+1
Ocelot #
Поясню, что имелось в виду. Допустим, у вас есть устройство на обычных цифровых микросхемах. У вас возникли подозрения, не делает ли оно что-либо в тайне от вас. Проведя пару дней в компании с тестером и лупой вы сможете составить схему подозреваемого девайса и проанализировать, как он работает.
Если же устройство на контроллерах, то не получив его прошивку (а лучше исходник), ничего определенного сказать нельзя. Извлечь же прошивку из современных кристаллов, если разработчик не хочет этого, крайне сложно. Разобраться в ней — тоже то еще удовольствие.
+1
BarsMonster #
В реальности же вы увидите допустим 10 корпусов без маркировки или с уникальной маркировкой. Что дальше делать? Да, можно микросхемы вскрыть и по слоям анализировать, но это фантастические деньги.

А у микроконтроллеров, даже защищенных, прошивка во многих случаях сливается намного меньшими усилиями.
+1
Ocelot #
Если это заказные микросхемы, вопросов нет. В них можно напихать чего угодно, и их фиг проанализируешь. Но и изготовителю разработка и изготовление кристаллов влетит в копеечку.
А если это типовые м/с, их идентифицировать куда проще, логический анализатор в помощь.
+3
vvzvlad #
смд-компоненты, 5 слойная плата, маркировка сошкурена, плата залита в компаунд, в верхнем слое которого штук 50 проводков толщиной с волос, что-то коммутирующих на плате. с неделю назад попалось.

анализируй это(с)
+3
Ocelot #
Тогда уж можно вспомнить советские военные приборы с системой самоуничтожения при вскрытии. В лучшем случае это нож, перерубавший все соединения между платами, в худшем — шашка тротила.
0
uSasha #
У нормально защищенных контроллеров доступа ни к чтению ни к записи нет вообще :)

Да и не понимаю к чем это?
Мы ведь говорим о пользователях, зачем им знать как это работает?
Да и в сервис центрах это ни к чему, пусть получают прошитый чип запаивают.
+3
BarsMonster #
Да, согласен что пользователям не нужно. Вообще, зачастую с 0 разработать проще.

А так, у защищенных контроллеров часто или бит защиты сбросить можно физически (УФ лазером), или непосредственно с кристалла вычитывать прошивку. За ваши деньги любой каприз.
0
vvzvlad #
видел рекламу конторы, которая берется сбросить lock-fuse на атмеловских контроллерах. 20к за один, вроде
+1
uSasha #
Не все контроллеры одинаково защищены.
По работе знаком с фрискейловскими контроллерами, защита может быть такая:
в энергозависимой памяти ключ, которым расшифровываются остальные блоки с кодом и данными, при перепаде температуры/тактовой частоты/питания/внешнем вмешательстве(настраивается) питаение отключается, ключ утерян раз и навсегда а дальше читай не читай ничего не расшифруешь)
0
vvzvlad #
так он не выключается?
0
Ocelot #
Например, запитан от литиевой батарейки, впаянной в плату. То есть полностью не выключается, да.
0
uSasha #
верно, и сам ее заряжает, если его подключают по USB например
0
BarsMonster #
Не нравится контроллеры с флешем? Берите с PROM, однократно программируемые.
Или сразу на заводе заказывайте с прошивкой маской, там вообще железобетонное программирование.
0
Ocelot #
А как быть с EEPROM? Несмотря на заявленное космическое число циклов перезаписи, убить ее при должном рукожопии старании легко. Расскажу поучительную историю.
В одной из автомагнитол (фирму и модель, к сожалению, не вспомню) текущий уровень громкости записывался в EEPROM, на случай отключения питания. Ну и хорошо, казалось бы! Но запись велась не просто при каждом изменении громкости, а по каждому «тику» энкодера (громкость там регулировалась крутилкой). Один раз покрутил ручку — считай 10-20 циклов записи. За день — несколько сотен наберется. За год — сотня тысяч. За 1-2 года даже самая качественная память зажучивалась насмерть, причем в одной ячейке.
+2
LeoCcoder #
использовать правильно, как с ней еще быть? )
+2
BarsMonster #
Знаю, знаю, моторолловский контроллер в Audi ;-)
Если мозгов нет, никакое железо не поможет.

Сейчас конечно есть и FRAM. Но в случае магнитолы можно было бы и в SRAM аккуратно держать.
+7
slovak #
>> «Чё, — спрашиваю, — таймер отработал?»

Убил бы гада.
Знаем одного такого монополиста по системам кондиционирования daikin.
+3
vvzvlad #
это он молодой, глупый. был бы умнее — не палился бы, и свозил домой релюшку.
а если в офисе, на еще на компе заказчика — закладки после пару «ремонтов» вычисляются.
0
slovak #
Нужно было к ночи отремонтировать по сценарию. Но вообще да.
0
Ocelot #
Привёз бы запасную, раз такой хитрый.
0
JC_Piligrim #
Что это такое вы тут развели?! То есть, вы на стороне этого парня? Считаете ли вы, что в порядке вещей, делать технику, которая ломается сразу после окончания гарантии или ремонтировать так, чтобы через какое-то время к вам снова обратились? Вам нравится то, что врачи и фармацевты вас также «лечат»?
0
Ocelot #
«За изобретение ставлю пять, а по предмету — неуд.»
То, что парень — жулик, не вызывает никаких сомнений. По морде — самое мягкое из того, что он заслуживает.
С другой стороны, это не мешает порадоваться его смекалке и пообсуждать технические детали. Точно так же можно восхищаться мастерством профессиональных взломщиков, несмотря на то, что они преступники.
0
Int_13h #
Собственно, сейчас почти все «ломается после окончания гарантии». Надежные вещи производить невыгодно.
+2
JC_Piligrim #
Это понятно! Но разве это нормально — не выпускать вещи с «запасом прочности»? Представьте, окажешься вот так один на один с этой вещью в какой-нибудь экстремальной ситуации… Например, на страховочном тросе в горах, который после двух лет использования не держит никакую нагрузку (о чем производитель, естественно, не распространяется)… Или в какой-нибудь подобной…
0
Int_13h #
Еще бы это до проклятых капиталистов производителей из суверенного Китая дошло :)
0
vvzvlad #
ну, с гарантией — оно и стоить будет дороже.
0
JC_Piligrim #
Речь не о гарантии на дерьмовую продукцию, а о продукции, которой эта гарантия даже не потребуется.
0
vvzvlad #
не так выгодно.
+2
JC_Piligrim #
А разве «выгода» — единственный весомый фактор? Особенно когда речь идет о жизни и здоровье. Разве нормально, когда принципы копроэкономики проникают во все сферы? Когда «не так выгодно» лечить вас от болезней, «не так выгодно» продавать еду, которая не вызывает рак и другие проблемы, «не так выгодно» давать малому бизнесу возможности для развития, «не так выгодно» развивать экономику страны, и т.п.

Где здесь ответственность перед обществом?
+3
vvzvlad #
да ладно, проснитесь. вы живете не в идеальном мире
лечить от болезней выгоднее, потому что за это платят деньги. если лечить плохо — пострадает репутация, это невыгодно.
продавать еду, не вызывающую рак выгоднее, потому что живой покупатель купит еще.
давать малому бизнесу возможность развиваться выгодно, потому что город получает рабочие места и налоги. правда выгодно это городу и стране, поэтому заводы малый бизнес мало поддерживают)

причем тут ответственность? я когда продаю себя(свой труд, знания и тд) в последнюю очередь думаю о ответственности, а в первую о выгоде.
0
uSasha #
Такое производится и существует почти во всех сегментах.
Иногда попадаются неадекватные заказчики, которые говорят: почему голая LCD панель индустриального применения стоит как мой ноутбук такого же размера?
+1
boolivar #
Вы наверно еще не смотрели фильм "light bulb conspiracy"?
0
vvzvlad #
так может оно штучное, откуда вторую взять?
+2
LeoCcoder #
Ваша статья сводится к этому:
микроконроллеры супер, но если крувые руки — будут проблемы )

непонятно с чем вы сравниваете микроконтроллеры. надежность, неудобство… это по сравнению с чем? Вы же сами написали «для многих задач контроллеры — единственная альтернатива, и заменить их нечем»… для многих это 99%, если применили микроконтроллер, значит на дискретных элементах это сделать было нельзя.

>> Снижение надежности
наборот, мало элементов, все в цифре, сделал грамотную схему (чаще просто скопировал стандартное решение) и прошивку и будет работать годами. Выбрать по каталогу контроллер с требуемым уровнем защиты, поставить где надо экраны. в аналоговых системах с этим еще сложнее. правильные руки решают.

>> Функциональная перегруженность и неудобные интерфейсы
перегруженность плохо? ну не используйте то чем не пользуетесь и все, часть кристала просто не работает, ничего при это не тратя. Зато это делаем контролллеры дешевыми, вместо того чтобы производить 1000 разных моделей, у производителя их 10. Интерфейсы все удобные и стандартные, один раз изучил как работает последовательный порт или АЦП/ЦАП и все. А где удобные интерфейсы?

>> Недокументированные функции
это не проблемы контроллеров, это опять кривость рук, то что портят принтеры и АЭС в этом виноваты разработчики, которые позволили так сделать.

+1
Ocelot #
От человеческого фактора никуда не деться.

>> микроконроллеры супер, но если кривые руки — будут проблемы
Суть статьи — обратить внимание на не для всех очевидные вещи, дать информацию к размышлению, а в конечном итоге — возможно, уменьшить количество этих самых «кривых рук».
+4
curlydevil #
Микроконтроллеры пихают везде, только не всегда задумываются как их объединять. Например — в стиральных машинках, электроплитах сейчас электроники по самое небалуйся. А вот стоило бы поставить сетевой интерфейс (+10$, ну даже 20$ к стоимости готового изделия погоды не сделают) и как бы резко стало удобней! Комфорки с недавних пор сами определяют когда вода закипела, машинки — когда все постиралось… Сидишь за компом — опаньки, нотификейшн — закипела вода на комфорке №3, пошел закинул пельменей. Снова закипела вода на комфорке №3 — через 3 минуты пошел выключил…
Или борщ готовишь — закипело — с компа понизил мощность плиты, а то и выключил… Еще вариант — едешь домой с работы/ВУЗа — с телефона включаешь плиту на разогрев еды или находясь в центре города включаешь стирку, чтоб к приходу домой постиралось…
Знать бы кому слать такие идеи, даже за бесплатно — лишь бы реализовали…
+1
boramod #
На самом деле, эти идеи уже давно реализованы. Текущий ступор внедрения базируется на стандартах и нормах безопасности эксплуатации бытовых приборов. Пока не будут пересмотрены стандарты и правила 70-х годов, не бывать возможности внедрения централизованного управления приборами от производителя.

Еще в 2006 году видел на заводе Siemens сетевые интерфейсы для бытового оборудования. Причем, тогда разговор шел об интерфейсе Profi Bus — личной разработке корпорации.

+2
Ocelot #
Еще один стопор прогресса — отсутствие универсальных интерфейсов. Каждая компания заинтересована проталкивать свой собственный стандарт, в итоге техника разных производителей оказывается несовместима.
0
boramod #
В ближайшем будущем — намечается тенденция перехода на Industrial Ethernet, по крайней мере, у ведущих производителей пром. оборудования.
0
Launcher #
Реализация-то не сложная. А вот представь если сбой, или, не дай бог, кто-то взломает систему, тогда можно удалённо устроить пожар в твоей квартире.
+2
curlydevil #
Чисто теоретически и циски взломать можно… Для такого есть защита от взломов — предварительная авторизация, сертификаты, файлы ключей, https/ssl/ssh, ограничения по MAC, IMEI, № телефона, e-mail, скан сетчатки глаза камерой телефона и чем угодно еще — в наше время идентификаторов у девайсов очень много…
0
boramod #
Взлом циски влечет за собой, теоретически, материальные потери.
Взлом системы управления домом — возможные человеческие жертвы.
+2
boramod #
Не задумывались, почему даже в самых современных газовых плитах от Siemens, напичканных электроникой, управление главной функцией, горелкой, до сих пор «аналоговое», с прямым приводом вентиля от рукоятки управления?
0
curlydevil #
Я имел в виду именно электроплиты, пардон что не уточнил в исходном посте. Газовые плиты, вроде бы, еще не умеют определять закипела вода или нет =)
А на тех же газовых, если мне не изменяет память, была система отключения подачи газа при отсутствии огня, или что-то в таком духе — на случай если жидкость горелку зальет… В таком случае оповещение на компьютер/телефон тоже было бы к стати…
0
Ocelot #
Почему бы не доверить контроллеру закрывать газ в нужный момент? Без физической возможности его случайно открыть.
+1
boramod #
ИМХО: потому что для производителя газовых плит — это громадная ответственность, несоизмеримая с прибылью от внедрения. Тут на карту маркетинга поставлена цена человеческой жизни. Если ты внедряешь функцию автоматического перекрытия газа, ты должен ее сертифицировать, получить разрешения и тп.

Теперь, представьте ситуацию. Не дай Бог, контроллер, по какой-то причине, не отработал закрытие газа в нужный момент. Как следствие, погибла семья. Дальше — продолжать?

Отсутствие функционала автоматизированного управления потенциально-опасными для жизни потребителя функциями устройств — уберегает производителя от громадных неприятностей, связанных с возможными сбоями в этом функционале. На карте стоит человеческая жизнь. А не просто — потеря данных.
+2
boolivar #
деобфусцировать, и только потом проводить анализ

Зачастую это приходится делать даже когда исходник на руках, спасибо «низкому порогу входа».
0
Int_13h #
Насчет недокументированных функций. Рассказывал один знакомый инженер старой закалки об «антиотладочных» функциях в электронных устройствах. Фотоэлементы, паутина проводников, рвущихся при вскрытии корпуса, убитые элементы, запаянные в рабочую схему (при поиске неисправности заменяем пробитый диод работоспособным и выжигаем оставшуюся схему), элементы в нестандартном включении. Очень помогало в сохранении ноу-хау и куска хлеба с маслом в условиях дикой перестройки и дичайшего капитализьма.
+2
boramod #
Практически на всех промышленных объектах — микропроцессорные системы управления обязаны дублироваться полностью «ручным управлением». Причем, «ручное управление» — привилегированное. С одной стороны — это тормозит прогресс, с другой — обеспечивает безопасность.

На ответственных узлах широко используются дублирующие системы, например, из двух контроллеров, работающих в «унисон». При возникновении внештатной ситуации на одном из контроллеров — управление берет на себя второй, отключая сбойный.

ИМХО, человечество еще не готово полностью положиться на микропроцессорные системы управления. Может, оно пока и к лучшему.
0
KoteSoft #
Ну чаще всего оно не полностью дублируется ручным управлением, в ручную можно нажать лишь кнопку аварийной остановки или отрубить электричество/газ/воду. Все остальное делается лишь посредством изменения настроек управляющего контроллера.
+1
KoteSoft #
Что-то здесь не обсуждают проблему паленых прошивок, а ведь это — достаточно серьезная проблема. Если в ПК программа может управлять лишь небольшой долей аппаратной части (и то, там предусмотрена куча защит ), то в девайсе на основе МК прошивка может управлять всей схемой. Небольшое изменение прошивки вполне может сжечь порт, а то и весь узел. В большинстве случаев крутые фирмы-производители добавляют в конструкцию различные защитные элементы, а вот с фирмами поменьше все куда сложнее: захотел пользователь обновить ПО, конкуренты подсунули паленку и всё — нету какого-нибудь дорогущего контроллера. И вариант переустановки ОС, как на ПК, здесь не прокатит.
+1
Int_13h #
Так не надо прошивку от конкурентов тянуть.
–1
KoteSoft #
Ага, а вирусы на ПК устанавливаются исключительно по желанию пользователя.
+1
Ocelot #
В большинстве случаев именно так. Пользователь — самое слабое место в системе информационной безопасности.

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