TGDI - модульная концепция в решении задач интеграции систем на основе мобильных терминалов.
  Home | Sitemap | Contact us
Search
 
TGDI - модульная концепция в решении задач интеграции систем на основе мобильных терминалов.
Упомянутые торговые марки и технологии, не являющиеся собственностью Tancher, приведены в качестве справочной информации и принадлежат их владельцам.

 Tancher Garden Deep Integration (TGDI)) - модульная концепция в решении задач интеграции систем на основе мобильных терминалов.

 Аннотация.

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

Введение.

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

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

Введем критерий оценки эффективности решения задач (пользовательских или интерграторских) на основе мобильных устройств.

При некоторой определенности в количестве реализуемых на рынке устройств (в течение всего времени жизни устройства) стоимость разработки можно представить в качестве составной части стоимости устройства (имеется ввиду конечная, рыночная стоимость устройства). Пусть - стоимость разработки, включающая в себя стоимость решений верхнего уровня, которые условно можно возложить на разработку программного обеспечения и стоимость разработки аппаратной части вместе со всеми расходами на прототипирование и запуск массового производства (изготовление оснастки, тестового оборудования, сертификации и т.д. без стоимости компонент), - себестоимость устройства по BOM (Bill Of Materials), включающая стоимость изготовления, сборки, а так же лицензионные отчисления, - расходы на sales и marketing (то есть продвижение решения на рынок) и - количество реализованных устройств. Тогда цена устройства для потребителя:

Стоимость разработки в типичном случае колеблется от несколько десятков тысяч до нескольких миллионов долларов США. Также существенны и расходы на продвижение товара - для розницы эти цифры могут достигать десятков миллионов долларов. Себестоимость компонентов для конечных устройств редко превышает $1000. Тогда, если N - мало, то стоимость устройства определяется исключительно стоимостью разработки и продвижения. Поскольку в случае малых партий речь, как правило, идет о специализированных решениях, то стоимость продвижения ничтожно мала по сравнению с затратами на разработку. Если же N велико, что имеет место, например, для сотовых телефонов, выходящих миллионными тиражами, то стоимость разработки практически не влияет на конечную стоимость устройства, а вот стоимость продвижения должна строго контролироваться.

Введем понятие степени используемости всех функций, заложенных в данное устройство в течение всего времени жизни. Разумно предположить, что она определяется коэффициентом загруженности всех мощностей устройства - процессора, памяти, портов. Тогда эффективная стоимость устройства:

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

По мере усиления конкуренции, связанной с быстрым ростом числа производителей устройств, первостепенное значение приобретают также и сроки разработки, начиная от принятия решения на проведение работ до выхода продукта на рынок. Если еще 10-15 лет назад этот период оценивался в несколько лет, то в настоящее время он сократился до нескольких месяцев. Продукты очень быстро устаревают. В качестве примера можно привести разработку компании Neonode - телефон N1, который, когда был анонсирован, имел серьезные конкурентные преимущества, но из-за того, что его выход существенно (более чем на год) затянулся, не получил широкого распространения. На рынке к тому моменту оказалось множество его конкурентов, с характеристиками, не хуже, а, порою, и лучше, чем у N1.

Выделим два вида мобильных устройств.

1 Универсальные устройства. Такие устройства предназначены не для решения какой-либо определенной задачи, а, наоборот, сконструированы по принципу <все включено> и предоставляют широкий спектр функциональности, посредством которой можно решать любые задачи, лишь бы позволяли ресурсы оборудования.

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

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

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

Типичная структурная схема универсального устройства в высокой ценовой категории приведена на рисунке 1.

 

 

В таком устройстве присутствует практически все, что может потребоваться <на все случаи жизни>. В том числе всевозможные интерфейсы связи, большой объем памяти, поддержка различных типов карт расширения, высококачественный LCD, встроенная камера и микрофон, а также операционная система с расширенным набором приложений, включая офисные приложения, средства работы с Internet и даже игры. Примеров подобных устройств на рынке достаточно. Например, продукты компании HTC - смартфоны и коммуникаторы (на российском рынке выходят под названиями Qtek, iMate), palmOne, Blackberry, Nokia 9500. Эти устройства относятся к высокой ценовой категории.

Устройства более низкой ценовой категории из этой группы подчиняются той же идеологии с тем лишь отличием, что LCD там более низкого качества, объем памяти меньше, операционная система содержит меньшее количество расширений, и состав периферии значительно ограничен. Идеология с точки зрения производителя остается прежней. Эти устройства должны быть востребованы как можно большим количеством людей, удовлетворять среднего потребителя за счет более низкой стоимости.

