Северный (Арктический) федеральный университет им. М.В. Ломоносова
Опубликован: 23.08.2014 | Доступ: платный | Студентов: 13 / 1 | Длительность: 11:13:00
Лекция 7:

Управление встраиваемыми системами с использованием возможностей Intel Perceptual Computing SDK

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

Презентацию к данной лекции можно скачать здесь.

7.1. Встраиваемые системы

Любая механическая или электрическая система, которая имеет в своем составе устройство управления, выполненное на основе вычислителя, называется встраиваемой (встроенной) системой (Embedded System). Вычислитель, центральный процессор которого выполнен на основе одной большой интегральной схемы (ИС), именуемой микропроцессором (МП), называют микро-ЭВМ. Самый известный пример микро-ЭВМ - это персональный компьютер (ПК). Интегральные схемы, которые объединяют на одном полупроводниковом кристалле все основные функциональные блоки вычислителя, т.е. центральный процессор, запоминающее устройство, устройства для ввода и вывода информации и межмодульные магистрали, называют микроконтроллером (МК). Следует различать вычислители общего применения, которые называют компьютерами, и вычислители встраиваемых систем. Компьютер общего применения, например, ноутбук, может выполнять множество программ, начиная от текстового редактора, заканчивая сложными расчетными задачами моделирования механических конструкций и электронных схем. Вычислитель встраиваемой системы, который может быть реализован на процессоре с не меньшей вычислительной производительностью, чем ноутбук, выполняет только специальную программу управления. При этом вычислителя встраиваемой системы может иметь дополнительные аппаратные средства, которые будут отличать его от компьютера общего применения.

Встраиваемые системы на основе МК окружают нас со всех сторон. Мы не можем прожить без них и часа. Например, будильник, телефон и карманный компьютер - все это встраиваемые системы на микроконтроллерах. Наш автомобиль ежедневно "возит с собой" от 10 до 50 микроконтроллеров. Встроенные МК делают агрегаты автомобиля более безопасными, экономичными, обеспечивающими легкость управления и комфортабельность движения.

7.2. Особенности встраиваемых систем

Работа в реальном времени. Когда мы говорим, что встраиваемая система должна работать в реальном масштабе времени, мы подразумеваем, что система должна производить определенные вычисления за строго определенные временные интервалы. Если система не может произвести необходимые вычисления за отведенный временной интервал, то в лучшем случае объект ее управления будет работать с низкими техническими характеристиками, а в худшем случае будет создана аварийная ситуация. Используя термин "вычисления в реальном времени", мы имеем в виду, что интервал времени, предоставляемый для этих вычислений, ограничен. При этом его численное значение определяется конкретной задачей и может существенно различаться для разных систем. Например, система антиблокировки колес автомобиля должна опросить датчики состояния каждого из четырех колес (колесо скользит или катится) и выработать необходимые сигналы для приводов тормозов в течение нескольких миллисекунд. Система должна быть разработана таким образом, чтобы необходимый цикл вычислений укладывался в отведенный временной интервал. Для этого необходимо выбрать соответствующую вычислительную производительность микроконтроллера, разработать эффективный по быстродействию алгоритм, разработать схемы интерфейсов с минимально возможными задержками в передаче сигналов. Во-вторых, встраиваемая система должна обладать устойчивостью по отношению к внешним данным. Допустим, для формирования результата система должна получать данные извне. А эти данные не пришли вовремя. Тогда система не может выдать необходимый результат в требуемый момент времени, однако она не должна "зависнуть". Она должна продолжить поставлять результаты в реальном времени, но в ином, возможно сокращенном виде.

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

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

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

Интерфейс пользователя и интерфейс сопряжения с объектом. Любая встраиваемая система должна взаимодействовать с пользователем или с окружающей средой. Например, перемещающийся в пространстве робот должен с помощью инфракрасных датчиков обнаруживать препятствия и обходить их. Микроволновая печь должна взаимодействовать с человеком посредством кнопок режимов, установленных на передней панели прибора. А система охранной сигнализации должна взаимодействовать как с датчиками сохранности помещения, так и с органами управления человеком. Подобные примеры могут быть продолжены. И на их основе можно сделать вывод, что для разработчика встраиваемых систем вопросы выработки решений по взаимодействию с человеком и с объектом управления являются чрезвычайно важной задачей. Причем возможные решения лежат на стыке выбора типа датчиков (включая принцип действия датчика), дизайн-проекта, конструктивного исполнения, аппаратного решения электронных блоков и, наконец, алгоритмов обработки информации.

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

Минимизация стоимости. Каждая встраиваемая система имеет множество возможных решений, как на уровне способа реализации (микроконтроллер или программируемая логическая матрица, вариации интерфейсных схем к тому и другому решениям), так и на уровне выбора конкретной элементной базы. Поэтому выбор правильной стратегии проектирования с целью минимизации стоимости - одна из основных проблем проектирования встраиваемой системы [32].

7.3. Техническая реализация

