Операционные системы реального времени для встраиваемых модулей от компании Microsoft
Современные встраиваемые модули все более напоминают персональный компьютер, каким он был лет 7-8 назад. И дело не только в скорости и разрядности управляющего микропроцессора (как правило, 32-разряда, тактовая частота от 200 до 500 МГц), но и в высокой функциональности данных модулей.
Современное встраиваемое решение помимо собственно вычислительного ядра и набора коммуникационных функций (поддержка последовательных протоколов, Ethernet-контроллер, DMA и т. д.) содержит и ряд мультимедийных контроллеров (контроллер ЖКИ, обработка звука), дополнительные коммуникационные контроллеры (USB, PCI, контроллеры внешней памяти), системы, обеспечивающие работу модуля в целом с более высокой производительностью (например, система AHB, функционирование которой рассматривалось в статье «Конструкция шин однокристальных ARM-микроконтроллеров для интегрированных широкополосных систем», «КиТ» № 8’2005).
Хорошим примером подобного многофункционального встраиваемого модуля может служить устройство ConnectCore Wi-9C (рис. 1) компании Digi International. Данный модуль выполнен на базе 32-разрядного RISС-микропроцессора ARM, поддерживает одновременную работу по Ethernet 10/100 Мбит иWi-Fi стандарта 802.11b/g с криптозащитой WPA2/802.11i, информационные интерфейсы UART, SPI, I2C, контроллер ЖКИ, контроллер внешней памяти.
Разумеется, подобные многофункциональные устройства нуждаются в высокопроизводительных операционных системах (ОС), которые позволили бы максимально полно и с удобством использовать все функции таких модулей. Первоначально многие производители оснащали свои модули ОС собственного производства, специально разработанных под определенную серию продукции. Подобный подход позволял использовать модули с максимальным КПД, так как в ОС были учтены все особенности аппаратной составляющей системы, но был у него и существенный недостаток (с точки зрения разработчиков)— при переходе на другую серию устройств, разработчики сталкивались с новыми ОС, возникали новые нюансы в проектировании, новые особенности и т. д. В связи с этим, в последние время все больше встраиваемых систем оснащается стандартными операционными системами, широко распространенными как в данном сегменте рынка, так и в других (от КПК до сетевых мультимедиа-устройств). Тут в первую очередь, конечно же, приходиться говорить о продуктах компании Microsoft.
Windows Compact Edition — популярность и производительность
Начало XXI века было ознаменовано ростом количества портативных устройств, на что тут же откликнулась корпорация Microsoft, выпустив компактную версию (Compact Edition) своей широко известной ОС Windows. Windows CE быстро завоевывала рынок (продажи каждый год в среднем росли на 145%) и на сегодняшний день является коммерческой ОС «номер один» для встраиваемых решений. Причиной подобного успеха послужили грамотная маркетинговая политика Microsoft, широкая структура поддержки пользователей Windows CE по всему миру (начиная с банальной технической поддержки и заканчивая тренинг-центрами по всему миру), а также те преимущества, которые предоставляет разработчику и конечному пользователю эта ОС.
Помимо всех преимуществ, свойственных стандартным ОС — наличие готовых библиотек с исходными кодами, стандартных драйверов, базы технических знаний, Windows CE обладает рядом особенностей, которые делают ее применение на встраиваемых устройствах особенно удобным:
- Возможность изменения размера инсталлируемой программы. Устанавливаются только те модули, которые необходимы для функционирования ОС и для работы с конкретным устройством. Учитывая ограниченный объем памяти на встраиваемых платформах, данное свойство является одним из самых полезных.
- Возможность применения для микропропроцессоров различной архитектуры. Windows CE разрабатывалась специально для встраиваемых платформ, включая поддержку процессоров архитектуры x86, ARM, MIPS, SH.
- Windows CE — OC реального времени, полностью соответствующая всем требованиям, предъявляемым к ОС такого типа в сфере промышленной автоматизации.
- Открытый программный код ОС, позволяющий вносить изменения в код ОС при разработке приложения, что позволяет максимально адаптировать систему под свои задачи и обеспечить защиту интеллектуальной собственности (данная задача в России все актуальней с каждым днем).
- Постоянная работа специалистов компании Microsoft над совершенствованием ОС Windows CE. Начиная с 2001 года (год выхода первой версии Windows CE) новые версии выходили с примерной периодичностью — раз в год. К концу 2006 года ожидается выход Windows CE 6— полностью совместимой сWindows CE 5, но обладающей рядом особенностей.
В частотности, ядро операционной системы подверглось существенной доработке. Теперь ОС может вести работу с 32 тысячами параллельных процессов одновременно, с выделением до 2 Гбайт памяти виртуальной машины для каждого процесса (рис. 2).
Также полезными дополнениями являются выполненная на уровне ядра поддержка беспроводных сетевых интерфейсов WiFi с поддержкой криптозащиты, новые драйверы USB, поддержка файлов большого объема, криптозащита данных, поддержка VoIP-систем, расширенная поддержка графических и мультимедийных приложений.
.NET Micro Framework — простота решений
Как уже говорилось, Windows CE является удобной и качественной ОС для применения на встраиваемых платформах. Однако не всегда техническая база, на которой выполнены данные платформы, позволяет использовать Windows CE. В частотности, ее невозможно использовать на системах с ARM7-процессором, не оснащенным модулем управления памятью. Для подобных платформ в мае 2006 года корпорация Microsoft анонсировала ОС .NET Micro Framework. ОС требуется до 500 Кбайт ОЗУ для размещения своего ядра и до 500 Кбайт ОЗУ для работы стандартных приложений системы, таких как: .NET Framework Common Language Runtime, The Mono Project, и DotGNU Project. ОС включает в себя поддержку интерфейсов UART, I2C, SPI и имеет уникальную для нересурсоемких ОС возможность использования инструментов отладки и разработки, включенных в пакет Microsoft Visual Studio. Это средство разработки давно и хорошо известно многим программистам и разработчикам.
Производители встраиваемых платформ уже обратили внимание на эту ОС. К концу текущего года компания Digi International планирует оснащать .NET Micro Framework свои встраиваемые модули семейств Digi Connect ME/WiMe и ConnectCore 7U, выполненные на процессоре ARM7 NS-7520. Кроме того, компания планирует выпустить новый микропроцессор NetSilicon Camry с поддержкой данной системы. Специалисты прогнозируют, что ОС получит широкое распространение в таких областях как автоматика зданий, системы безопасности, системы удаленного сбора и контроля данных и медицинского мониторинга. Как правило, в этих областях деятельности важна надежность передачи информации и не очень важна высокая скорость ее передачи. Что делает оптимальным применение недорогих процессоров ARM7 для решения подобных задач, а применение стандартных средств разработки и отладки от Microsoft позволяет значительно сократить время и затраты на создание и тестирование прикладного ПО.
Таким образом, корпорация Microsoft сегодня предлагает решения, охватывающие весь спектр платформ встраиваемых решений — от простого терминала сбора данных до многофункционального мультимедийного устройства. Сравнительные характеристики операционных систем, области их применения и аппаратные требования приводятся в таблице.
.NET Micro Framework | Windows CE | Windows XPe | |
Применяется в устройствах | Модули сбора данных, информационные дисплеи, удаленный контроль, робототехника | GPS коммуникаторы, КПК, промышленная автоматика, банкоматы | «Тонкие клиентов», банкоматы, информационные киоски |
Особенности устройств | коммуникационные, небольшие, носимые, с графическим интерфейсом | коммуникационные, с графическом интерфейсом, сервера, с применением браузеров, DirectX | ПК-совместимые, Информационные сети |
Требуется памяти | 200-400Kb управляющего кода | 300Kb + дополнительное ядро (зависит от приложения) | 40Mb + в зависимости от приложения |
Энергопотребление | Очень низкое | низкое | От стационарной сети |
Процессор | ARM7, ARM9 No MMU | X86, MIPS, SH4, ARM, with MMU | X86 |
Работа в реальном времени | Программная эмуляция | Аппартнореализуемая | Возможно с использованием специального ПО |