Примерами устройств этой ценовой категории могут служить <нижние> линейки упомянутых компаний, КПК производства Palm и большинство сотовых телефонов. Устройства такого типа широко распространены.

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

Следует отметить тот факт, что при равных и различной стоимости устройств (напр. от разных производителей) на выбор потребителя не в последнюю очередь влияет дизайн и брэнд - эта совокупность позволяет отнести устройство в разряд имиджевых. При этом не имеет значения, кто именно является фактическим производителем - так, например, компания HTC производит продукцию как под собственным брэндом, так и для других компаний (Fujitsu-Siemens, HP и др.).

Что же касается специализированных устройств (2) с их ориентацией на выполнение строго определенных функций, их на рынке гораздо меньше (N). Они доступны, как правило, не очень большими партиями, и, зачастую, создаются под нужды конкретного заказчика. В таких ситуациях для интеграторских решений используются следующие подходы:

1.       Использование готовых решений:

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

2. Адаптация готовых решений.

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

Типичным примером использования данного подхода являются образовательные проекты, большинство из которых оказались провальными. Без особого углубления в методологию, скажем, что обычно для этих целей предлагается интеграционное решение, состоящее в том, чтобы использовать готовые устройства с беспроводным доступом (например, последние версии КПК), сервер для преподавателя и соответствующее программное обеспечение. При этом оказывается, например, что высококачественный экран в данном случае вовсе и не нужен, потому что вполне подходит черно-белый дисплей с градациями яркости. Приложениям на устройстве не нужно столько оперативной памяти, сколько требуется для просмотра видео и мощных офисных программ. Для управления этим устройством вполне достаточно лишь одного USB интерфейса, а мультимедийные возможности не требуются вовсе, поскольку эту же функцию с успехом выполняет компьютер преподавателя. В итоге, приходится использовать устройства, стоимость которых может составлять несколько сотен долларов, хотя вполне хватило бы и устройства, стоимость которого меньше в разы (~$50). Однако такие устройства на рынке просто отсутствуют, так как производителю, вообще говоря, выгодно ориентироваться на другие рынки и поддерживать стоимость устройств на высоком уровне для получения большей рентабельности. Возможен другой подход, состоящий в том, чтобы покупать устаревшие устройства, которые, в силу своего <морального> износа, стоят существенно меньше новых. Однако, он тоже не обещает больших перспектив, поскольку подобные решения чрезвычайно тяжело поддерживать, не говоря уже о том, что практически невозможно обеспечить размеры партий большие, чем несколько сотен устройств.

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

3. Разработка устройства с нуля.

В случае если речь идет о больших тиражах производимых устройств, также как в тех случаях, когда описанные выше подходы непригодны, приходится производить разработку нового устройства <с нуля>. Этот путь, без сомнений, позволяет добиться максимально возможного удовлетворения потребностей заказчика. Заказчик с самого начала контролирует стоимость разработки и стоимость BOM , не платит за продвижение товара на рынок со стороны поставщика и постановкой задачи обеспечивает максимальный коэффициент . Однако, прежде чем начинать проект, заказчик должен оценить также отрицательные стороны данного подхода.

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

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

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

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

Четвертая проблема связана с дефицитом услуг по разработке устройств. Во всем мире насчитывается не более сотни специализированных компаний - дизайн-центров (мы имеем ввиду компании, имеющие возможность закрыть все задачи, связанные с разработкой широкого класса электроники). Рынок данных услуг оформлен нечетко, и требуется большая работа, связанная с выбором компании-разработчика. На этом рынке наблюдается ситуация дефицитного предложения при дефиците спроса, что приводит к большой неопределенности. Следует иметь ввиду, что если речь идет о небольших компаниях-разработчиках, то они заинтересованы в значительных нормах прибыли, и это несколько повышает цену разработки. Крупные же дизайн-центры аффилиированы с большими компаниями-производителями электроники (Nokia, Motorola, Samsung) и выполняют в первую очередь заказы материнской компании. Как следствие, их мало интересуют <маленькие> заказы. И даже если речь идет о больших объемах, то такие проекты все равно имеют невысокий приоритет. Это влечет существенное увеличение сроков выполнения проектов, которые могут составлять несколько лет и больше даже для несложных устройств.

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

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

 

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

Модульные решения.

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

 

 

Обозначим основные преимущества модульного подхода:

 