Итак, с конструктивной точки зрения, встраиваемые системы подразделяются на:

  • решения уровня плат (одноплатные компьютеры);
  • аппаратные платформы (полностью скомпонованная аппаратная часть, но без наполнения программным обеспечением);
  • системные платформы (аппаратная платформа с ОС и системным ПО) [33].

Управляющие устройства

В данной лекции мы обратим внимание на системные платформы, так как Intel PerC работает на компьютерах под управлением операционных систем Windows 7, 8. Кроме того, мы будем фокусироваться на миниатюрные компьютеры, построенные на базе одной системной платы.

Одноплатные миниатюрные компьютеры с каждым днем набирают все большую популярность среди разработчиков встраиваемых систем, программистов и радиолюбителей. Благодаря высокой производительности, компактным размерам, богатому набору периферии и наличию нескольких операционных систем, можно без особых усилий за небольшой промежуток времени создать систему управления различными объектами (в том числе промышленными), систему "умный дом", домашний медиа сервер, рабочее место оператора, игровые консоли и пр.

Некоторые одноплатные мини компьютеры обладают производительностью, практически не уступающей обычному домашнему компьютеру, однако их стоимость и энергопотребление в несколько раз меньше, а уровень шума, создаваемого системой охлаждения, равен нулю. Благодаря этому и многим другим факторам одноплатные миникомпьютеры являются идеальным решением для создания встраиваемых систем, разработки программного обеспечения под операционные системы Windows, Linux и Android и будут незаменимы как профессионалам, так и начинающим радиолюбителям, и программистам [34].

Класс одноплатных компьютеров, работающих на современных операционных системах, довольно широк. Приведем несколько примеров представителей данного класса.

Intel NUC. Одним из вариантов встраиваемых платформ под управлением ОС является Intel NUC (Next Unit of Computing). Intel NUC - это гибкое встраиваемое решение с возможностью индивидуальной настройки для выполнения интеллектуальных вычислений в рабочих средах с ограниченным пространством. Комплекты Intel NUC построены на базе процессоров Intel Core i5 vPro, Core i3 или Celerone, оснащены достаточным объемом оперативной памяти и средствами коммуникаций. Поддерживаются операционные системы Windows 8 (8.1), 7, XP [35].

Intel NUC

Рис. 7.1. Intel NUC

RUGGCORE. RUGGCORE - это новая серия встраиваемых компьютеров, которая выпускается компанией LITEMAX. Новое поколение встраиваемых компьютеров характеризуется высокой эффективностью выполнено в очень компактных алюминиевых корпусах, которые обеспечивают защиту от механических ударов и проникновения пыли и отлично подходят для промышленной автоматизации. Компьютеры данной серии оснащены процессором Intel Core 2 Duo и поддерживают стандартные операционные системы [36].

Компьютер RuggCore

Рис. 7.2. Компьютер RuggCore

iROBO-6000. iROBO-6000 - это высокотехнологичные PC-совместимые платформы в специальном исполнении. Выполненные исключительно в безвентиляторном исполнении, компьютеры iROBO-6000 отвечают современным требованиям и стандартам качества в области встраиваемых систем. Линейка встраиваемых компьютеров iROBO Embedded включает в себя как компьютеры "начального" уровня на процессорах Intel Atom, так и высокопроизводительные модели на базе процессоров Intel Core i3/i5. К тому же каждый компьютер в этой серии обладает широчайшим набором возможностей благодаря разнообразию портов ввода-вывода, среди которых VGA, DVI, DisplayPort, Gb LAN, COM, USB, DIO и т.д. Компьютеры совместимы с операционными системами Windows 7, Windows Embedded Standart 2009 и подходят для домашней автоматизации [37].

iROBO Embedded

Рис. 7.3. iROBO Embedded

7.4. Проводные протоколы связи

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

X10. X10 - разработанная в 1975 году технология по-прежнему находит применение в различных системах автоматизации. X10 - стандарт, предполагающий передачу по электросети. Данные в стандарте X10 передаются короткими импульсами высокой частоты и синхронизированы с моментом прохождения тока нуля. За один такой переход передается 1 бит. Отсюда становится очевидным, что скорость передачи в сети X10 является крайне низкой [38].

1-Wire. (англ. один провод) - двунаправленная шина связи для устройств с низкоскоростной передачей данных (обычно 15,4 Кбит/с, максимум 125 Кбит/с в режиме overdrive), в которой данные передаются по цепи питания (то есть всего используются два провода - один для заземления, а второй для питания и данных; в некоторых случаях используют и отдельный провод питания) [39].

7.5. Беспроводные протоколы связи

Большинство целевых сегментов рынка беспроводной связи характеризуется периодической передачей небольшого количества информации между датчиком и центральным устройством. Среди приложений, в которых требуется реализовать такой сценарий применения беспроводной связи, можно отметить бытовые приборы, устройства автоматики, дистанционное управление, человеко-машинные интерфейсы (HID), интеллектуальные счетчики, платежные системы и многие другие. Все эти приложения должны отвечать следующим требованиям: сверхмалое энергопотребление, низкая стоимость и компактные размеры [40].