1.       Высокая эффективность получаемого результата. Используются только те узлы, и только такие узлы, которые требуются для решения поставленной задачи. Это позволяет существенно снижать стоимость устройств. Клиент платит лишь за то, что заказывал.

2.       Клиент получает ожидаемый результат. Отдельные модули, по сути, являются готовыми и оттестированными устройствами, что существенно уменьшает риск получения в итоге не вполне того результата, который ожидался.

3.       Относительная простота разработки. Фактически, процесс разработки сводится к компоновке отдельных узлов. Нет необходимости разбираться с тем, как работает каждый электронный компонент, и какого вида сигналы им управляют. Заказчик, изучив функциональное назначение каждого компонента, в дальнейшем просто <собирает> то устройство, которое ему необходимо.

4.       Гибкость. При желании можно довольно легко поменять функциональность, если такая потребность возникает.

 

К сожалению, в полной мере на текущий момент описанный подход не реализуем, но компания <Танчер> предлагает технологию, которая в значительной степени позволяет приблизиться к желаемому результату.

 

Модульный подход, разработанный в компании <Танчер>.

 

Аппаратная часть

Компания <Танчер> имеет значительный опыт в разработке мобильных устройств, что позволило выработать собственный подход при создании новых решений.

Введем понятие платформы и модуля.

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

 

Проанализировав потребности рынка, компания <Танчер> предлагает набор из трех платформ:

 

Платформа Tancher BIRCH (БЕРЕЗА) - предназначена для решений из низшей ценовой категории. Платформа реализована на простом процессоре и обладает ограниченными ресурсами. На такой платформе было реализовано устройство CYBIKO XTREME, работающее под управлением операционной системы CyOS. Помимо примененных в проекте, для CyOS существует обширный набор драйверов и под другие модули.

 

CYBIKO XTREME компьютер - карманный беспроводный компьютер для детей и подростков (Рис.4)

 

Основные характеристики:

- возможность беспроводной связи с подобными устройствами для обмена сообщениями (чата), online игр, загрузки файлов и др.

- Диапазон рабочих частот 902-928МГц, модуляция FSK, 60 каналов

- Радиус действия до 250 метров вне помещения

- RF-трансивер RFMD 2915

- Процессор Hitachi HD64F2323, разрядность 16bit, рабочая частота 18МГц

- Оперативная память FPM DRAM 2МБайта

- Flash память 512КБайт для хранения операционной системы и данных

- LCD FSTN 160X100 точек, монохромный с оттенками серого

- QWERTY клавиатура со специальными игровыми клавишами

- возможность подключения картриджей расширения (в том числе MP3 плеера)

- USB 1.0 интерфейс с компьютером

- встроенный спикер и микрофон

- встроенная NiMH батарея

- 81x141x18mm габаритные размеры

- вес 150г

 

 

Платформа Tancher MAPL (КЛЕН) - предназначена для устройств средней ценовой категории. Реализована на процессоре с архитектурой ARM7 и имеет существенно расширенную функциональность. Работает под управлением операционной системы OST (OS by Tancher). На базе этой платформы были реализованы проекты по разработке специализированных мобильных устройств - GSM/GPRS коммуникаторов для компаний Planet Halo (USA) и AT&T Wireless Systems (USA). Данная платформа так же поддерживает различные модули расширения (наглядный пример - некоторые отличия в функциональности этих устройств):

 

Проект Planet Halo (Рис. 5)

Описание:

-Dual-band GSM/GPRS коммуникатор

-QWERTY клавиатура

- Операционная система CyNIX

-160x100 FSTN LCD (grayscale)

-EL подсветка клавиатуры

-ARM7TDMI CPU Samsung S3C44B0X

-Оперативная память 16МБайт SDRAM

-Flash память 16МБайт NAND Flash

-колесо прокрутки для навигации

-550 mAh Internal Li-Pol батарея

-USB 1.0 интерфейс

-3.5mm разъем под гарнитуру

- габаритные размеры 106x82x19mm

- <Обтекаемая> форма корпуса

 

Проект ENIGMA (Рис.6)

 

Описание:

-GSM/GPRS коммуникатор

-3-band 900/1800/1900MHz GSM/GPRS

-Class 2 Bluetooth

- встроенные антенны

-240x160 цветной CSTN дисплей с Front-Light подсветкой

-ARM7TDMI Samsung CPU S3C44B0X

-16МБайт SDRAM

-32MB NAND Flash

-800mAh Li-Ion аккумулятор

-2.5mm разъем под гарнитуру

-QWERTY клавиатура с LED подсветкой

-Возможность фиксации дисплея под разными углами