Bluetooth с низким энергопотреблением. В декабре 2009 года выпущена версия спецификации ядра беспроводной технологии Bluetooth, наиболее существенным достоинством которой, является сверхмалое пиковое энергопотребление, среднее энергопотребление и энергопотребление в режиме простоя. Устройства, использующие Bluetooth с низким энергопотреблением, будут потреблять меньше энергии, чем другие Bluetooth-устройства предыдущих поколений. Во многих случаях устройства смогут работать более года на одной миниатюрной батарейке типа таблетка без подзарядки. Таким образом, можно будет иметь, например, небольшие датчики, работающие непрерывно (например, датчик температуры), общающиеся с другими устройствами, такими как сотовый телефон или КПК. Bluetooth с низким энергопотреблением является расширением спецификации базовой беспроводной технологии Bluetooth, которая добавит новые функциональные возможности и позволит создавать приложения для удаленного управления, медицинского наблюдения, спортивных датчиков и других устройств. Bluetooth с низким энергопотреблением даст возможность улучшить существующие варианты применения, расширяя применимость и функциональные возможности технологии Bluetooth [41].

Wi-Fi. Недавно в стандарт IEEE 802.11 (Wi-Fi) был введен ряд усовершенствований, которые позволили снизить мощность потребления, был выпущен стандарт IEEE 802.11v и другие стандарты. Хотя Wi-Fi является весьма эффективной беспроводной технологией, она оптимизирована для передачи большого объема данных с высокой скоростью и в действительности не подходит для работы от батарейного питания. Некоторые компании пытаются внедрить Wi-Fi в устройства индикации показаний приборов на ветровом стекле автомобиля. Однако для этого требуется специальный программный драйвер, и функциональность таких устройств ограничена [40].

IrDA (Infra red Data Assotiation). IrDA позволяет соединяться с периферийным оборудованием без кабеля при помощи ИК-излучения с длиной волны 880nm. Порт IrDA позволяет устанавливать связь на коротком расстоянии до 1 метра в режиме точка-точка. IrDA намерено не пытался создавать локальную сеть на основе ИК-излучения, поскольку сетевые интерфейсы очень сложны и требуют большой мощности, а в цели IrDA входили низкое потребление и экономичность. Интерфейс IrDA использует узкий ИК-диапазон (850-900 nm с 880nm "пиком") с малой мощностью потребления, что позволяет создать недорогую аппаратуру и не требует сертификации FCC (Федеральной Комиссии по Связи) [42].

Zigbee. Протоколы ZigBee разработаны для использования во встроенных приложениях, требующих низкую скорость передачи данных и низкое энергопотребление. Цель ZigBee - это создание недорогой, самоорганизующейся сети с ячеистой топологией, предназначенной для решения широкого круга задач. Типовые области приложения:

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

Созданная в итоге сеть потребляет очень мало энергии - индивидуальные устройства согласно данным сертификации ZigBee позволяют энергобатареям работать два года [43].

Z-Wave. Z-Wave представляет собой полностью беспроводную технологию, в основе которой лежит ячеистая сеть (mesh - сеть). Каждое устройство в сети Z-Wave является как приемником, так и передатчиком. Благодаря этому увеличивается надежность сети (при выходе из строя одного устройства, сигнал пойдет через соседнее), а зона покрытия расширяется простым добавлением новых устройств, которые могут работать в качестве повторителей сигнала. В сети Z-Wave не нужны дополнительные репитеры и усилители сигнала, достаточно, чтобы любое устройство сети Z-Wave находилось в радиусе действия соседнего устройства. Следуя этому правилу, при мизерной излучаемой мощности одного Z-Wave устройства, можно покрыть Z-Wave сетью большие площади помещений, домов [44].

Таблица 7.1. Сравнительные характеристики беспроводных протоколов связи
Диапазон Частота Безопасность Скорость Открытый стандарт
Zigbee 75 м. 868МГц/915МГц/2.4ГГц AES-128 250 Кбит/сек Нет
Z-Wave 30 м. в помещении/100 м. на откр. местности 868МГц/869МГц/920МГц/908МГц/921МГц/950МГц Triple DES 20Кбит/сек Нет
Bluetooth LE 150 м. 2.4 ГГЦ 128 AES 1Мбит/сек Да
IrDA 1-3 м. 100Мбит/сек Да
Дмитрий Юнушкин
Дмитрий Юнушкин

В лабораторной работе №2 (идентификация лица) сказано:

в FaceTracking.cs: удалим или закомментируем функцию SimplePipelineкласс MyUtilMPipeline и изменим функцию AdvancedPipeline...

Класса MyUtilMPipeline  нет в проекте вообще;

Функции AdvancedPipeline так же нет. Материалов к лабораторной  №2 в начале работы (по ссылке открывается та же страница) тоже нет.Это ошибки или используется другая версия примера?