-дизайн для детей и подростков

-возможность <чата> через GPRS по ICQ или Yahoo Instant Messenger

-Операционная система OST

- GUI cсобственной разработки

-Полифонические мелодии вызова

-Габаритный размер 97x83x27mm

 

 

Платформа Tancher OAK (ДУБ) - Enterprise платформа. Реализована на процессоре XScale и по функциональности находится на переднем крае аналогичных разработок. Может работать под управлением операционной системы Windows CE 5.0 и под управлением OST (Operating System by Tancher). Предназначена для устройств Hi-End класса.

Данная платформа позволяет интегрировать максимально большое количество модулей. В частности, на базе этой платформы была произведена разработка устройства Premium класса - смартфона для компании Mago Mobile.

 

Проект Premium Smart Phone (Рис.7)

Описание:

-GSM/GPRS Smartphone

-4-band 850/900/1800/1900MHz

-Class 2 Bluetooth

-Wi-Fi 802.11b

-Встроенные антенны

- Операционная система Windows Mobile 2005

-240x320 2.8" LTPS transflective TFT LCD

-Touch screen

- Intel XScale PXA270 624MHz CPU

-128МБайт SDRAM

-128МБайт Intel Strata Flash

-1950mAh Li-Ion батарея

-2.5mm stereo разъем для подключения гарнитуры

-USB 2.0 (Full Speed) интерфейс

-SD карты расширения памяти.

-44 kHz 16 bit Audio Codec (AC97)

-LED подсветка клавиатуры

-вибровызов

-полное соответствие европейским требованиям по содержанию свинца и вредных веществ (fully RoHS compliant)

-Габаритные размеры 134x55x15mm

 

Программная часть

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

  • Core OS - набор основный сервисов операционной системы;
  • BSPs - Board Support Packages - набор средств, обеспечивающих работу операционной системы на конкретных платформах;
  • Device Drivers - драйверы устройств.

Соответственно, каждая часть разбивается на подчасти. Например, Core OS в своем составе содержит набор End User Applications, Graphics and Multimedia Technologies, File System and Data Store и так далее. Когда возникает задача собрать <прошивку> для того или иного устройства, все что требуется разработчику - это при помощи приложения Platform Builder, переместить необходимые компоненты в свой проект и запустить сборку. Конечно, для того, чтобы это было так просто, требуется иметь некоторый базовый набор функциональности (Board Support Package) и готовые драйвера, но, если они есть, то сложная техническая задача портирования операционной системы Windows CE 5.0 превращается в легкий и приятный процесс.

Разнообразие окончательных вариантов собранного образа операционной системы впечатляет. Это может быть Tiny Kernel - образ, предназначенный для разнообразных контроллеров, от которых не требуется большой пользовательской функциональности, или Enterprise Terminal - фактически готовое решение для разнообразных систем электронной торговли и систем приема платежей или Mobile Handheld - практически готовое решение для всевозможных КПК.

 

Операционная система OST (Operating System by Tancher) построена по схожему принципу и имеет следующую архитектуру (Рис.8).

 

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

Доступ к функциям ОС осуществляется через хорошо документированный и интуитивно понятный объектный интерфейс (язык программирования - С++). Имеется возможность дополнительной разработки модуля поддержки интерпретируемого языка для приложений (например, Java, Python и др.)

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

 

На текущий момент в составе OST доступны следующие модули.

 

Драйверы

  • Драйвер UART
  • Драйвер LCD
  • Драйвер воспроизведения звука при помощи PWM
  • Драйвер AC97 контроллера
  • Драйвер управления подсветкой с помощью PWM
  • Драйвер клавиатуры
  • Драйвер NAND-FLASH
  • Драйвер файловой системы
  • Драйвер RTC
  • Драйвер управления зарядом батареи
  • Драйвер АЦП
  • Управление GSM модулем
  • Управление Bluetooth модулем
  • Драйвер USB Client
  • Драйвер Touch Screen

 

Протоколы

  • PPP
  • TCP/IP
  • BCSP
  • HTTP, HTTPS
  • SMTP
  • POP3
  • SSL
  • Wireless village

 

Библиотеки

  • Архиватор данных по алгоритму bzip
  • Графическая библиотека (различные типы шрифтов, работу с изображениями, в том числе с анимированными .gif, .png, jpeg)
  • Оконная библиотека
  • Кодеки AMR, AMR2
  • Конвертеры изображений (JPEG, PNG, TIFF)

 

Приложения

  • Desktop
  • Voice Dialer
  • E-mail с интегральной поддержкой SMS
  • Instant Messenger (поддерживает несколько протоколов)
  • Органайзер (ежедневник)
  • Центральная адресная книга (имеет кооперативные интерфейсы с другими приложениями)
  • Конфигуратор устройства
  • Web-браузер с поддержкой популярного подмножества xHtml и CSS

 

 

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

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

 

Практические материалы

В вышеизложенной части приводились лишь <теоретические соображения>, касающиеся разработки устройств. Здесь же предполагается привести некоторые количественные параметры, характеризующие данный подход. Количественные оценки в общем случае сделать затруднительно, поскольку решаемые задачи существенно разняться по своему наполнению и предъявляемым требованиям. Поэтому, как представляется, лучший способ выявить преимущества и недостатки различных технологий, это проиллюстрировать их применение на конкретных примерах разработок, осуществленных компанией <Танчер>. На этих примерах показывается, насколько разнообразными, гибкими, и эффективными могут быть продукты, разработанные с применением модульного подхода.

 

1) Проект лабораторного измерительного устройства.

Задача: разработать недорогое устройство, предназначенное для автоматизации лабораторного эксперимента.

Предъявляемые требования: низкая цена и максимально короткие сроки.

 

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

Управление производилось через UART по специализированному помехозащищенному протоколу.

Ожидаемые количества - несколько десятков устройств.

 

Аналогичные устройства на рынке стоят от 700$. Доступные для адаптации устройства стоят от 100$ при этом требуется доработка программного обеспечения и изготовление платы расширения. Общие затраты на доработку в этом случае соизмеримы с разработкой устройства с нуля. Разработка готового решения, с учетом выбора процессора, написания программы, оценивается ~5000$

Решением задачи явилось устройство на платформе BIRCH. В качестве периферийного модуля использована ПЛИС с запрограммированным счетчиком, подключенная к процессору.

Полученные характеристики:

Стоимость разработки ~2000$

Себестоимость устройства, учитывая малый размер партии ~75$

 

2) Проект навигатора по территории магазина или торгового комплекса.

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

Ожидаемый размер партии - десятки тысяч устройств.

 

Заказчиком рассматривался подход с использованием готового КПК c WiFi доступом + дополнительный картридж с RFID сканером. Параметры такого решения следующие - стоимость КПК ~ 250$. Стоимость сканера ~ 50$. Кроме этого требовалась разработка набора приложений для управления устройством. Существенным недостатком такого решения, кроме перечисленных выше факторов, является то, что КПК можно использовать не только в этом магазине, но и в других местах (например, у себя дома), что могло бы приводить к кражам дорогостоящего оборудования.

 

Разработка нового устройства <с нуля> оценивается в сумму порядка 500.000 долларов. Без учета стоимости оснастки и производственной подготовки.

 

Применение модульного подхода дало следующие результаты:

Использовалась платформа MAPL. Разработка устройства, с учетом специфических требований к его дизайну составляет около 150000$, при партиях > 10000 устройств себестоимость по BOM ~150$.

 

ЗАКЛЮЧЕНИЕ.

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

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

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

Этот подход наглядно продемонстрировал свою эффективность в значительном числе проектов, реализованных компанией <Танчер>.

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

  • Торговые предприятия. Системы автоматизированной торговли, электронные киоски, терминалы для сотрудников торговых сетей, портативное оборудование для логистики, контроль качества товара.
  • Производство. Здесь речь может идти о терминалах для управления производственным процессом, управления качеством продукции, управления персоналом, специализированных системах управления оборудованием и т.д.
  • Медицинское оборудование. Системы мониторинга состояния больных, портативные терминалы для доступа к данным больниц для медицинского персонала, всевозможные измерители, позволяющие быстро и удобно собирать и анализировать информацию обо всем, что происходит в заведении (больнице, поликлинике)
  • Специализированные системы для охраны порядка
  • Персональные охранные системы
  • Складское оборудование
  • Терминалы для дорожных служб
  • Терминалы для муниципальных служб
  • Платежные системы
  • Системы связи

Список можно продолжать.

 

По мнению инженеров компании <Танчер>, в отличие от подхода all in one chip, который в последнее время приобретает все большую популярность для устройств широкого профиля, в случаях, когда от оборудования требуется определенная специфика, у модульного подхода отсутствуют конкуренты. Есть все основания полагать, что в будущем такой подход станет стандартом разработки в мобильной электронике и при проектировании соответствующих интеграционных решений.

 
Copyright © 2006 Tancher Corp.
All rights reserved.
Projects  |  Contact Us  |