Электронные компоненты №7/2010

Page 1



содержание

№7/2010

6 Promwad. Исповедь 12 СОБЫТИЯ РЫНКА

РАЗРАБОТКА и КОНСТРУИРОВАНИЕ 13 Станислав Гафт Современные методы обеспечения качества и надежности электронных модулей и блоков

МИКРОКОНТРОЛЛЕРЫ и DSP

30 Сухел Данани Новая архитектура ЦПОС с изменяемой разрядностью 34 Эрик Кармс Многоядерные архитектуры преображают проводные и беспроводные IP-сети 40 Братин Саха Модель программирования для гетерогенных платформ на базе архитектуры Intel x86

18 Ким Роу Как избежать убытков при программировании МК

47 Аддикам Санджей, Прашант Паливал Как перейти на Intel Atom с другой процессорной архитектуры

22 Артур Лавриков Архитектуры малопотребляющих процессоров и способы оптимизации энергопотребления

55 Виктор Охрименко OMAP35ХХ: возможности и особенности

журнал для разработчиков

РЫНОК

Руководитель направления «Разработка электроники» и главный редактор Леонид Чанов; ответственный секретарь Марина Грачёва; редакторы: Елизавета Воронина; Виктор Ежов; Екатерина Самкова; Владимир Фомичёв; Леонид Чанов; редакционная коллегия: Валерий Григорьев; Борис Рудяк; Владимир Фомичёв; Леонид Чанов; реклама: Антон Денисов; Ольга Дорофеева; Елена Живова; распространение и подписка: Марина Панова, Василий Рябишников; вёрстка, дизайн: Александр Житник; Михаил Павлюк; директор издательства: Михаил Симаков Адрес издательства: Москва,115114, ул. Дербеневская, д. 1, п/я 35 тел.: (495) 741-7701; факс: (495) 741-7702; эл. почта: elecom@ecomp.ru, www.elcp.ru ПРЕДСТАВИТЕЛЬСТВА: Мир электроники (Самара): 443080, г. Самара, ул. Революционная, 70, литер 1; тел./факс: (846) 267-3139, 267-3140; е-mail: info@eworld.ru, www.eworld.ru. Радиоэлектроника: 620107, г. Екатеринбург, ул. Гражданская, д. 2, тел./факс: (343) 370-33-84, 370-21-69, 370-19-99; е-mail: info@radioel.ru, www.radioel.ru. ЭЛКОМ (Ижевск): г. Ижевск, ул. Ленина, 38, офис 16, тел./факс: (3412) 78-27-52, е-mail: office@elcom.udmlink.ru, www.elcompany.ru. ЭЛКОТЕЛ (Новосибирск): г. Новосибирск, м/р-н Горский, 61; тел./факс: (3832) 51-56-99, 59-93-31; е-mail: info@elcotel.ru, www.elcotel.ru. Издательство «Электроника инфо» (Минск): 220015, г. Минск, прз. Пушкина, 29 Б; тел./факс: +375 (17) 251-6735; е-mail: electro@bek.open.by, electronica.nsys.by. IMRAD (Киев): 03113, г. Киев, ул. Шутова, д. 9, оф. 211; тел./факс: +380 (44) 495-2113, 495-2110, 495-2109; е-mail: imrad@tex.kiev.ua, www.imrad.kiev.ua Журнал включен в Реферативный журнал и Базы данных ВНИТИ. Сведения о журнале ежегодно публикуются в международной справочной системе по периодическим и продолжающимся изданиям «Ulrich’s Periodicals Directory». Использование материалов возможно только с согласия редакции. При перепечатке материалов ссылка на журнал «Электронные компоненты» обязательна. Ответственность за достоверность информации в рекламных объявлениях несут рекламодатели. Индекс для России и стран СНГ по каталогу агентства «Роспечать» — 47298, индекс для России и стран СНГ по объединенному каталогу «Пресса России. Российские и зарубежные газеты и журналы» — 39459. Свободная цена. Издание зарегистрировано в Комитете РФ по печати. ПИ №77-17143. Подписано в печать 04.07.2010 г. Учредитель: ООО «ИД Электроника». Тираж 3000 экз. Изготовлено ООО «Группа Море». г. Москва, Хохловский пер., д. 9. Тел.: +7 (495) 917-80-37.

Электронные компоненты

www. elcp.ru


60 Виктор Никонов Мобильные процессоры Samsung

ПОСЛЕ РАБОТЫ 85 Виктор Чистяков Тестирование инжекторных двигателей при помощи USB-адаптера BM9213 «МАСТЕР КИТ»

67 Росендо Бракомонте Дель Торо Создание интерфейса между ПЛИС и МК

87 Гаральд Шад Контроллер уличного освещения

73 Лорен Хоббс Увеличение эффективности встраиваемых систем за счет вычислительных блоков

4

88 Михаэль Хелцл Предусилитель с удаленным управлением

СОДЕРЖАНИЕ

76 Ли Кох Ярче, лучше, меньше 89 79 Алексей Пантелейчук Управление щеточным двигателем при помощи ARM-микроконтроллеров Stellaris

БЕСПРОВОДНЫЕ ТЕХНОЛОГИИ 82 Олег Пушкарев GSM-модем AirLink GL6100/GL6110: большие возможности в маленьком корпусе

WWW. ELCP.RU

НОВЫЕ КОМПОНЕНТЫ НА РОССИЙСКОМ РЫНКЕ


contents # 7 / 2 0 1 0

E LEC TRO N I C COM PO N E NT S #7 2010 60 Victor Nikonov Samsung Mobile Processors

MARKET 6 Promwad. Confession

67 Rocendo Bracamontes Del Toro How to Interface FPGAs to Microcontrollers

12 MARKET EVENTS

DESIGN and DEVELOPMENT 73 Loren Hobbs Increase Embedded Processor Efficiency through the Use of Distributed CPU Blocks

13 Stanislav Gaft Modern Ways of Providing Quality and Reliability for Electronic Units

76 Lee Koh Brighter, Better, Smaller

MCU and DSP 18 Kim Rowe A Сommon Sense Approach to Avoiding MCU Software Losses

30 Suhel Dhanani The Need for Variable Precision DSP Architecture

WIRELESS 82 Oleg Pushkarev AirLink GL6100/GL6110GSM Modem: Big Features in Small Package

AT LEISURE

5

34 Eric Carmes Multicores Can Transform IP-based Wired/Wireless Networking

85 Victor Chistyakov Testing Injector Motors by Using VM9213USB Adapter from MASTER KIT

40 Bratin Saha A Programming Model for Heterogeneous Intel x86 Platforms

87 Harald Schad Outdoor Lighting Controller

47 Addicam Sanjay Guidelines for Migrating to Intel Atom Processor from Other Processor Architecture 55 Victor Okhrimenko OMAP35ХХ Features

88 Michael Hoelzl Remote-controlled Preamp with Digital Pot 89

NEW COMPONENTS IN THE RUSSIAN MARKET

Электронные компоненты №7 2010

СОДЕРЖАНИЕ

22 Artur Lavrikov Low Power Processor Architectures and Contemporary Techniques for Power Optimization

79 Alexey Panteleychuk Driving Brush-Type Motor by Stellaris ARM MCUs


PROMWAD. ИСПОВЕДЬ Обычно мы не печатаем интервью объемом более трех полос и безжалостно сокращаем текст, если этот объем превышен. Однако в этом случае у нас не поднялась рука, и мы решили напечатать интервью практически без сокращений, несмотря на то что его объем вдвое превышает принятый нами максимум. Рассказ Романа Пахолкова, генерального директора инновационной компании Promwad, скорее напоминает исповедь, а не интервью. Он подробно, ничего не утаивая, ответил на наши вопросы.

РЫНОК

6

– Расскажите, пожалуйста, о Promwad: истории компании, ее численности и структуре. – Компания была основана в 2004 г. Но ее история началась в 2002 г. с разработки новой универсальной измерительной платформы для серии приборов, используемых для волоконно-оптических линий связи. Этот сложный проект собрал практически всех белорусских специалистов по системам на кристалле (СнК) и ОС Embedded Linux. Прототипы устройства были реализованы еще на StrongARM, одной из первых СнК для мобильных устройств. По окончании работы над проектом стало понятно, что компании, в стенах которой создавался новый прибор, нерентабельно содержать такое количество инженеров с узконаправленной специализацией. Было принято решение о создании отдельного независимого бизнеса для разработки сложных электронных устройств на острие технологий. Сейчас в компании 8 отделов, в которых работают около 60 человек. На нынешнем этапе сформировались предпосылки для создания небольшого холдинга, в который уже входит несколько компаний и представительств в разных странах, а также небольшая компания, занимающаяся OEM/ODM-производством электроники 1. Перечислю производственные отделы Promwad: отдел разработки аппаратуры и электроники; отдел системного программирования и разработки пакетов поддержки аппаратных платформ (BSP); отдел разработки прикладного ПО; отдел промышленного дизайна; отдел поставок и контроля производства опытных образцов и установочных партий (развивающаяся структурная единица компании). Также стоит отметить подразделения, непосредственно не связан-

1

ные с производством, но имеющие огромное значение для развития бизнеса: быстрорастущий отдел контроля качества и сертификации, отдел маркетинга и продаж, а также административно-финансовый отдел. С момента создания и до сегодняшнего дня компания работает исключительно за счет собственных инвестиций. Все эти годы мы реинвестируем большую часть прибыли в собственное развитие, а с прошлого года — в новые подразделения и компании холдинга. – На наш взгляд, компания уникальна — ни в России, ни в Беларуси не существует дизайн-центров, занимающихся только заказной разработкой. Известны ли Вам другие достаточно крупные дизайнцентры, подобные Promwad, на рынках электроники в России или Беларуси? Есть ли у Promwad конкуренция со стороны компаний из СНГ? – Быть независимым дизайнцентром непросто, тем более работая на рынке свободной конкуренции. Сегодня в России существуют подобные компании и небольшие группы разработчиков, но первые чаще всего попадают в зависимость от крупных государственных или государственно-частных компаний, а вторые перебиваются мелкими и средними проектами. Следует понимать, что для активной работы в таком направлении требуется жесткая воля и уверенность в своих силах. Второй фактор, освобождающий нас от конкуренции, — наша специализация на продуктах для серийного

производства. В основном в сфере мультимедиа. – Считаете ли Вы модель бизнеса Promwad в условиях России и Беларуси перспективной, или это временная, вынужденная форма ведения дел? Не станет ли в свое время такая компания фактически подразделением одного или нескольких крупных заказчиков? – Я глубоко убежден, что такая бизнес-модель перспективна, а в российских реалиях — тем более. Во-первых, этот подход позволяет участвовать в проектах на острие технологий, обогащая знания наших инженеров, позволяя им впитывать мировой опыт. Во-вторых, изначально поставив себя в позицию независимой компании, которая может рассчитывать только на собственные силы, мы построили эффективные бизнеспроцессы, отобрали лучших специалистов и заставили такой бизнес быть рентабельным только за счет разработок. В-третьих, в условиях дефицита в России квалифицированных инженеров наши услуги при должном уровне сервиса постоянно растут в цене. Это объективная реальность на сегодняшний день. В компании Promwad всегда существовала четкая стратегия развития, следуя которой, мы смогли выжить и стать полноценным развивающимся дизайн-центром. Перечислю ключевые моменты этой стратегии. 1. Проектирование аппаратуры на базе современных микропроцессоров и СнК, преимущественно с применением ОС Embedded Linux в качестве программной платформы, и стремление заниматься средними и

Инновационная компания Promwad — независимый дизайн-центр электроники, который предоставляет услуги полного цикла разработки электронных устройств и встраиваемых систем для серийного производства. Клиентами компании являются производители электронных устройств в Западной и Восточной Европе, США, Канаде, Юго-Восточной Азии и России. Основной центр разработок Promwad расположен в Минске.

OEM-компания (Original Equipment Manufacturer) занимается производством электронных устройств или компонентов, которые поставляются заказчику для последующей перепродажи под его торговой маркой. ODM-компания (Original Design Manufacturer) оказывает услуги по производству электронных изделий собственной разработки, но под торговой маркой заказчика.

WWW.ELCP.RU


– Насколько распространены независимые дизайн-центры на мировом рынке? Каково число таких компаний, их годовой оборот? – Мы постоянно проводим мониторинг российского, европейского и американского рынков контрактных разработчиков. В последнее время начали интересоваться состоянием дел в ЮВА. На мировом рынке работает множество дизайн-центров, но лишь немногие из них независимы. Часть из них работает исключительно над проектами немецких и французских автомобилестроителей, что означает их зависимость от заказчиков. Другие компании подчинены цепочкам экосистем, создаваемых поставщиками кристаллов. Третьи вынесены как отдельные подразделения крупных продуктовых компаний, но лишь для упрощения контроля расходов на НИОКР. Также существуют дизайнцентры, занимающиеся разработкой решений для спецприменений в телекоме, автоматизации или военной технике. Безусловно, работа на таких закрытых рынках не свидетельствует о независимости этих компаний. Что касается стран ЮВА, то, по-нашему мнению, местные дизайн-центры зависят или интегрированы в OEM/ODMпроизводство. В итоге можно утверждать, что независимых дизайн-центров, разрабатывающих продукт под ключ, в мире не так много. Если рассматривать прямых конкурентов Promwad (независимые дизайн-центры, кото-

рые работают на свободном рынке и успешно создают потребительскую электронику), то это всего 10—20 компаний. В качестве примера можно привести Indesign (США) или Longcheer Holdings и UMEOX Mobile (китайские компании, специализирующиеся на разработке и производстве смартфонов). Если говорить о финансовых показателях и годовом обороте, то они, как правило, невысоки, т.к. независимые компании продают исключительно свои услуги и не оперируют материальными активами. Их оборот обычно составляет несколько миллионов долларов в год. – Как Promwad ищет заказчиков, или в настоящее время уже заказчики ищут Promwad? Расскажите, каким образом, за счет чего компания завоевала место под солнцем. – Компания Promwad завоевала определенные позиции на рынке, т.к. мы не позволяем себе расслабляться. Наши специалисты находятся в постоянном поиске перспективных ниш для продажи своих услуг. Компания предлагает заказчику не просто разработку, а успешный серийно производимый продукт или линейку продукции, а также поддержку на всех этапах жизненного цикла. Наше стремление к кооперации, реализуемое в России с большим трудом, тоже приносит свои плоды. К примеру, с российским представительством STMicroelectronics мы предоставляем редкую для отечественного рынка услугу разработки приставок (STB) для цифрового ТВ под ключ. И наш партнер, компания с мировым именем, продвигает Promwad в этой сфере. Другой пример сотрудничества: поставщик компонентов «МТ-Систем», заинтересованный в продвижении процессоров Samsung, увидел в нас надежного партнера, умеющего создавать продукты на этих СнК. Отмечу, что еще задолго до этого сотрудничества наши специалисты работали с процессорами Samsung, т.к. по соотношению цена/качество они лучшие в своем классе. Сегодня также можно говорить о развивающемся партнерстве Promwad с европейскими представителями компаний Analog Devices, Fujitsu, Marvell и др. Это еще один трудный путь на рынок, но он уже приносит свои плоды. Несмотря на это сотрудничество и работу в области продвижения определенных кристаллов, наши инженеры всегда выбирают оптимальное решение с точки зрения себестоимости и эффективности. И если зав-

тра у иного поставщика кристаллов появится новая достойная СнК, мы ее используем в своих разработках. Кроме того, с каждым из этих производителей мы работаем в определенных сегментах рынка, где применение их решений действительно выгодно для наших клиентов. Отдел маркетинга и продаж находится в постоянном поиске новых стратегических ниш, где могут быть востребованы наши услуги, и стимулирует продажи именно в найденных точках роста. К примеру, в России такой точкой является абонентское оборудование для цифрового ТВ, но, поверьте, прорабатывать эту тему мы стали гораздо раньше, чем начали оказывать услуги в данной области. – Компания занимается всеми аспектами разработки: софт, железо, разработка КД, корпусов и топологии печатных плат, проведение испытаний и т.д. Все работы делаются силами штатных сотрудников, или Promwad прибегает к аутсорсингу? Работаете ли вы с фрилансерами? – В 2004–2005 гг. мы прибегали к услугам удаленных разработчиков, т.к. некоторые задачи требовали углубленной специализации, а содержать таких сотрудников в штате мы не могли. Но вот уже более четырех лет все работы, связанные с разработкой электроники, выполняются штатными сотрудниками Promwad. Только такой подход позволяет получать гарантированные результаты по срокам исполнения и качеству проектов. Начинающим коллегам, стремящимся к построению подобных компаний, я посоветовал бы никогда не надеяться на услуги фрилансеров в области основной деятельности, т.к. их работа не поддается измерению и не имеет гарантированного результата. В то же время я хочу отметить, что при решении сложных инженерных, технических и алгоритмических задач мы прибегаем к использованию внешних консультантов, экспертов. Но непосредственная реализация задач по проектированию выполняется штатными инженерами. Благо, на сегодняшний день наш коллектив насчитывает более 10 инженерных специализаций. – Promwad предлагает разнообразные схемы сотрудничества, что очень удобно для заказчиков, но всегда ли это удобно вам? Например, в случае «выделенной команды» ее члены фактически выпадают из жизни Promwad. То же относится и к другим формам сотрудничества. Это

Электронные компоненты №7 2010

7 РЫНОК

крупными проектами именно в этих направлениях. 2. Ориентация компании на привлечение лучших инженерных кадров и их постоянное развитие. 3. Ориентация на заказчика и стремление к кооперации, несмотря на регулярные неудачи в этом процессе. Действительно, отечественные разработчики электроники могут стать подразделением одного или нескольких крупных заказчиков. На российском рынке имеются подобные примеры. Однако с первого дня основания нашей компании мы работаем над диверсификацией бизнес-портфеля. Имея на сегодня 6–8 стабильных крупных заказчиков или проектов, мы не отказываемся от участия в стартапах и продолжаем диверсифицировать пул заказов. Например, сейчас в компании выполняется параллельно более 15 проектов. Такой формат работы нам нужен не только для сохранения независимости, но и для поддержания равномерной загрузки узкоспециализированных инженеров.


РЫНОК

8

экономически выгодно или жизнь заставила? – Действительно, у формата «выделенная команда» имеется такой недостаток. Поэтому мы крайне редко и осторожно используем эту схему. Бывает, инженеры и программисты не просто временно «выпадают» из коллектива, а используются заказчиком не по прямой специализации. Это ведет к демотивации специалистов и потере лояльности к компании, что плохо отражается на нашей корпоративной культуре, нацеленной на результат. Такая схема также противоречит стремлению Promwad к диверсификации портфеля заказов. Сегодня по такой модели мы сотрудничаем с единственным заказчиком, с которым совместными усилиями создаем современные мультимедийные продукты для немецкого автопрома. В данном случае мы работаем как «выделенная команда», т.к. это единственная возможность получить уникальный опыт в этой нише. Мы надеемся, что приобретенные знания в скором времени пригодятся и в России. Наиболее распространенными схемами сотрудничества с Promwad является разработка продукта под ключ с фиксированной ценой либо модель с оплатой по фактическим трудозатратам. По проектно-ориентированной модели с фиксированной ценой мы чаще всего работаем на этапе разработки продукта и создания опытного образца с ограниченным функционалом, который заранее определен совместно с заказчиком в ТЗ и спецификациях. Последующие этапы жизненного цикла изделия (доработка и тестирование ПО, подготовка установочной партии и создание софта для функционального тестирования, оптимизация изделия по цене и технологичности для конкретного серийного производства, сопровождение серийно выпускаемых изделий или модельного ряда) мы чаще всего выполняем по схеме оплаты фактических трудозатрат, но в рамках определенных заказчиком бюджетов. Как правило, с клиентом значительно легче становится работать после того, как он получит коммерческую выгоду от нашей разработки. Это заставляет нас постоянно снижать риски, работать над уменьшением сроков и улучшением качества услуг. Такой показатель клиента как время выхода на рынок с новым продуктом является ключевым и для нашего бизнеса — мы заинтересованы в его сокращении. Если далее развивать тему построения моделей сотрудничества, можно

WWW.ELCP.RU

отметить, что часто нам предлагают схемы с отчислениями за продажу продукта, но мы крайне редко видим в них целесообразность, особенно на российском рынке ввиду его недостаточной цивилизованности. – Компания занимается системным программным обеспечением. Какому ПО отдается предпочтение: коммерческому или свободно распространяемому и почему? В каких случаях и какое ПО предпочтительнее? – Мы отдаем предпочтение свободно распространяемому ПО. Мои коллеги уже не раз развеивали миф о том, что свободно распространяемое ПО означает бесплатность и отсутствие лицензий. На практике затраты во многих проектах при использовании открытого исходного кода могут в разы превысить аналогичную разработку на коммерческой программной платформе, что увеличивает стоимость всего проекта. Чтобы этого не произошло, необходимо разобраться в этом вопросе еще на начальном этапе разработки. Имеются общемировые тренды, свидетельствующие о том, что в сетевых устройствах, например, преобладает свободное ПО, а в мобильных по-прежнему серьезное место по праву занимает закрытое лицензионное программное обеспечение. В силу того, что специализация Promwad с момента основания компании была направлена на применение открытого исходного кода, наша прикладная специализация на мультимедийной электронике является закономерной, т.к. именно в этой нише превалирует свободное ПО. Помимо обозначенной скрытой стоимости при разработке также могут выявиться дополнительные аспекты. К примеру, патент, не дающий право на использование, казалось бы, свободно распространяемого компонента. Также следует учесть необходимость применения лицензионных компонентов. Например, если в качестве ключевого компонента платформы выбран микропроцессор, который аппаратно не реализует шифрование мультимедийного контента DRM, придется реализовать эту процедуру программно и, возможно, заплатить лицензиару еще большую сумму, чем при использовании программной платформы целиком. Все эти риски должны быть выявлены в начале проекта, их поиск ведется многими специалистами. Безошибочное решение принять не так уж легко, но квалификация наших проект-менеджеров на сегодняшний день позволяет это делать эффективно.

– Вы предлагаете услуги по разработке КД и размещению разработанных компанией изделий на производстве. Вы сами выбираете производство или готовы разместить разработанные изделия на любом заводе-изготовителе, указанном заказчиком? – На эту тему специалисты компании могут прочитать лекцию. Я ограничусь лишь ключевыми рецептами. Как правило, если наш клиент является производителем собственной продукции, то на этапе отправки изделия на производство мы работаем по его стандартной модели. Это может быть собственное производство заказчика, если оно обладает необходимыми технологическими возможностями. Но наши зарубежные клиенты чаще пользуются услугами проверенных контрактных производителей в ЮВА (Тайвань, Южная Корея, континентальный Китай). В таком случае мы адаптируем конструкторскую документацию для размещения производства на указанном заводеизготовителе. В эту работу входит оптимизация списка комплектующих (BOM), изменение компонентной базы (подбор компонентов, более удобных для поставок в требуемый регион), адаптация печатной платы под технологические нормы производства, подготовка функциональных тестов. Это очень важный этап, но с такими заказчиками он выполняется безболезненно. Другой тип заказчиков — начинающие компании, которые не только не наладили партнерских связей с производителями, но вовсе не имеют опыта производства. Среди них бывают клиенты, которые не работали в сфере электроники. В таких случаях большая часть ответственности по выбору производителя ложится на Promwad. Для эффективного оказания такого вида услуг мы создали бизнесединицу — ОEM/ODM-производитель без собственного производства. Сейчас в этой небольшой компании трудится несколько специалистов, которые не только нарабатывают контакты с компаниями Юго-Восточной Азии, но и проводят постоянный мониторинг местного производства. Отмечу, что нельзя заниматься оптимизацией производства на первом этапе разработки, это даже вредно для конечного результата. Итерации разработки и подготовки к производству нового изделия должны быть разделены. – К услугам, оказываемым Вашей компанией по организации серийного производства, относятся: контроль над соблюдением техно-


– Какая серийность производства разработанных компанией изделий? Если можно, приведите несколько примеров. – Года 2—3 назад мы взяли на вооружение лозунг «Разработка электроники для серийного производства», т.к. поняли, что только при массовом производстве стоимость наших услуг станет приемлемой для заказчиков и мы сможем построить серьезный бизнес в контрактной разработке. С тех пор мы сделали многое в создании новых серийных изделий.

И только сегодня мы начинаем получать результаты. В этом году в Канаде наш клиент выходит на десятки тысяч инсталляций коммерческого продукта, созданного для воспроизведения лицензионной музыки в развлекательных учреждениях (барах, клубах и ресторанах). Рынок этих устройств оценивается клиентом в 280 тыс. изделий. Помимо этого, мы создали целую линейку продуктов, последний из которых — одноканальный мультимедийный проигрыватель, который подобен устройству от компании Apple. Наш заказчик планирует распространять его через розничные сети продаж в Северной Америке. Возможно, через 1,5—2 года мы сможем похвастаться проектом с миллионной серией. В последнее время у нас появились хорошие заказы и в России, в основном, в сфере абонентского оборудования для цифрового ТВ. Так, один из наших клиентов планирует выйти на несколько десятков тысяч изделий с решением DVB-T SD, а, возможно, и на несколько сотен тысяч. Другой заказчик с подобными объемами производства планирует выпускать устройства для IPTV. В скором будущем в сотрудничестве с еще одним нашим клиентом мы планируем запустить в производство новое мобильное устройство. Подчеркиваю, важно поставить цель и идти к ней. Вот уже третий год мы идем в этом направлении, постепенно углубляем сервисы и продвигаемся на пути к серьезному серийному производству. Это весьма трудоемкий процесс, и мы не смогли бы его реализовать без понимания бизнеса заказчиков. – Что такое «гарантийное обслуживание заказных разработок»? Устранение ошибок разработки, обнаружившихся во время выпуска серийного изделия? Кто и за чей счет в таком случае устраняет ошибки в готовых изделиях? – Эта услуга зависит от выбранной модели сотрудничества. Как я уже говорил, все, что касается аппаратной части, конструкции и дизайна изделия, мы чаще всего разрабатываем под ключ по фиксированной цене. Соответственно, на нас ложатся и риски, связанные с допущенными ошибками. Что касается функционального наполнения устройства, которое чаще всего зависит от программного обеспечения, тут нет предела совершенству. Такое развитие изделия выполняется за счет дополнительных средств клиента. При выходе на коммерческую эксплуатацию финансирование такой поддержки и развития

не вызывает особых затруднений у наших заказчиков. – Как Вы считаете, экономический кризис на руку российским и белорусским компаниям, работающим на рынке электроники? – Мировой экономический кризис внес свои коррективы в развитие отрасли электроники и в России, и в Беларуси. Во-первых, произошел огромный спад в таких рыночных сегментах как автоэлектроника и др. Только сейчас они начинают «оживать». Во-вторых, многие компании приостановили свои проекты по разработке новой продукции. В то же время сложившаяся ситуация на рынке стала источником роста для ряда компаний. Так, разработчики и дизайн-центры электроники получили возможность интегрироваться в мировой рынок благодаря возникшему спросу со стороны зарубежных компаний. Многие предприятия в Западной Европе сократили штат разработчиков или даже закрыли свои центры разработок. В сложившихся условиях им было гораздо выгоднее отказаться от содержания собственных подразделений и разместить заказы у сторонних компаний в Восточной Европе, в т.ч. России. Некоторые компании не упустили возможности по развитию российских проектов. В то время как одни руководители придерживались стратегии «затаиться и выжидать», другие активно урезали расходы в неэффективных сферах бизнеса и инвестировали высвобожденные средства в создание новой продукции. Особую актуальность в условиях кризиса приобрели системы безопасности, цифровое телевидение, ЖКХ, биометрия, медицинская электроника, устройства спутниковой навигации на основе ГЛОНАСС и т.д. Именно эти направления сейчас являются ключевыми для отрасли, они формируют платежеспособный спрос, обеспечивают оборачиваемость капитала и гарантируют развитие бизнеса предприятий в России. – Какой смысл Вы вкладываете в слова «российская электроника»? Кто в сегодняшней электронике «российский (белорусский) производитель»? Дайте, пожалуйста, свое понимание этих терминов. Например, завод по сборке телевизоров «Самсунг» — это российский производитель? – Говоря о российской электронике, я подразумеваю, в первую очередь, электронные продукты, интеллектуальное право на которые принадлежит отечественным компаниям. В

Электронные компоненты №7 2010

9 РЫНОК

логического процесса; оптимизация производства с целью сокращения издержек и т.д. Подобные услуги предполагают серьезное вмешательство в деятельность производителя. Далеко не каждая компанияпроизводитель допустит подобное вмешательство. – Надо сказать, что произведенное электронное изделие проверяется с помощью четырех основных видов тестирования: визуальный контроль (проверка правильности установки компонентов на плате); оптический и рентген-контроль; внутрисхемное тестирование; функциональное тестирование готового изделия. На первые два вида тестирования мы можем влиять лишь в рамках контрактных обязательств. Но два последних Promwad может взять под свой контроль. Мы разрабатываем программы для внутрисхемного тестирования (чаще всего по технологии JTAG), т.к. большинство создаваемых нами устройств основано на СнК. И, наконец, самый главный этап, который позволяет клиентам контролировать качество производства — функциональное тестирование. На практике оно выглядит следующим образом: когда устройство сходит с конвейера, оператор запускает на нем специальное программное обеспечение (производитель предварительно прошивает его в прибор на стадии производства). Это ПО тестирует все жизненно важные функциональные модули устройства: интерфейсы ввода-вывода, периферийные модули микропроцессора, память и дополнительные микросхемы. Мы обязываем производителя вкладывать паспорт проверки изделия, проводимой с помощью программного обеспечения для функционального тестирования. Если произойдет обман, он легко выявится, т.к. наше ПО сохраняет результаты тестов в энергонезависимой памяти, и данные о несоответствии заказчик легко обнаружит.


РЫНОК

10

договорах с нашими клиентами это право трактуется как «исключительное имущественное право на предмет разработки, т.е. на конструкторскую документацию, исходные коды и т.д.». Это крайне важно, т.к. сегодня в большинстве случаев мы видим на прилавках магазинов и используем в жизни электронную продукцию, которая принадлежит европейцам, американцам, японцам, корейцам, китайцам, но никак не русским. Как, собственно, и в случае с телевизором «Самсунг». Более того, он еще и собран из крупноузловых элементов, произведенных за пределами России, т.е. нашей добавленной стоимости в этом товаре практически нет. Очевидно, что элементная база или последние технологии на сегодняшний день не являются нашими. Но мы способны создать конкурентоспособный электронный продукт на элементной базе ведущих мировых производителей: российские дизайнцентры микроэлектроники (fabless) готовы разработать специализированные СнК и при хороших объемах получить конкурентоспособную цену; российские программисты разрабатывают надежный софт — их продукция и вносит вклад в понятие российской электроники. Однако пока эти продукты создаются на западном капитале и, соответственно, в итоге не принадлежат нам — это не российская электроника. Русский капитал должен работать для создания российской электронной продукции, а где она будет производиться, неважно на данном этапе развития национальной электроники. Нам необходимо сосредоточить интеллектуальный капитал внутри страны. Часто приходится читать пресс-релизы, например о том, как МТС выпускает свой телефон или концерн «Ситроникс» анонсирует очередное изделие для датакома, но это не только ODM-продукты китайских производителей, но еще и стопроцентные разработки азиатских инженеров. Обидно, что российский капитал участвует лишь на этапе перепродажи, а не в процессе разработки. Надеюсь, что создание инновационной среды, Сколково и другие проекты в сфере электроники пойдут на пользу, а не станут очередным витком в никуда. Важно, чтобы российский капитал владел разработками и продукт создавался российскими инженерами у себя на Родине (конечно, с привлечением между народных экс-

2

пертов и специалистов). Важно понимать, что до 50% стоимости товара, а иногда и более, содержится в интеллектуальной собственности, а не в производстве. И в заводы по производству микросхем нужно вкладывать не сейчас, а на определенном этапе стратегического цикла, когда появится соответствующая интеллектуальная база. Именно в выполнении тактического плана — создании российского интеллектуального капитала в отрасли электроники — важнейшую роль могут сыграть малые и средние предприятия и, конечно, инвесторы, разделяющие подобную философию. – Как Вы считаете, насколько эффективны меры государства по развитию российского и белорусского рынков электроники? Возможно ли улучшить положение дел за счет частных, а не государственных инвестиций? – Я скептически отношусь к государственным инвестициям или инвестициям крупных компаний. Например, я не слышал, чтобы компания «Ситорникс» сделала полный цикл разработки. На практике в разработку электроники вкладывают не крупные, а средние компании, которые стремятся к развитию и горизонтальной диверсификации. Для них кризис не помеха, они и сейчас успешно работают на постсоветском пространстве. К сожалению, на сегодняшний день крупные госинвестиции часто попадают не по назначению. Их получают компании, у которых есть лобби, а эффективность труда сотрудников оставляет желать лучшего. Я не думаю, что в ближайшее время что-то изменится в этом вопросе, в т.ч. для крупных частных инвесторов, которые сейчас работают там же, куда вкладываются госинвестиции. Надеюсь, что мода на инновации, устанавливаемая в России госчиновниками, принесет свои плоды через 2—3 года и в электронике появится более-менее серьезный частный капитал. Малые и средние компании, которые верят в российскую электронику, инвестируют уже сейчас, но это крайне слабые вливания, их едва хватает для выживания инженеров. – Можно ли в относительных единицах оценить, какую долю оборота компания тратит на исследовательские работы, результаты кото-

рых пригодятся через 2—3 года и даже более? – Сегодня 20—30% своего оборота мы тратим на исследовательские работы. Это и разработка собственных референс-дизайнов 2, и освоение новых микропроцессоров, и изучение перспективных технологий. В прошлом году этот показатель был ниже и находился на уровне 10%, что немного замедлило развитие компании, но на то были объективные экономические причины, которые никого не обошли стороной. – Как компания решает кадровую проблему? – Это не только проблема, но и задача, которую мы должны решать уже сегодня, не надеясь на то, что ее кто-то решит за нас, тем более государство. Мы оцениваем внутренний рынок труда в Беларуси в 200 квалифицированных инженеров в области встраиваемых систем, причем эта оценка сделана с учетом специалистов и в сфере разработки электроники, и в сфере программирования. С учетом посредственных инженеров эта цифра вырастет до 1000. При таком дефиците кадров проблему нужно решать разными методами. В первую очередь, мы делаем ставку на развивающихся инженеров, которые проработали 3—5 лет в отрасли ВПК или других специфических нишах. Мы перехватываем таких специалистов именно на этапе зрелости, а затем обучаем специфике работы в нашей компании. Как правило, если инженер задержался в госсекторе более 5 лет, он нам уже неинтересен. Во вторую очередь, мы привлекаем внимание инженеров, которые по различным причинам возвращаются к нам из-за рубежа. Как правило, это специалисты, которые проработали в Южной Корее, США, Канаде или ЕС. Часто в транснациональных корпорациях. Именно эти люди обучены той инженерной школе, которая необходима Promwad, и потому легко приживаются в коллективе. Этой школы не было в СССР. Особенность западной школы заключается в том, что инженеры обладают достаточно узкой специализацией, высокой эффективностью труда и при принятии важных решений тонко чувствуют грань между стоимостью и качеством применяемых технологий. В-третьих, мы привлекаем внимание развивающихся специалистов,

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

WWW.ELCP.RU


– Есть ли планы развития Promwad на несколько лет вперед? – Да, такие планы существуют. Я уже говорил, как важно иметь стра-

тегию развития компании. Сейчас мы смотрим вперед не только на 2—3 года, но также думаем о том, как трансформируется наша группа компаний в 5—10-летней перспективе. В ближайшее время мы намереваемся увеличить численность персонала компании до 60—80 инженеров при полной занятости, что позволит нам стать одним из крупнейших независимых дизайн-центров в Европе. При таком росте неизбежно возникнет столь важный вопрос как обеспечение качества проводимых работ и их сертификация по международным стандартам. Мы активно работаем над этим задачами уже сегодня. Если говорить о 2—3-летней перспективе, то мы займемся дальнейшей диверсификацией бизнес-портфеля и будем работать над появлением в пуле наших заказов известных транснациональных корпораций. Так, за последние 2 года мы уже прошли несколько аудитов зарубежных компаний — известных мировых брендов. Что касается нашей стратегии на ближайшие 5 лет и горизонтального развития Promwad, то мы не изменим выбранному направлению контрактного разработчика, а лишь постараемся укрепить его распределенной по миру сетью офисов. Уже сейчас мы имеем торговые представительства в Скандинавии, Канаде, Великобритании и полноценный офис в России. Но наша цель — не создание агентской сети продаж, а развитие подразделений в разных странах мира, которые будут специализироваться на определенных этапах или технологиях разработки и производства электроники. Например, в ЮВА логично отправить небольшую группу разработчиков, которые смогут готовить устройства к размещению производства и заниматься вопросами контроля качества. В одну из стран Восточной Европы можно перенести центр

компетенции в нише автомобильной электроники. Есть идеи по развитию офисов в России и Канаде, где сосредоточено большое количество русских инженеров. Это вовсе не означает, что Promwad не будет работать с местными инженерами, но, в первую очередь, нам хочется поддержать российских инженеров, которые разъехались по всему миру, и преобразовать их высокий потенциал в реальные коммерческие проекты. Если рассмотреть рост Promwad в вертикальном направлении, следует отметить развитие холдинга и наших брендов. Оценим ситуацию в рамках 10-летней перспективы. В первую очередь, должна заработать наша идея с российским OEM/ ODM-производителем, для которого мы создали отдельную компанию. Примерно через 5 лет, в течение которых она планирует выйти не только на российские, но и мировые рынки, мы надеемся выделить отдельную нишу для уникального товара (скорее всего, мультимедийного решения). Именно на этом этапе можно будет подумать о создании бренда для данной группы товаров и его раскрутке на соответствующих рынках. В заключение хотелось бы отметить, что мы разделяем разработку, производство и бренды на отдельные бизнесы. Так, Promwad всегда будет заниматься контрактной разработкой с применением передовых технологий. Мы надеемся, что клиенты всегда будут довольны качеством наших услуг, получая дивиденды от продажи пользующихся спросом продуктов, а мы сможем сохранить репутацию контрактного разработчика. Это тот фундамент, который позволяет нам оценивать будущее электронной индустрии свежим взглядом. Интервью Чанов

подготовил

Леонид

11 РЫНОК

которые «выросли» из своих компаний, тех, кто хочет работать с последними технологиями, но не имеет этой возможности у себя на работе. Как правило, у таких инженеров есть два пути: уехать за рубеж либо прийти к нам в Promwad. Мы делаем все, чтобы эти специалисты оставались у нас и работали на проектах мирового уровня. Так, в прошлом году мы инициировали и провели Форум разработчиков цифровой электроники (DEDF’09), который в значительной мере отличался от других аналогичных мероприятий тем, что имел практическую направленность. Участники форума успешно делились знаниями на примере разработанных продуктов и решений. Итог — увеличение лояльности к Promwad в инженерной среде. Мы обязательно продолжим поддержку этого форума и в этом году надеемся провести его в Москве. Четвертый рецепт решения кадровой проблемы — обучение студентов и выпускников вузов (в погоне за готовыми специалистами нельзя забывать и про молодые таланты). Мы сотрудничаем с факультетом радиофизики и электроники Белорусского государственного университета, помогаем проходить практику самым талантливым студентам (начиная с третьего курса и заканчивая преддипломной практикой выпускников). Это очень важная работа, т.к. сегодня высшая школа, увы, имеет большой разрыв с реальными технологиями. Хотелось бы, чтобы другие компании относились к этой задаче так же, как мы. В Беларуси есть много подобных положительных примеров, особенно в сфере программирования. Насколько я знаю, в России крупные международные компании также практикуют этот подход.

Электронные компоненты №7 2010


СОБЫТИЯ РЫНКА | ГК «РОСТЕХНОЛОГИИ» УЧАСТВУЕТ В «РОССИЙСКОЙ НЕДЕЛЕ ЭЛЕКТРОНИКИ» | 26—28 октября 2010 г. в московском «Экспоцентре» пройдет «Российская неделя электроники» – комплекс специализированных мероприятий, включающий семь выставок и более 20 конференций и семинаров по разработке, производству, поставкам электронных компонентов и продвижению российской электроники на отечественном и зарубежном рынках. Подробная программа, посвященная актуальным проблемам отрасли, опубликована на веб-сайте http://russianelectronicsweek.ru/node/57 Официальным партнером «Российской недели электроники» стала государственная корпорация «Ростехнологии», объединяющая десятки отечественных предприятий радиоэлектронного комплекса. Экспозиция «Ростехнологии» займет центральное место на крупнейшей выставке «Российской недели электроники» – «ChipEXPO-2010» – площадью 140 кв.м. Свои разработки на стенде представят 38 компаний. www.russianelectronics.ru

| ЭКСПОЗИЦИЯ «СОВРЕМЕННЫЕ СИСТЕМЫ ОСВЕЩЕНИЯ» НА ВЫСТАВКЕ «CHIPEXPO-2010» | Полупроводниковая светотехника, будучи эффективной энергосберегающей технологией, получила бурное развитие практически во всех странах мира. В ближайшие десять лет светодиоды займут 30% рынка осветительной техники, обеспечив экономию электроэнергии в десятки миллиардов кВт/ч в год. В мире наблюдается подлинный бум как в сфере научных исследований в области нанотехнологий для целей оптоэлектроники, так и в области разработки и промышленного освоения выпуска изделий полупроводниковой светотехники. Именно поэтому на выставке «ChipEXPO-2010» (Москва, Экспоцентр, 26—28 октября), основной тематикой которой являются полупроводниковые изделия микроэлектроники и электронная техника, второй год подряд организуется тематическая экспозиция «Современные системы освещения». Экспозиция «Современные системы освещения» занимает площадь 150 кв.м. и имеет индивидуальный дизайн. Каждому участнику может быть предоставлена площадь от 10 кв.м. Стенды располагают автономной зоной для бесплатных презентаций. Стоимость участия в тематической экспозиции — 8 тыс. руб./кв. м. Регистрационный взнос участника выставки — 10 тыс. руб. Информация о выставке, список участников, деловая программа размещены на официальном сайте выставки http://chipexpo.chipexpo.ru. Приглашаем к участию в экспозиции «Современные системы освещения». Руководитель проекта — Екатерина Князева, ek@chipexpo.ru. http://chipexpo.ru

| НА ЭКСПОФОРУМАХ РАССКАЖУТ О НОВИНКАХ | В дни работы выставок «Российской недели электроники» прямо на открытых площадках в выставочных залах будут организованы экспофорумы — серии экспресс-презентаций новых изделий, разработок и технологий участвующих компаний. За месяц до начала мероприятий будет опубликована программа презентаций, сгруппированная по тематическим направлениям. Оргкомитет рассчитывает таким образом ознакомить всех посетителей с новейшими разработками ведущих мировых компаний. Для участников выставок презентации на экспофорумах бесплатные. На сайте http://russianelectronicsweek.ru/node/68 открыт прием заявок на презентации. http://russianelectronicsweek.ru

РЫНОК

12 | «ЧИП И ДИП» СТАВИТ НА «ДРУГУЮ ЭЛЕКТРОНИКУ» | Спонсором выставки «Другая электроника — вернисаж удивительных решений» станет в этом году компания «Чип и Дип» — лидер в поставке электронных компонентов, измерительных приборов, инструмента, паяльного оборудования, электротехнических изделий, средств разработки и отладки. Магазины «Чип и Дип» рады предложить Вам самый широкий ассортимент изделий радиоэлектроники. Приглашаем всех желающих принять участие в экспозиции и заполнить заявку на участие на сайте: http://chipexpo.chipexpo.ru/other.html. http://chipexpo.ru

| КОМПАНИЯ «АБРИС» СООБЩАЕТ... | Уважаемые господа! Компания «Абрис» сообщает о смене городского телефона в СанктПетербурге. Наш новый номер (812) 702-10-10. Все остальные контактные данные остаются без изменений. www.rcmgroup.ru

WWW.ELCP.RU


Современные методы обеспечения качества и надежности электронных модулей и блоков СТАНИСЛАВ ГАФТ, технический директор ЗАО «Предприятие Остек»

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

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

а)

ОСНОВНЫЕ ТИПЫ ДЕФЕКТОВ

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

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

б)

в)

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

Электронные компоненты №7 2010

13


а)

б)

узлов указанной сложности, по опыту, составит не менее часа. В условиях среднесерийного производства (производительность сборочного оборудования — 10 тыс. компонентов в час) в ремонт ежечасно будет поступать (10000/400)⋅0,33=8 модулей. Значит, для ремонта понадобится не менее восьми высококвалифицированных наладчиков. Такой подход никак нельзя назвать современным. Для выпуска качественной и надежной продукции при сохранении оптимальной себестоимости необходимо отбраковывать несоответствующие компоненты и комплектующие на этапах проведения квалификации производителей и поставщиков и входного контроля (см. рис. 2). Технологические дефекты

в)

г)

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

Для диагностики и локализации технологических дефектов (см. рис. 3) каждому предприятию, исходя из характера и серийности выпускаемой продукции и условий ее применения, необходимо: – разработать оптимальную стратегию контроля, позволяющую выявлять дефекты как можно ближе к месту их вероятного возникновения; – разработать программу по реализации выбранной стратегии контроля, включающую выбор оптимального набора инспекционного, контрольно-измерительного и испытательного оборудования; – внедрить на предприятии новый типовой технологический процесс, включающий испытания, инспекционные и контрольно-измерительные операции, предусмотренные выбранной стратегией контроля. В таблице 2 показано, какой тип оборудования подходит для диагностики и локализации того или иного типа дефектов. КРИТЕРИИ ОЦЕНКИ ДОСТИЖЕНИЯ ЗАПЛАНИРОВАННОГО УРОВНЯ КАЧЕСТВА И НАДЕЖНОСТИ

Рис. 3. Технологические дефекты, связанные с низким качеством пайки, хорошо выявляются в рентгеновских лучах

узлов (с числом компонентов около 400) при обговоренной договором поставки дефектности 0,1%, выход годных (с первого прохода) составит около 67% (см. выделенную в таблице строку). Это означает, что 33% выпускаемых печатных узлов придется ремонтировать. При отсутствии эффективных средств автоматической диагностики и локализации дефектов, трудоемкость ремонта печатных

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

Таблица 1. Выход годных (с первого прохода) печатных узлов в зависимости от качества используемых компонентов

14 Планируемый (обговоренный в контрактах на поставку) уровень дефектности компонентов

Количество компонентов в модуле 50

100

200

300

400

Выход годных модулей

21,8%

4,8%

0,26%

0,01%

0,005%

Количество дефектных компонентов в модуле

1,5

3

6

9

12

Выход годных модулей

36,4%

13,3%

1,8%

0,23%

0,03%

Количество дефектных компонентов в модуле

1,0

2,0

4,0

6,0

8,0

Выход годных модулей

60,5%

36,6%

13,4%

4,9%

1,8%

Количество дефектных компонентов в модуле

0,5

1,0

2,0

3,0

4,0

Выход годных модулей

95,1%

90,5%

81,9%

74,1%

67,0%

Количество дефектных компонентов в модуле

0,05

0,1

0,2

0,3

0,4

Выход годных модулей

99,5%

99,0%

98,0%

97,0%

96,0%

Количество дефектных компонентов в модуле

0,005

0,01

0,02

0,03

0,04

0,97

0,98

0,99

0,999

0,9999

WWW.ELCP.RU



Таблица 2.1. Эффективность современных методов контроля для диагностики и локализации дефектов различных типов Тип дефекта

Пример

Тестер компонентов

АОИ качества АОИ качества нанесения паяль- монтажа и паяных ной пасты соединений

Система АОИ Тестер компонентов Система АОИ качекачества нанесения С600МХ ства монтажа и паяльной пасты паяных соединений Symbion P36 Vantage S 22

16

Рентгеновская инспекция

Электрический внутрисхемный контроль

Электрический функциональный контроль

Система рентге- Система внутрисхемного и функциональноновского контроля го электрического контроля SPEA 4040 Microme|x

Дефекты печатной платы: Короткие замыкания

–*

Нарушение металлизации

Обрыв печатных проводников на внутренних слоях

Неудовлетворительное совмещение слоёв / точность сверления

Дефекты компонентов Неудовлетворительное качество сварных соединений

Обрыв соединительных проводников

Микротрещина кристалла

**

Увеличенная длина соединительных проводников

Технологические дефекты печатных узлов Установлен несоответствующий компонент

Неверная полярность компонента

Дефекты операции нанесения паяльной пасты

Компонент установлен со смещением

* – для диагностики дефектов данного типа неприменимо ** – высокая эффективность диагностики дефектов данного типа *** – диагностика дефекта данного типа недостаточно эффективна

WWW.ELCP.RU

***


Таблица 2.2. Эффективность современных методов контроля для диагностики и локализации дефектов различных типов Тип дефекта

Пример

Тестер компонентов

АОИ качества АОИ качества нанесения паяль- монтажа и паяных ной пасты соединений

Система АОИ Тестер компонентов Система АОИ качекачества нанесения С600МХ ства монтажа и паяльной пасты паяных соединений Symbion P36 Vantage S 22

Подъём компонента

Неудовлетворительный объём припоя

Неудовлетворительная форма галтели

Увеличенное количество пустот

Короткое замыкание (мостик припоя)

Разрушение соединительного проводника при нарушении условий эксплуатации полупроводникового прибора

Рентгеновская инспекция

Электрический внутрисхемный контроль

Электрический функциональный контроль

Система рентге- Система внутрисхемного и функциональноновского контроля го электрического контроля SPEA 4040 Microme|x

* – для диагностики дефектов данного типа неприменимо ** – высокая эффективность диагностики дефектов данного типа *** – диагностика дефекта данного типа недостаточно эффективна

При оценке уровня автоматизации технологического процесса и культуры производства в мировой практике часто используется критерий количество годных изделий с первого прохода (без ремонтов). Например, планируемое количество годных печатных узлов с первого прохода — не менее 95%. Этот критерий используют, как правило, при оценке работы высокопроизводительных автоматических сборочных линий в условиях среднесерийного и массового производства. Контрольные замеры производят в середине большой партии. Важным критерием, определяющим себестоимость и качество выпускаемой продукции, является стоимость проведения ремонтов на производстве и в гарантийный период. Этот критерий универсален, в том числе, и для многономенклатурных мелкосерийных производств. Необходимо учитывать следующие обстоятельства: – стоимость и трудоемкость диагностики и локализации дефекта составляет, как правило, до 90% всего объема ремонтных работ. Представьте себе поиск неисправности на печатном узле, где установлено 1000 компонентов, а общее число паяных соединений — около 4000. Сколько времени потребуется наладчику для лока-

лизации дефекта? Какова должна быть его квалификация? Какой процент печатных узлов не будет восстановлен? Какова стоимость компонентов, необходимых для ремонта? По отзывам наших клиентов, средняя трудоемкость подобной работы — 9 нормо-часов, а средняя стоимость ремонта — 50 долл.; – стоимость ремонта повышается на порядок при пропуске дефектного (потенциально дефектного) изделия на следующую стадию производства. Другими словами, если на этапе входного контроля стоимость обнаружения дефектного компонента приблизительно равна цене самого компонента, то на этапе сборки печатных узлов стоимость диагностики и локализации дефектного компонента повышается в 10 раз; – стоимость диагностики и локализации дефектов тем ниже, чем ближе инспекционная и/или контрольная операция находится к месту наиболее вероятного их возникновения. Если, например, монтируются дорогостоящие или сложные, многовыводные компоненты (например, микросхемы в корпусах BGA), то особое внимание следует уделить контролю качества нанесения паяльной пасты, чтобы резко снизить вероятность возникновения дефектов паяных соединений под корпусами и свести к минимуму потребность ремонта.

Электронные компоненты №7 2010

17


КАК ИЗБЕЖАТЬ УБЫТКОВ ПРИ ПРОГРАММИРОВАНИИ МК КИМ РОУ (KIM ROWE), системотехник, менеджер по управлению бизнесом

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

Для того чтобы лучше понять суть этого явления, во-первых, следует учесть то обстоятельство, что рынок микроконтроллеров изменился: в прошлом 80% этого рынка приходилось на оборудование и 20% — на программное обеспечение, а теперь — наоборот. Учитывая эти фундаментальные изменения, как добиться того, чтобы решения разработчиков были оптимальными для компании? Во-вторых, мы исследуем структуру стоимости разработки программного обеспечения для МК. Как эффективно минимизировать стоимость разработки? Что позволяет свести к минимуму стоимость технической поддержки? Что минимизирует общие расходы на изготовление опытного образца, изделия, продуктовой линейки? Понимание этих вопросов позволит сделать правильный выбор. В-третьих, мы проанализируем эффективность бизнеса компании при

использовании различных методов создания ПО. Наиболее эффективный метод его разработки может и не заключаться в минимизации первоначальных затрат. Все зависит от поставленной цели. В некоторых случаях минимизация первоначальных затрат оправдана, но в других ситуациях это ошибочное решение. Как получить максимальную выгоду от изготовления опытного образца, изделия, линейки продуктов? Наконец, эти принципы применимы к программным продуктам для разработки МК. Для поиска наиболее эффективного способа разработки следует провести сравнение разных методов, применение которых зависит от сложности системы, лицензирования и стандартизации. ИЗМЕНЕНИЯ НА РЫНКЕ МК

Концепция перехода рынка от аппаратного к программному обеспечению (ПО) позволяет уменьшить совокупные расходы на оборудование за счет меньшего числа компо-

МИКРОКОНТРОЛЛЕРЫ И DSP

18

Рис. 1. Стоимость владения различными программными архитектурами

WWW.ELCP.RU

нентов и в то же время повысить надежность. Рост памяти и производительности системы наряду с увеличением ее функциональности ставят новые задачи перед ПО. Как их решить? Опытным разработчикам оборудования следует осваивать методы разработки программного обеспечения. Те инженеры, которым это не удастся сделать, будут довольствоваться частично оптимизированными решениями, что приведет к значительным финансовым убыткам компании, а также к потере доле рынка. На рисунке 1 оценивается совокупная стоимость владения (ССВ, сумма прямых и косвенных затрат, которые несет владелец системы за период ее жизненного цикла) при использовании четырех различных методов создания архитектуры ПО. Например, из рисунка становится понятным, как на совокупной стоимости владения сказывается выбор планировщика или цикла синхронизации при реализации примитивных систем. Видно также, как ядро для работы в реальном времени позволяет несколько увеличить ССВ, однако в сложной системе выбор полнофункциональной ОСРВ на основе POSIX (Portable Operating System Interface (for Unix) — интерфейс переносимых операционных систем, т.е. набор стандартов, призванных обеспечить как переносимость самих систем на различные архитектуры, так и работу приложений в различных ОС) является наилучшим решением. Очень часто из-за недостатка понимания вопросов разработки ПО и бизнесаспектов разработчики выбирают намного менее мощные планировщики и независимые ядра, пригодные для использования в простых систе-



Рис. 2. Компромисс между проникновением продукта на рынок и его временем выхода

мах, но неэкономичные в современных средах. РАСХОДЫ НА РАЗРАБОТКУ ПО ДЛЯ МК

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

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

– проведение исследовательской работы параллельно разработке; – обновление линейки продукции за счет усовершенствования монтажа; – применение стандартных платформ; – применение модульных систем; – использование промышленных стандартов ПО. Выбор метода рациональной разработки изделия совместно с хорошим управлением позволит снизить до минимума ССВ, в максимальной степени увеличить доход и рыночную долю. Опытный образец действительно является началом исследования возможности создания нового изделия. Выбирая прототип или среду разработки, которая позволяет перейти от модели к изделию и далее к линейке продуктов, можно минимизировать или полностью исключить необходимость доработки ПО, сократить до минимального время выхода на рынок и ССВ. Такая рациональная стратегия позволит избавиться от дополнительных расходов и риска. ЭКОНОМИЧЕСКИЙ АСПЕКТ ВРЕМЕНИ ВЫХОДА НА РЫНОК

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

Таблица 1. Влияние определяющих ССВ факторов на разработку различных типов систем

МИКРОКОНТРОЛЛЕРЫ И DSP

20

Опытный образец

Единичное изделие

Номенклатура изделий

Минимизация затрат на лицензию

Минимизация времени выхода на рынок

Минимизация времени обновления и стоимости монтажа

Расходы на техническую поддержку незначительны

Расходы на техническую поддержку значительны

Расходы на техническую поддержку имеют определяющее значение

Тестирование необязательно

Тестирование имеет определяющее значение

Адаптируемость очень важна

Адаптируемость важна

Адаптируемость очень важна

Архитектура ПО неважна

Архитектура ПО важна

Архитектура ПО очень важна

Стандартизация неважна

Стандартизация очень важна

Стандартизация имеет определяющее значение

Качество ПО несущественно

Качество ПО имеет важное значение

Качество ПО имеет определяющее значение

Параметры безопасности не существенны

Параметры безопасности важны

Повторное использование ПО важно

Параметры безопасности очень важны Повторное использование ПО имеет определяющее значение

Переносимость ПО неважна

Переносимость ПО важна

Переносимость ПО имеет определяющее значение

Производительность ПО неважна

Производительность ПО очень важна

Производительность ПО имеет определяющее значение

Качество драйверов устройств ввода-вывода неважно

WWW.ELCP.RU

Требуется хорошее качество драйверов


ЭКОНОМИЧЕСКИЙ АСПЕКТ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Как минимизация времени выхода продукта на рынок связана с издержками на разработку ПО? По существу, тот же ряд факторов, который позволяет свести к минимуму расходы на единичное изделие и линейки продуктов, является определяющим при минимизации времени выхода продукции на рынок (см. табл. 2)

Таблица 2. Связь между особенностями разработки ПО и снижением издержек Особенности разработки ПО Стандартные модули Повторно используемые приложения Портируемые приложения Стандартные модули Модули с оптимизированными характеристиками Система с настроенными параметрами Исключение тренинга Простая технология монтажа Обновление простых модулей Обеспечение качества и тестирование программных средств Обновление и изменение функций ПО Функции безопасности Расходы на техническую поддержку Известная платформа Драйверы устройств ввода-вывода

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

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

вание, т.к. расходы на оптимизацию бывают значительными и приводят к удорожанию системы. Использование бесплатных сред моделирования часто приводит к катастрофическому ухудшению параметров, а при разработке изделия существенно увеличивает время и издержки. Более взвешенный выбор устраняет эту проблему, снижая риск и расходы. 6. Программное обеспечение от поставщика микроконтроллеров обеспечивает требуемые драйверы низкого уровня для поддержки системы (яркий пример — использование стандарта Cortex Microcontroller Software Interface Standard). 7. Расходы на техническую поддержку сводятся к минимуму за счет архитектур на основе модульных стандартов и высококачественных компонентов. 8. Обеспечение безопасности является важным требованием эксплуатации современных изделий, поэтому следует предусмотреть соответствующие опции. Следуя этим простым правилам, можно свести к минимуму ССВ и намного быстрее создать высококачественную продукцию. Возможности перехода на полные линейки продуктов вырастут, а необходимость в масштабных доработках отпадет. Поскольку POSIX является самым распространенным промышленным стандартом, которого придерживаются все основные поставщики ОСРВ и ОС, его использование не только в качестве среды моделирования, но и среды разработки коммерческого продукта и линейки продуктов станет наилучшим выбором при реализации нового метода разработки программного обеспечения.

Электронные компоненты №7 2010

21 МИКРОКОНТРОЛЛЕРЫ И DSP

При задержке выхода продукта на рынок доходы от более продолжительных продаж и большей доли рынка нивелируются. В результате небольшая задержка может привести к большим потерям в доли рынка и громадным убыткам. Чем позже выйдет компания на рынок с продуктом, тем эти убытки ощутимее. Насколько важен своевременный выход продукта на рынок? Чтобы это понять, следует учесть последствия потери доли рынка или объема продаж продукции компании. 10-% задержка с выводом продукта на рынок грозит обернуться 20—30-% потерей доли рынка, что, в свою очередь, может привести к потери лидирующей роли и значительным убыткам. Все расходы можно перечислить следующим образом. Переменные расходы, влияющие на валовой доход: – расходы на комплектующие; – расходы на производство; – торговые издержки. Постоянные расходы: – расходы на научно-исследовательскую деятельность; – общие и административные расходы; – стоимость установки. При меньшей доли рынка переменные расходы на единицу продукции растут за счет расходов на комплектующие, а со временем — из-за издержек производства. Потеря товарных единиц наряду с ростом стоимости единицы продукции снижает валовую прибыль компании, разрушая ее бизнес. На величину постоянных расходов задержка выхода продукта на рынок не влияет. Итак, задержка выхода продукта на рынок приводит к существенному падению чистой выручки компании при постоянных расходах. Кроме того, эта задержка влияет на количество реализуемой продукции или снижает долю рынка, что приводит к значительному сокращению доходов. Поэтому самое главное правило успешной реализации новой OEMпродукции гласит, что наиважнейшим фактором является минимизация времени ее выхода на рынок.


АРХИТЕКТУРЫ МАЛОПОТРЕБЛЯЮЩИХ ПРОЦЕССОРОВ И СПОСОБЫ ОПТИМИЗАЦИИ ЭНЕРГОПОТРЕБЛЕНИЯ АРТУР ЛАВРИКОВ, научный консультант, ИД “Электроника”

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

Снизить потребляемую устройством мощность можно несколькими способами: путем снижения напряжения питания, уменьшения тактовой частоты, изменения структуры кэша, уменьшения длины межсоединений, а также посредством применения конвейерных механизмов. МЕТОДЫ ОПТИМИЗАЦИИ МОЩНОСТИ ПОТРЕБЛЕНИЯ

МИКРОКОНТРОЛЛЕРЫ И DSP

22

Потребляемая энергия E равна мощности потребления P устройства, помноженной на время работы t. Соответственно, чтобы снизить расход энергии, необходимо рассматривать эти два параметра, P и t, в паре, иначе уменьшение одного может произойти за счет увеличения другого, и тогда выигрыша в энергии не будет. Динамическую мощность потребления процессора можно снизить путем уменьшения тактовой частоты или напряжения питания ЦП. Этот метод получил название “динамическое масштабирование напряжения и частоты” (DVFS — Dynamic voltage and frequency scaling). Напряжение питания и тактовая частота процессора понижаются программным способом так, чтобы ЦП работал на минимальной скорости, достаточной для выполнения приложения или задачи (например, поддержки работы в РВ). При выполнении не требовательных к быстродействию задач работа замедляется. Чтобы избежать ошибок или задержек, используется планировщик, который определяет, когда каждый запрос приложения (задачи) дол-

Рис. 1. Стробирование логического элемента

WWW.ELCP.RU

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

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

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



Рис. 2. Упрощенная схема ЛБ со стробированием по питанию

Упрощенная схема логического блока (ЛБ) со стробированием по питанию показана на рисунке 2. Ключ может располагаться как до логической схемы, так и после нее. Когда блок неактивен, сигнал подтверждения состояния Sleep размыкает один из ключей, на порядки снизив утечку. Этот метод широко используется в процессорах для реализации спящего режима. МЕТОДЫ УМЕНЬШЕНИЯ МОЩНОСТИ НА КОМПОНЕНТНОМ УРОВНЕ Рис. 3. Структура модуля памяти

МИКРОКОНТРОЛЛЕРЫ И DSP

24

Обычно на схему тактирования приходится 20—40% общего потребления. Для отключения неиспользуемых элементов применяется стробирование (см. рис. 1). Алгоритмы стробирования делятся на три группы: системные, последовательные и комбинационные. Системное стробирование блокирует тактирование для всего блока и отключает его. Остальные два вида останавливают сигнал синхронизации только для некоторых частей блока. Сам блок продолжает работать. Выявление неиспользуемых элементов и отключение их во время работы программы поsзволяет сэкономить 15—64% мощности потребления без существенного увеличения задержек или занимаемой площади на кристалле. СТРОБИРОВАНИЕ ПИТАНИЯ

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

WWW.ELCP.RU

Перейдем к рассмотрению наиболее энергопотребляющих частей устройства и методов снижения расходуемой ими мощности. Кэш

Основной вклад в рассеиваемую мощность со стороны кэш-памяти вносят массивы данных и тегов, поскольку чаще всего они хранятся в статических ОЗУ, чтобы скорость доступа к кэшу совпадала со скоростью тактирования конвейера. Свой вклад вносит и частота доступа. Накристальные модули кэша рассеивают 25—50% мощности в различных процессорах. Эту величину можно уменьшить несколькими способами: усовершенствованием технологического процесса, изменением структуры ячейки памяти, уменьшением напряжения, оптимизацией структуры кэша. Кроме того, можно принять дополнительные меры, такие как разделение кэша, добавление промежуточных буферов, отключение строк и оптимизация алгоритмов сравнения тегов. Добавление буферов

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

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

В определенные промежутки времени активность кэш-памяти концентрируется на небольшом наборе строк. Остальные ячейки можно перевести в спящее состояние, чтобы уменьшить утечку. Методы выделения неиспользуемых уровней подробно изложены в работе [4]. Одна из методик основана на временном факторе (cache decay). Если к строке не происходит обращений в течение заданного количества тактов, она отключается. Как показывают исследования, данный подход позволяет уменьшить рассеяние на 70% в кэше первого уровня (L1). Еще большего выигрыша можно добиться, если изменять допустимое время простоя по ходу программы. Другой подход — отключать строки сразу после последнего обращения к ним. Однако вычислить, какое из обращений последнее, сложнее, чем предсказать промах в следующем цикле. Выделяют три способа распознавания последнего обращения: с помощью компилятора, с помощью схем предсказания и методом профилирования. Компилятор анализирует загрузку кэша и отключает строки, когда они больше не используются. Профилирование позволяет идентифицировать инструкции, которые осуществляют последнее обращение к данным. После этого считывания данные вытесняются новыми. Для уменьшения утечки в кэше второго уровня (L2) применяется похожая методика. Решение о вероятности обращения к строке выносится индивидуально на основе статистики ее использования. Если время простоя превышает время


между двумя успешными обращениями, строка отключается. Разделение кэша

Метки и степень ассоциативности

На считывание и сравнение меток тратится достаточно много энергии. Это особенно важно для кэш-памяти с высокой степенью ассоциативности, поскольку одновременно производится большое количество сравнений. Для сокращения сравнений применяются таблицы TCE (Tag comparison elimination). Сравнение считается лишним, если его результат может быть определен иначе или известен заранее. Например, компилятор отбрасывает сравнение тегов внутри строки. Другой способ — отмечать те ветви, в которых выборка инструкций производится из различных блоков кэша. Еще один подход предполагает введение S-кэша, в котором хранятся все наиболее часто выполняемые блоки кода. Они загружаются до начала работы программы [6].

В полностью ассоциативной (fully associative) кэш-памяти информация, находящаяся по некоторому адресу в оперативной памяти, может быть записана в произвольную строку. В случае кэш-памяти с прямым отображением (direct mapped) эта же информация может быть размещена только в одной из всех имеющихся строк кэш-памяти. Таким образом, в полностью ассоциативной модели каждая строка выступает в качестве самостоятельного сегмента, а в модели с прямым отображением имеется только один сегмент на все строки. Модель с прямым отображением является наиболее быстрой в работе, т.к. процессор не производит выбор строки. С другой стороны, по этой же причине данная модель является наименее эффективной при записи данных. Полностью ассоциативная модель, наоборот, является наиболее эффективной в работе, но в то же время и самой медленной. Соответственно, в каждом конкретном случае необходимо искать компромисс между быстродействием и эффективностью. Обычно степень ассоциативности составляет 2—4 канала. Принципиально другой метод описан в работе [7]. Массив меток содержит как виртуальные, так и физические теги. Физические теги используются для обращения к общим областям данных, чтобы избежать несоответствия содержимого различных модулей кэша. Таким образом, отпадает необходимость транслирования большого количества адресов, что, в свою очередь, позволяет сократить потребляемую мощность. Конвейер

Один из хороших способов уменьшить количество лишних переключений — это контролировать алгоритмы предсказания. Одним из самых распространенных таких алгоритмов является конвейерная обработка данных, когда инструкции начинают выполняться еще до того, как станет точно известно, что это понадобится. Во многих случаях этот метод позволяет существенно повысить производительность, однако если в программе есть ответвления, то ресурсы процессора тратятся впустую, выполняя ненужные операции. Конвейер состоит из ступеней, осуществляющих обработку данных. Каждая ступень содержит некоторое число регистров, количество которых зависит от расположения ступени. Чем меньше регистров, тем меньше мощность потребления. Потребление регистров можно уменьшить за счет слияния ступеней конвейера (PSU — pipeline stage unification). Тактовая частота работы регистра динамически регулируется, чтобы потребление было минимальным. Однако в отличие от DVFS это происходит не за счет снижения напряжения питания, а за счет обхода некоторых регистров. При этом не

Электронные компоненты №7 2010

25 МИКРОКОНТРОЛЛЕРЫ И DSP

Разделения памяти на небольшие блоки позволяет уменьшить длину адреса и снизить потребление, в т.ч. за счет отключения неиспользуемых ячеек. Один вид разделения — добавление буфера — мы уже рассмотрели. Другой подход предложен в работе [5]. Модуль кэша разделяется на маленькие блоки, каждый из которых представляет собой автономный кэш. При таком подходе не только уменьшается расход энергии на обращение, но и локализуется работа. Как видно из рисунка 4, кэш состоит из трех блоков. Буфер быстрого преобразования адреса (TLB — translation lookaside buffer) содержит таблицу перевода виртуальных адресов в физические. Подкэш, к которому обращаются все строки кэша со страницы, прописывается в поле subcache id. Адрес подкэша требуется, когда алгоритм предсказания дает сбой. Следующий блок — предсказатель. Он содержит регистр, в котором хранится указатель на подкэш инструкций, обращение к которому было последним (MRU — most recently used). Сначала процессор считывает данные из MRU. Если нужных данных там нет, то загружается указатель subcache id, чтобы проверить предсказание. Если предсказание верно, то промах был произведен в кэше инструкций. Если ложно, то производится обращение к нужному подкэшу. При этом потери возрастают на время доступа к кэшу. Если происходит промах даже при обращении в нужный подкэш, то значит данные были потеряны физически. Третий блок отвечает за размещение страниц и перераспределение памяти. Данные в подкэше располагаются по страницам. Всем строкам страницы ставится в соответствие определенный подкэш, обращение к которому осуществляется напрямую (ПДП). Если количество промахов при обращении к подкэшу в рамках заданного временного интервала превышает некоторое значение, то страница переназначается другому сегменту кэша, в котором наблюдается минимальное количество промахов. Для этого у каждого подкэша есть собственный счетчик промахов. Для определения момента, когда нужно произвести переназначение, используется глобальный счетчик промахов динамического перераспределения. В сочетании с разделением кэш-памяти на области или отдельные подкэши можно применять коды Грея для адресов. Отличительным свойством этих кодов является то, что при переходе к соседнему значению всегда меняется только один бит. Таким образом, при последовательном считывании данных из ячеек количество изменяемых битов будет минимально, а, следовательно, сократится и расход энергии на переключение.


только снижается нагрузка на схему тактирования, но и уменьшается количество ступеней и, следовательно, время выполнения команды. Другой способ оптимизации потребления — разделение схемы на две части. По структуре конвейер представляет собой комбинационные логические блоки (КЛБ), разделенные регистрами. Чтобы уменьшить число выходных сигналов и количество переключений регистров и ЛБ, схема разделяется на две части и кодируется, используя функции расширения Шеннона. Для реализации параллельной выборки инструкций необходимы алгоритмы предсказания ветвей и методы оценки их достоверности. На аппаратном уровне применяется стробирование конвейера, которое позволяет избежать бесполезной траты энергии, если предсказания ошибочны. Для этого в схему вводятся оценщики достоверности, которые

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

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

нение кодов, обеспечивающих минимальное количество переключений и локализация связей. Для уменьшения размаха сигнала следует использовать преобразователь уровней, который уменьшает амплитуду входного сигнала (с передатчика), а затем производит обратное действие в приемнике (см. рис. 5). Как известно, чем длиннее проводник, тем больше его паразитная емкость. Соответственно, поскольку длину связей не всегда можно уменьшить, нужно сократить число переключений на таких участках с помощью кодирования сигнала. Среди самых распространенных — коды Хемминга и Грея. Кроме того, хороших результатов (до 60% снижения мощности) можно достичь с помощью кодов T0 [8]. Данная схема предполагает, что адреса идут последовательно, если не встречается команда или исключение. Если адреса идут последовательно, то передатчик “замораживает” значение на шине и переключается на дополнительную линию (INC). В противном случае линия INC отключается, и посылается исходный адрес. При передаче данных из соседних ячеек это наиболее эффективный метод кодирования. Другой подход — разделение самой шины на сегменты (см. рис. 6). Энергия потребляется только активными участками шины. Кроме того, за счет уменьшения длины связи ослабляются паразитные эффекты, что также позволяет уменьшить расход. САМОСИНХРОННЫЕ ПРОЦЕССОРЫ

Рис. 4. Структура кэша с разделением на подкэши

26 МИКРОКОНТРОЛЛЕРЫ И DSP

Рис. 5. Уменьшение размаха сигнала на шине

Рис. 6. Разделение шины на два сегмента

WWW.ELCP.RU

Самосинхронные схемы являются одними из самых “продвинутых” в смысле управления мощностью. Благодаря отсутствию схемы тактирования, одного из главных источников рассеяния, удается существенно сократить энергопотребление. Кроме того, снимается вопрос расфазировки тактовых импульсов и уменьшаются шумы. Самосинхронные схемы имеют модульную структуру, что позволяет использовать их в различных проектах. С другой стороны, поскольку нет синхронизирующих сигналов, необходимо аккуратно спроектировать протоколы установления связи, иначе могут появиться паразитные импульсы и гонки. Самосинхронные схемы занимают больше площади, чем синхронные, поэтому они дороже. Один из первых примеров самосинхронного процессора — AMULET. Это первая разработка ARM в данной области (1993 г.). Процессор состоит из нескольких функциональных блоков, работающих независимо и параллельно и обменивающихся данными через



протоколы установления связи. По этой же схеме работают и другие процессоры, например SNAP, ARM996HS, HT80C51, SUN sproull. Самосинхронные схемы имеют несомненные преимущества, но отсутствие коммерческого набора инструментов и средств разработки остановило их распространение. До сих пор полноценной среды не предложено. Есть наработки — TiDE и BALSA, но они не решают всех проблем, и рынок продолжает ждать. Другой подход — GALS (globally asynchronous and locally synchronous) — асинхронные схемы с локальной синхронизацией. Он сочетает в себе достоинства как асинхронных, так и синхронных схем, исключая их недостатки. Устройства GALS делятся на три типа: тактовые генераторы с возможностью остановки (рausible-clock), буферы FIFO и схемы граничной синхронизации. Генераторы с возможностью остановки представляют собой несколько отдельных локальных тактовых генераторов, управляемых информационным сигналом. Их работа приостанавливается, чтобы избежать метастабильности либо остановить передатчик или приемник, если канал пуст или полон. Использование буферов FIFO между блоками с местным тактированием позволяет справиться с проблемой синхронизации и применяется в схемах NoC (сеть на кристалле). Схемы граничной синхронизации ставятся на границах областей с локальным тактированием, чтобы сигналы, передаваемые из одной области в другую, не задерживались и сохраняли синхронизацию. Технологии GALS применяются уже более 20 лет, но получили малое распространение в коммерческих проектах. Возможно, это связано с недостаточной системной интеграцией и высоким уровнем ЭМИ. Кроме того, они занимают больше места на кристалле, что иногда приводит к ухудшению характеристик. Рассмотрим несколько архитектур самосинхронных процессоров. МИКРОКОНТРОЛЛЕРЫ И DSP

28

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

а)

б) Рис. 7. Архитектуры RISP: первая разработка (а) и современный вариант (б)

RISP-процессоры с реконфигурируемым набором инструкций

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

WWW.ELCP.RU

задержки из-за большего количества межсоединений. Крупноструктурные RISP не так гибки, поскольку состоят из КЛБ большего размера, и могут обрабатывать несколько разрядов одновременно. Отдельно выносят процессоры Warp. В них используется динамическая программная оптимизация для повышения отношения “скорость/ энергия”. При первом прогоне программы на неизменяемой части процессора система проводит мониторинг, выделяя наиболее часто выполняемые сегменты программы. Затем процессор автоматически

Рис. 8. Архитектуры RISC и NISC


пытается перенести эти части на конфигурируемую логическую схему или FPGA, не прерывая хода программы. Такой способ конфигурации более эффективен и прост, чем классическая компиляция. Процессоры Warp способны ускорить вычисления в 6 раз, снижая энергопотребление на 60%. Единственная разница между RISP и Warp заключается в том, что в последних конфигурируемая часть размещена на отдельном кристалле, отдельной FPGA для Warp (W-FPGA). Другой пример RISP-процессора — RICA. Архитектура RICA состоит из набора динамически конфигурируемых командных ячеек (instruction cell), программируемых на языках высокого уровня. Это достигается за счет инновационного дизайна кристалла — с одной стороны, он состоит из конфигурируемых массивов, но они настраиваются программно. В итоге RICA отличается высоким быстродействием, как крупноструктурные FPGA, и в то же время высокой гибкостью и низкой стоимостью, как процессоры общего назначения. ASIP-процессоры со специализированным набором команд

Процессоры ASIP — нечто среднее между процессорами общего назначения и специализированными СБИС. Они имеют набор встроенных операций и профайлер кода для представления любой инструкции приложения в базисе встроенных операций. Построение оптимального набора расширенных инструкций — это главная задача разработчика, от решения которой зависят характеристики работы процессора. Для больших приложений этот набор сложно создать вручную, поскольку накладывается слишком много ограничений, таких как жесткий формат инструкции, период тактового сигнала, свободная площадь на кристалле и т.д. Среди удачных коммерческих процессоров ASIP можно отметить Extensa Processors (Tensilica), Improv Systems Jazz DSP, NIOS (Altera) и Microblaze (Xilinx).

Совершенно иной подход реализован в процессорах, не имеющих набора инструкций. Тракт данных создается под конкретное приложение, а код компилируется не в инструкции, а в контрольные слова [9]. На рисунке 8 видны различия между архитектурами RISC и NISC. ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА 1. Qadri M. и др. “Low Power Processor Architectures and Contemporary Techniques for Power Optimization — A Review”// Journal of computers, том 4, №10, октябрь 2009.

2. Choi K. и др. “Dynamic voltage and frequency scaling under a precise energy model considering variable and fixed components of the system power dissipation”//Proceedings of the 2004 IEEE/ACM Internationalconference on Computer-aided design: IEEE Computer Society, 2004. 3. Yang S. и др. “Power Attack Resistant Cryptosystem Design: A Dynamic Voltage and Frequency Switching Approach”//Proceedings of the conference on Design, Automation and Test in Europe — том 3: IEEE Computer Society, 2005. 4. Kaxiras S. и др. “Cache decay: exploiting generational behavior to reduce cache leakage power”//Proceedings of the 28th annual international symposium on Computer architecture, Sweden: ACM, 2001. 5. Kim S. и др. “Partitioned instruction cache architecture for energy efficiency”// Trans. on Embedded Computing Sys., том 2, стр. 163–185, 2003. 6. Zhang Y. и Yang J. “Low cost instruction cache designs for tag comparison elimination”//Proceedings of the 2003 international symposium on Low power electronics and design Сеул, Корея: ACM, 2003. 7. Zhou X. и Petrov P. “Low-power cache organization through selective tag translation for embedded processors with virtual memory support”//Proceedings of the 16th ACM Great Lakes symposium on VLSI Филадельфия, США: ACM, 2006. 8. Benini L. и др. “Asymptotic Zero-Transition Activity Encoding for Address Busses in Low-Power Microprocessor-Based Systems”// Proceedings of the 7th Great Lakes Symposium on VLSI: IEEE Computer Society, 1997. 9. Reshadi М. и Gajski D. “А cycle-accurate compilation algorithm for custom pipelined datapaths”//Proceedings of the 3rd IEEE/ACM/ IFIP international conference on Hardware/software codesign and system synthesis Нью-Джерси, США: ACM, 2005. 10. http://docstore.mik.ua/svk/contents.htm.

Электронные компоненты №7 2010

29 МИКРОКОНТРОЛЛЕРЫ И DSP

NISC-процессоры без набора инструкций



НОВАЯ АРХИТЕКТУРА ЦПОС С ИЗМЕНЯЕМОЙ РАЗРЯДНОСТЬЮ СУХЕЛ ДАНАНИ (SUHEL DHANANI), Altera Corp.

При переходе к изготовлению ПЛИС по 28-нм технологии компания Altera первой в отрасли предложила пользователям ЦПОС-архитектуру с настраиваемой разрядностью. Эта архитектура позволяет подстраивать разрядность каждого отдельного ЦПОС-блока под требования конкретного алгоритма. В статье рассматриваются отличительные черты и возможности, реализуемые за счет такой архитектуры. (от 2Х2ХMIMO до 4X4XMIMO), более высокие частоты и большее количество каналов связи, чтобы обеспечить 10-кратное увеличение скорости передачи. Всё это приводит к необходимости скачкообразного повышения производительности цифровых процессоров обработки сигналов (ЦПОС) — вплоть до 200 раз (см. рис. 2). Точно так же растут требования и к разрядности ЦПОС. Например, переход от SD-видео к 2К/4К требует перехода от операций умножения 9×9 к умножению 16×16, а многоканальная передача сигнала в системах LTE — обработки 18-разрядных чисел на протяжении всего времени работы алгоритма. Обработка видеосигнала в военных радиолокаторах очень часто требует перехода от обработки чисел с фиксированной

запятой к работе с числами с плавающей запятой. Высокоскоростные алгоритмы цифровой обработки обычно реализуются с различной, причём часто превышающей 18 бит, разрядностью. При этом требования к ней меняются не только от устройства к устройству, но и зачастую в пределах одного проекта на разных стадиях обработки сигнала — КИХ-фильтрации, БПФ, обнаружения сигнала, адаптивной обработки и т.д. Традиционная архитектура ЦПОС для реализации в составе ПЛИС имеет фиксированную разрядность — 18×18 для ПЛИС Altera и 18×25 для ПЛИС Xilinx. Если требуется отличная от этих значений разрядность, то либо неэффективно используются ресурсы блока (разрядность меньше типо-

31 Рис. 1. Переход от видео стандартного разрешения к 4К МИКРОКОНТРОЛЛЕРЫ И DSP

Направление развития электроники для коммуникаций определяется двумя основными тенденциями — ростом скорости передачи данных (в основном, в мобильных устройствах) и увеличением размеров кадра обрабатываемой видеоинформации. Обе эти тенденции взаимосвязаны, т.к. именно передача видео требует всё большей скорости передачи. Исследования компании Cisco показывают, что, скорее всего, к 2012 г. до 90% интернет-трафика будет составлять передача видео в различных форматах. В свою очередь, рост скорости передачи требует повышения быстродействия и разрядности блоков обработки. Причём, это повышение необходимо обеспечивать при тех же (или даже меньших) значениях потребляемой мощности и стоимости аппаратуры. Очень показательной в этом плане является обработка видеосигнала. Мы видели, как развивалась инфраструктура распространения видеоинформации для обеспечения работы как с видео стандартного (SD), так и высокого разрешения (HD), а сейчас и объёмного видеоизображения формата 4К. По мере перехода от одного стандарта к другому меняется и количество пикселов в кадре, и глубина цвета (т.е. количество бит, необходимых для передачи цвета пиксела), что позволяет улучшить качество изображения. Из рисунка 1 видно, что при переходе от видео стандартного разрешения к 4К количество обрабатываемых пикселов в кадре повышается в 25 раз, не говоря уже об увеличивающейся глубине цвета. Аналогичные тенденции наблюдаются и при переходе к новым стандартам беспроводной связи, которые создаются для удовлетворения спроса на расширенную полосу пропускания мобильных устройств. Например, при переходе от стандартов 3G к стандартам 4-го поколения LTE и LTE Advanced в базовых станциях начинают использовать больше антенн

Рис. 2. Переход от 3G к LTE Advanced

Электронные компоненты №7 2010


вой), либо требуется дополнительная внешняя логика или несколько блоков в ПЛИС. В любом случае используется дополнительное «железо», что отрицательно сказывается на потребляемой мощности и конечной стоимости устройства. Например, в большинстве случаев цвет в видеосигнале передаётся словами с разрядностью 9–12 бит на цвет, что требует использования при обработке умножителей 9×9 или 12×12. Если же разрядность используемых ЦПОС-блоков составляет 18×25 бит, то реализация алгоритмов обработки на их основе приведёт к тому, что более половины вычислительных возможностей таких блоков пропадёт впустую. Следовательно, от архитектуры ЦПОС требуется возможность изменения разрядности для подстройки под

Рис. 3. Возможность изменения разрядности ЦПОС

МИКРОКОНТРОЛЛЕРЫ И DSP

32

нужды конкретного приложения (см. рис. 3). Кроме того, как уже отмечалось, требования к разрядности могут меняться даже на протяжении одного процесса обработки в результате роста требований к точности при увеличении количества каскадов фильтрации или динамического диапазона БПФ. Следовательно, для обеспечения возможности использования ПЛИС в любых, в т.ч. не существующих пока устройствах, разрядность ЦПОС должна задаваться на уровне отдельного ЦПОС-блока, а не всей ПЛИС в целом. РЕАЛИЗАЦИЯ ЦПОС С ИЗМЕНЯЕМОЙ РАЗРЯДНОСТЬЮ НА БАЗЕ 28-НМ ПЛИС

При переходе к изготовлению ПЛИС по 28-нм технологии компания Altera

первой в отрасли предложила пользователям ЦПОС-архитектуру с настраиваемой разрядностью. Эта архитектура позволяет подстраивать разрядность каждого отдельного ЦПОС-блока под требования конкретного алгоритма — от 9×9 для обработки видео стандартного разрешения до работы с числами с плавающей запятой в РЛС для военных. При этом возможны почти любые промежуточные значения разрядности. Ещё раз подчеркнём, что каждый ЦПОС-блок настраивается отдельно, что позволяет наиболее эффективно использовать ресурсы ПЛИС на всех этапах цифровой обработки сигнала. «Сердцем» новой архитектуры является ЦПОС-блок с переменной разрядностью, который может быть сконфигурирован для работы в двух базовых режимах— с 18-разрядной или более высокой точностью, как показано на рисунке 4. В 18-бит режиме в блоке реализуются два 18-бит умножителя, а в режиме высокой точности — один 27-бит. Возможность изменения разрядности является уникальной отличительной чертой данной архитектуры, позволяя на всём протяжении процесса обработки использовать процессоры необходимой точности. При этом каждый из таких ЦПОС-блоков в пределах базовых вариантов может поддерживать различные режимы, перечисленные в таблице 1. Каждый настраиваемый блок может каскадироваться с другими для расширения диапазона возможных разрядностей. Каскадирование производится посредством 64-бит шины, что превышает максимальную разрядность единичного блока (27×27), в результате чего операции с комплексными числами и одновременная работа с несколькими операндами могут выполняться без использования дополнительной внешней логики. В таблице 2 приведены варианты разрядности, которые могут быть получены при каскадировании нескольких ЦПОС-блоков. ЗАКЛЮЧЕНИЕ

Рис. 4.

WWW.ELCP.RU

ПЛИС с блоками ЦПОС с настраиваемой разрядностью являются единственными программируемыми устройствами, которые могут эффективно поддерживать выполнение столь разнородных задач вплоть до работы с числами с плавающей запятой. Такая архитектура позволяет осуществить переход к новому поколению высокоточных и высокопроизводительных устройств цифровой обработки сигналов. Реализованная в серии ПЛИС Stratix V, она позволила в


Таблица 1. Диапазон разрядностей, поддерживаемых отдельным ЦПОС-блоком Режим ЦПОС

Обрабатываемые данные

Три независимых умножителя 9×9

Низкой точности с фикс. запятой

Два умножителя 18×18 с суммированием результата

Средней точности с фикс. запятой

Два независимых умножителя 18×18 в 32-бит режиме Один блок 18×25 или 18×36

Высокой точности с фикс. запятой

Один блок 27×27

Высокой точности с фикс. запятой или плавающей запятой одинарной точности

Таблица 2. Перечень разрядностей, получаемых при каскадировании ЦПОС-блоков Режим умножения

Кол-во задействованных блоков

Приложения

Один независимый 36×36

Два ЦПОС-блока

Сверхвысокой точности с фикс. запятой

Один независимый 54×54

Четыре ЦПОС-блока

С плавающей запятой двойной точности

Умножение комплексных чисел 18×18

Два ЦПОС-блока

Оптимизированное по задействованным ресурсам БПФ

Умножение комплексных чисел 18×25

Три ЦПОС-блока

Комплексное умножение 27×27

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

Четыре ЦПОС-блока

БПФ с учётом нарастания разрядности Полномасштабные участки алгоритма БПФ БПФ над рядами чисел с плавающей запятой с одинарной точностью

архитектуру ЦПОС под нужды приложения в полном соответствии с требованиями алгоритма обработки, в то время как обычно всё происходит наоборот, т.е. алгоритм подстраивается под существующую структуру ЦПОС. Мало того, наличие в ПЛИС 64-разрядной шины каскадирования и такого же аккумулятора позволяет без дополнительных затрат использовать

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

33 МИКРОКОНТРОЛЛЕРЫ И DSP

Умножение комплексных чисел 18×36

Электронные компоненты №7 2010


МНОГОЯДЕРНЫЕ АРХИТЕКТУРЫ ПРЕОБРАЖАЮТ ПРОВОДНЫЕ И БЕСПРОВОДНЫЕ IP-СЕТИ ЭРИК КАРМС (ERIC CARMES), исполнительный директор, 6WIND В статье рассматриваются возможности преодоления типичных трудностей, возникающих при построении сетей с многоядерной архитектурой.

МИКРОКОНТРОЛЛЕРЫ И DSP

34

Бурный рост IP-приложений и услуг свидетельствует о сближении сферы телекоммуникаций с IT в направлении создания IP-архитектур. В результате сетевая архитектура упрощается, однако возникают следующие трудности: – существенно увеличивается производительность и сложность уровня соединений сети следующего поколения (Next Generation Network — NGN); – IT-системам (например, серверам приложения и биллинговым системам) приходится управлять трафиком со скоростью передачи данных в десятки Гбит/с; – IP-уровень, который реализуется во всем сетевом оборудовании, становится определяющим компонентом; – возникает потребность в экологичных вычислительных системах, позволяющих ограничить энергопотребление. При проектировании многоядерных систем неизбежно возникают технические сложности, однако такие решения имеют немало преимуществ. Разработка сетевого программного обеспечения для многоядерных систем представляет собой трудоемкий процесс, поскольку стандартное ПО не позволяет в полной мере извлечь преимущества многоядерного решения и требует продолжительной и дорогостоящей доработки для каждого протокола. Невзирая на все эти препятствия, в настоящее время наблюдается переход от увеличения рабочей частоты процессора как единственного способа повышения вычислительных возможностей к многоядерным системам с несколькими параллельно работающими процессорами при ограниченном уровне энергопотребления. В многоядерных системах реализуется полный набор функциональных возможностей программного обеспечения для сетевых уровней Layer 2—4, включая: – эффективную архитектуру Fast Path, позволяющую в максимальной степени увеличить производительность многоядерной системы в соответствии

WWW.ELCP.RU

с количеством ядер. Это достигается за счет среды MCEE (Multicore Execution Environment — среда выполнения в многоядерной системе), которая обеспечивает интерфейсы прикладного программирования (API) для обработки незаблокированных пакетов, что позволяет увеличить пропускную способность памяти и повысить производительность по сравнению со стандартной ОС. – гибкое распределение функций плоскостей управления, архитектур Slow Path и Fast Path между ядрами и полную синхронизацию между этими тремя элементами, работающими в раздельных средах. Архитектура Fast Path функционально схожа с Fast Path 6WINDGate EDS, но построена в виде блока, запускаемого в среде MCEE вне Linux. Для обеспечения оптимальной производительности пересылка осуществляется на уровне Fast Path. Пакеты, которые не могут быть обработаны блоком Fast Path, отправляются в сетевой стек Linux (Slow Path). Как и профиль 6WINDGate EDS, архитектура 6WINDGate EDS основана на работе модулей кэш-менеджера Cache Manager и менеджера Fast Path Manager, которые способствуют прозрачной интеграции и позволяют синхронизировать Fast Path с блоком Slow Path и плоскостью контроля. Учет этих ключевых требований позволит в значительной мере обойти трудности проектирования, снизить затраченное время и расходы при переходе от одноядерных архитектур к высокопроизводительным многоядерным средам. МНОГОЯДЕРНЫЕ РЕШЕНИЯ

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

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



задачах. Очевидно, многоядерные процессоры вносят заметный вклад в сближение телекоммуникаций и IT, обеспечивая мощные аппаратные решения для эффективной обработки данных. ПРОЕКТИРОВАНИЕ СЕТЕВОГО ОБОРУДОВАНИЯ В МНОГОЯДЕРНОЙ СИСТЕМЕ

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

36 МИКРОКОНТРОЛЛЕРЫ И DSP

Рис. 1. Архитектура сетевого оборудования

Рис. 2. Архитектура Fast Path

WWW.ELCP.RU

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

блок Fast Path определяет, на какой порт переслать пакет, или шифрует/ дешифрует пакеты, если определена связь с IPsec — набором протоколов для безопасного соединения. Однако в этом блоке не обрабатываются некоторые сложные пакеты. Они перенаправляются в блок Slow Path как исключения (см. рис. 2). Slow Path. В этом блоке осуществляется управление теми пакетами, которые оказались слишком сложными для обработки в Fast Path. Как правильно, Slow Path реализует полный IP-стек и управляет большинством исключений блока Fast Path. Slow Path и плоскость контроля располагаются на одном процессоре. До настоящего времени ASIC и процессоры с микропрограммным обеспечением были наилучшими решениями при реализации плоскости данных. Использование процессоров плоскости контроля становится более универсальным, если они управляют сложными конечными автоматами при реализации протоколов обмена идентификационными сигналами. В многоядерных технологиях программное обеспечение может предоставлять все ядра в общее пользование в т.н. режиме SMP (Symmetric Multiprocessing — симметричная мультипроцессорная обработка). Сетевые приложения в этом режиме требуют применения TCP/IP-стека (см. рис. 3). Как видно из правой части рисунка 3, гибкость многоядерной системы позволяет распределить ядра между двумя средами: одни из них назначить плоскости контроля блоку Slow Path, другие — плоскости данных. Несколько ядер одного кристалла можно назначить быстродействующему блоку Fast Path. Fast Path функционирует вне ОС, пользуясь службами низкоуровневой среды MCEE. Такая архитектура оптимизирует производительность блока Fast Path, тогда как стандартная ОС, например Linux, накладывает ограничения на быстродействие с ростом числа ядер. Используемая в среде MCEE модель программирования называется «работой потока до завершения» (Run to Completion): как только пакет назначается ядру, вся обработка пакета выполняется только этим ядром. Конвейерная модель, в которой пакет может переходить от одного ядра к другому, не вполне годится при обработке пакетов с высокой скоростью, т.к. может привести к задержкам, когда пакет ожидает освобождения ядра. Блок Slow Path и плоскость контроля реализуются в среде стандартной ОС на оставшихся ядрах в режиме SMP. Распределение функций ядер между двумя средами выполняется на этапе загрузки.


УСЛОЖНЕНИЕ ПО ДЛЯ ПАКЕТНОЙ ОБРАБОТКИ В МНОГОЯДЕРНОЙ АРХИТЕКТУРЕ

ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ ОБРАБОТКА ПАКЕТОВ В МНОГОЯДЕРНОЙ СИСТЕМЕ

Трудности создания многоядерных систем приводят к необходимости установить следующие требования к встраиваемому ПО для обработки пакетов. – Обработка пакетов в блоке Fast Path должна быть организована таким образом, чтобы в полной мере использовать преимущества в производительности, реализуемой с помощью многоядерных процессоров. – Чтобы упростить интеграцию, следует комплексно использовать набор таких сетевых протоколов как VLAN, Link Aggregation, GREинкапсуляция, GTP- и IP-протоколы поверх IP, пересылка на уровне Layer 3 наряду с протоколами управления виртуальной маршрутизацией, протоколами попакетного QoS и фильтра-

Рис. 3. Интеграция блока Fast Path в ОС

ции (ACL), IPsec, NAT, IKEv1 и IKEv2 для обеспечения безопасности, групповой передачи и т.д. – Пакетная обработка должна быть полностью интегрирована в плоскость контроля ОС, чтобы максимально повысить возможность многократного использования приложений, упростить интеграцию, ограничив, таким образом, сложности проектирования. – Сетевые функции и функции интеграции должны запускаться на современных многоядерных платформах, включая интегрированные и стандартные многоядерные процессоры с унифицированными API-интерфейсами высокого уровня для установления связи со встроенными или внешними ускорителями. Таким образом, за счет гибкости платформы станет легче обеспечить бесшовную межплатформенную стыковку. – Встраиваемое ПО должно обеспечить открытую архитектуру для упрощения интеграции дополнительных функций. ПОСТРОЕНИЕ БЛОКА FAST PATH

Как уже говорилось, для эффективной реализации блока Fast Path требуется доработка каждого протокола с применением метода исключения (см. рис. 2), позволяющего достичь максимальной производительности. Поскольку работа проводится с каждым протоколом во избежание потерь в производительности, затрачивается немалое количество усилий. Эффективная реализация архитектуры Fast Path также подразумевает самое активное участие аппаратных устройств в программной обработке, например, при выполнении заданий аппаратной очереди для управления QoS или шифрующих процессоров для протоколов IPsec. Несмотря на то, что полная IP-архитектура значительно упрощает уровень связи, для обе-

спечения функций сетевых уровней L2–L4 необходимо управлять большим количеством следующих протоколов: – Layer 2: VLAN, Link Aggregation, Bridging, PPP, L2TP и т.д.; – GRE-инкапсуляция, GTPи IP-протоколы поверх IP; – пересылка Layer 3 с управлением таблицами виртуальной маршрутизации; – маршрутизация и виртуальная маршрутизация; – VRRP; – попакетное QoS и фильтрация (ACL); – NAT; – контроль потока; – IPsec, IKE и IKEv2; – ROHC; – TCP Offload Engine; – Mobile IP; – все функции как для IPv4, так и для IPv6. Все эти протоколы тесно связаны. Добавление новых протоколов сказывается на производительности сети, т.к. требует дополнительного тестирования в коде программы. Таким образом, для эффективного построения блока Fast Path необходимо обеспечить механизмы использования только требуемых протоколов. ИНТЕГРАЦИЯ В ОС

Архитектура Fast Path требует разделять внедрение протоколов на несколько частей. Как следствие, на заключительном этапе реализации все эти части необходимо синхронизировать. На рисунке 4 показано, как работающий в среде MCEE блок Fast Path интегрируется в ОС и как синхронизируется информация в архитектурах Fast Path, Slow Path и плоскости контроля. Приложения Fast Path (другими словами, часть Fast Path каждого протокола) находят требуемую информацию (таблицы ARP, таблицы маршру-

Электронные компоненты №7 2010

37 МИКРОКОНТРОЛЛЕРЫ И DSP

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


тизации и безопасные соединения) в совместно используемой памяти. Из рисунка 2 видно, что если пакет не может быть обработан в блоке Fast Path, он отправляется в соответствующий участок стека Linux. Блок Slow Path не знает о том, что пакет поступает из Fast Path, который рассматривается как стандартный сетевой интерфейс. В таких случаях как определение локального адреса по IP-адресу в соответствии с протоколом ARP (Address Resolution Protocol) стек Linux действует самостоятельно. Пакет контрольной плоскости или IKE-пакет пересылается по ее соответствующему протоколу. Необходимо, чтобы протокол плоскости контроля обновлял совместно используемую память при следующих ограничениях: – этот протокол не изменяется в многоядерной архитектуре; – производительность блока Fast Path не снижается. С этой целью следует установить программный модуль синхронизации для получения Netlink-сообщений об обновлении, поступающих с плоскости контроля. Далее выполняется трансляция сообщений, чтобы сконфигурировать информацию для блока

Fast Path в совместно используемой памяти с помощью драйвера Fast Path. В такой архитектуре протокол плоскости контроля не модифицируется. Например, существующий протокол маршрутизации, исполняемый на стандартном сетевом стеке Linux, бесшовно запускается на многоядерной архитектуре, не претерпев какойлибо модификации. Обновление совместно используемой памяти должно быть основано на неблокирующих механизмах, т.к. прерывание Fast Path невозможно. Обновление таблиц следует выполнять с большой осторожностью, так чтобы не нарушилась пакетная обработка в блоке Fast Path. Получение точных статистических данных обо всей системе также является частью процесса синхронизации между Fast Path, Slow Path и плоскостью контроля. Если не предусмотреть специального механизма объединения статистики Fast Path со статистикой Slow Path, SNMP-агент, например, будет предоставлять лишь статистику Slow Path. Следовательно, необходимо создать дополнительный модуль, который реализует прозрачное объединение. Тот же вопрос относится и к хорошо известным сред-

ствам отладки, например tcpdump, которые должны прозрачно работать в архитектуре Fast Path. Создание таких механизмов позволяет многократно использовать существующую плоскость контроля и прикладные программы. Эти методы в значительной мере снижают объемы разработки и упрощают переход на многоядерные архитектуры. ПЕРЕНОСИМОСТЬ

Как уже упоминалось, существуют многие разновидности многоядерных процессоров, каждая из которых имеет свои особенности. Для успешной работы программного обеспечения для пакетной обработки на этих разных категориях процессоров необходимо, чтобы оно портировалось на как можно большее количество разных архитектур. Разумеется, имеются определенные ограничения на переносимость, поскольку в каждой многоядерной технологии могут использоваться специфические аппаратные ускорители. По этой причине следует по возможности задействовать стандартные API-интерфейсы. Например, интерфейс OCF (Open Cryptographic Framework) служит средством связи как для синхронных, так и асинхронных криптодрайверов. APIинтерфейсы также используются при выполнении аппаратных очередей в сетевых службах QoS. ОТКРЫТАЯ АРХИТЕКТУРА

Рис. 4. Интеграция блока Fast Path в ОС

МИКРОКОНТРОЛЛЕРЫ И DSP

38

Разработка всего сетевого оборудования основана на интеграции разных частей программного обеспечения. Переход от стандартной к многоядерной архитектуре не должен затруднять интеграцию разных частей ПО. Например, в случае с Linux применяются интерфейсы API, позволяющие интегрировать протоколы маршрутизации, IKE, приложения для обеспечения безопасности, приложения ToIP и средства управления (см. рис. 5). Архитектура Fast Path должна обеспечивать определенные возможности реализации протоколов API для приложений, а также механизмы синхронизации, показанные на рисунке 4. Благодаря такому подходу создание приложений на основе Fast Path становится простым делом. ПЛАВНЫЙ ПЕРЕХОД К МНОГОЯДЕРНОЙ АРХИТЕКТУРЕ

Рис. 5. Открытая архитектура

WWW.ELCP.RU

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


Рис. 6. Возможные сценарии перехода на многоядерную архитектуру

вится возможным за счет назначения им нескольких ядер, а других ядер — сетевым функциям. Кроме того, в этих сценариях многоядерная система обеспечивает такие специфические функции обработки пакетов как определение сеансов в трафике (NAT-сеансы, пото-

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

39 МИКРОКОНТРОЛЛЕРЫ И DSP

вого трафика и основного требования, заключающегося в возможности многократного использования ПО. На рисунке 6 показаны такие сценарии миграции, в которых масштабная доработка приложений или оборудования не производится. Разработчики могут воспользоваться тремя типичными сценариями перехода на новую архитектуру путем масштабирования имеющихся приложений с архитектурой х86. В сценариях 1 и 2 пакетная обработка в многоядерной системе обеспечивает стандартные функции обработки внешнего интерфейса, в т.ч. L2, IP-пересылку, повторную сборку IP-пакетов и IPsec. Все эти функции отнимают большую часть ресурсов стандартного процессора, но ситуация меняется при использовании многоядерных устройств. Обработка пакетов в многоядерной архитектуре подразумевает также выравнивание нагрузки (сценарий 2), при котором одновременно работает несколько серверов приложений. Использование внешних интерфейсов позволяет расширить возможности обработки и обеспечивает приложению высокий коэффициент готовности. В сценарии 3 переход существующих приложений на многоядерную архитектуру х86 стано-

Электронные компоненты №7 2010


МОДЕЛЬ ПРОГРАММИРОВАНИЯ ДЛЯ ГЕТЕРОГЕННЫХ ПЛАТФОРМ НА БАЗЕ АРХИТЕКТУРЫ INTEL X86 БРАТИН САХА (BRATIN SAHA), СЯО ЧЕНГ ЧЖОУ (XIAOCHENG ZHOU), ХУ ЧЖЭНЬ (HU CHEN), ИНЬ ГАО (YING GAO), ШУ МЕНГ ЯНЬ (SHOUMENG YAN), САЙ ЛЮО (SAI LUO), Intel Corporation Статья описывает модель программирования для гетерогенной процессорной системы, содержащей комбинацию скалярного ядра и набора высокопроизводительных ядер процессора Larrabee, построенного на базе микроархитектуры Intel. Обсуждаются особенности построения гетерогенной архитектуры, программной среды и модели памяти для такой платформы. Представлены результаты выполнения тестовых заданий, портированных в разработанную программную среду. Приводится сравнение предложенной модели программирования с альтернативными решениями для гетерогенных платформ. Статья представляет собой сокращенный перевод [1].

ВВЕДЕНИЕ

МИКРОКОНТРОЛЛЕРЫ И DSP

40

Клиентские компьютерные платформы развиваются по направлению к гетерогенной архитектуре, которая содержит скалярные ядра и набор высокопроизводительных ядер, которые обеспечивают высокую пропускную способность. Например, платформы настольных и переносных компьютеров могут включать один (или более) центральный процессор (CPU), главным образом ориентированный на скалярные вычисления, а также графический процессор (GPU), предназначенный для ускорения высокопараллельных вычислений. Такие гетерогенные платформы могут быть использованы для значительного увеличения производительности высокопараллельных неграфических заданий в области обработки изображений, визуализации в медицине, сбора данных и др. Некоторые компании создали средства программирования для таких платформ, например, как CUDA, CTM и OpenCL. Гетерогенные платформы имеют следующий ряд архитектурных особенностей. – Ориентированные на высокую производительность ядра (к примеру, GPU) могут быть встроены в систему как в интегральном, так и в дискретном виде. Система может также иметь гибридную конфигурацию, в которой сравнительно малопроизводительный GPU с низким энергопотреблением интегрирован в чипсет, а высокопроизводительный GPU выполнен как дискретное устройство. Наконец, плат-

WWW.ELCP.RU

форма может содержать несколько дискретных карт со встроенным GPU. Конфигурация платформы определяет многие параметры, например пропускную способность и задержки между разными типами процессоров, а также возможность поддержки когерентности кэша и т.д. – Скалярные и высокопроизводительные ядра могут иметь различные операционные системы (ОС). Например, процессор Larrabee компании Intel, предназначенный для выполнения сложных графических задач, может содержать собственное ядро ОС. Это означает, что схемы перемещения виртуальной памяти (преобразование виртуальных адресов в физические) могут быть различными у разных видов ядер. Одни и те же виртуальные адреса могут быть одновременно распределены по двум различным физическим адресам, один из которых расположен в памяти CPU, а другой — в памяти процессора Larrabee. Это также означает, что системная среда (загрузчики, компоновщики и др.) может быть различной в разных ядрах. – Скалярные и высокопроизводительные ядра могут иметь различную структуру системы команд (ISA) и, следовательно, один и тот же код нельзя запускать на ядрах различных типов. Модель программирования для гетерогенных платформ должна обеспечивать решение всех вопросов, связанных с указанными ограничениями. К сожалению, существующие модели программирования, такие как Compute

Unified Device Architecture (CUDA) от Nvidia и Close To the Metal (CTM) от ATI учитывают только гетерогенность ISA путем введения языковых аннотаций для отметки кода, который должен выполняться на GPU, и не обращают внимание на другие особенности такой платформы. Например, CUDA не разрешает вопросы управления памятью между CPU и GPU. Эта архитектура предусматривает, что CPU и GPU имеют раздельные адресные пространства и программист должен использовать разные функции распределения памяти для CPU и GPU. Кроме того, программист должен самостоятельно преобразовывать в последовательную форму структуры данных, выбирать протокол совместного пользования и обеспечивать передачу данных между ядрами. В данной статье предлагается новая модель программирования для гетерогенных платформ Intel x86, которая позволяет решить все упомянутые проблемы. В-первых, предлагается универсальная модель программирования для различных конфигураций платформы. В-вторых, предлагается модель совместно используемой памяти для всех ядер в платформе (например, память, распределенная между ядрами CPU и Larrabee). Вместо совместного использования всего виртуального адресного пространства для улучшения эффективности решения задач предлагается совместно задействовать только часть виртуального адресного пространства. Наконец, как и в существующих моделях программирования,



МИКРОКОНТРОЛЛЕРЫ И DSP

42

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

Рис. 1. Модель памяти системы CPU-процессор Larrabee

WWW.ELCP.RU

рогенной платформы на базе архитектуры Intel x86, который моделирует систему, состоящую из CPU и соединенного с ним дискретного устройства PCIExpress на базе высокопроизводительных ядер Larrabee. Такая платформа была использована по двум причинам. Во-первых, ядро Larrabee представляет собой современное решение для высокопроизводительного графического процессора. Во-вторых, такая платформа предполагает решение более сложной проблемы гетерогенности системного программного стека, а не просто проблемы гетерогенности ISA. АРХИТЕКТУРА LARRABEE

Архитектура Larrabee — это многоядерная x86-совместимая архитектура вычислений с активным применением графики на базе упорядоченных ядер, работающих с расширенной версией набора команд x86, включая векторные команды с большим числом разрядов и некоторые специализированные скалярные команды. Каждое из ядер содержит 32-Кбайт кэш команд и 32-Кбайт кэш данных уровня L1. Каждое ядро имеет доступ к собственной подсистеме когерентного кэша уровня L2, что обеспечивает широкополосный доступа к кэшу L2. Объем кэша L2 составляет 256 Кбайт; межсоединения выполнены широкополосной, встроенной в кристалл кольцевой шиной. Записываемые ядром CPU данные хранятся в собственной подсистеме кэша L2, куда они могут поступать и от других подсистем. Каждый кольцевой канал данных имеет разрядность 512 бит в каждом направлении. Блоки постоянных функций и контроллеры памяти распределены по кольцу для того, чтобы минимизировать загрузку канала. Каждое ядро имеет четыре аппаратных потока с отдельными наборами регистров для каждого потока. Выдача предварительно обработанных команд осуществляется поочередно между потоками, в т.ч. в случаях, когда компилятор не способен распределять время исполнения кода без потери быстродействия. Ядро использует сдвоенный декодер, а правила сопряжения для первичных и вторичных каналов команд являются детерминированными. Все команды могут выдаваться в первичный канал, а вторичный канал поддерживает подсистему набора скалярных x86-совместимых команд, в т.ч. загрузку, хранение, простые команды АЛУ, векторное хранение и др. Ядро поддерживает 64-бит расширения и полный набор x86-совместимых команд для процессора Intel Pentium. Архитектура Larrabee состоит из 16-разрядных блоков обработки векторов, которые выполняют целочисленные команды, а также команды с

плавающей точкой одинарной и двойной точности. Векторные блоки поддерживают команды сборки/разборки (gather-scatter) и маскируемые команды, а также команды, содержащие до трех операндов-источников. МОДЕЛЬ ПАМЯТИ

Модель памяти для разработанной системы обеспечивает окно совместно используемых ядрами CPU и Larrabee адресов, например как в языке PGAS, но с дополнительными аннотациями принадлежности (ownership annotations). Любая структура данных, которая разделяется между ядрами CPU и Larrabee, должна быть распределена программистом в этом пространстве. Система обеспечивает специальную функцию malloc, которая распределяет данные в этом пространстве. Статические переменные могут быть аннотированы с помощью спецификатора типа, так что они распределяются в совместно используемом окне адресов. Однако, в отличие от языков PGAS, в совместно используемом окне не существует понятия родства (affinity). Причина состоит в том, что данные в совместно используемом пространстве должны мигрировать между кэшами CPU и Larrabee, т.к. они используются каждым процессором. Кроме того, способ задания указателей не меняется в совместно используемом пространстве и в частной области памяти. Остающееся виртуальное адресное пространство приватизировано CPU и процессором Larrabee. По умолчанию, данные распределены в этом пространстве, и они не видны с другой стороны. Такой подход в разделении адресного пространства выбирается для сокращения объема памяти, который должен быть когерентным, и обеспечивает более эффективную реализацию для дискретных устройств. Предложенная модель памяти может быть простым образом расширена до конфигурации на базе нескольких процессоров Larrabee. Окно совместно используемых виртуальных адресов распространено на все устройства. Любые структуры данных, размещенные в этом окне совместно используемых адресов, видимы всем агентам, а указатели в этом пространстве могут свободно обмениваться между устройствами. Кроме того, каждый агент имеет свою собственную частную память, как показано на рисунке 1. По ряду причин в предлагаемой модели используется консистентность по выходу (release consistency) в совместно используемом адресном пространстве. Во-первых, системе необходимо запомнить только все записи между последовательными точками выхода (release points), а не после-


довательность индивидуальных записей. Это облегчает групповую пересылку в точках выхода (например, несколько страниц одновременно), что особенно важно в дискретной конфигурации, т.к. массив данных эффективнее передается через шину PCI-Express. Во-вторых, консистентность по выходу допускает обновление памяти совершенно локально до точки выхода, что также важно в дискретной конфигурации. Итак, модель консистентности по выходу хорошо подходит для структур программирования в платформах на базе CPUGPU, поскольку в таких программах имеется естественный выход (natural release) и точки захвата (acquisition points). Наконец, предложенная модель памяти для C/C++ может быть легко отображена на совместно используемое пространство. Модель совместно используемой памяти была дополнена правами принадлежности (ownership rights), чтобы обеспечить дополнительную оптимизацию когерентности. В пределах окна совместно используемых виртуальных адресов CPU или процессор Larrabee может определить в конкретный момент времени, что он обладает определенным блоком адресов. Если диапазон адресов в совместно используемом окне принадлежит CPU, то он знает, что процессор Larrabee не может получить доступ к этим адресам и, следовательно, ему не следует поддерживать связь с этими адресами с помощью процессора Larrabee. То же самое верно для адресов, принадлежащих процессору Larrabee. Если адрес, принадлежащий CPU, выбирается процессором Larrabee, адрес теряет свои права принадлежности (с симметричным поведением для тех адресов, которые принадлежат процессору Larrabee). Права принадлежности позволяют реализовать модель общего использования адресного пространства. Например, CPU вначале выбирает некоторые данные (инициализирует структуру данных), а затем передает их процессору Larrabee (обрабатывая структуру данных параллельным методом), затем CPU анализирует результаты вычислений и т.д. Права принадлежности позволяют приложению информировать систему о сосредоточенности нагрузки во времени и оптимизировать реализацию когерентности. Заметим, что права принадлежности служат только для оптимизации системы, и она может их игнорировать. ЯЗЫКОВЫЕ КОНСТРУКЦИИ

Для того чтобы обеспечить работу на гетерогенной платформе, в языке C был добавлен ряд конструкций, которые позволяют программисту определить, должен ли конкретный элемент данных быть совместно используемым или частным, а также установить, должен ли конкретный фрагмент кода выполняться на CPU или процессоре Larrabee. Первая конструкция — это спецификатор совместно используемого типа, подобный тому, который используется в UPC. Он определяет переменную, которая совместно используется CPU и процессором Larrabee. Спецификатор может также быть связан с типами указателей. Это подразумевает, что адресат указателя находится в совместно используемом пространстве. Компилятор размещает глобально разделенные переменные в совместно используемом пространстве памяти, а система обеспечивает специальную функцию malloc для размещения данных в совместно используемой памяти. Реальный диапазон виртуальных адресов в каждом пространстве определяется системой и прозрачен для пользователя. Для реализации программы допускается размещать все данные в совместно используемом пространстве. В этом случае программист имеет дело только с совместно используемыми данными. Ключевым моментом является то, что система обеспечивает средства, необходимые программисту для разграничения частных и совместно используемых данных.

МИКРОКОНТРОЛЛЕРЫ И DSP

43

Электронные компоненты №7 2010


В программе используется атрибут Larrabee для того, чтобы обозначить функцию, которая должна быть исполнена на процессоре Larrabee. Для таких функций компилятор генерирует код, специально предназначенный для процессора Larrabee. Третья предложенная конструкция обозначает функции, которые выполняются на CPU, но могут быть вызваны с процессора Larrabee. Они обозначаются с помощью аттрибута wrapper. Эти функции используются двумя путями. Во-первых, многие программы связаны с предварительно скомпилированными библиотеками, которые могут выполняться на CPU. Функции в этих библиотеках обозначаются как вызовы wrapper, поэтому исполняются на CPU при вызове из кода Larrabee. Во-вторых, при портировании крупных программ из режима запуска только на CPU в режим запуска на CPU и процессоре Larrabee весьма полезно портировать программу постепенно, шаг за шагом. Атрибут wrapper позволяет программисту останавливать портирование в любой точке дерева вызовов с помощью обратного вызова в CPU. Когда функция Larrabee вызывает функцию wrapper, компилятор инициирует динамический интерфейс прикладного программирования (API) для дистанционного вызова с процессора Larrabee на CPU. Выполнение вызова с процессора Larrabee на CPU в явном виде позволяет компилятору проверить, имеют ли какие-либо аргументы указателя тип коллективного использования. Более подробно особенности применения языковых конструкций освещены в [1]. РЕАЛИЗАЦИЯ МОДЕЛИ ПРОГРАММИРОВАНИЯ1

МИКРОКОНТРОЛЛЕРЫ И DSP

44

Компилятор генерирует два двоичных файла — один для исполнения на процессоре Larrabee, а другой для исполнения на CPU, т.к. две ОС могут иметь разные форматы исполняемых файлов. Двоичный файл для процессора Larrabee содержит код, который будет выполняться на процессоре Larrabee (аннотируемый атрибутом Larrabee), а двоичный файл для CPU содержит функции CPU, которые включают все функции без аннотаций и функции с аннотацией wrapper. Библиотека рабочих программ имеет компоненты для CPU и Larrabee, которые связаны с двоичными файлами приложений для CPU и Larrabee для того, чтобы создать соответствующие исполняемые модули. Когда двоичный файл для CPU начинает исполнение, он вызывает динамическую функцию, которая загружает исполняемый модуль Larrabee. Двоичные файлы

WWW.ELCP.RU

как для CPU, так и Larrabee создают поток демона, который используется для коммуникаций. Реализация разделения памяти между CPU и процессором Larrabee

Предложенная модель использует идеи некоторых схем программного распределения совместно используемой памяти, но также имеет несколько значительных отличий. В отличие от распределенной совместно используемой памяти (DSM), в данном варианте реализации модели памяти CPU и процессор Larrabee могут иметь различные таблицы переадресации страниц и различные программы трансляции из виртуальной в физическую память. Эта проблема была решена путем использования апертуры PCI (части диапазона адресов памяти PCI, отведенной под пространство адресов графической памяти) новым способом. Во время инициализации часть пространства апертуры PCI отображается на пользовательское пространство приложения и реализуется с помощью очереди задачи, очереди сообщений и буферов копий объектов. Когда требуется, например, скопировать страницы из CPU в процессор Larrabee, рабочая среда делает это в буферы копий апертуры PCI и отмечает буферы виртуальным адресом и идентификатором процесса. Со стороны Larrabee поток демона копирует содержимое буферов в адресное пространство, используя метку виртуального адреса. Таким образом, копирование осуществляется с помощью двухэтапного процесса: CPU копирует из своего адресного пространства общий буфер (апертуру PCI), который может быть выбран как CPU, так и процессором Larrabee, а процессор Larrabee получает страницы из общего буфера в свое адресное пространство. Копирование из процессора Larrabee в CPU выполняется аналогично. Было использовано еще одно отличие между традиционным программным DSM и платформой на базе CPU и процессора Larrabee. Традиционные DSM были спроектированы для кластеров среднего и большого размера. В отличие от этого, системы на базе CPU и процессора Larrabee являются более компактными кластерами. Кроме того, апертура PCI обеспечивает удобное пространство совместно используемой физической памяти между разными процессорами. Таким образом, имеется возможность централизовать многие структуры данных и сделать реализацию системы более эффективной. При запуске предложенная реализация модели памяти определяет диапазон адресов, которые будут разделены между CPU и процессором Larrabee,

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

Каждая динамическая область памяти имеет соответствующие метаданные, которые идентифицируют страницы, принадлежащие динамической области памяти. Предположим, процессор Larrabee получает права на динамическую область памяти, делая соответствующие страницы недоступными для CPU. Производится копирование из исходного положения любых страницы из динамической области памяти, которые были обновлены с того момента, когда процессор Larrabee последний раз выполняя операцию запроса данных. Страницы устанавливаются в режим «только для чтения», так чтобы следующая запись в Larrabee вызвала ошибку и система могла записать, какие страницы процессора Larrabee были обновлены. В соответствующем каталоге отмечается, что процессор Larrabee — это домашний узел для страниц динамической области памяти. При выполнении операции выхода (release) страницы делаются доступными вновь со стороны CPU, и обновляется номер версии каталога страницы. Присвоение прав принадлежности для CPU выполняется аналогично. Такая реализация обеспечивает, в конечном итоге, более эффективное копирование страниц. Реализация удаленных вызовов

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


ЭКСПЕРИМЕНТАЛЬНАЯ ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ СИСТЕМЫ

Для измерения производительности различных рабочих заданий в разработанной среде программирования был использован симулятор гетерогенной платформы. Она моделирует нестандартный CPU и Larrabee-систему. При моделировании CPU использовалась конфигурация памяти и архитектура, подобная процессору Intel Core 2 Duo. Система Larrabee была смоделирована как дискретное устройство PCI-Express с задержкой соединения и полосой пропускания в соответствии с требованиями стандарта PCIExpress2.0, а набор команд был смоделирован на процессоре Intel Pentium. Симулятором был запущен программный стек на

двух процессорах. На CPU была запущена ОС Windows Vista, а на процессоре Larrabee — ядро облегченной ОС. Для оценки производительности системы было использовано несколько известных параллельных неграфических задач. В состав этих тестовых заданий входили: финансовая задача оценки стоимости опционов по методу БлэкаШоулза (Black Scholes); быстрое преобразование Фурье (БПФ) с использованием алгоритма radix-2; задача Equake, которая выполняет моделирование землетрясений, и Art, которая выполняет распознавание изображений. На рисунке 2 показана доля совместно используемых данных в общем числе обращений к памяти для перечисленных выше задач. Подавляющее большинство обращений было к частным данным. Заметим, что данные «только для чтения», которые выбирались несколькими потоками, были приватизированы вручную. Эта ручная приватизация помогла в некоторых тестах, подобных Black Scholes. Не удивительно, что большинство обращений зафиксировано к частным данным, т.к. вычислительные потоки в задании приватизируют данные, которые они обрабатывают, чтобы улучшить их расположение. Модель совместно используемой памяти с частично виртуальными адресами позволила использовать такую схему доступа за счет уменьшения объема данных, которые должны быть когерентными. Задания были запущены на моделирующей системе с одним ядром CPU и различным числом ядер Larrabee — от 6 до 24. Вычисления в задачах были разделены между ядрами CPU и Larrabee; задачи, требующие большой вычислительной мощности, выполнялись на ядрах Larrabee. Например, весь процесс ценообразования опционов в Black Scholes и моделирование землетрясений в Equake выполнялся на Larrabee. Был отмечено улучшение производительности по сравнению с одним ядром CPU и Larrabee. Как и ожидалось, производительность приложений была выше при использовании вызовов прав принадлежности, чем без них. На рисунке 3 представлены данные общей производительности системы. «Идеальная» полоска на гистограмме соответствует когерентности кэша с аппаратной поддержкой между ядрами CPU и Larrabee. Другими словами, это наилучшая производительность, которую может обеспечить данная модель реализации совместно используемой памяти. Для Equake можно отметить, что «идеальная» и «дискретная» полоска почти идентичны, т.к. количество переданных данных весьма мало по сравнению с вычислениями. Во всех случаях данная реализация системы совместно используемой памяти имеет низкие непроизводительные издержки и работает почти так же, как в идеальном варианте. Задание Black Scholes показывает наивысший уровень непроизводительных издержек, т.к. оно имеет самую низкую плотность вычислений, т.е. объем данных, переданных за единицу

Электронные компоненты №7 2010

45 МИКРОКОНТРОЛЛЕРЫ И DSP

ного и динамического подхода. Используемые языковые правила гарантируют, что любая функция, включенная в удаленные вызовы процедур (функции с атрибутом Larrabee или wrapper), аннотируется пользователем. При компилировании таких функций вызов добавляется в интерфейс прикладного программирования (API), что обеспечивает динамическую регистрацию адреса. Компилятор создает функцию инициализации для каждого файла, который задействует все вызовы других регистраций. Когда двоичный код загружен, в каждом файле вызывается функция инициализации. Пространство совместно используемых адресов содержит таблицу переходов, которая динамически заполняется с помощью функций регистрации. Таблица содержит один слот (область памяти, занимаемой страницей) для каждой аннотируемой функции. Порядок трансляции выглядит следующим образом. – Когда функция Larrabee (CPU) вызывается внутри функции Larrabee (CPU), генерируемый код выполняет вызов в том виде, как он есть. – Когда функция Larrabee вызывается внутри функции CPU, генерируемый компилятором код выполняет удаленный вызов к процессору Larrabee: – генерируемый компилятором код ищет в таблице переходов название функции и получает ее адрес; – генерируемый код помещает аргументы в буфер аргументов в совместно используемом пространстве и вызывает подпрограмму размещения на стороне Larrabee, передавая адрес функции и адрес буфера аргумента. Аналогичный процесс выполняется для функции wrapper: если она вызывается в коде Larrabee, то удаленный вызов выполняется в CPU. Для инициирования указателя функции схема трансляции работает следующим образом. Когда присваивается указатель функции с аннотацией Larrabee, генерируемый компилятором код ищет в таблице переходов имя функции и назначает ее указатель с полученным адресом. Хотя поиск можно оптимизировать при назначении указателя функции внутри кода Larrabee, аннотируемого Larrabee, такая оптимизация не применялась для того, чтобы использовать единую стратегию для всех указателей функций. Если указатель функции Larrabee был вызван внутри функции Larrabee, то генерируемый компилятором код будет выполнять вызов как он есть. Если указатель функции Larrabee был вызван внутри функции CPU, генерируемый компилятором код будет выполнять удаленный вызов на сторону Larrabee. Процесс аналогичен для указателя функции wrapper: если он вызывается в функции Larrabee, удаленный вызов выполняется на стороне CPU. В результате CPU и процессор Larrabee осуществляют взаимодействие в процессе распределения памяти в совместно используемой области. Каждый процессор распределяет память с обеих сторон окна совместно используемых адресов. Когда процессор расходует половину пространства, оба процессора заново организуют разделы в доступном пространстве.


Рис. 2. Доля совместно используемых данных в общем числе обращений к памяти

важным для масштабируемых когерентных решений в случае дискретной реализации системы. Предложенная система имеет сходства с программно-распределенной совместно используемой памятью (software-distributed shared memory — S-DSM), которая также использует виртуальную память. Многие из этих S-DSM-систем также используют консистентность по выходу и могут копировать страницы по требованию. Основным отличием от S-DSM-систем является уровень гетерогенности. В отличие от S-DSM-систем, разработанная система предназначена для компьютерной платформы, в которой процессоры имеют различные ISA и системную среду. В частности, необходима поддержка различных процессоров с разным алгоритмом преобразования виртуальных страниц в физические. S-DSM-системы предназначены для крупных кластеров, а системы на базе CPU и процессора Larrabee — для небольших кластеров. Архитектура CUBA предлагает аппаратную поддержку для ускорения связи между CPU и GPU. Однако модель программирования предполагает, что CPU и GPU имеют отдельные адресные пространства. ЗАКЛЮЧЕНИЕ

Рис. 3. Сравнение общей производительности системы

МИКРОКОНТРОЛЛЕРЫ И DSP

46

времени вычислений был наибольшим. При выполнении Black Scholes было передано около 13 Мбайт данных за 1 с вычислений, а для Equake — около 0,42 Мбайт. Следовательно, непроизводительные издержки когерентности памяти ничтожно малы в Equake. Разница между идеальным сценарием и предложенной системой совместно используемой памяти увеличивается с ростом числа ядер, в основном, из-за потерь на синхронизацию. В данной реализации потери на синхронизацию возрастают нелинейно с увеличением числа ядер. АЛЬТЕРНАТИВНЫЕ РЕШЕНИЯ

Предложенная система программирования отличается от таких систем как CUDA, OpenCL и CTM несколькими особенностями. В отличие от этих программных сред, была определена модель коммуникаций между CPU и процессором Larrabee; обеспечена прямая связь на уровне пользователя между CPU и процессором Larrabee и предложен более широкий набор функций C, таких как указатели функций. Реализация подобной модели

WWW.ELCP.RU

памяти на современных GPU затруднительна из-за свойственных им ограничениям. Другой гетерогенной платформой является процессор Cell. Несмотря на то, что его процессорный модуль (power processor unit — PPU) подобен CPU, взаимно усиливающие процессорные блоки (synergistic processing units — SPU) намного проще ядра Larrabee. Так, например, они не работают на ядре ОС. В отличие от пары SPU-PPU, пара «CPU — процессор Larrabee» связана гораздо более гибко, т.к. процессор Larrabee может быть использован как дискретный GPU с любым CPU, на котором можно запустить ОС. В отличие от предложенной модели, программирование процессора Cell включает использование явно заданного прямого доступа к памяти (ПДП) между PPU и SPU. Разработанная модель памяти подобна той, которая используется в языке Unified Parallel C (UPC). Однако UPC не поддерживает ISA или гетерогенность ОС. Языки высокого уровня PGAS (например, X10) не поддерживают механизм прав принадлежности, что является весьма

Гетерогенные компьютерные платформы, содержащие скалярные CPU общего назначения и высокопроизводительные ядра (такие как GPU), все шире используются в клиентских компьютерных системах. Эти платформы можно использовать для ускорения высокопараллельных задач. Для таких платформ было предложено несколько моделей программирования, но ни одна из них не решала вопросы, связанные с разработкой модели памяти CPUGPU. В статье описана новая модель программирования для гетерогенных систем на базе Intel x86, обладающая следующими особенностями. – Модель совместно используемой памяти для всех ядер платформы. – Универсальная модель программирования для различных конфигураций. – Аннотации пользователя позволяют разграничить код, выполняемый на CPU и процессоре Larrabee. В статье показано, что предложенная модель может быть эффективно реализована, так что программисты имеют возможность задействовать совместно используемую память без ухудшения производительности системы. ЛИТЕРАТУРА 1. Bratin Saha, Xiaocheng Zhou, Hu Chen, Ying Gao, Shoumeng Yan, Sai Luo. A Programing Model for Heterogeneous Intel x86 Platforms//Intel Technology Journal. Volume 13. Issue 4. 2009.


КАК ПЕРЕЙТИ НА INTEL ATOM С ДРУГОЙ ПРОЦЕССОРНОЙ АРХИТЕКТУРЫ АДДИКАМ САНДЖЕЙ (ADDICAM SANJAY), специалист по архитектуре программного обеспечения, Intel ПРАШАНТ ПАЛИВАЛ (PRASHANT PALIWAL), специалист по архитектуре программного обеспечения, Intel

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

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

КОММУНИКАЦИОННЫЙ ИНТЕРФЕЙС КАБЕЛЬНОГО МОДЕМА ДЛЯ ПРОЦЕССОРА INTEL ATOM CE4100

Процессор Intel Atom CE4100 — это система-на-кристалле, предназначенная для применения на рынке телеприставок (set-top box — STB) и других устройств потребительской электроники. Ядро Intel Atom спроектировано на базе 45-нм технологического процесса. Для передачи данных на аппаратной платформе Sodaville был разработан коммуникационный интерфейс кабельного модема на базе протокола Docsis 3.0. Коммуникационный интерфейс был разработан на базе процессора ARM MP11 с четырьмя ядрами. Архитектура и программное обеспечение были изначально спроектированы на плате ARM с тем, чтобы впоследствии перейти на архитектуру Intel на базе 32-нм процесса. Все данные, приведенные в этой статье, получены исходя из этого. В качестве исходной задачи была выбрана разработка коммуникационного интерфейса кабельного модема для мультимедийного процессора Intel Atom CE4100. Целью проекта была реализация всех процессов обработки, необходимых для кабельного модема, на процессоре Intel Atom CE4100. Однако из-за ряда проблем прототип этого устройства было решено реализовать на базе FPGA с последующим переводом этого решения на процессор Intel Atom. Было выбрано FPGA-решение на базе ARM MP11 с четырьмя ядрами.

Общая идея разработки состояла в том, чтобы создать архитектуру на базе ARM MP11 с использованием одного процессора и проверить возможность достижения требуемой производительности на одном процессоре с помощью триггеров или наборов условий, при выполнении которых запускается какое-либо задание. Если требуемую производительность можно обеспечить с помощью одного процессора, то перейти на архитектуру Intel Atom можно довольно просто. Если же требования по производительности на базе одного процессора достичь нельзя, то для разработки приложения нужно использовать различные мультипроцессорные решения, о которых рассказывается в статье. Сначала требовалось определить, нужно ли использовать в проекте четыре ядра (как в некоторых ARMпроцессорах) или достаточно одного ядра (как в некоторых вариантах процессора Intel Atom). Были определены несколько триггерных точек и тестов для вычисления производительности, а также для выбора возможных альтернативных решений на базе одного ядра. Необходимо было выбрать и операционную систему реального времени (ОСРВ), доступную для различных ARM-платформ. Для процессора MP11 не было доступной ОСРВ, поэтому использовалась обычная версия Linux с некоторой адаптацией к данным условиям. В итоге необходимо было разработать специальное программное обеспечение и выбрать один из альтернативных вариантов решения:

Электронные компоненты №7 2010

47 МИКРОКОНТРОЛЛЕРЫ И DSP

ПРОНИКНОВЕНИЕ INTEL НА РЫНОК ВСТРАИВАЕМЫХ ПРОЦЕССОРОВ


– несколько ядер; – симметричная ОС; – асимметричная ОС; – исполнение кода без какойлибо ОС; – просто микропрограммное обеспечение. Тесты на производительность, которые можно было бы запустить как на процессоре Atom, так и на ARM MP11, были недоступны. Поэтому был разработан специальный тест. ПОСЛЕДОВАТЕЛЬНОСТЬ ПРИНЯТИЯ РЕШЕНИЙ ПРИ ПЕРЕХОДЕ С ARM-АРХИТЕКТУРЫ НА МИКРОАРХИТЕКТУРУ INTEL ATOM

Основным принципом проектирования была разработка системы на базе одного процессора и использование мультипроцессорного подхода, в случае если тесты на производительность показывают необходимость такого решения. Следует учитывать, что при использовании симметричной ОС теряется непосредственный контроль за некоторыми наиболее критичными временными параметрами системы, работающей в режиме реального времени. Разработка мультипроцессорной системы для встраиваемого проекта обычно более сложная и зависит, во многом, от выбора типа доступной ОСРВ. Доступность инструментов разработки также играет важную роль в успешном переходе от однопроцессорной к многопроцессорной системе. На рисунке 1 показана базовая схема процесса принятия решения об однопроцессорной или многопроцессорной конфигурации системы. Базовый принцип, который был использован при выборе решения на базе архитектур ARM или Intel Atom, состоял в измерении производительности в различных триггерных точках системы. На основе результатов этих измерений можно было принять обоснованное решение, достаточно ли одного процессора или нужно использовать их несколько. Далее МИКРОКОНТРОЛЛЕРЫ И DSP

48

необходимо было определить тип используемой ОС (симметричная или асимметричная). Этот выбор окажет существенное влияние на общее решение об используемом микропрограммном обеспечении, доступности коммерческой ОС, стоимости разработки и т.д. В данных тестах использовались четыре триггера. Эти триггеры запускались на ОСРВ. Используемые триггеры подходили для коммуникационной системы (в данном случае — кабельного модема). Для использования в большинстве встраиваемых систем требуются лишь незначительные изменения этих триггеров. – Триггер 1: соответствие требованию режима жесткого реального времени в системе с одним каналом. – Триггер 2: соответствие требованию максимальной скорости передачи данных в системе с одним каналом. – Триггер 3: соответствие требованию режима жесткого реального времени в системе с несколькими каналами. – Триггер 4: соответствие требованию максимальной скорости передачи данных в системе с несколькими каналами. Для коммуникационного интерфейса кабельного модема эти триггеры транслируются в следующие. – Триггер 1: обработка пакета реального времени занимает более 200 мкс (P1). – Триггер 2: увеличение частоты/скорости передачи управляющих пакетов до максимально возможной величины (P1). – Триггер 3: попытка обработки пакета реального времени для нескольких каналов за 600 мкс (P2). – Триггер 4: тестирование возможности системы поддерживать максимальную скорость передачи данных по четырем каналам (P2). Все эти триггеры вначале были выполнены на однопроцессорной системе. В результате удалось принять обоснованное решение о необ-

Рис. 1. Схема процесса принятия решения об однопроцессорной или многопроцессорной конфигурации системы

WWW.ELCP.RU

ходимости применения многопроцессорной системы. В каждой из этих триггерных точек были сделаны следующие измерения: – время переключения потоков ядра; – задержка обработки прерывания; – задержка планировщика; – задержка взаимного исключения и семафора; – задержка процессора (совместно используемые данные); – время выполнения программы в абсолютных адресах. Далее рассмотрим подробнее эти триггеры, а также влияние результатов измерений на принятое решение. ТРИГГЕР 1: СООТВЕТСТВИЕ ТРЕБОВАНИЮ РЕЖИМА ЖЕСТКОГО РЕАЛЬНОГО ВРЕМЕНИ В СИСТЕМЕ С ОДНИМ КАНАЛОМ

В данном случае целью являлась обработка MAP-пакетов в течение 200 мкс. По результатам этого теста были собраны данные по производительности и составлен список условий: «Если/То», который определяет окончательное решение. Производительность системы в различных точках измерялась на базе следующих параметров: – время переключения потоков ядер; – время обработки прерывания; – задержка взаимного исключения; – задержка семафора; – время ожидания процессора. Последовательность принятия решения по триггеру 1

Если время переключения потока ядра больше заданной величины, попробуйте поместить функции, выполняемые потоком, в один поток. Если потоки нельзя объединить, перейдите в режим SMP (симметричная мультипроцессорная обработка), исходя из времени ожидания процессора. Если время ожидания процессора слишком велико, перейдите в режим AMP (ассиметричная мультипроцессорная обработка) и исследуйте возможность модификации родства данных (data affinity) к процессору. Если задержка обработки прерывания слишком велика, перейдите на резервную ОС; перейдите в режим AMP с обработкой данных в микропрограммном обеспечении. Если задержка планировщика слишком велика, перейдите в режим AMP и убедитесь, что различные потоки с высоким приоритетом, программы обработки прерывания, механиз-


мы отложенного исполнения задач ядра (bottom halves) разделены по различным процессорам; модифицируйте функции переключения планировщика (ОС выполняет функцию запроса на прерывание) в соответствии с выполняемыми задачами, настройте ОС. Если задержка взаимного исключения, задержка семафора и т.д. слишком велика, поменяйте тип кодировки; оптимизируйте ядро (ОС) для уменьшения времени ожидания; используйте специальные патчи (корректирующие подпрограммы) для решения данной проблемы. Если задержка процессора (коммуникации, совместно используемые данные и т.д.) слишком велика, тщательно разделите данные и точно настройте механизм коммуникации (совместно используемая память и т.д.) между потоками. Если время обработки абсолютного кода слишком велико, оптимизируйте тип кодировки и, если потребуется, используйте ассемблер; перейдите в режим SMP на базе двухпроцессорного решения. ТРИГГЕР 2: СООТВЕТСТВИЕ ТРЕБОВАНИЮ МАКСИМАЛЬНОЙ СКОРОСТИ ПЕРЕДАЧИ ДАННЫХ ДЛЯ ОДНОГО КАНАЛА

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

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

обработать другие управляющие пакеты, перейдите в режим SMP, когда два процессора обрабатывают прерывания. Если это не оптимально и время ожидания процессора велико, перейдите в режим AMP на базе двух процессоров. Если потоки зависли, перейдите в режим SMP на базе двух процессоров. Триггеры 1 и 2 следует обеспечивать параллельно и на основе полученных данных будет выбрано оптимальное решение. Особенности триггеров 3 и 4 подобны триггерам 1 и 2. Результаты, полученные при применении триггеров 1 и 2, следует экстраполировать и проверить, работают ли они также для триггеров 3 и 4. В нашем случае возникли следующие варианты решения. Триггер 3: Попытка обработки в режиме реального времени для четырех каналов в течение 600 мкс. Проблемы и решения те же, что и в случае триггера 1. Триггер 4: Попытка поддерживать максимальную скорость передачи данных по четырем каналам (P2). Проблемы и решения те же, что и в случае триггера 2. Нет однозначного соответствия между триггерами и предложенным разделением функций между процессорами. Все триггеры были проведены на однопроцессорных системах и, в зависимости от полученной производительности и решаемой задачи, может быть выбран любой из пяти предложенных вариантов разделения функций между процессорами (см. рис. 2).

МИКРОКОНТРОЛЛЕРЫ И DSP

49

Рис. 2. Связь между триггерами и предложенным мультипроцессорным решением

Электронные компоненты №7 2010


РАЗДЕЛЕНИЕ МЕЖДУ ПРОЦЕССОРАМИ НА ОСНОВЕ ФУНКЦИЙ ВОСХОДЯЩЕГО И НИСХОДЯЩЕГО КАНАЛОВ

Вначале кратко рассмотрим особенности построения кабельного модема. В кабельном модеме присутствует три разных типа пакетов — восходящие (upstream — US), нисходящие (downstream — DS) и управляющие. Все эти пакеты являются критичными по времени. Наиболее критичными среди них являются MAP-пакеты, которые передаются по нисходящему (DS) каналу и являются управляющи-

ми пакетами. MAP-пакеты определяют момент времени, когда можно начать передачу следующего восходящего пакета. В MAP-пакете определяется, что следующий восходящий (US) пакет должен передаваться через 200 мкс от момента приема MAPпакета кабельным модемом. Это означает, что MAP-пакет должен быть обработан по нисходящему каналу в течение 200 мкс так, чтобы был подготовлен и передан пакет данных по восходящему каналу. Большая часть такой обработки производится с помощью программ-

ных средств. Аппаратный компонент, который называется Mini-MAC, обеспечивает базовый уровень фильтрации для того, чтобы выяснить, предназначен ли нисходящий пакет для данного кабельного модема. Остальная часть обработки, фильтрации и формирования пакета выполняется программно. В качестве физического уровня для передачи данных может выступать как CDMA-, так и TDMA-передатчик. В данном варианте вся обработка по восходящему каналу осуществляется на одном процессоре, который

МИКРОКОНТРОЛЛЕРЫ И DSP

50

Рис. 3. Конфигурация решения при разделении между процессорами на основе функций восходящего и нисходящего каналов

WWW.ELCP.RU


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

процессоре 2. Остальная часть представляет процессор 1. Преимущества

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

В данном случае нужен модуль Mini-MAC для обработки управляю-

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

МИКРОКОНТРОЛЛЕРЫ И DSP

51

Рис. 4. Конфигурация решения при разделении между процессорами на основе не критичных по времени функций восходящего и нисходящего каналов

Электронные компоненты №7 2010


участков программ обработки и планировщика передачи на ассемблере, что связано с вероятным появлением ошибок и является довольно трудоемким процессом. РАЗДЕЛЕНИЕ МЕЖДУ ПРОЦЕССОРАМИ НА ОСНОВЕ НЕКРИТИЧНЫХ ПО ВРЕМЕНИ ФУНКЦИЙ ВОСХОДЯЩЕГО И НИСХОДЯЩЕГО КАНАЛОВ

Этот вариант весьма похож на предыдущее решение, где функции были разделены на базе upstream/ downstream-операций. Единственным отличием является обработка MAP-

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

Данный подход не требует модификации модуля Mini-MAC и в то же время обеспечивает разделение функций между процессорами.

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

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

МИКРОКОНТРОЛЛЕРЫ И DSP

52

Рис. 5. Конфигурация решения при разделении между процессорами на основе операций управления и обработки данных

WWW.ELCP.RU


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

ционной системы, а также процедур управления очередью. РАЗДЕЛЕНИЕ МЕЖДУ ПРОЦЕССОРАМИ НА ОСНОВЕ ОПЕРАЦИЙ УПРАВЛЕНИЯ И ОБРАБОТКИ ДАННЫХ

показана конфигурация этого двухпроцессорного решения. Преимущества

Этот вариант основан на разделении канала данных и канала управления по двум различным процессорам. Была использована симметричная ОС с поддержкой фиксированного родства процессоров (processor affinity) для ключевых потоков. На рисунке 5

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

МИКРОКОНТРОЛЛЕРЫ И DSP

53

Рис. 6. Конфигурация решения при реализации MAP-процессора/планировщика передачи на отдельном процессоре с ОС

Электронные компоненты №7 2010


Таблица 1. Результаты тестов на производительность Описание тестов

Результаты Все измерения проведены с использованием модифицированного ядра Измерения с помощью тестовых с приоритетным прерыванием обслуживания программ — время переключения задач, используя: Режим ядра операционной системы Пользовательский режим Метод семафора Время переключения 109 мкс Время переключения 132 мкс Метод взаимного исключения Время переключения 106 мкс – Метод очередей ожидания Время переключения 109 мкс – Метод приложения Tasklet Время создания 306 мкс – Задержка обработки прерывания* 15 мкс – Измерения задержки обработки прерыДля измерения задержки обработки прерывания вания использовался ARM-таймер Оптимизация ядра — доступны патчи идентификации, которые Почти все необслуживаемые модули удалены. Добавлена поддержка – удаляют все модули, которые не нужны приоритетного прерывания обслуживания. Дальнейшая оптимизация осуществлена после завершения тестовых программ. – идентифицируют и выполняют другие более тонкие задачи оптимизации * Задержка обработки прерывания – это время от момента запуска аппаратного события до того момента, когда поток, ожидающий это событие, разблокируется и продолжит обработку.

DMA-контексты для управляющих и обычных пакетов данных. Недостатки

Модуль Mini-MAC должен пересылать сообщения, принятые от блока MAC-MGMT DMA DMA, на процессор 1, а сообщения, принятые от DATADMA — на процессор 2. Это приводит к необходимости реализации некоторых дополнительных функций в аппаратном модуле Mini-MAC. MAP-ПРОЦЕССОР/ПЛАНИРОВЩИК ПЕРЕДАЧИ НА ОТДЕЛЬНОМ ПРОЦЕССОРЕ С ОС

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

ное решение. Если нельзя обеспечить обработку данных и управляющей информации на одном процессоре, то возможно потребуется третий процессор. Это также требует применения ассиметричной ОС, выполняющей все функции реального времени на одном процессоре, а остальные — на другом процессоре. При использовании асимметричной ОС разработчик программного обеспечения отвечает за организацию коммуникаций между двумя ядрами. Это увеличивает время разработки программ, а также временные затраты на отладку и обслуживание. MAP-ПРОЦЕССОР/ПЛАНИРОВЩИК ПЕРЕДАЧИ НА ОТДЕЛЬНОМ ПРОЦЕССОРЕ БЕЗ ОС

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

Преимущества

МИКРОКОНТРОЛЛЕРЫ И DSP

54

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

Устройство Mini-MAC должно обеспечить пересылку MAP-сообщений на процессор 2. Это означает, что возможно нужно будет модифицировать аппаратную часть. Это также позволяет перейти c двухпроцессорного на трехпроцессор-

WWW.ELCP.RU

Преимущества

Этот вариант приемлем, когда планировщик MAP-передачи (в режиме реального времени) не удовлетворяет требованию на предельное время обработки 200 мкс. При таком подходе не будет никакой задержки ОС, а также других задержек, т.к. обработка в режиме реального времени производится в микропрограммном коде. Недостатки

Сложность архитектуры и большой размер задания по обработке в режиме реального времени затрудняют разработку программного обеспечения. Модуль Mini-MAC должен передавать MAP-сообщения на процессор 2 и потребует некоторой модификации.

Если нельзя обеспечить обработку данных и управляющей информации на одном процессоре, то возможно потребуется третий процессор. Это может повлечь за собой усложнение микропрограммного обеспечения. ТЕСТЫ НА ПРОИЗВОДИТЕЛЬНОСТЬ

Данные, полученные в результате проведения тестов на производительность, приведены в таблице 1. Результаты тестов показали, что использование процессора Intel Atom CE4100 в качестве коммуникационного интерфейса кабельного модема обеспечивает требования по производительности системы, т.е. время обработки данных в режиме реального времени не превышает 200 мкс. В данном случае довольно просто портировать код и программную архитектуру на процессор Intel Atom CE4100, который, кроме того, занят обработкой мультимедийных данных. ЗАКЛЮЧЕНИЕ

Гибкий подход к разработке сложного решения позволяет сократить время и деньги. Итеративный подход к проведению тестов с использованием различных триггеров на FPGA на базе ARM помог сузить выбор параметров окончательного варианта проекта. Хотя конечной целью данного исследования было портирование конкретного решения на микроархитектуру Intel Atom, тесты позволили определить фундаментальные требования к режиму реального времени для коммуникационного приложения. Использование результатов тестирования и предложенная последовательность принятия решений позволяют на ранней стадии проектирования выйти на окончательную конфигурацию системы. Благодаря доступности как ОС, так и разнообразных инструментов поддержки, архитектура Intel предоставляет богатый выбор для OEM и компанийразработчиков при проектировании масштабируемых решений. Исследования показали, что наиболее жесткие требования к режиму реального времени в данном коммуникационном приложении могут быть удовлетворены с помощью решения на базе процессора Intel Atom. Микроархитектура Intel Atom может быть с успехом применена в других приложениях, разработанных ранее на базе технологии ARM и широко используемых в области встраиваемых систем. ЛИТЕРАТУРА 1. Addicam V.Sanjay, Prashant Paliwal. Guidelines for migrating to Intel Atom Processor from other Processor architecture// Intel White Paper, January 2010.


OMAP35ХХ: ВОЗМОЖНОСТИ И ОСОБЕННОСТИ ВИКТОР ОХРИМЕНКО, техн. консультант, НПФ VD MAIS В статье рассмотрены возможности и некоторые отличительные особенности мультимедийных процессоров семейства OMAP35xx. ВВЕДЕНИЕ

Расширение рынка мультимедийных устройств массового применения стимулирует производство высокоскоростных программируемых процессоров для встраиваемых систем. Следуя тенденциям развития рынка потребительской электроники, разработчики ведущих компаний (Analog Devices, Freescale Semiconductor, Intel, Marvell, Philips, Texas Instruments и др.) в последние годы приложили немало усилий для создания и выпуска новых модификаций программируемых мультимедийных процессоров [1—7]. ВОЗМОЖНОСТИ

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

дийных устройств разного назначения характерно наличие большого объема встроенной памяти типа DDR SDRAM, Mobile DDR; флэш; высококачественного цветного ЖК-дисплея для отображения информации; источников аудио- и видеосигналов; клавиатуры; стандартных интерфейсов, с помощью которых поддерживается обмен данными с внешними устройствами (компьютерами, фото- или видеокамерами, принтерами, PDA, GSM-/GPRS-модемами, устройствами беспроводного доступа типа Wi-Fi и т.д.). Немаловажным является также возможность хранения большого объема информации во встроенной памяти типа NAND-флэш или сменных флэш-картах, что обусловливает необходимость встраивания в процессоры периферийных контроллеров стандартных интерфейсов: MMC/ SD/SDIO/microSD и т.д. Для эффективного обмена данными в процессорах должны быть реализованы высокоскоростные интерфейсы: USB 2.0, USB OTG (On-the-Go), Ethernet и т.д.

Компания Texas Instruments предлагает ряд мультимедийных процессоров для мобильных приложений семейства OMAP. Приведенная на рисунке 1 архитектура OMAP3530 наглядно иллюстрирует широкие возможности мультимедийных процессоров семейства OMAP35xx. Главное отличие процессоров, предназначенных для использования во встраиваемых мультимедийных устройствах массового применения, — сохранение высокой производительности при минимальном уровне энергопотребления. Кроме того, эти процессоры должны отличаться низкой стоимостью и миниатюрным корпусом. Процессоры OMAP35xx ориентированы на использование в портативных устройствах, поддерживающих беспроводные технологии. Они отличаются высокой производительностью и наличием большого набора встроенных периферийных контроллеров для связи с «внешним миром» (см. рис. 1). Архитектура процессоров OMAP35xх базируется на высокопроизводительном ARM-ядре

МИКРОКОНТРОЛЛЕРЫ И DSP

55

Рис. 1. Архитектура OMAP3530

Электронные компоненты №7 2010


Cortex-A8. В самых мощных процессорах OMAP3530/25 содержится процессорное ядро ARM Cortex-8A с максимальной тактовой частотой 720 МГц и SIMD-сопроцессор NEON, аудиовидеопроцессор IVA 2.2 (Imaging Video and Audio Processor) с аппаратным видеоускорителем на базе ядра C64x+ (с тактовой частотой до 530 МГц), а также 3D-графический ускоритель PowerVR SGX (только в OMAP3530). ОСОБЕННОСТИ

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

Рис. 2. Внешний вид процессора OMAP и ИС памяти

МИКРОКОНТРОЛЛЕРЫ И DSP

56 Рис. 3. Вариант трассировки проводников

Рис. 4. Вклад статической потребляемой мощности в ее суммарную величину в зависимости от технологии изготовления

WWW.ELCP.RU

путей уменьшения габаритных размеров и снижения уровня энергопотребления. Один из самых простых способов миниатюризации — уменьшение размеров кристалла и шага сферических выводов. Процессоры семейства OMAP35хх, впрочем, как и процессоры других производителей (например, Analog Devices, Freescale Semiconductor, Intel, Marvell, Philips и др.), отличаются малогабаритным корпусом. Процессоры OMAP35хх изготавливаются по технологии 65 нм и выпускаются в корпусах размерами 12×12, 14×14 мм (с шагом сферических выводов 0,4/0,5 мм) или 16×16 мм (с шагом 0,65 мм). Второй способ миниатюризации заключается в расположении микросхем друг над другом. По этой технологии, как правило, монтируются микросхемы в корпусах BGA. Наиболее часто этот способ используется для монтажа микросхем памяти, т.к., во-первых, они имеют регулярную структуру, а, во-вторых, это позволяет уменьшить до минимума время распространения сигналов (за счет сокращения длины проводников) и, следовательно, увеличить скорость передачи данных. Отличительной особенностью процессоров семейства OMAP35хх является также поддержка технологии монтажа на поверхность корпуса микросхемы (Package on Package — PoP). На рисунке 2 приведен внешний вид процессора и ИС памяти, установленной на корпусе процессора, на рисунке 3 — вариант трассировки проводников. Рассеиваемая мощность ИС, изготовленной по КМОП-технологии, определяется двумя основными составляющими: динамической и статической. Динамическая составляющая (Pдинам ~nCFV2) пропорциональна числу переключаемых вентилей (n), эквивалентной емкости нагрузки (С), частоте переключения вентилей (F) и связана квадратичной зависимостью с напряжением питания (V), и, в основном, обусловлена двумя составляющими, возникающими из-за протекания сквозных токов через логические вентили и перезаряда паразитных емкостей, в т.ч. емкости нагрузки. Вклад сквозных токов в динамическую составляющую учитывается в эквивалентной емкости нагрузки. Мощность потребления стандартного базового инвертора в статическом режиме, т.е. при условии, что отсутствуют переключения транзисторов и один из них «закрыт», с достаточно большой точностью определяется выражением: Pстат.=kVIутечки, где k — коэффициент; V — напряжение питания; Iутечки — суммарный ток утечки, имеющий три основные составляющие. При подсчете суммарной статической мощности потребления также следует учитывать число транзисторов на кристалле. Например, процессор OMAP3530 содержит примерно 150 млн транзисторов. Ток утечки транзисторов, изготовленных по

субмикронной технологии, имеет нелинейную зависимость от размеров канала P- или N-транзистора, а, кроме того, ток утечки зависит от многих других факторов, в т.ч. от напряжения питания, напряжения порога запирания и отпирания, типа диэлектрика, используемого в технологическом процессе и т.д. Бурный рост производительности процессоров обусловлен, главным образом, уменьшением размеров транзисторов, что позволяет увеличить и их быстродействие, и их количество на кристалле. Вместе с тем, при уменьшении топологических норм транзисторов до 32–45 нм, а в ближайшее время — и до 22 нм (уже в 2010 г.), проектировщики и технологи сталкиваются со многими проблемами, которые являются в некоторой степени сдерживающими факторами развития полупроводниковой индустрии. Не говоря о многих существующих технологических проблемах, остановимся только на тех, которые связаны с потребляемой и рассеиваемой мощностью. При уменьшении топологических норм до 65/45/32/22 нм стремительно (по экспоненциальному закону) возрастает ток утечки, т.к. вместе с линейными размерами уменьшается не только длина канала, но и толщина диэлектрика между кремниевой подложкой и затвором, в качестве которого до последнего времени использовали, главным образом, диоксид кремния (SiO2). В современных микросхемах, изготовленных по технологии 65 нм, толщина диэлектрика составляет всего 1—2 нм, что составляет примерно 5—6 атомарных слоев. Еще сравнительно недавно, в те времена, когда доминировала 250- или 180-нм КМОП-технология, львиная доля потребляемой мощности приходилась на динамическую составляющую, вклад же в потребляемую ИС мощность за счет токов утечки был мизерным, и ее, как правило, не принимали во внимание. В настоящее время ситуация резко изменилась, и в связи с ростом тока утечки его вклад в суммарную потребляемую мощность стал составлять до 70% (см. рис. 4) [4]. Пока гиганты полупроводниковой индустрии экспериментируют с усовершенствованными технологиями и ищут новые материалы (в т.ч. для замены диоксида кремния) с целью увеличения эффективности работы транзисторов, улучшения изоляции затвора и уменьшения суммарного тока утечки МОПтранзисторов, разработчикам кристаллов приходится внедрять другие прогрессивные методы энергосбережения, основанные на архитектурных решениях, поскольку нет процессоров с нулевой потребляемой мощностью. При разработке ориентированных на использование в мобильных приложениях процессоров OMAP35xx большое внимание было уделено не только уменьшению габаритных размеров


частоты и напряжения питания до значений, необходимых для выполнения конкретного вычислительного процесса в заданном временном интервале, что позволяет, в конечном счете, уменьшить суммарную потребляемую мощность в активном режиме при условии выполнения задачи в том же временном интервале. Принцип работы системы DVFS поясняют диаграммы работы процессора, приведенные на рисунке 5. В случае работы с максимальной тактовой частотой и соответственно при максимальном напряжении питания вычислительный процесс, для выполнения которого зарезервирован временной интервал в 4 с, можно завершить в течение 1 с. Оставшиеся 3 с процессор будет находиться в режиме ожидания (см. рис. 5, а). Во втором случае (см. рис. 5, б), снизив тактовую частоту и напряжение питания до оптимальных для выполнения задачи значений, также потребуется интервал времени 4 с, а режим ожидания будет исключен вовсе. В рассмотренном примере средняя потребляемая мощность во втором случае оказывается меньше, чем в первом (см. рис. 5). Таким образом, выбирая для отдельных узлов процессора оптимальные значения тактовых частот и, следовательно, напряжения питания, можно для каждого из блоков подобрать оптимальный и в то же время обеспечивающий выполнение конкретной задачи режим работы (Operating Performance Points — OPP), что позволит снизить до минимума уровень энергопотребления этих узлов. Однако на практике обеспечить для каждого из модулей процессора оптимальные напряжение питания и тактовую частоту сложно по многим причинам. Значительно проще реализовать систему DVFS, обеспечи-

вающую несколько режимов работы OPP, с дискретными парами значений напряжения (V) и частоты (F). Для каждого их этих режимов тактовая частота соответствует максимально возможной для заданного напряжения питания, что позволяет достичь требуемого уровня производительности процессора (см. рис. 6). При первоначальной инициализации системы DVFS процессор работает в OPP-режиме, обеспечивающем необходимую производительность в текущем временном интервале. Оптимальный OPP-режим для конкретной задачи определяет пользователь и, при необходимости, переключает процессор в наиболее экономичный режим. Как и DVFS, система динамического отключения напряжения питания (DPS) позволяет снизить уровень энергопотребления процессора. Однако если система DVFS позволяет уменьшить как потребляемую ИС мощность в динамическом режиме, так и мощность потребления за счет токов утечки, система применение DPS снижает только одну из составляющих суммарной мощности потребления, обусловленную токами утечки. Использование DPS-системы обеспечивает в течение периода работы процессора динамическое переключение из режима с высокой потребляемой мощностью в режим со сниженным уровнем энергопотребления. При инициализации системы DPS, чтобы как можно быстрее завершить выполнение текущей задачи, процессор работает с наивысшей производительностью (при максимальном напряжении питания и тактовой частоте), а затем автоматически переключается в режим с низким энергопотреблением для минимизации суммарной мощности потребления. Как правило, применение системы DPS целесообразно в тех приложени-

57

а)

б)

Рис. 5. Диаграммы работы процессора без использования системы DVFS (а) и с ее использованием (б)

Рис. 6. Загрузка процессора и OPP-режимы

Электронные компоненты №7 2010

МИКРОКОНТРОЛЛЕРЫ И DSP

систем в случае использования этих процессоров, но и снижению энергопотребления. Для оптимального управления производительностью и уровнем потребляемой мощности в этих процессорах реализована т.н. технология SmartReflex, позволяющая контролировать и управлять энергопотреблением и производительностью основных узлов процессора, включая процессорное ядро, аппаратные ускорители, периферийные контроллеры и т.д. Алгоритм управления энергопотреблением построен по принципу объединения узлов и блоков процессора в домены и управления уровнем мощности, потребляемой каждым из них. Применение технология SmartReflex позволяет обеспечить совместимость не только на уровне операционной системы, но и на уровне программных продуктов управления энергопотреблением, предлагаемых многочисленными производителями. На уровне системного программного обеспечения технология SmartReflex включает ПО, управляющее другими технологиями более низкого уровня, которые имеют соответствующую аппаратную поддержку [2]. Например, технология SmartReflex позволяет осуществлять мониторинг и прогнозировать рабочую загрузку процессора, поддерживает менеджер ресурсов и программный драйвер устройства управления электропитанием. Использование этой технологии позволяет также эффективно решать задачи оптимального управления энергопотреблением, благодаря чему изготовители комплексного оборудования производят миниатюрные портативные устройства с возможностью мультимедийной обработки. В технологии SmartReflex реализовано несколько механизмов снижения суммарного уровня энергопотребления, но в основном она базируется на следующих трех «китах»: – системе динамического регулирования тактовой частоты и напряжения питания (Dynamic Voltage and Frequency Scaling — DVFS); – системе динамического отключения напряжения питания (Dynamic Power Switching — DPS); – системе управления токами утечки в режиме ожидания (Standby Leakage Management — SLM). Система динамического регулирования тактовой частоты и напряжения питания (DVFS) обеспечивает уменьшение до минимально возможных значений напряжения питания и тактовой частоты процессора в активном режиме, снижая тем самым до минимума интервалы времени, в которых процессор находится в режиме ожидания. Система DVFS обеспечивает динамический выбор оптимальной тактовой


а)

б)

Рис. 7. Диаграммы работы процессора без использования системы DPS (а) и с ее использованием (б)

Рис. 8. Зависимость тактовой частоты от напряжения питания в «быстрых» и «медленных» процессорах

МИКРОКОНТРОЛЛЕРЫ И DSP

58

ях реального времени, в которых процессор находится в режиме ожидания сигналов запроса на прерывание, а основные вычисления осуществляются после их прихода. Если время задержки при переключении в активный режим («время пробуждения») соответствует заданным требованиям, процессор может переключиться в режим со сниженным уровнем энергопотребления. Принцип работы системы DPS заключается в максимальном увеличении продолжительности интервалов времени, в которых процессор находится в режиме ожидания («спячки»), что позволяет, в конечном счете, снизить суммарный уровень энергопотребления. Принцип работы системы DPS поясняют диаграммы работы процессора, приведенные на рисунке 7. В первом случае (см. рис. 7а) приведена диаграмма работы без использования системы DPS, во втором случае (см. рис. 7а) — с DPS. В режиме ожидания (idle) потребляемая процессором мощность определяется величиной тока утечки. При инициализированной системе DPS ток утечки снижается до нуля. Однако перед переключением процессора в энергосберегающий режим (в котором ток утечки снижается до нуля), как правило, может потребоваться сохранение данных, а для последующего перехода после «пробуждения» в активный режим работы эти данные следует восстановить. Естественно, что сохранение и восстановление данных

WWW.ELCP.RU

осуществляется в активном (динамическом) режиме, что обусловливает появление дополнительного расхода энергии, т.н. непроизводительных издержек (накладных расходов). Для эффективной работы системы DPS необходимо динамически предсказывать производительность, требуемую для выполнения приложения. Кроме того, устройство управления системой DPS должно учитывать задержку («время пробуждения»), требуемую для переключения в активный режим, и при этом гарантировать, что сопутствующие накладные расходы не приведут к существенному снижению суммарной производительности. В отличие от систем DVFS и DPS, использование которых позволяет управлять уровнем энергопотребления в активных (динамических) режимах работы, система SLM предназначена для снижения энергопотребления в статическом режиме. Наличие системы управления токами утечки в режиме ожидания (SLM) обеспечивает переключение процессора в энергосберегающие режимы работы в автоматическом режиме или в ответ на пользовательские запросы, в случае если не запущено приложение или активность системы ограничена. В этой ситуации обеспечивается минимальное энергопотребление в статическом режиме и, вместе с тем, сохраняется возможность реагирования на разрешенные запросы на прерывание в соответствии с допустимой задержкой. По сути, и в системе DPS, и системе SLM для снижения уровня энергопотребления происходит переключение между активными режимами работы и режимами ожидания («спячки»). Однако подходы при организации функционирования этих систем различны. При работе системы DPS, во-первых, необходим прогноз требуемой загрузки процессора, а, во-вторых, время задержки переключения из режима в режим составляет всего 10—100 мкс. Это вызвано тем, что более длительные интервалы переключения могут существенно снизить суммарную производительность системы. Источниками

прерываний для системы DPS, как правило, являются таймеры, контроллер прямого доступа к памяти или встроенные периферийные контроллеры. При работе системы SLM задержка переключения между режимами составляет 1—10 мс, чего вполне достаточно, чтобы обеспечить незаметный или малозаметный интервал времени «пробуждения» процессора по сравнению со временем реакции пользователя (например, в диалоговом режиме), поскольку система SLM, как правило, наиболее эффективна при обслуживании пользовательских запросов на прерывания. Источниками прерываний в таких случаях являются клавиатура, сенсорная панель и т.д. Кроме того, в технологии SmartReflex поддерживается работа и других систем, например, системы адаптивного изменения напряжения питания (Adaptive Voltage Scaling — AVS). В процессе изготовления ИС в силу ряда объективных факторов параметры транзисторов (а, следовательно, и параметры ИС в целом) имеют разброс. По этой причине часть микросхем даже из одной и той же партии при прочих равных условиях получаются «быстрыми», а другие «медленными». «Быстрые» по сравнению с «медленными» могут работать на более высоких частотах при том же напряжении питания (см. рис. 8). Использование технологии SmartReflex позволяет учитывать эту особенность и в соответствии с параметрами сформированных транзисторов корректировать напряжение питания должным образом. Уникальные возможности SmartReflex 2 благодаря технологиям FBB (Forward Body Biasing — прямое базовое смещение) и RBB (Reverse Body Biasing — обратное базовое смещение) позволяют повысить быстродействие транзисторов и снизить их ток утечки [2]. Испытания показали, что технология FBB может улучшить параметры транзисторов на 15%, а технология RBB — снизить ток утечки до 40% в зависимости от температуры. Справедливости ради следует отметить, что компания Texas Instruments далеко не единственная, которая в своих изделиях применяет технологии снижения энергопотребления. Например, компания Freescale Semiconductor в процессорах семейства i.MX3xx/5xx также использует системы, аналогичные AVS. Это система DPTC (Dynamic Process Temperature Compensation), а также система динамического регулирования тактовой частоты и напряжения питания DVFS. Кроме того, внедренная еще в процессорах i.MX31/31L т.н. технология Smart Speed™ Switch позволяет существенно повысить эффективность пересылки данных и выполнения команд при значительно меньшем энергопотреблении по


ЗАКЛЮЧЕНИЕ

Давление рынка не позволяет расслабиться его ведущим участникам, вынужденным следовать тенденции миниатюризации. Мобильные устройства, а также другие портативные приборы и системы, работающие от источников энергоснабжения с ограниченным ресурсом, должны отличаться как минимальными размерами, так и пониженным уровнем энергопотребления. Технология SmartReflex, предложенная и реализованная компанией Texas Instruments, как и процессоры семейства OMAP2ххх/3ххх с их широкими мультимедийными возможностями, — не только очередной шаг на пути

создания мобильного информационного сообщества, но и средство достижения монопольного положения на рынке ИС и получения новых сверхприбылей. Вместе с тем, нельзя не упомянуть об обратной стороне современных информационных «электронных достижений». Президент США Барак Обама во время вручения дипломов выпускникам Хэмптонского университета (Hampton University) в своей речи, в частности, сказал, что информация перестает быть средством обеспечения прав и свобод граждан, нанося иногда вред не только отдельно взятым людям, но и стране в целом, а также принципам демократии [5, 6]. «Вы становитесь взрослыми в эпоху СМИ, которые круглосуточно обрушивают на нас разнообразную информацию и приводят аргументы, которые не всегда имеют высокий рейтинг по шкале правды. Я не знаю, как работают все эти iPods, iPads, Xboxes и PlayStations, но информация превращается из инструмента реализации возможностей в развлечение и приятное времяпрепровождение. Это оказывает дополнительное давление не только на вас, но и на нашу страну и демократию», — сказал президент [5, 6]. Тем временем, компания Texas Instruments анонсировала новые мультимедийные процессоры для мобильных приложений OMAP4430/4440 с тактовой

частотой 1 ГГц и выше, содержащие два процессорных ядра ARM Cortex-A9 MPCore™ с поддержкой симметричной многопроцессорной обработки (Symmetric Multiprocessing — SMP) и новый еще более производительный процессор семейства DaVinci — TMS320DM8168 [7]. Более полную информацию о параметрах и возможностях процессоров OMAP см. в [1—3]. ЛИТЕРАТУРА 1. OMAP35x Applications Processor. Technical Reference Manual. — Texas Instruments, January 2010 (www.ti.com). 2. SmartReflex™ Power and Performance Management Technologies: reduced power consumption, optimized performance. — Texas Instruments, February 2008 (www.ti.com). 3. Power-Management Techniques for OMAP35x Applications Processors. — Texas Instruments, September 2008 (www.ti.com). 4. Statistical Modeling of Leakage in NanoCMOS Circuits. MOS-AK Meeting MIPlaza. — Eindhoven, April 2008. 5. www.bbc.co.uk/blogs/thereporters/ maggieshiels/2010/05/tech_president_obama_ disses_ip.html. 6. w w w.wtkr.com/news/wtkr- obamahampton-address-transcript,0,7478536.story 7. http://focus.ti.com//general/docs/wtbu/ wtbuproductcontent.tsp?templateId=6123&navig ationId=12843&contentId=53243#systemDiagram.

Электронные компоненты №7 2010

59 МИКРОКОНТРОЛЛЕРЫ И DSP

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


МОБИЛЬНЫЕ ПРОЦЕССОРЫ SAMSUNG ВИКТОР НИКОНОВ, инженер компании Promwad

В статье рассказывается о процессорах компании Samsung Electronics, предназначенных для использования в мобильных устройствах. Разработка и производство процессоров для мобильных устройств — одно из самых динамично развивающихся направлений в электронике, и Samsung Electronics — один из флагманов этого движения. По результатам прошлого года объемы продаж этой корейской компании выросли в полтора раза, а доля рынка достигла почти 40%. Но это не предел. Так, в конце июня Samsung Electronics объявила о синхронизации своего производства полупроводниковых компонентов с аналогичными производствами компаний IBM, GlobalFoundries и STMicroelectronics. Это новое партнерство направлено, в первую очередь, на выпуск чипов на базе 28-нм техпроцесса, которые будут отличаться низкими показателями энергопотребления и повышенной производительностью. Нынешнее поколение мобильных процессоров Samsung

тоже весьма привлекательно для разработчиков электроники — по соотношению «цена/качество» эти системы на кристалле (СнК) по праву считаются лучшими в своем классе. Процессоры компании Samsung для применения в мобильных устройствах можно разделить на три группы. Основа такой классификации — используемые в них процессорные ядра. Первую группу представляют системы на кристалле на ядре ARM9 (920Т, 926EJ-S, 946E-S), вторую — на ядре ARM11 (1176), третью — процессоры на базе новейшего ядра ARM Cortex-A8 (см. табл. 1). S3C2410

Процессор S3C2410 стоит у истоков «фамильного древа» семейства процессоров Samsung, это базовый представитель первой группы. Позиционируется как дешёвое малопотребляющее, но

МИКРОКОНТРОЛЛЕРЫ И DSP

60

Рис. 1. Эволюция характеристик процессоров Samsung для мобильных устройств

WWW.ELCP.RU

высокопроизводительное решение для мобильных устройств. Это не лучший вариант для смартфонов, но весьма популярная «начинка» для электронных книг. На борту процессор несёт LCDконтроллер, набор последовательных интерфейсов, USB Host и Device, 2 канала SPI, 8 каналов 10-разрядного АЦП для контроллера сенсорной панели и имеет возможности использования карт MMC/SD (подробные характеристики процессоров Samsung продемонстрированы на рисунке 1). Устройства на основе S3C2410 могут эффективно отображать, сохранять и воспроизводить информацию, а стандартные интерфейсы процессора предоставляют богатые возможности по конфигурированию и управлению. Показатель энергопотребления S3C2410 на частоте ядра в 266 МГц и


Таблица 1. Технические характеристики семейства процессоров Samsung для мобильных устройств Название S3C2410 S3C2412 S3C2413 S3C2440 S3C2442 S3C2443 S3C2416 S3C2450 S5L2010 S3C6410 S5P6440 S5PC100 S5PC110/ S5PV210

Тех. норма, Процессорное нм ядро 180 ARM920Т ARM926EJ-S

Частота, МГц 266

Потребление, мВт 429 215*

Области применения

Мобильные телефоны, смартфоны нижнего ценового класса, GPS-навигаторы

130 ARM920Т

ARM926EJ-S 65

45 65 45

ARM946E-S ARM1176JZF-S

Cortex-A8

533

369

400 533 176 800 667 833

80* 107* 25* 328 * 75* 491*

1000

>590*

GPS-навигаторы, смартфоны, электронные книги

Смартфоны среднего ценового диапазона, навигаторы с расширенными функциями Фоторамки, цифровые приставки Смартфоны, персональные навигаторы

Самые продвинутые смартфоны, PDA, планшеты, игровые консоли, нетбуки

* — только ядро с кэшами — оценочно — ожидается (процессор, выполненный по 45-нм технологии, должен потреблять больше аналога по 65-нм технологии, но при этом иметь преимущество в скорости)

S3C2412 / S3C2413

Прямым «потомком» S3C2410 является процессор S3C2412, его основные отличия от своего «родителя» — другое процессорное ядро и поддержка аппаратного ускорения javaкода, что предоставляет возможности более эффективной работы с java-приложениями. Кроме того, в S3C2412 добавлена поддержка памяти mSDRAM, которая имеет меньшее напряжение питания и меньшее энергопотребление, чем SDRAM. При всех указанных отличиях этот процессор весьма близок к «родителю» по показателям энергопотребления. Ещё одним прямым «потомком» S3C2410 является S3C2413. Он поддерживает mSDRAM, mDDR, OneNAND, имеет интерфейс для камер до 2 мегапикселов. Оба «брата» (S3C2412 и S3C2413) отлично подходят на роли основных процессоров для мобильных телефонов и смартфонов нижнего ценового класса, а также являются неплохой основой для GPSнавигаторов. S3C2440

На базе S3C2410 был также разработан процессор S3C2440. Он предлагает дополнительную возможность подключения камеры (имеется соответствующий интерфейс). Максимальная частота в 533 МГц обеспечила этому процессору статус рекордсмена в период выхода на рынок в 2003 г. — в то время подобная производительность существенно расширила спектр возможностей применения мобильных процессоров при разработке устройств. В таблице 1 показано энергопотребление S3C2440 c полной загрузкой процессорного ядра, частотой 400 МГц, включенным LCD-контроллером, таймерами и I2S (сегодня доступны варианты только с частотами 300 и 400 МГц).

список возможностей поддержкой USB 2.0 (device) и MLC NAND флэш-памятью, интерфейсом к Compact Flash, высокоскоростными MMC и SPI. Всё это радикально повысило скорость записи и чтения с разнообразных флэш-носителей, что расширило возможности устройств на основе этого процессора. Благодаря высокой производительности и крайне малому энергопотреблению процессоры серии S3C244х широко применяются в GPS-навигаторах, смартфонах, электронных книгах и других мобильных мультимедийных приложениях. Из минусов можно отметить следующее: у данных процессоров отсутствует аппаратная поддержка java-кода, поэтому они не могут продемонстрировать высокую производительность java-приложений. S3C2416 / S3C2450

Конечно, у компании Samsung есть предложения и для тех устройств, которые требуют высокой производительности, поддержки java и при этом минимального энергопотребления. С этой ролью отлично справляются СнК S3C2416 и S3C2450, работающие на частотах до 400 МГц и 533 МГц, соответственно. Оба процессора изготавливаются на базе одного ядра по одинаковой технологии (см. табл. 1), но S3C2450 дополнительно предлагает интерфейс к Compact Flash, что позволяет расширить количество подключаемых высокоскоростных носителей информации, а также интерфейс для камер. За счёт более совершенного техпроцесса оба процессора обладают низким энергопотреблением — на 40% ниже

61 МИКРОКОНТРОЛЛЕРЫ И DSP

со всей включенной периферией отображен в таблице 1. Если разложить его по составляющим, получим следующую картину: 335 мВт на ядро с включенными кэшами и 80 мВт на LCD-контроллер; в режиме простоя (idle) ядро будет потреблять 170 мВт без снижения частоты, в режиме замедленного выполнения (12 МГц) — 40 мВт, в спящем режиме — 0,2 мВт.

S3C2442 / S3C2443

S3C2440 является в свою очередь предшественником двух процессоров: S3C2442 и S3C2443. Первый из них отличается от «родителя» поддержкой MCP (multiple chip package) — микросхем с несколькими типами памяти в одном корпусе, что существенно сокращает место на печатной плате, энергопотребление и себестоимость чипа. А S3C2443 дополняет

Электронные компоненты №7 2010


по сравнению с показателями семейства S3C244х (по данным компании Samsung). Этот параметр позволяет строить на их базе мобильные устройства с более высокими требованиями к производительности и эргономике, например, смартфоны среднего ценового диапазона и навигаторы с расширенными функциями. S5L2010

В линейке процессоров Samsung также присутствует новое решение, которое идеально подходит для цифровых фоторамок — процессоры S5L2010. Их аппаратные ускорители поддерживают аудио- и видеоформаты: MPEG-1/2/4, Xvid, Motion JPEG, MP3, WMA, OGG и AAC, так что на основе S5L2010 можно разрабатывать не просто устройства для удобного просмотра фотоматериалов, но и электронные продукты с целым набором дополнительных функций по просмотру видео и воспроизведению звука. Вполне в духе времени, ведь наращивание возможностей фоторамок — это одна из основных современных тенденций. В процессоре S5L2010 имеется также АЦП для сенсорной панели, поддержка флэш-памяти типа SLC и MLC NAND, интерфейс TV-out для отображения мультимедийной информации на ТВ-экране, DVB-TS для просмотра цифрового контента наземного и спутникового вещания через соответствующий цифровой тюнер, USB 2.0 OTG и набор других последовательных интерфейсов. Другая важная характеристика процессора S5L2010 — поддержка большинства карт памяти. Представители Samsung утверждают, что на декодирование JPEG-фотографии размером в 57 Мп достаточно всего одной секунды. Исходя из указанного набора возможностей, можно сделать вывод, что хотя Samsung и позиционирует данный чип как основу для фоторамок, его также уместно использовать в цифровых приставках или простых телевизорах (которые не планируется подключать к уже ставшей стандартом HDMI-сети). МИКРОКОНТРОЛЛЕРЫ И DSP

62

данный процессор отлично подходит для использования в смартфонах и персональных навигаторах. S3C6410 имеет также аппаратную поддержку 2D/3D, в нем реализованы 2 порта доступа к памяти и встроенный TV-out, который позволяет проигрывать ТВ-сигнал в форматах NTSC и PAL. Тем не менее, отсутствие встроенного цифрового интерфейса ограничивает возможности воспроизведения только аналоговым вещанием. Аппаратная графика процессора поддерживает OpenGL ES 1.1/2.0 и D3DM API, её производительность аналогична производительности IP-блока PowerVR MBX (4 млн. полиг./с) от компании Imagination Technologies. Для большей наглядности в качестве аналога по производительности можно привести «древнюю» видеокарту RIVA 128ZX (5 млн полиг./с, 100 млн пикс./с). S5P6440

Процессор S5P6440 поддерживает максимальную частоту работы ядра 667 МГц, имеет аппаратную реализацию 2D с поддержкой Gfx и OpenVG, 16-разрядный ECC (error correction), а также последовательный интерфейс MIPI DSI. для LCD. Остальная периферия аналогична S3C6410. Процессор ориентирован на использование в навигаторах и другой потребительской электронике. S5PC100

Третью группу представляют процессоры S5PC100 и S5PC110 на ядре Cortex-A8. Максимальная частота S5PC100 — 833 МГц, что вполне удовлетворяет требованиям к производительности даже самых продвинутых смартфонов, PDA, планшетов или игровых консолей. Из начинки S5PC100 стоит отметить традиционный MFC, 2D/3D, TV-out и интерфейс HDMI (PHY), поддерживающие NTSC/PAL, а также богатый набор других интерфейсов. Производительность аппаратной графики этого процессора сопоставима с возможностями старой видеокарты GeForce4 MX420 (NV17, 31 млн полиг./с, 500 млн пикс./с).

S3C6410

Вторую условную группу по обозначенной в начале статьи классификации составляют процессоры на ядре ARM1176JZF-S, в ее составе два представителя — S3C6410 и S5P6440. S3C6410 способен работать на частоте до 800 МГц, потребляя при этом чуть более 328 мВт (только ядро). Он имеет встроенный мультиформатный кодек (Multi-Format Codec, MFC), способен обрабатывать сигнал разрешением 640×480 с частотой до 30 кадров в секунду в полнодуплексном режиме (одновременное чтение и запись) и поддерживает двустороннюю видеоконференцию. Поэтому

WWW.ELCP.RU

S5PC110/S5PV210

Это самые производительные представители процессоров Samsung. При частоте работы ядра до 1 ГГц их стоит рассматривать в качестве отличных вариантов СнК для смартфонов и нетбуков соответственно. Имея кэш L2 512 КБ, S5PC110 и S5PV210 пытаются догнать по производительности процессоры Intel Atom (пока безуспешно), но оставляют их далеко позади по энергопотреблению процессорного ядра (0,6 мВт/МГц). По сравнению со своими предшественниками от Samsung эти процессоры обладают более мощной

поддержкой 2D/3D, улучшенной версией MFC (1080p , full HD), а также интерфейсом HDMI 1.3, что позволяет осуществлять трансляцию видео на внешние экраны с большим разрешением. Остальная периферия подобна S5PC100. СРЕДСТВА РАЗРАБОТКИ ДЛЯ ПРОЦЕССОРОВ SAMSUNG

Компания Samsung разрабатывает СнК для мобильных устройств на базе процессорных ядер ARM, поэтому инженеры и программисты могут воспользоваться большим набором уже готовых программных приложений, компиляторов, отладчиков, операционных систем, а также получить помощь огромного сообщества разработчиков, создающих продукты на базе ядер ARM и СнК Samsung по всему миру. Особенно радует большое количество проектов с открытым исходным кодом (open source), в которых используются эти процессоры. Несколько слов стоит сказать об отладочных наборах для создания продуктов на базе процессоров Samsung. Это удобный инструмент для проверки своих инженерных идей и оперативного начала разработки. В этом сегменте рынка работает как сама компания Samsung, так и сторонние производители. Оригинальные решения представлены в виде аппаратных платформ SMDK (Samsung Mobile Development Kit) и SMRP (Samsung Mobile Reference Platform). SMDK — это плата для проверки процессоров и решений, ее также можно использовать для последующей разработки собственных продуктов. В свою очередь, SMRP — это референс-платформа, которую можно встраивать в собственные решения в виде дочерней платы. Сегодня на рынке доступны следующие варианты наборов разработчика от Samsung: SMDK2416, SMDK2443, SMRP2443, SMDK2450, SMDK6410 и SMDKC100 на базе соответствующих процессоров. Все они предоставляют возможности работы с памятью, дисплеем, аудиокодеком и другими встроенными модулями, а также сопровождаются качественной документацией со схемами и описанием используемых компонентов, исходными кодами системного программного обеспечения (firmware) и демоприложениями. Наборы сторонних производителей, конечно, имеют некоторые отличия от оригинальных плат, но более доступны по ценам. Так, например, довольно качественным аналогом решения SMDK6410 является плата Idea6410 на базе процессора S3C6410, её используют как для разработки готового решения, так и для создания прототипа (доступна работа с OC Win CE 6.0, Android, Linux и Ubuntu). В качестве примера сторонних



Таблица 2. Сравнение характеристик процессоров компаний Samsung, Marvell, Freescale и TI Наименование

Ядро, частота, кэш

Samsung S5PC110

Cortex-A8, 1 ГГц, 512 КБ

Marvell ARMADA618

Sheeva ARMv7, 1 ГГц, 256 КБ

Freescale i.MX515

Cortex-A8, 800 МГц, 256 КБ

TI OMAP3530

Cortex-A8, 720 МГц, 256 КБ

TI OMAP4440

Cortex-A9 MPCore, 1 ГГц

Особенности периферии Интерфейс камеры в 5 мегаPOWERVR SGX 540 (28 млн DDR/LPDDR2/DDR2, 200 МГц пикселов, контроллер клаполиг./с, 1000 млн пикс./с при MFC, HD 1080p (400 МГц 32-разр. памяти виатуры, интерфейс модема 200 МГц) DDR2/lpDDR/lpDDR2 у S5PV210 ) (3G+), HDMI v1.3 vMeta HD Video Decode/Encode: Crypto (AES, DES, 3DES, SHA-1, 45 млн полиг./с, 200 млн 1080p H264, VC-1 MPEG2, H.263, LPDDR1/ LPDDR2, 533 MГц MD5), ISP 16MP, HDMI 1.3, PCI, пикс./с + DirectX MPEG-4, On2 SATA, Gethernet Decode 720p: MPEG-4, MPEG-2 (частично), H.263, H.264, VC-1, DivX, RV10, Контроллер клавиатуры AMDZ160/AMDZ430 (27 млн Encode D1*: MPEG-4, MPEG-2 8×8, Crypto (AES, DES, 3DES, mDDR/DDR2, 200 МГц полиг./с, 166 млн пикс./с) (частично), H.263, H.264 RC4, MD5, SHA-1, SHA-224, SHA-256), IPU, нет HDMI MJPEG decode: 32 млн пикс./с Поддержка 2D/3D

POWERVR SGX 530(14 млн полиг./с, 500 млн пикс./с при 200 МГц) POWERVR SGX 540(28 млн полиг./с, млн пикс./с при 200 МГц )

PDK можно привести модуль Pegasus. Оба решения доступны на российском рынке, их предлагают компании MTSystems и Semidevices. ОБЗОР ТЕНДЕНЦИЙ НА РЫНКЕ МОБИЛЬНЫХ ПРОЦЕССОРОВ

МИКРОКОНТРОЛЛЕРЫ И DSP

64

Samsung является лидером продаж и одним из ведущих производителей решений для самых разных мобильных устройств. Чтобы не быть голословными, рассмотрим лучшие решения гигантов силиконовой индустрии на рынке мобильных устройств. Конечно, в рамках одной статьи мы не сможем проанализировать разработки всех крупных компаний, но краткий сравнительный анализ позволит оценить ситуацию в этой области. Рассмотрим процессоры от Samsung, Marvell, Freescale и Texas Instruments (TI), а также включим в наш обзор анонсированный процессор от TI (см. табл. 2). Анализируя данные таблицы, можно выделить двух фаворитов — это процессоры Samsung S5PC110 и Marvell ARMADA618. Можно сказать, что ARMADA618 является лидером из-за более мощного 3D-ускорителя, хотя окончательный вердикт можно выне-

Видео

MJPEG encode: 64 млн пикс./с IVA2.2, H.264 Encoder(D1), H.264 Decoder(WVGA), MPEG4 Encoder(WVGA), JPEG Encoder IVA 3, HD 1080p

сти только после проведения тестов, т.к. поддержка 2D в этом процессоре проигрывает СнК от Samsung и TI. Также к выигрышным характеристикам ARMADA618 стоит отнести более быструю шину к памяти. Невозможно однозначно судить о соотношении производительности ядер перечисленных процессоров: у Samsung больше кэша L2, но Marvell для своего процессора ARMADA618 заявляет производительность ядра Sheeva в 2,4 DMIPS/ МГц. В то же время у ядра Cortex-A8 производительность составляет 2,0 DMIPS/ МГц, у Cortex-A9 — 2,5 DMIPS/МГц. По энергопотреблению процессор от Samsung наверняка будет выигрывать: ориентировочно 590 мВТ против 1 Вт на 1 ГГц, как это было у аналогичных процессоров прошлого поколения. Так, у Marvell PXA310 и S3C6410 энергопотребление составляло 700 мВт на 600 МГц и чуть более 328 мВт на 800 МГц, соответственно. Процессоры ARMADA618 и Samsung S5PC110 имеют интерфейс HDMI, что позволяет подключить к соответствующей сети смартфон или, например, игровую консоль. Такая возможность позво-

Рис. 2. Планы компании Samsung по развитию процессоров Samsung для мобильных устройств

WWW.ELCP.RU

Пропускная способность шины памяти

LPDDR, 266 MГц

ISP, нет HDMI, TMS320DM64x+

LPDDR2

ISP, HDMI v1.3, контроллер клавиатуры, M-Shield (SHA-1/ MD5, DES/3DES, RNG, AES, PKA)

ляет просматривать мультимедийный контент (например, фотографии) на телевизоре или записывать видео с камеры, налету сжимая файл и сохраняя его на флэш-носителе. Видеоконтроллеры обоих процессоров примерно равны по возможностям, однако 3D-контроллер ARMADA618 имеет изначальную поддержку DirectX. Для сравнения аппаратной поддержки графики можно заметить, что видеокарта RADEON 9500 PRO (R300/Stinger) имеет производительность 275 млн полиг./с, 2,2 Гп/с, а игровая приставка xBox 360 (Xenos) — 500 млн полиг./с, 4 Гп/с). Процессор ARMADAA618 способен также работать с камерами, отличающимися большими значениями размера матрицы, в нем присутствует контроллер шифрования, контроллеры интерфейсов PCI, SATA и Gigabit Ethernet, однако все эти бонусы сказываются на себестоимости и энергопотреблении. В целом процессор от Marvell обладает избыточными характеристиками для смартфонов, но отлично подходит для нетбуков. Samsung же ориентирован на более мобильные устройства с небольшими аккумуляторами, которые, имея минимальный вес, предоставляют своим владельцам богатые мультимедийные и коммуникационные возможности. В свою очередь процессоры от TI и Freescale уступают фаворитам в производительности своих аппаратных видеоконтроллеров и ускорителей 3D/2D, и кроме того, они не имеют встроенных интерфейсов HDMI. Тем не менее, у процессора Freescale i.MX515 присутствует контроллер шифрования и встроенный Ethernet, что определяет его как конкурента ARMADA618. А TI OMAP3530 хоть и проигрывает Samsung в производительности 3D и аппаратной видеоподдерж-


0,6 мВт/МГц у А8. Кроме того, Cortex-A5 имеет полную совместимость по набору команд с Cortex-A8. Постоянное стремление к инновациям позволяет компании Samsung идти в ногу с такими законодателями моды на рынке мобильных устройств как, например, Apple. Так, популярный смартфон iPhone 3GS был построен на базе процессора Samsung S5P100. По словам старшего аналитика Digitimes Research, новейший смартфон iPhone 4G также основан на решении от Samsung, процессоре Apple A4, построенном на ядре ARM Cortex A8 (тот же процессор установлен и в новом планшете iPad). Справедливости ради стоит отметить, что процессор Apple A4 является результатом труда трех сторон — Apple, Samsung и Intrinsity, однако основные технологии пришли именно из Кореи. Можно смело утверждать, что семейство процессоров Samsung для мобильных устройств позволяет решить самый широкий спектр задач разработчика, на основе этих СнК можно создавать электронные продукты с отличными мультимедийными и коммуникационными возможностями, но невысоким энергопотреблением. Также стоит учесть, что в последнее время работа с компонентами корейского лидера на российском рынке стала гораздо проще и эффективнее благодаря открытию русскоязычного центра

Рис. 3. Поставка и техническая поддержка электронных компонентов Samsung на российском рынке

технической поддержки процессоров Samsung, который был создан инженерами дизайн-центра электроники Promwad при участии MT System, официального поставщика электронных компонентов Samsung на российском рынке (см. рис. 3). ИСТОЧНИКИ: 1. www.samsung.com/global/business/ semiconductor/products/mobilesoc/Products_ ApplicationProcessor.html. 2. http://samsung.promwad.com. 3. www.arm.com/products/processors/ cortex-a/cortex-a8.php. 4. www.marvell.com/products/processors/ applications/armada_600/. 5. www.freescale.com/webapp/sps/site/ prod_summary.jsp?code=i.MX515. 6. www.ti.com.

Электронные компоненты №7 2010

65 МИКРОКОНТРОЛЛЕРЫ И DSP

ке, однако его аппаратная видеоподдержка реализована на DSP-процессоре TMS320DM64+ (IVA 2.2), что потенциально делает этот процессор более гибким. Компания TI анонсировала также свою новую разработку — OMAP4440 на более производительном ядре Cortex-A9. В этом процессоре будет использован контроллер интерфейса HDMI, возможности видеоконтроллера и 3D-ускорители будут аналогичны S5PC110 и будет сохраняться преимущество потенциальной гибкости IVA (DSP-процессор). Кроме того, он имеет еще и контроллер шифрования. Но эксперты Samsung, конечно, будут отстаивать свои лидерские позиции (см. рис. 2). Компания планирует оставаться крупнейшим игроком на рынке решений для мобильных приложений и забрать у Intel Atom часть продаж процессоров для нетбуков (за счёт решений на ядре Cortex-A9, которое имеет масштабируемую архитектуру). В скором времени планируется также выпуск процессоров на ядре Cortex-A5, что существенно снизит цену и энергопотребление за счёт новых методов их изготовления. Производительность A5 сильно уступает А8 и составляет 1,45 DMIPS/МГц, но масштабируемая архитектура позволяет эффективно встраивать в чип несколько таких ядер. Энергопотребление ядра A5 составит около 0,08 мВт/МГц против



СОЗДАНИЕ ИНТЕРФЕЙСА МЕЖДУ ПЛИС И МК РОСЕНДО БРАКОМОНТЕ ДЕЛЬ ТОРО (ROCENDO BRACAMONTES DEL TORO), Atmel

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

(AHB — Advanced High-Speed Bus) и ПЛИС. Выбор того или иного метода зависит от конечного приложения и поставленной задачей. PIO-ИНТЕРФЕЙС

Сопряжение МК с ПЛИС через PIO — относительно простая задача при передаче простых данных, состоящих из 32 бит адреса, 32 бит данных и нескольких сигналов управления. Для такой передачи требуется 32-разрядный PIO и дополнительно два бит для другого PIO (см. рис. 1). Для передачи данных на ПЛИС направление двусторонних буферов в PIO устанавливается на выход. Чтение с ПЛИС выполняется схожим образом: направление буфера на PIO сначала устанавливается на выход, а затем направление изменяется на вход для чтения данных с ПЛИС. Для установления требуемой связи между ARM-микроконтроллером и

ПЛИС требуется более сложный алгоритм, чем для базовой передачи. Особое внимание при этом необходимо уделить подтверждению приема данных, например для того, чтобы данные не потерялись из-за недостаточной скорости или циклов ожидания с каждой стороны. Время доступа рассчитывается следующим образом: Тдост. PIO = t1 + адресная фаза + t2 + + информационная фаза При использовании компилятора GCC с максимальной оптимизацией системе требуется около 55 циклов AHB для выполнения операции записи на ПЛИС (см. рис. 2). Предполагая, что время t2 (ожидание отклика готовности от ПЛИС) занимает около 25 циклов AHB, системе требуется приблизительно 85 циклов AHB на выполнение операции чтения данных от ПЛИС (см. рис. 3).

67 МИКРОКОНТРОЛЛЕРЫ И DSP

Существуют две базовые реализации проектов МК+ПЛИС. В первой из них программное ядро МК помещается в логическую структуру ПЛИС, а во второй стандартный МК используется с дискретной ПЛИС. Применение программного ядра в ПЛИС может оказаться эффективным, но дорогостоящим и энергозатратным методом по сравнению с использованием стандартного МК, например, с 32-разрядным ARM-ядром. В результате только 1/3 проектов ПЛИС+МК осуществляется с установленным внутри логики ПЛИС ядром МК. Оставшиеся 2/3 разработок используют стандартный МК по соседству с дискретной ПЛИС. Следует заметить, что ни стандартные МК, ни ПЛИС не создавались в расчете на эффективное взаимодействие друг с другом. Они даже используют разные языки. По этой причине вопрос обеспечения интерфейса между ними может оказаться непростым. ПЛИС не имеют специализированной логической схемы для установления связи с МК. Этот блок логики требуется создать с нуля. Во-вторых, связь между микроконтроллером и ПЛИС асинхронна. Особое внимание требуется уделить тому, чтобы повторно синхронизировать МК с тактовым генератором ПЛИС. Наконец, имеется проблема ограничений как на интерфейсной, так и на шине микроконтроллера. Передача информации между МК и ПЛИС обычно занимает несколько циклов МК и отнимает ресурс (PIO или EBI), используемый для эффективной передачи данных. При этом следует избегать ограничений со стороны внешней SRAM- или флэшпамяти, а также на шине МК. Для обеспечения интерфейса между ПЛИС и МК используются три аппаратные опции: блок программируемого ввода-вывода (PIO); интерфейс внешней шины (EBI) и специализированный встроенный в МК интерфейс между расширенной высокоскоростной шиной

Рис. 1. Интерфейс между PIO и ПЛИС

Рис. 2. Запись на ПЛИС с помощью PIO

Электронные компоненты №7 2010


Рис. 3. Чтение данных с ПЛИС с помощью PIO

Рис. 4. Интерфейс между EBI и SMC

Интерфейс со стороны МК устроен достаточно просто. Однако в ПЛИС должна быть реализована специальная логика для декодирования всего трафика, поступающего с PIO. В большинстве случаев трафик от микроконтроллера полностью асинхронный. По этой причине ПЛИС должна быть в состоянии выполнить передискретизацию сигналов управления от МК, иначе она пропустит временное окно, и данные не поступят адресату внутри ПЛИС. Поскольку именно процессор отвечает за занятость PIO, время обработки используется нерационально. До тех пор пока центральный процессор занят передачей данных, он не может выполнять другие операции. Таким образом, это решение усложняет обработку данных в системе. Метод прямого доступа к памяти (ПДП) не имеет возможности использовать интерфейс PIO, поэтому разработчик ПО должен ограничить ширину полосы данных, чтобы учесть другую канал связи с МК. Например, если подпрограмма требует 100% циклов процессоров, выполняемых параллельно с последовательной передачей (SPI, USART или TWI) данных в или от ПЛИС, один из этих двух процессов должен находиться в состоянии ожидания. Если данные, поступающие в или от ПЛИС, не буферизуются вовремя, возникает переполнение к моменту поступления следующей порции байтов. По сути, встроенный процессор становится устройством по перемещению данных. РЕАЛИЗАЦИЯ ИНТЕРФЕЙСА С ПОМОЩЬЮ МОДУЛЯ EBI

Рис. 5. Цикл чтения EBI-SMC

МИКРОКОНТРОЛЛЕРЫ И DSP

68

Рис. 6. Цикл записи EBI-SMC Примечание. Эти временные диаграммы — стандартные для спецификации SMC. Все указанные параметры программируются исходя из временных параметров внешнего устройства.

WWW.ELCP.RU

Многие 32-разрядные МК оснащены модулем интерфейса внешней шины (EBI — External Bus Interface), предназначенным для передачи данных между внешними устройствами и контроллерами памяти ARM-устройств. Эти контроллеры способны управлять несколькими типами внешней памяти и периферийными устройствами, например SRAM, PROM, EPROM, EEPROM, флэш-памятью и SDRAM. Модуль EBI можно также применять для подключения к ПЛИС, пока ПЛИС управляет встроенными интерфейсами памяти. Использование интерфейса статической памяти (SRAM) на модуле EBI является предпочтительным для установления связи с ПЛИС, поскольку он прост и хорошо известен большинству разработчиков. Как и в случае с интерфейсом PIO, ПЛИС должна включать модуль, который понимает синхронизацию SRAM и способен выдавать ответный сигнал микроконтроллеру (см. рис. 4). На рисунке 5 показана стандартная синхронизация чтения данных для EBIинтерфейса с использованием интерфейса памяти SMC, а на рисунке 6 — стандартный цикл записи.


Рис. 7. МК со специализированным интерфейсом ПЛИС

СПЕЦИАЛИЗИРОВАННЫЙ ИНТЕРФЕЙСА ПЛИС НА МК

Микроконтроллеры с ядром ARM7 имеют специализированный интерфейс, который позволяет ПЛИС получать прямой доступ к внутренней AHB-шине МК с ПДП через два ведущих AHB-устройства и четыре ведомых AHB-устройства. Одно дополнительное ведомое AHBустройство можно использовать для перераспределения памяти ПЗУ с помощью технологии внешней памяти ZBT RAM (RAM с нулевым временем переключения) через ПЛИС с программируемой функцией перераспределения ПЗУ при запуске. Этот интерфейс также обеспечивает ПЛИС доступ к 14 ведомым устройствам с шинами APB (Advanced Peripheral Bus), двум полнодуплексным каналам ПДП, а также обеспечивает до 13 кодированных прерываний с установкой приоритетов (IRQ), два некодируемых IRQ для передачи данных с ПДП и программируемые 32-бит вводы-выводы для совместного пользования. Интерфейс ПЛИС получает доступ к AHB-шине, предварительно установив МК в режим ведущего или ведомого устройства (см. рис. 7). Интерфейс ПЛИС основан на нескольких параллельнопоследо вательных преобразователях, которые кодируют и декодируют весь трафик между МК и ПЛИС. Для того чтобы установить связь и синхронизацию между обоими устройствами, необходимо соблюсти следующие требования.

ПЛИС должна компенсировать рассогласование тактовых частот и устранять задержку. В семействах ПЛИС компании Xilinx использование менеджера DCM (Digital Clock Manager) обязательно, чтобы устранять задержку и управлять генерацией требуемых тактовых сигналов. Устройства компании Altera требуют ФАПЧ. ПЛИС должна также обеспечивать режимы конфигурирования и сброс встроенного интерфейса МК. ПЛИС должна также обеспечить тактовый сигнал последовательной связи с МК, частота которого может достигать 100 МГц для коммерческих устройств. Соотношение между внутренним тактовым сигналом и синхросигналом в линии синхронизации должно быть около 0,8 или ниже (ARM Clk/Serial Clk). Основу интерфейса ПЛИС составляет ряд модулей, которые кодируют и декодируют внутренние AHBтранзакции. Кодированные и декодированные данные передаются через MPIO с помощью специализированных параллельно-последовательных преобразователей каждого ведущего и ведомого устройств. Из-за большого количества передаваемых бит на одну отправку данных требуется несколько циклов синхронизации AHB-шины. Количество этих циклов зависит от соотношения между

69 МИКРОКОНТРОЛЛЕРЫ И DSP

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

Электронные компоненты №7 2010


Рис. 8. Интерфейс между ARM7 и ПЛИС

Рис. 9. Последовательная единичная конфигурация

Рис. 10. Последовательная спаренная конфигурация

МИКРОКОНТРОЛЛЕРЫ И DSP

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

WWW.ELCP.RU

менными передачами с любой стороны, что устраняет ограничения, в отличие от использования таких топологий как EBI или PIO. Микроконтроллеры с прямым интерфейсом ПЛИС также имеют каналы ПДП почти на каждом периферийном устройстве, причем несколько ПДП-каналов выделено под интерфейс ПЛИС. ПДП-каналы поддерживаются многоканальным периферийным ПДП-контроллером (Peripheral DMA Controller — PDC), который освобождает ЦП от передачи данных между ПЛИС, периферией и памятью, как и в предыдущих методах. Это позволяет избежать

ограничений на ширину полосы стандартного ядра ARM7, которая в ряде случае полностью монополизируется передачей данных со скоростью всего 4 Мбит/c. Разгружая ЦП, PDC-контроллер обеспечивает скорость передачи данных до 12 Мбит/с. При этом 85% циклов блока ЦП доступны для обработки. Несколько ПДП-каналов выделяются под интерфейс ПЛИС для связи периферийных устройств (в зависимости от приложения) и интерфейсов с PDC без вмешательства со стороны МК. Применение выделенных ПДП-каналов в PDC освобождает ARM-процессор для выполнения ресурсоемких задач и увеличивает общую производительность системы наряду с шириной полосы передачи данных (см. рис. 8). Модуль параллельно-последовательного преобразователя управляет всеми шинами AHB и последовательными каналами связи. Он состоит из конечного автомата и сдвигового регистра. Конечный автомат распознает шину и устанавливает с ней связь. Если ведущее устройство начинает передачу данных (операции чтения/ записи), конечный автомат входит в состояние ожидания с помощью HREADY в соответствии с протоколом AHB. Конечный автомат управляет количеством введенных циклов ожидания на основе соотношения между частотами тактовых сигналов AHB и синхросигнала в линии синхронизации. Чем меньше это соотношение, тем меньше количество вводимых циклов ожидания. Конечный автомат управляет сдвиговым регистром, который управляет всеми перемещаемыми данными между МК и ПЛИС, передавая данные по два бита на цикл. Если скорость синхросигнала в линии синхронизации установлена равной 100 МГц, скорость передачи сдвигового регистра составляет 200 Мбит/с. Модули параллельно-последовательного преобразователя, которые управляют ведущими устройствами A/B, ведомыми устройствами A/B и C/D, программируются при сбросе с помощью модуля режимов в ПЛИС, чтобы максимально увеличить количество доступных портов ввода-вывода. Разработчик может пользоваться всеми десятью линиями ввода-вывода в единичной последовательной конфигурации, при этом последовательный модуль станет управлять только одним AHB-интерфейсом. Например, если пользователю требуется только ведущее AHB-устройство А, последовательный модуль, управляющий ведущими устройствами, конфигурируется в единичной последовательной конфигу-



рации. Она оптимизирует количество передаваемых бит между сдвиговыми регистрами, ускоряя посылку транзакций между МК и ПЛИС (см. рис. 9). Другой возможностью является конфигурирование последовательного модуля для управления двумя AHBинтерфейсами в последовательной спаренной конфигурации, в которой 10 линий ввода-вывода коллективно используются между двумя AHB (ведущие/ведомые устройства). В этом случае скорость передачи данных между МК и ПЛИС ниже, но ширина полосы больше, т.к. задействованы два AHB-интерфейса. Спаренная конфигурация повторно использует половину выделенных портов ввода-вывода для другого AHBинтерфейса (см. рис. 10). ЛОГИЧЕСКАЯ СХЕМА ИНТЕРФЕЙСА ПЛИС

МИКРОКОНТРОЛЛЕРЫ И DSP

72

При реализации интерфейса ПЛИС с помощью EBI или PIO инженер должен записывать RTL-код, позволяющий ПЛИС сообщаться с МК. Поставщики МК с прямым интерфейсом ПЛИС обеспечивают все коды RTL для кодирования и декодирования связи с соответствующими ограничениями для каждой ПЛИС того или иного производителя. Этот блок логики производит возврат в исходное состояние и обеспечивает в нем требуемые режимы. RTLкоды поставщика позволяют выбрать определенную функциональность. По умолчанию все биты режима являются нулями (см. табл. 1). Для реализации ведущих и ведомых AHB-устройств в интерфейсе ПЛИС можно использовать стандартный блок от поставщика. Например, в блоке ПЛИС модуль Custom MP позволяет свести к минимуму усилия, направленные на интеграцию периферийных устройств AHB/APB. Использование этого блока позволяет разработчику легко перенести двухкристальную реализацию МК+ПЛИС на однокристальный настраиваемый МК, т.к. логическая схема в ПЛИС тестируется уже в системе. Выбор внешней памяти ZBT-RAM и NVM/SDRAM/SRAM производится с учетом конкретных требований приложений и системы. Разработчики также имеют возможность добавить в ПЛИС логику non-AHB, обеспечивающую другие функции, не связанные с шиной AHB. Как уже отмечалось, скорость передачи данных зависит от соотношения между частотами всех тактовых сигналов, относящихся к каналу связи между МК и ПЛИС, а также от выбора единичного или спаренного режима. В режиме единичной конфигурации требуются четыре цикла синхронизации AHB-шины для передачи

WWW.ELCP.RU

Рис. 11. Расчет времени передачи данных чтения/записи при прямом сопряжении с ПЛИС Таблица 1. Биты режима Бит режима

Описание

0

1

0

Internal ROM

Используется внутренняя ROM

1

Masters

Используется только ведущее устрой- Используются ведущие устройства ство А АиВ

2

Slaves A-B

Используется только ведомое устрой- Используются ведомые устройства ство А АиВ

3

Slave C-D

Используется только ведомое устрой- Используются ведомые устройства ство С СиD

4

PIOB

Используется PIOB

5

Режим CAP7 in ARM используется только для эмуляции Режим CAP7Е CAP7

Режим эмуляции CAP7-ARM

6

Disable Pullups

Отключение Pullups

7

ADC/LVDS используется тольИспользуется АЦП ко для эмуляции CAP7

Используются IRQ, PDC, APB

Используется Pullups

всей AHB-информации на интерфейс AHB от МК на ПЛИС, и наоборот (см. рис. 11). В режиме спаренной конфигурации требуются восемь циклов тактовой частоты AHB-шины для передачи всей информации на спаренный AHBинтерфейс от МК на ПЛИС, и наоборот. При передаче данных между ARM7микроконтроллером и ПЛИС время учитывается следующим образом: t1: время на два стандартных цикла AHB; t2: время на передачу запроса в ПЛИС (четыре цикла при единичном AHB-интерфейсе, восемь — при двойном); t3: время на отклик ПЛИСпериферия; t4: время на передачу отклика на CAP7E (четыре цикла при единичном AHB-интерфейсе, восемь — при двойном); t5: время на чтение отклика/данных, поступающих от ПЛИС на внутреннюю AHB-шину CAP7E; t6: время на заявленные циклы ожидания. Для аппроксимации времени доступа от ARM-ядра к периферийным устройствам используется следующая формула: TДост. = t1+ t2 + t3 + t4 + t5.

Используется внешняя ZBT RAM

Используется LVDS

Примечание. t1 и t5 — продолжительность циклов AHB-шины, которыми можно пренебречь по сравнению с временем PIO и EBI. ЗАКЛЮЧЕНИЕ

В случаях, когда скорость передачи данных низкая, в качестве интерфейса между МК и ПЛИС достаточно использовать PIO или EBI. Однако трафик с высокой скоростью передачи между МК и ПЛИС или между периферией и устройствами памяти может монополизировать циклы блока ЦП и создать ограничения для периферии. Например, достаточно большой объем данных, передаваемых от кадрового буфера на ЖКД, может переполнить как блок ЦП, так и EBI-интерфейс. Такое приложение лучше выполняется с помощью прямого интерфейса между МК и ПЛИС, позволяя данным ЖКД передаваться через ПДП. Благодаря этому методу процессор освобождается от обработки данных, а EBI-интерфейс — для передачи других данных. Кроме того, определенная в ПЛИС логика на шине AHB выглядит для МК так, как если бы она находилась внутри его. Благодаря этому переход на настраиваемый микроконтроллер намного упростится в будущих разработках.


УВЕЛИЧЕНИЕ ЭФФЕКТИВНОСТИ ВСТРАИВАЕМЫХ СИСТЕМ ЗА СЧЁТ ВЫЧИСЛИТЕЛЬНЫХ БЛОКОВ ЛОРЕН ХОББС, менеджер по продажам программируемых систем-на-кристалле, Cypress В статье рассматриваются принципы распределения вычислительной нагрузки в многопроцессорных системах на примере использования архитектур Cypress PSoC 3 и PSoC 5, в которые входят центральные процессоры с архитектурой 8051 и ARM Cortex M3, блоки ПДП и массив универсальных цифровых блоков UDB (Universal Digital Blocks). нагрузки из ЦП в UDB во столько же раз снижается и количество переключающихся ЛЭ, что, естественно, уменьшает потребление энергии для выполнения задачи. Помимо снижения потребляемой мощности ещё одно существенное преимущество заключается в том, что ЦП освобождается для выполнения более важных задач. Теперь он может сконцентрировать всю свою вычислительную мощь на тех функциях, которые выполняет наиболее эффективно, например, на участках алгоритма, требующих множества операций умножения и деления. СТРУКТУРА ПРОГРАММИРУЕМЫХ СИСТЕМ НА КРИСТАЛЛЕ PSOC 3/5

PSoC3 и PSoC 5 имеют одинаковую структуру, что означает, что в них используется по большому счёту одинаковая аппаратная часть. Каждое семейство базируется на 4 основных функциональных блоках:

микроконтроллер, способный выполнять типовые процессорные функции типа сдвига, сложения и сравнения. Помимо этого, UDB содержит программируемую логическую схему, которая может использоваться для реализации пользовательских логических функций и даже функциональных таблиц, используемых собственно процессорным элементом. В таком UDB можно реализовать не только множество типовых периферийных узлов наподобие ШИМформирователей, таймеров, контроллеров SPI, но и нестандартные, задаваемые пользователем функции. Такая гибкость позволяет легко реализовывать распределённые встраиваемые системы именно на базе PSoC. В массив UDB входит до 24 однотипных узлов, а также настраиваемая матрица коммутации сигналов (см. рис. 2), что позволяет реализовывать даже сложные и ресурсоёмкие пользовательские функции.

Подсистема ЦП

Содержит основной ЦП (с архитектурой 8051 или Cortex M3), а также соответствующие узлы поддержки: контроллер прерываний, аппаратуру отладки и контроллер ПДП. Кроме того, здесь же сконцентрированы и остальные системные узлы — формирователи тактовых сигналов, управление энергопотреблением и системная память. ЦП вместе с контроллером ПДП являются ключевыми компонентами распределённой вычислительной системы. Цифровая подсистема

Ещё одним ключевым элементом является цифровая подсистема, которая, собственно, и обеспечивает распределённую цифровую обработку. Фактически эта подсистема представляет собой массив программируемых цифровых блоков UDB. Как показано на рисунке 1, каждый UDB содержит узел обработки сигнала, представляющий собой 8-разрядный

Аналоговая подсистема

Помимо уже перечисленного, в состав PSoC 3 и PSoC 5 входит высокопроизводительная и настраиваемая аналоговая подсистема, позволяющая реализовать полноценную систему обработки аналогового сигнала, включающую 20-разрядный АЦП, блок цифровой фильтрации для кондиционирования преобразованного сигнала и блок цифро-аналогового преобразования. В контексте обсуждаемой распределённой обработки аналоговая подсистема может выполнять задачи предварительной обработки аналогового сигнала и преобразования его в цифровую форму перед отсылкой в ЦП для дальнейшей обработки. Программируемая матрица связей

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

Электронные компоненты №7 2010

73 МИКРОКОНТРОЛЛЕРЫ И DSP

В настоящее время SMP (симметричные мультипроцессорные системы) стали привычными в мире ПК. В среде встраиваемых компьютерных систем такого распространения SMP не наблюдается. В то же время некоторые новые разновидности встраиваемых архитектур существенно расширяют возможности разработчиков в распределении вычислительной нагрузки. Рассмотрим принципы построения такой распределенной системы на примере использования архитектур Cypress PSoC 3 и PSoC 5, в которые входят центральные процессоры с архитектурой 8051 и ARM Cortex M3, блоки ПДП и массив универсальных цифровых блоков UDB (Universal Digital Blocks). UDB представляют собой массив минипроцессоров. За счёт распределения вычислительных функций в пределах такой системы инженер может существенно повысить ее эффективность. Такое рассредоточение вычислительной нагрузки обеспечивает множество преимуществ, главным из которых является снижение энергопотребления в активном режиме. При снижении нагрузки на ЦП при обработке длительных, хотя и несложных с точки зрения математики расчётов, например, обработки прерываний, можно существенно снизить тактовую частоту, т.к. процессор при этом уже не должен «жечь» драгоценные процессорные такты на выполнение несложной, но утомительной работы в дополнение к отработке основного приложения. Снижение энергопотребления достигается двумя путями. Первый очевиден — понижение тактовой частоты линейно снижает потребление в активном режиме, что характерно для КМОПлогики. Второй путь, возможно, почти столь же значимый, состоит в том, что в состав ЦП входит почти в 10 раз больше логических элементов (ЛЭ), чем в UDB, поэтому при переносе


Рис. 1. Блок-схема UDB, включающая ПЛМ и 8-разрядный процессор

Рис. 2. Структура цифровой подсистемы, включающей до 24 блоков UDB и коммутационную матрицу

МИКРОКОНТРОЛЛЕРЫ И DSP

74 димые для обеспечения связи блоков ввода/вывода, аналоговой и цифровой подсистем и ЦП между собой. Этот функциональный блок обеспечивает пользователю возможность задания пути, по которому будет проходить сигнал в процессе обработки, что и позволяет реализовать распределение задач среди множества подсистем. ПРИМЕР РЕАЛИЗАЦИИ РАСПРЕДЕЛЁННОЙ ВСТРАИВАЕМОЙ СИСТЕМЫ

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

WWW.ELCP.RU

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

вместо того, чтобы решать другие задачи, которые могут требоваться для нормальной работы системы. Кроме того, чем быстрее вращается мотор, тем чаще прерывается работа ЦП. Мало того, добавление к системе дополнительных двигателей представляет серьёзную проблему, т.к. очень сложно синхронизировать работу двух (или более) двигателей, чтобы их датчики Холла не срабатывали бы непрерывно, вызывая последовательный — и независимый — поток прерываний с одним и тем же уровнем приоритета. Напрашивается мысль, что должен быть какой-то другой способ решить данную проблему. Конечно, такой способ есть, и состоит он в использовании предлагаемой Cypress архитектуры PSoC 3 или 5. Эти системы представляют собой прекрасный пример того, как распределение нагрузки на целый массив микроконтроллеров «разгружает» ЦП от рутинной работы по отслеживанию множества прерываний. Простая реализация конечного автомата в программируемой матрице UDB позволяет избавиться от необходимости использования прерываний работы ЦП. Вместо направления сигналов датчиков Холла на входы запроса прерывания мы используем их в качестве входных сигналов таблицы состояния, выходы которой определяют, какая обмотка двигателя должна быть подключена при данной комбинации сигналов датчиков, и коммутируют на неё сигнал ШИМ. При такой реализации прерывания возбуждаются только тогда, когда меняется скорость вращения. Если мы запрограммируем таблицу состояний и используем процессорный элемент UDB в операциях сравнения, то тогда вообще не нужно будет задействовать ЦП в процедурах обработки прерываний от датчиков. Ещё одним примером приложения, в котором использование распределённой обработки упрощает жизнь инженерам, является использование каналов ПДП в устройствах с массированным обменом данными, например, преобразование интерфейса I2S в USB (запись звука) и обратно (воспроизведение звука). За счёт реализации интерфейса I2S в блоке UDB и использования контроллера ПДП для пересылки данных между периферийными блоками (с использованием встроенного ОЗУ в качестве промежуточного буфера) можно свести к абсолютному минимуму количество тактов ЦП, используемых в процессе передачи данных. Такое использование ПДП крайне эффективно, когда один из коммуникационных протоколов использует пакетную передачу данных (как USB), а второй — синхронную с постоянной скоростью потока (как I2S).



Ярче, лучше, меньше ЛИ КОХ (LEE KOH), менеджер по сбыту, Microchip Technology Inc.

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

ВВЕДЕНИЕ

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

76

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

жению цен. В результате продукция совершенствуется, что прежде было невозможно из-за относительно высокой стоимости технологий. Несмотря на большой потенциал существующих дисплейных технологий на новых рынках, он будет реализован только в том случае, если система в целом будет удовлетворять определенным коммерческим требованиям. Например, при создании ЖК-дисплея учитывается не только эффективность применения технологии, но и необходимость использования более мощного процессора, дополнительных компонентов, например, контроллера графического дисплея или памяти. Помимо того, что к оборудованию выдвигаются дополнительные требования, значительно усложняется программное обеспечение, что связано с усовершенствованием дисплеев и графических элементов. Эта проблема может стать основным препятствием на этапе разработки, поскольку для ее решения часто требуется приложить немало дополнительных усилий. Дополнительные требования могут привести к удорожанию системы и усложнению проекта, что, в свою очередь, увеличит время выхода новой продукции на рынок. Очевидно, возникает необходимость в эффективных решениях по реализации графических интерфейсов пользователя. Однако интегрированные системы, предназначенные для реализации дисплейных технологий, в основном разрабатываются для серийной продукции или высокорентабельных рынков, например, для систем управления промышленным оборудованием или автомобильной электроники. Это обстоятельство создает технологический вакуум для OEM-производителей, которым необходимо произвести сложные ГИП, не увеличивая стоимости системы и ее сложности. До сих пор решение этой задачи состояло либо в производстве дорогостоящего устройства для конкретного приложения либо в использовании дополнительных микросхем для построения подсистемы графического дисплея. Оба этих решения сопряжены с большими коммерческими и технологическими трудностями. С появлением семейства микроконтроллеров PIC24FJ256DAXXX компании Microchip — первого в отрасли полностью интегрированного графического решения с усовершенствованными функциями — и соответствующих средств проектирования эти трудности удалось преодолеть. ПРЕОДОЛЕНИЕ ТРУДНОСТЕЙ

Рис. 1. Семейство микроконтроллеров PIC24FJ256DAXXX

WWW.ELCP.RU

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


микроконтроллеры PIC не обеспечивали. Разработчики также получили возможность воспользоваться признанными инструментами проектирования ГИП, в реализации которых воплотился большой опыт инженеров Microchip. Микроконтроллеры PIC24FJ256DAXXX используют ту же усовершенствованную гарвардскую архитектуру ЦП, что и другие члены семейства PIC24F. Отличительной особенностью нового семейства является встроенный графический контроллер с тремя аппаратными графическими ускорителями и контроллером дисплея. Эти ускорители поддерживают DMA-интерфейс памяти буфера изображения, эффективно управляют производительностью графической подсистемы при обработке и воспроизведении графических объектов, легко обеспечивают переключение между шрифтами и языками, а также быстрое восстановление данных или изображений. Встроенный контроллер дисплея управляет почти всеми ЖК- или светодиодными дисплеями с интерфейсами RGB или STN/CSTN, включая широкий диапазон TFT-ЖКД и некоторые OLED-дисплеи. Перечисленные средства составляют полнофункциональную графическую подсистему, полностью установленную на тот же кристалл, что и МК. Она управляет дисплеем с разрешением 640×480 (VGA) (30 Гц, 16 бит/пикс. или 60 Гц, 8 бит/пикс.) или 480×272 (WQVGA) (60 Гц, 16 бит/пикс.). Кроме того, микроконтроллеры PIC24FJ256DAXXX поставляются в двух конфигурациях памяти для буферизации кадров: 24 и 96 Кбайт или RAM. В зависимости от размеров дисплея, его разрешения или цветовой настройки, эта встроенная память позволяет снизить стоимость решения при поддержке монохромных или цветных дисплеев с разрешением до 320×240 и количеством цветов 256 (8 бит/пикс.), а также дисплеев с града-

цией серого без внешней памяти RAM, что позволяет увеличить разрешение экрана и глубину цвета. В таблице 1 показаны возможные конфигурации для определенных значений разрешения экрана, с внешним буфером кадров или без него. Буфер кадров используется вместе с кодовой таблицей цветов, что позволяет выбрать палитру 256-ти дискретных оттенков из 64 тыс. возможных цветовых оттенков RGB-диапазона (16-бит/пикс.), не задействуя дополнительных ресурсов системы. Каждый кадр может использовать разную палитру из 256-ти оттенков, что обеспечивает большое разнообразие графических возможностей при выборе дизайна меню или рабочих режимов. На рисунке 2 показаны примеры применения разных цветовых палитр. Все перечисленные внутренние функции микроконтроллера позволяют свести к минимуму стоимость и количество компонентов. Интегрируя все дополнительные аппаратные средства управления ЖК- или светодиодными дисплеями, семейство микроконтроллеров PIC24FJ256DAXXX позволяет значительно снизить стоимость списка комплектующих (BOM) и системы по сравнению со стоимостью графической подсистемы с дискретным контроллером дисплея и RAM или более дорогими дисплеями с внутренним контроллером или буфером кадров. Новое семейство PIC поддерживается комплектами программного обеспечения Graphics Display Designer и Graphics Library компании Microchip, которые бесплатно предоставляются клиентам Microchip, упрощая ввод системы в действие и снижает ее общую стоимость. Эти инструменты помогают существенно уменьшить стоимость и сложность проектируемого ГИП. Graphics Display Designer — средство визуального проектирования экра-

Электронные компоненты №7 2010

77


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

горизонтальное

480 320 160 160 128

272 240 240 160 64

Глубина цвета/размер памяти, байт Внутренний буфер кадров Внутренний или внешний буфер кадров 4 бит/пикс. (16 оттен16 бит/пикс. (65 тыс. 1 бит/пикс. (моно) 2 бит/пикс. (4 оттенка) 8 бит/пикс. (256 цв.) ков) цв.) 16320 32640 65280 130560 261120 9600 19200 38400 76800 153600 4800 9600 19200* 38400 76800 3200 6400 12800 25600 51200 1024 2048 4096 8192 16384

— семейство DA106/DA11 — 24-Кбайт RAM — семейство DA206/DA210 — 96-Кбайт RAM — семейство DA110 — 24-Кбайт RAM и внешняя SRAM * Возможно переключение на устройства DA с 96-Кбайт RAM

Рис. 2. Примеры использования разных цветовых палитр

на и графических элементов. Этот инструмент работает совместно с графической библиотекой Microchip. В хранилище предварительно сконфигурированных графических элементов находятся шрифты, объекты и графические примитивы. Graphics Display Designer позволяет сконфигурировать пользовательский интерфейс, не создавая кода, — всю необходимую работу проделает этот инструмент, позволив значительно снизить сложность проектирования приложения с ГИП. Для установления большего контроля над проектом можно воспользоваться элементами графической библиотеки с помощью API. Однако метод, предлагаемый Graphics Display Designer, ускоряет ранние этапы разработки и во многих случаях уменьшает или полностью избавляет от необходимости вручную писать код для управления экраном или создания интерфейса. ПОЛНОФУНКЦИОНАЛЬНОЕ РЕШЕНИЕ ДЛЯ КОНТРОЛЯ

78

В настоящее время многие недорогие микроконтроллеры позволяют реализовать простой ГИП, однако семейство МК PIC24FJ256DAXXX обеспечивает те же приложения намного большей функциональностью. При этом стоимость всей системы не увеличивается. Инженеры получают возможность разработать решение по управлению дисплеем с разными разрешениями и 256-ю оттенками цвета, выбранными из 64 тыс. RGB-цветов при частоте обновления 60 Гц.

WWW.ELCP.RU

Более того, микроконтроллер PIC24FJ256DA210 обеспечивает широкую поддержку сенсорных экранов емкостного и резистивного типа с помощью интерфейса mTouch и АЦП, соответственно. Технология mTouch компании Microchip позволяет реализовать намного большее количество емкостных элементов управления сенсорным экраном на передней панели экрана. При этом легко создается интерфейс между ЖК- и светодиодными дисплеями со встроенной сенсорной технологией резистивного типа и PIC24FJ256DA210. Как и другие семейства PIC24F, PIC24FJ256DAXXX также имеет полный набор проводных интерфейсов для периферийных устройств, в т.ч. USB OTG host/slave и mini-host, четыре модуля UART, три модуля I2C и три SPIинтерфейса. Четыре режима пониженного энергопотребления семейства PIC24FJ256DAXXX поддерживают наименьшее стандартное значение тока источника питания 20 мкА, которое используется для пробуждения системы и включения дисплея при срабатывании сенсорной кнопки. Инженеры могут познакомиться с расширенными функциями PIC24FJ256DA210 с помощью специализированной платформы разработки, поставляемой с 3,2- или 4,3-дюймовым TFT-дисплеем. Информацию о новых устройствах PIC24F, поддерживаемых бесплатным пакетом программного обеспечения, также можно получить на вебинарах и в соответствующих инструкциях. Спрос на цветные ЖК- и светодиодные дисплеи увеличивается на рынках потребительской, промышленной и автомобильной электроники. Продукция компании Microchip за счет более высокого уровня интеграции и непрерывной поддержки проектов с использованием графических дисплеев продолжает отвечать потребностям тех ОЕМ-производителей, которые работают с передовыми технологиями и стремятся извлечь максимальные преимущества от разработки самых современных приложений. Появление семейства микроконтроллеров PIC24FJ256DAXXX свидетельствует о намерении компании Microchip и в дальнейшем работать на этих рынках, а также о ее стремлении создавать качественную продукцию, сочетающую требуемые функции и полезность.


Управление щеточным двигателем при помощи ARM-микроконтроллеров Stellaris АЛЕКСЕЙ ПАНТЕЛЕЙЧУК

В статье рассказывается об ARM-микроконтроллерах Stellaris — новом решении компании Texas Instruments, которое в данном случае используется для системы цифрового управления щеточным электродвигателем.

Цифровые методы управления приводами с успехом решают традиционные проблемы аналоговых методов, связанные с изменением характеристик системы управления из-за старения компонентов и колебаний температуры. Гибкие программные алгоритмы не только исключают ошибки из-за разброса параметров компонентов, но и позволяют реагировать на изменения внешних условий. Например, вместо тривиального включения и выключения привода вентилятора, с использованием цифрового управления появляется возможность изменять скорость вращения в зависимости от температуры воздуха. Кроме того, цифровая система может тестировать и калибровать сама себя, тем самым снижая затраты на обслуживание до минимума. Существует множество типов электродвигателей, равно как и областей их применения. Посмотрев по сторонам, мы можем легко убедиться в этом: электродвигатели широко используются в бытовых устройствах, начиная от стиральных машин и пылесосов и заканчивая электрическими бритвами и зубными щетками. Более сложные и мощные электродвигатели используются в системах вентиляции, кондиционирования воздуха и отопления, ну а самые точные (и самые дорогие) — в устройствах промышленной автоматики, робототехнике, машиностроении. Компания Texas Instruments (TI), принимая во внимание все трудности, с которыми сталкиваются разработчики цифровых систем управления приводами, как обычно, предлагает полноценные решения для таких задач, т.е. не только высококлассные компоненты для построения аппаратной части, но также программные алгоритмы и библиотеки, отладочные наборы, техническую поддержку. Охватить все сразу очень сложно, и в этой статье мы рассмотрим решение TI для системы цифрового управления щеточным электродвигателем. Как понятно из названия, в щеточных электродвигателях используются щетки. Обмотки ротора замыкаются на коммутатор, через который на них с помощью щеток подается и снимается напряжение. Статор имеет один или несколько постоянных магнитов. Напряжение на обмотку ротора подается таким образом, чтобы она притягивались к постоянному магниту, создавая тем самым вращательное движение, и как только она приближается к магниту, напряжение с обмотки снимается и подается на следующую обмотку. Отличие щеточных электродвигателей от других — это прямая зависимость крутящего момента от тока, и поскольку скорость и крутящий момент напрямую зависят от подаваемого тока и напряжения, такими электродвигателями легко управлять. Упрощенная блок-схема системы управления щеточным электродвигателем показана на рисунке 1. В принципе, любой микроконтроллер, способный генерировать ШИМ-сигналы, может использоваться для управления

Н-мостом DC/DC-преобразователя. В зависимости от сложности алгоритма управления в цепи обратной связи применяется датчик Холла или квадратурный энкодер. Взаимодействие с «внешним миром» происходит через последовательный интерфейс (CAN, USB, RS232, Ethernet), либо с помощью портов ввода/вывода. Один из вариантов реализации такой системы рассмотрим на примере референс-дизайна RDK-BDC компании Texas Instruments (см. рис. 2). RDK-BDC разработан для 12-В щеточных электродвигателей постоянного тока до 40 А и имеет следующие особенности: – частота ШИМ до 15 кГц; – две возможности управления скоростью: - стандартный промышленный ШИМ-интерфейс; - CAN-интерфейс; – подключение к шине CAN: - полная конфигурируемость параметров модуля; - оценка в реальном времени тока, напряжения, скорости и других параметров; - обновление прошивки;

Рис. 1. Упрощенная блок-схема системы управления щеточным электродвигателем

Рис. 2. Референс-дизайн RDK-BDC

Электронные компоненты №7 2010

79


Рис. 3. Модуль управления MDL-BDC

80

– индикация светодиодами пуска, направления, сбоя; – переключатель стоп/пуск; – вход для квадратурного энкодера и аналоговый вход. В комплект поставки RDK-BDC входит все необходимое оборудование для оценки его работы: – модуль управления MDL-BDC; – щеточный двигатель постоянного тока Mabuchi RS-555PH-5255 (5000 об/мин, 12 В, 3 А); – универсальный источник питания; – CAN-консоль на базе оценочного комплекта EK-LM3S2965; – CAN-кабель и терминатор; – USB-кабель; – кабель-адаптер для разъема ARM JTAG/SWD; – плоский кабель для ARM JTAG/SWD; – CD-диск с полной документацией, утилитой программирования и исходными кодами. В модуле управления MDL-BDC (см. рис. 3) используется микроконтроллер Stellaris LM3S2616. О микроконтроллерах Stellaris подробно шла речь в «ЭК» №11 за 2009 г. В этой статье мы остановимся только на его применении в системе управления электроприводом. Высокоинтегрированный микроконтроллер LM3S2616 формирует ШИМ-сигналы, обрабатывает аналоговые сигналы обратной связи, организует обмен данными по интерфейсу CAN. Кроме него для реализации всей системы требуется минимум дополнительных компонентов, и вся аппаратная часть располагается на двухслойной печатной плате. LM3S2616 содержит периферийные устройства, оптимизированные для управляющих устройств, работающих в сети. Микроконтроллер имеет 6 каналов высокоскоростного АЦП, ШИМ, вход для квадратурного энкодера, модуль CAN. Модуль ШИМ-микроконтроллера может генерировать две пары комплементарных ШИМ-сигналов, которые управляют силовой частью приложения. Встроенный LDO-регулятор вырабатывает напряжение 2,5 В для внутреннего использования. Тактовый сигнал для микроконтроллера вырабатывается 16-МГц внешним кварцевым генератором. Несмотря на то, что микроконтроллер может работать на частотах до 50 МГц, в целях снижения энергопотребления модуль ФАПЧ в приложении не используется. Мощности 32-разрядного ядра Cortex-M3 хватает для организации обмена данными по CAN со скоростью 1 Мбит/с при тактовой частоте ядра 16 МГц. Одной из особенностей микроконтроллера LM3S2616 является именно поддержка CAN-интерфейса, с помощью которо-

WWW.ELCP.RU

го организуется надежная передача данных с большой скоростью. Силовая часть состоит из Н-моста, каждая «нога» которого имеет три параллельно включенных MOSFETтранзистора. Параллельное включение трех транзисторов позволяет снизить входное сопротивление, а также улучшить теплоотдачу. Вентилятор напрямую обдувает MOSFET-транзисторы, расположенные по окружности. Пиковые токи драйверов достигают 2 А для быстрого переключения MOSFET-транзисторов. ШИМ-сигнал с выхода микроконтроллера подается на драйвер, который управляет MOSFET-транзисторами Н-моста. Через изменение состояний выводов общего назначения микроконтроллера выбирается одна из частей Н-моста для подачи на нее управляющего ШИМ-сигнала (верхняя или нижняя). Два включенных каскадно регулятора вырабатывают напряжение 5 В и 3,3 В при напряжении питания 12 В. 5 В используются только трансивером CAN и квадратурным энкодером. Напряжение 3,3 В используется микроконтроллером и периферийными цепями. Величина тока оценивается в нижней части Н-моста с помощью шунта и неинвертирующего усилителя напряжения. Поскольку через мост протекают токи большой величины, сопротивление шунта составляет всего 500 мкОм. Операционный усилитель усиливает напряжение с шунта в 40 раз. Посредством резистивного делителя, который масштабирует диапазон от 0…12 В до 0…3 В, оценивается напряжение источника питания. Для вращения вентилятора используется небольшой бесщеточный двигатель постоянного тока. Вентилятор включается при вращении основного двигателя или при превышении температуры заданного порога. Микроконтроллер LM3S2616 имеет встроенный термодатчик, а простая программная таблица позволяет по температуре микроконтроллера определить температуру системы. В комплект референс-дизайна входит еще одна отладочная плата на основе микроконтроллера Stellaris LM3S2965 (см. рис. 4). Плата изначально запрограммирована и готова к использованию как консоль CAN. С помощью этой платы организуется простой пользовательский интерфейс с системой управления щеточным электродвигателем. Обмен данными производится через интерфейс CAN. После корректного подключения и настройки консоли по правилам, описанным в сопутствующей документации, пользователь может управлять двигателем в различных режимах. В режиме управления по напряжению напрямую


задается выходное напряжение, при этом скорость двигателя прямо пропорциональна приложенному напряжению. Инвертировав напряжение, можно изменить направление вращения. В режиме управления по току производится непосредственное изменение выходного тока. В этом случае крутящий момент прямо пропорционален току, протекающему через обмотки электродвигателя. Режим управления скоростью двигателя подразумевает использование квадратурного энкодера, с помощью которого отслеживается и поддерживается заданная скорость. С помощью энкодера реализуется также режим управления положением двигателя. Помимо управления электродвигателем в различных режимах с помощью CAN-консоли производится обновление прошивки платы управления MDL-BDC, а также сигнализация об аварийных ситуациях — превышении тока, температуры и напряжения относительно пороговых уровней. Отладку приложения, а точнее изменение программы микроконтроллера LM3S2616, можно производить двумя способами. Первый, как уже было сказано, — через CANинтерфейс с использованием консоли. Второй и, кстати, более предпочтительный вариант с точки зрения возможностей отладки — производить ее напрямую через интерфейс JTAG/SWD. На плате MDL-BDC имеется для этого специальный коннектор. Программный код разрабатывается и компилируется в любой из следующих сред: – Keil™ RealView® Microcontroller Development Kit (MDK-ARM); – IAR Embedded Workbench; – Code Sourcery GCC development tools; – Code Red Technologies development tools; – Texas Instruments’ Code Composer Studio™ IDE.

Рис. 4. Консоль CAN на базе отладочной платы EK-LM3S2965

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

СОБЫТИЯ РЫНКА | FTC И INTEL ПРИШЛИ К СОГЛАШЕНИЮ | Антимонопольное разбирательство, начатое Федеральной торговой комиссией США в декабре прошлого года по поводу неправомочных действий корпорации Intel, видимо, подходит к концу — стороны достигли предварительного соглашения. В иске FTC против Intel было указано, что корпорация незаконными методами борется с конкуренцией на рынке процессоров, вынуждая производителей компьютеров, в т.ч. Dell, Hewlett-Packard и IBM, отказываться от продукции компании AMD. Вдобавок те компании, которые проявляли лояльность по отношению к Intel, получали существенные скидки. Согласно достигнутому соглашению, Intel прекратит препятствовать сотрудничеству производителей компьютеров с компанией AMD, а также предлагать вознаграждение за эксклюзивное партнерство. Соглашение также содержит четыре ограничения для Intel, которые должны способствовать нормальной конкуренции на рынке процессоров. Во-первых, Intel предписано изменить лицензионные соглашения с компаниями AMD, NVIDIA и Via, с тем чтобы те имели больше свободы в выборе действий, включая сотрудничество с кем угодно или слияние, без риска судебных преследований со стороны Intel. Во-вторых, Intel еще на пять лет продлит лицензионное соглашение с Via на производство x86-совместимых процессоров, которое заканчивается в 2013 г. В-третьих, корпорация не будет менять спецификацию интерфейса PCI Express в течение 6 лет. И, наконец, корпорация должна предупреждать разработчиков софта о том, что компиляторы Intel различают фирменные чипы и чипы сторонних производителей, а также могут не учитывать всех особенностей чипов других компаний. Согласно законодательству, на обсуждение предварительного соглашения отведено 30 дней, после чего FTC примет окончательное решение. www.russianelectronics.ru

| ЕВРОПА ФИНАНСИРУЕТ РАЗРАБОТКУ РОБОТОВ | Власти Евросоюза выделяют 1,2 млрд евро на финансирование исследований в сфере информационных технологий, причем около половина этой суммы пойдет на разработку роботизированных систем, инфраструктуры сетей и сервисов нового поколения, электронных и фотонных компонентов, а также технологий, связанных с цифровым контентом. Особое внимание планируется уделить поддержке разработки технологий, решающих такие проблемы общества как изменение климата, безопасность энергетики и продуктов питания, старение населения. Финансирование осуществляется в рамках программы Seventh Framework Programme (FP7), назначение которой — трансформировать исследования в новые технологии, продукты и услуги, способные повлиять на повседневную жизнь людей. Один из успешно продвигающихся проектов FP7 — LOCOMORPH, в рамках которого разрабатываются методы повышения эффективности передвижения роботов. В рамках еще одного европейского проекта, PACO-PLUS, создаются нейронные схемы, описывающие особенности походки двуногих роботов и позволяющие управлять ими. www.russianelectronics.ru

Электронные компоненты №7 2010

81


GSM-модем AirLink GL6100/GL6110: большие возможности в маленьком корпусе ОЛЕГ ПУШКАРЕВ, «Компэл»

Для передачи данных через сотовые сети используются законченные GSM-модемы разных производителей, управляемые с помощью стандартного набора AT-команд и во многом похожие друг на друга. Новые модемы AirLink GL6100 и GL6110 компании Sierra Wireless заметно отличаются от «стандартных» изделий, прежде всего, дополнительными возможностям по загрузке пользовательских программ, написанных на языке C/C++ или языке LUA. В статье рассмотрены аппаратные и программные особенности новых модемов и вопросы их практического применения.

Новые модемы AirLink GL61xx создавались компанией Sierra Wireless для встраиваемых промышленных систем, где требуется обеспечить беспроводной канал, не расходуя времени на разработку печатных плат и интеграцию GSM-модулей. GSM-модем обеспечивает удаленный беспроводной доступ к существующему оборудованию через интерфейсы RS-232 (AirLink GL6100) или USB (AirLink GL6110). Модемы построены на базе беспроводного процессора WMP100 и оборудованы специальным аппаратным сторожевым таймером, который предохраняет устройство от глухих зависаний. Модемы серии AirLink GL61xx выполнены в ударопрочном пластиковом корпусе и могут монтироваться непосредственно в шкафы управления на промышленных объектах. Благодаря миниатюрному размеру такой модем устанавливается и на материнскую плату изделия как дополнительный коммутационный узел. Кроме стандартного набора AT-команд в модемах реализована поддержка протоколов SMTP, POP3, FTP, HTTP и MMS. Внешний вид модема приведен на рисунке 1, технические характеристики — в таблице 1. В комплект поставки входит все необходимое для работы — антенна, блок питания и все кабели. Встроенный DC/DC-преобразователь позволяет использовать внешние источники питания с широким диапазоном выходных напряжений 4,75...32 В. Модем AirLink GL6110 (USB) не требует отдельного источника питания — встроенный преобразователь напряжения позволяет использовать 5-В питающую линию интерфейса

82

Рис. 1. GSM-модем AirLink GL61100

WWW.ELCP.RU

USB. При работе по USB-интерфейсу потребляемый ток ограничен на уровне 500 мА. Для модема AirLink GL6110 (USB) производитель предлагает драйверы для операционных систем Windows и Linux. КОНСТРУКТИВНОЕ ИСПОЛНЕНИЕ И ИНДИКАЦИЯ

Модем имеет пластмассовый корпус, однако благодаря малым размерам и идеальной подгонке частей (использована качественная пресс-форма и пластмасса) конструкция очень крепкая — даже при значительных механических нагрузках не наблюдается никакой деформации или скрипов. Для жесткого механического крепления предусмотрены два сквозных отверстия, куда заранее вставлены винты, длина которых позволяет закрепить модем на основании толщиной до 6 мм. В то же время малый вес и большое плоское основание позволяют в некоторых случаях использовать даже двухстороннюю липкую ленту. На один 8-контактный разъем Micro-Fit выведены сигналы управления и линии питания, поэтому каждый модем комплектуется специальным интерфейсным кабелем. Конструкция модема тщательно продумана с точки зрения надежности. Специальные защелки не дадут интерфейсному кабелю отсоединиться при случайном рывке, отсек для sim-карты закрывается защелкивающейся крышкой (см. рис. 2), антенный FME-разъем не выступает за габариты корпуса. Модем имеет ESD-защиту (устойчивость к электростатическим разрядам) согласно IEC 1000-4-2 (антенный разъем — до 8 кВ). Светодиодный индикатор питания показывает текущее состояние модема. Светит постоянно — питание подано, но модем еще не зарегистрировался в сети. Редкие вспышки (погашен 2 с, светит 0,2 с) — питание подано, модем зарегистрирован в сети. Частые вспышки (погашен 0,6 с, светит 0,2 с) — питание подано, модем зарегистрирован в сети, идет передача данных. Быстрое мигание (погашен 0,2 с, светит 0,1 с) — питание подано, но загруженное программное обеспечение испорчено или несовместимо (BAD SOFTWARE). Индикатор погашен — питание не подано либо индикация отключена пользователем. Отключение индикатора может быть полезным в спящем режиме для снижения общего потребляемого тока. Во время сброса и начальной инициализации (~ 2 с) индикатор находится в неопределенном состоянии. Внутри корпуса находится одна многослойная печатная плата со всеми электронными компонентами. Монтаж эле-


ментов выполнен очень аккуратно, внешние слои платы используются в качестве земляных слоев (см. рис. 3). ИНТЕРФЕЙСЫ

Модем GL6100 (RS-232) имеет установленную по умолчанию скорость последовательного интерфейса 115200 бод и работает со следующими сигналами RS-232: RX, TX, RTS, CTS, DTR. В простейшем случае достаточно задействовать только линии RX и TX, однако для предотвращения потерь данных при интенсивном обмене требуется 4-проводная схема включения (RX, TX, RTS, CTS). При использовании только линий RX и TX следует отключить сигналы квитирования с помощью команды AT+IFC=0,0. Функция автоопределения скорости контролируется с помощью AT-команд и позволяет GL6100 подстроиться под скорость управляющего контроллера в пределах 1200…921600 бит/с. Для снижения энергопотребления предусмотрен режим автоматического отключения интерфейса RS-232 в отсутствие обмена. Этот режим контролируется командой AT+WASR. Для включения режима подается команда AT+WASR=1,1,“GPIO19”,10 и AT+WASR=0,1 — для отключения. Вывод интерфейсной микросхемы из режима сна происходит по изменению сигнала DTR c 0 на 1. Для работы c модемом GL6110 по USB требуется установить специальный драйвер, который создает в ОС Windows устройство с именем WAVECOM Wireless cpu и соответствующий виртуальный COM-порт. Для корректного выхода в интернет с помощью диспетчера удаленного доступа рекомендуется установить скорость для виртуального COM-порта равной 9600. Это никак не ограничит реальную скорость работы в интернете, которая может достигать 50 Кбит/с и более. ПИТАНИЕ

Уровень потребления в существенной мере зависит от текущего режима работы модема. Модем может находиться в одном из следующих режимов. Отключен (OFF Mode) — не поддерживается. При подаче питания модем включается автоматически. Режим ожидания (Active Idle Mode) — режим модема по умолчанию. В этом режиме радиочастотный блок активен и GL61x0 засинхронизирован с сетью, однако передача данных не происходит (нет активного соединения). В этом режиме доступен полный функционал устройства. Режим сна в ожидании (Sleep Idle Mode) — модем зарегистрирован в сети, нет GSM/GPRS-соединения, интерфейс RS-232 отключен. Режим доступен только для модема GL61100 (RS-232). Активный режим (Active Mode) — работает встроенное приложение пользователя, при этом GSM/GPRSфункционал не задействован. Интерфейс RS-232 доступен. Режим сна (Sleep Mode) — пониженное энергопотребление. Радиочастотный блок и интерфейс RS-232 отключены. Режим доступен только для модема GL61100 (RS-232). Управление спящим режимом производится с помощью команды AT+WBHV. Режим соединения (Connected Mode) — модем находится в процессе передачи GPRS-данных, либо установлено голосовое или CSD-соединение. Режим автоматического отключения последовательного порта (Serial Port Auto Shutdown) — отключение внутреннего драйвера порта RS-232. Режим доступен только для модема GL61100 (RS-232). «Режим сна в ожидании» — состояние пониженного энергопотребления при сохранении возможности приема входящего соединения. Этот режим может быть включен с помощью AT-команды AT+W32K=1,0. При этом перевод в

Рис. 2. Отсек для sim-карты

Рис. 3. Содержимое модема Таблица 1. Технические характеристики модема ПАРАМЕТР Передача данных Диапазон частот Сертификация Напряжение питания (GL6100) Потребление в режиме Sleep Idle (GL6100) Потребление в режиме Active (GL6100) Напряжение питания (GL6110) Максимальная выходная мощность GPRS Процессор и память Тактовая частота центрального процессора Вычислительная мощность для пользовательских приложений Голосовые кодеки Качество Подавление эха и снижение шума Поддержка DTMF RS-232 (GL6100) USB (GL6110) Светодиод индикации Интерфейс SIM Встроенный таймер Поддержка Embedded SIM Антенный разъем Системный разъем Поддержка операционных систем Управление Размеры и вес Рабочая температура

ЗНАЧЕНИЕ GSM, GPRS, CSD (Transparent and Non Transparent), SMS (Text & PDU), USSD, FAX GPRS/GSM 850/900/1800/1900 MHz R&TTE, CE, GCF, FCC, PTCRB 4,75...32 В 3,6 мА (@4,75 В)/3 мА (@12 В) 24 мА (@4,75 В)/12 мА (@12 В) 4,75...5,25 В 33dBm (GPRS Class 10) ARM946/DSP, 64 Мбит флэш, 16 Мбит ОЗУ 104 МГц (26 МГц) 87 MIPS HR, FR, EFR, AMR VDA2A Да (высокое) Да V.24/V.28 Скорость: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800 и 921600 бит/с USB 2.0, Full speed, 12 Мбит/с Да (состояние в сети) SIM-держатель (1.8V/3V) Часы реального времени и календарь Да FME Micro-Fit 8 pin Windows7, XP, VISTA, CE, Linux Набор стандартных (V.25 ter and GSM 07.05 & 07.07) и расширенных АТ-команд Встроенный TCP/IP-стек Встраиваемые приложения Open AT (ANSI C) 67×51,5×23,5 мм; 60 г –30…75°C

Электронные компоненты №7 2010

83


режим «Сон в ожидании» контролируется исключительно внутренним ПО модуля (firmware). Модуль автоматически снижает энергопотребление, если в течение какого-то времени отсутствует какая-либо активность — нет обмена данными по интерфейсу RS-232 или в сети. Если необходимо контролировать переход модуля в режим «Сон в ожидании», можно использовать команду AT+W32K=1. В этом случае хост-контроллер может запретить переход модуля в режим пониженного энергопотребления подачей «1» на линию DTR. Потребление тока в этом режиме всего 3,6 мА (с учетом встроенного DC/DC-преобразователя). Низкий ток потребления снижает требования к резервной батарее при необходимости обеспечения бесперебойного питания. Потребление модема в каждом из доступных режимов см. в [1]. УПРАВЛЕНИЕ МОДЕМОМ

Как и любой стандартный модем, GL61x0 управляется с помощью AT-команд. Кроме этого набора модем также работает с множеством «фирменных» команд Sierra Wireless, которые предоставляют дополнительные возможности. Например, команда AT+WBHV=9,1 ускоряет процесс регистрации модема в сети при его установке в фиксированном месте. Команда AT+CCED предоставляет информацию о ближайших базовых станциях и уровнях принимаемых сигналов (MCC, MNC, LAC, CI, BSIC, BCCH Freq и др.). Эта информация может оказаться очень полезной при выборе точки установки оборудования на реальных объектах. В модеме предусмотрен специальный «шпионский режим» (Spy Mode, AT+WREGC=1) при котором модем не зарегистрирован в сети, но прослушивает контрольный

канал и, при необходимости, может зарегистрироваться менее чем за 1 с. Команда AT+WMBS задает фиксированный частотный диапазон. Команда AT+WLOC позволяет получить информацию, на основе которой рассчитывается местоположение объекта относительно окружающих базовых станций. Специальный набор команд по работе с DTMF позволяет не только генерировать тоновые последовательности, но и декодировать DTMF. Встроенный DTMF-декодер обеспечивает реализацию системы управления удаленным объектом через клавиатуру любого сотового телефона. Полное описание всех реализованных AT-команд занимает 948 страниц документа [2]. ВСТРОЕННЫЕ ПРИЛОЖЕНИЯ OPEN AT

Модем работает под управлением встроенного программного обеспечения Firmware R7.42 и старше. Для разработки приложений пользователя используется бесплатная среда разработки Developer Studio, которая включает весь необходимый инструментарий — редактор для создания исходного текста программы, компилятор, отладчик, мастер создания проектов и встроенные шаблоны типовых примеров. Для приложения пользователя выделяются значительные ресурсы памяти — до 5 Мбайт флэш-памяти и около 1,5 Мбайт RAM. Загрузка пользовательского приложения выполняется с помощью протокола 1K-Xmodem через интерфейсы USB или RS-232 (команда АТ+WDWL). ЛИТЕРАТУРА 1 GL61x0 Product Technical Specification and User Guide UDG// www.sierrawireless.com. 2. Firmware 7.42 AT Commands Manual//www.sierrawireless.com.

НОВОСТИ ТЕХНОЛОГИЙ | УЧЕНЫЕ ДОБАВИЛИ В ОЧКИ ФУНКЦИИ GPS-НАВИГАТОРА | Недавно аналитическое агентство iSuppli опубликовало результаты исследования, согласно которому к 2012 г. 80% мобильных телефонов будут оснащены модулями GPS. Это значит, что у владельцев таких телефонов появится возможность ориентироваться на местности, глядя на экран электронного помощника. Японских изобретателей сложно обвинить в недостатке фантазии. На этот раз удивить общественность и облегчить жизнь современным путешественникам решили ученые из лаборатории Накаджима Токийского университета связи под руководством Кенго Сайто (Kengo Saito). Ученые оснастили обычные очки микроконтроллером, магнитным датчиком, батареей и «гирляндой» светодиодов. Связываясь с внешним GPS-устройством, которое определяет местоположение пользователя, его маршрут и пункт назначения, очки корректируют направление движения, перемигиваясь светодиодами. В основе работы GPS-очков лежит принцип из детской игры «тепло-холодно» за сигнал «холодно» отвечают красные светодиоды, за сигнал «тепло» — зеленые. Руководитель группы сообщил, что целью разработки данного устройства стало желание избавить пользователя от необходимости периодически смотреть на дисплей смартфона или навигатора, что в некоторых случаях может быть просто опасно, например за рулем. К сожалению, о серийном производстве GPS-очков речь пока не идет, однако подобное устройство наверняка стало бы популярным в среде любителей побродить по настоящим или хотя бы по городским джунглям. www.russianelectronics.ru

84 СОБЫТИЯ РЫНКА | В КИТАЕ ХОТЯТ ВЗИМАТЬ С США «ПОШЛИНУ» ТЕХНОЛОГИЯМИ | Согласно докладу, опубликованному Торговой палатой США, правительство Китая требует от американских компаний делиться с локальными компаниями своими технологиями в обмен на право выхода на китайский рынок. Иностранные технологические продукты могут быть «реинновированы» китайскими компаниями и выведены на рынок в качестве собственных. Соответствующая программа Китая носит название «локальной инновации». Ее задача, как указывается в докладе, служит цели превращения Китая во влиятельную технологическую державу к 2020 г. и в мирового лидера — к 2050 г. В США обеспокоены данной политикой Китая: еще в январе Business Software Alliance, Ассоциация потребительской электроники, Национальная ассоциация производителей и другие отраслевые организации направили властям США письмо с предупреждением о том, что программа локальной инновации является «частью долгосрочного плана по исключению широкого круга американских компаний из китайского рынка, который жизненно важен для их будущего роста и способности создавать рабочие места». Международная комиссия по торговле США недавно начала два расследования в отношении политики Китая. Результаты ожидаются в следующем году. www.russianelectronics.ru

WWW.ELCP.RU


Тестирование инжекторных двигателей при помощи USB-адаптера BM9213 «МАСТЕР КИТ» ВИКТОР ЧИСТЯКОВ

Устройство предназначено для подключения персонального компьютера (ПК) к диагностическому каналу (К- или L-линии) электронного блока управления (ЭБУ) автомобиля с целью диагностики и управления его функциями. Оно представляет собой преобразователь уровней логических сигналов обмена ЭБУ и стандартного порта USB. Устройство позволяет проверить работу инжекторного двигателя и других электронных узлов автомобиля на экране монитора ПК при помощи свободно-распространяемого программного обеспечения. Английское слово Tuning означает «настройка», «регулировка», а чиптюнинг — это реальный способ повысить мощность двигателя и улучшить динамику автомобиля без каких-либо механических переделок двигателя, лишь за счет изменения программных параметров блока управления. Правда, такая возможность существует только для автомобилей, имеющих электронный блок управления двигателем. ИНСТАЛЛЯЦИЯ

При подсоединении устройства к разъему USB компьютера загорается красный светодиод. Устройство устанавливается как USB Serial Port. В меню «Диспетчер устройств» в подразделе «Порты LPT и COM» (см. рис. 1) можно изменить параметры устройства, если это необходимо (например, иногда требуется настроить скорость обмена порта).

по адресу [4]. Если же программа работает с USB-портом, то нужный драйвер загружается со страницы [5]. Там же, на странице [6], можно ознакомиться с подробными инструкциями по установке драйверов для всех типов ОС. Упаковка дополнительных цепей в корпусе микросхемы L9637D значительно ослабляет внешние наводки и повышает надежность работы. В итоге, по мнению специалистов автосервиса, новый адаптер значительно удобнее прежнего, более универсален при выборе диагностических программ и сможет обеспечить более качественную диагностику автомобилей, оснащенных разнообразными типами электронных блоков управления.

ОПИСАНИЕ

Внешний вид печатной платы и принципиальная электрическая схема устройства представлены на рисунках 2 и 3 соответственно. Немаловажное достоинство BM9213USB — минимум соединительных проводов и питание от шины USB. Блок подключается непосредственно к разъему USB-порта компьютера или ноутбука, а для соединения с автомобилем предусмотрен удобный и надежный клеммник под винтовые зажимы. Устройство обладает следующими особенностями: – полная защита выводов от любого замыкания (между собой, на корпус и на плюс аккумулятора);

ТЮНИНГ

85 П О С Л Е РА Б О Т Ы

Для работы с адаптером осталось подобрать кабель нужной длины и подключить устройство к ЭБУ. Известные проблемы подбора драйверов, с которыми часто сталкиваются при использовании подобных устройств, в данном случае решены разработчиком интерфейсного чипа — фирмой Future Technology Devices International. На официальном сайте этого производителя можно найти драйвер практически на любой случай использования адаптера. Так, имеются драйверы для всех операционных систем Microsoft, а также ОС Linux и Mac. С помощью драйвера виртуального COM-порта (Virtual COM Port, VCP) решается и проблема отсутствия COMпорта на большинстве современных ноутбуков. Драйвер VCP можно найти

Рис. 1. Установка адаптера на ПК

Рис. 2. Внешний вид BM9213-USB

Электронные компоненты №7 2010


Рис. 3. Принципиальная схема BM9213-USB

Рис. 4. Разводка печатной платы

Рис. 5. Расположение элементов Табл. 1. Технические характеристики устройства Параметр Источник питания Uп Ток потребления, мА Поддерживаемые интерфейсы Рис. 6. Нумерация контактов разъема OBD-II

П О С Л Е РА Б О Т Ы

86

– защита от перегрева; – защита от перенапряжений по входам К- и L-линий; – защита от ошибочного подключения цепей +12 В и корпуса. ПРИНЦИП РАБОТЫ

Взглянув на обратную сторону печатной платы BM9213-USB, мы увидим те самые чипы — последние новинки автомобильной электроники. Микросхема FT232BL отвечает за связь с компьютером через интерфейс USB. Второй чип с восемью выводами (L9637D) осуществляет обмен с ЭБУ. Линия К-L подключается через соединительный кабель к диагностической колодке автомобиля. Обмен данными с

WWW.ELCP.RU

Размеры устройства, мм

Значение разъем USB 20 K-line (ISO-9141) L-line (ALDL) 68×17

компьютером и питание адаптера осуществляется через порт USB. Напряжение 12 В с разъема линии К-L используется для питания цепей связи с блоком ЭБУ. Вывод К-line подключается к входу/выходу К-линии микросхемы DD2 (вывод 6). Вывод L-line разъема соединяется с выводом 8 микросхемы DD2. Первоначально L-линия была разработана как однонаправленная. Для использования дополнительной возможности, опроса ЭБУ, в схему адаптера включены два транзистора VT1 и VT2, позволяющие ЭБУ не только передавать, но и принимать данные по L-линии. Микросхема DD1 выполняет функции интерфейса между выводами RX и TX чипа DD2 и стандартным USB-портом.

О работоспособности устройства можно судить по трем распаянным на плате миниатюрным индикаторам. Светодиод VD3 служит для индикации питания. Он загорается после подключения к USBпорту. Светодиоды VD2 и VD3 указывают на процесс обмена данными между компьютером и ЭБУ. При передаче данных от ЭБУ к ПК загорается индикатор VD3, при передаче в обратном направлении — VD2. Все элементы надежно защищены от механических повреждений и электрических замыканий плотно обтягивающей плату термоусадочной изоляцией. Устройство выполнено на печатной плате размерами 68×17 мм. Расположение элементов и их соединение показано на рисунках 4 и 5, соответственно. Для подключения блока к автомобилю рекомендуется использовать стандартный 16-контактный диагностический разъем OBD-II (EOBD), который присутствует во всех последних модификациях ВАЗ. Нумерация контактов приведена на рисунке 6. Блок BM9213-USB прошел тестовые испытания в одной из автомастерских г. Обнинска, где сразу наряду с простотой подключения было отмечено удобство в эксплуатации. Заказать адаптер BM9213 компании «Мастер Кит» можно на сайте www. masterkit.ru либо по бесплатному телефону горячей линии «Мастер Кит»: 8-800-200-0934 ( 9:00 до 18:00, кроме выходных). Техническая консультация и вопросы практического применения устройства: тел. +7 495 234-7766, эл. почта: infomk@ masterkit.ru. ИСТОЧНИКИ ИНФОРМАЦИИ 1. www.sim.vistcom.ru. 2. www.maslov.com.ru. 3. www.autoelectric.ru. 4. www.ftdichip.com/Drivers/VCP.htm. 5. www.ftdichip.com/Drivers/D2XX.htm. 6. w w w . f t d i c h i p . c o m / D o c u m e n t s / InstallGuides.htm.


Контроллер уличного освещения ГАРАЛЬД ШАД (HARALD SCHAD)

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

Предлагаемая схема не содержит крупногабаритных элементов, таких как трансформаторы, и легко может быть скрыта в небольшом углублении в стене или размещена в незаметном месте. Вторым достоинством схемы является низкий ток утечки. Принципиальная схема контроллера приведена на рисунке 1. Контроллер запускается нажатием кнопки S1. На лампу через мостовой выпрямитель мгновенно поступает напряжение питания. Падение напряжения на диодах D5—D10 равно 4,2 В. Они питают схему задержки, построенную на основе двоичного счетчика CD4060. Когда ключ разомкнут, ток питания для лампы течет через триод Tri1. Оптопара в схеме управления симистром регистрирует момент, когда симистр становится активным. Фототранзистор n-p-n-типа внутри оптопары генерирует импульс сброса через транзистор Т1, запуская вывод 12 счетчика. Другими словами,

схема проработает целый цикл, даже если она будет перезапущена. Счетчик CD4060 работает с частотой сетевого сигнала. Высокий уровень на выводе 3 устанавливается каждые 213 отсчетов счетчика. Это примерно 2,5 минуты. Если этого времени недостаточно, можно добавить еще один каскад со счетчиком. Далее включается транзистор Т2, и шунтируется внутренний светодиод в IC2. В результате Tri1 лишается тока запуска, и лампа перестает светить. Схема остается без питания до следующего запуска. Устройство можно использовать только с резистивными нагрузками. Учитывая все изображенные на рисунке 1 элементы, особенно мостовой выпрямитель D5—D10, максимальная общая мощность подключенных нагрузок составляет 200 Вт. Как известно, нить накаливания перегорает чаще всего в момент вклю-

чения питания. С этой точки зрения схема безопасна, поскольку симистр Tri1 активируется через ключ. Наиболее вероятное последствие перегрузки — то, что один из диодов D1—D6 выйдет из строя. В прототипе схемы не использовались предохранители, поскольку их сложно менять. При необходимости их можно добавить. Также нелишним будет напомнить, что при работе с переменным током необходимо соблюдать правила техники безопасности и быть предельно осторожными во избежание травм. По вопросам приобретения образцов или сотрудничества с Elektor обращайтесь к Антону Денисову: anton@elcp.ru, тел.: (495) 741-77-01. Оформить бесплатную еженедельную подписку на новостную рассылку от издания Elektor можно на сайте www. elektor.com.

П О С Л Е РА Б О Т Ы

87

Рис. 1. Принципиальная схема устройства

Электронные компоненты №7 2010


Предусилитель с удаленным управлением МИХАЭЛЬ ХЕЛЦЛ (MICHAEL HOELZL), Германия

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

В схеме (см. рис. 1) используется цифровой потенциометр DS1882, предназначенный для звуковых устройств. Управление потенциометром осуществляется с помощью микроконтроллера R8C/13 через интерфейс I2C. Достоинствами схемы являются удаленное управление и отсутствие подвижных деталей. Управление схемой производится с помощью двух кнопок (увеличение и уменьшение громкости). Сигнал передается по ИК-каналу на приемник микро-

П О С Л Е РА Б О Т Ы

88

Рис. 1. Принципиальная схема устройства

WWW.ELCP.RU

контроллера. Программное обеспечение МК распознает коды RC5 и поддерживает следующие команды: увеличить и уменьшить громкость, отключить звук (mute). При желании можно добавить и другие. Звуковой сигнал поступает через разъем К2 или К3 и направляется на цифровой потенциометр через разделительные конденсаторы. Позиция движка задается через интерфейс I2C. На выходе потенциометра стоят два неинвертирующих ОУ с коэффициентом усиления, равным 5,7.

Конденсаторы в цепи ОС подбираются так, чтобы полоса частот сигнала составляла около 150 кГц в отсутствие нагрузки. Величина выходных развязывающих конденсаторов зависит от входного импеданса Rin последующего усилительного каскада. Для приблизительной оценки можно воспользоваться формулой C= 1/(100·Rin). В большинстве случаев указанный на рисунке 1 номинал 10 мкФ оказывается достаточным. Для развязки по питанию для ОУ и DS1882 используются конденсаторы 100 нФ. При желании можно использовать более дешевые ОУ NE5532 без заметного искажения сигнала. Микроконтроллер R8C имеет последовательный отладочный интерфейс и возможность загрузки кода программы в ПЗУ. Последовательный интерфейс подключается к разъему К1. Подключение к компьютеру осуществляется с помощью адаптера RS232TTL. Для подключения через USB-порт следует использовать кабель USB-TTL. Передаваемые ПК данные поступают на вывод RxD1 МК, а передаваемые микроконтроллером данные с вывода TxD1 поступают на вход RxD ПК. Разъем J2 предназначен для программирования МК. При этом вывод 28 (MODE) МК подключают к земле, а затем подают питание 5 В или производят сброс схемы нажатием кнопки S4. Для прошивки МК можно использовать бесплатную программу FlashSTA. Код программы для удаленного управления микроконтроллером RC5 можно бесплатно загрузить с сайта Elektor (www.elektor.com/071149). Протокол определяет 5-разрядный адрес для типа управляемого устройства (телевизор, видеомагнитофон и т.п.). Автор разработки использовал ТВ-карту марки Hauppauge, для которой зарезервирован адрес 00000. Список адресов находится в файле preamp.h. Заметим, что адреса указаны в коде Манчестер. ИК-датчик следует размещать вдали от люминесцентных и энергосберегающих ламп, поскольку они излучают значительную часть света в ИК-диапазоне.


Новые компоненты на российском рынке БЕСПРОВОДНЫЕ ТЕХНОЛОГИИ Новый отладочный набор для модулей WISMO 218/228 от Sierra Wireless

В продажу поступили новые уникальные отладочные наборы для модулей WISMO 218/228 производства компании Sierra Wireless. Основным преимуществом этих отладочных плат является то, что их конструкция позволяет устанавливать модули на отладочную плату без необходимости пайки. Это обеспечивает широкие возможности для специалистов, так как инженер, проводя тестирование, не будет привязан к модулям только из отладочного набора. Основная отладочная плата при этом не меняется, на ней смонтирована колодка, в которую устанавливаются модули. Отладочная плата имеет весь необходимый набор интерфейсов для полноценного тестирования и отладки модулей. WISMO 228 — беспроводной модуль, являющийся продолжением серии простых GSM/GPRS-модулей WISMO. Модуль выполнен в SMD-корпусе и имеет близкие технические характеристики с модемом WISMO 218. Оба модуля совместимы по расположению выводов и взаимозаменяемы. Командный интерфейс TCP/IP-стека WISMO 228 аналогичен интерфейсу беспроводного микропроцессора WMP и модулям, выполненных на его основе. Основные особенности модулей WISMO 218/228 представлены в таблице. Радио Четырехдиапазонный 800/900/1800/1900 Передача данных GSM, CSD, SMS, FAX, GPRS class 10 Цифровое управление До 11 GPIOs, 2 PWM, 1 SPI (для отладки) Интерфейс управления 1 UART Аналоговые интерфейсы 1 АЦП, 1 ЦАП Аудио интерфейс 1 аналоговый звуковой канал Кодеки HR, FR, EFR, AMR, quality VDA2A Корпус 46 краевых контактов, размер 25×25×2,8 мм Рабочий диапазон температур -40…85 °C Sierra Wireless www.sierrawireless.com

Дополнительная информация: см. «Элтех», ООО Microchip представляет новые сертифицированные решения для Wi-Fi и субгигагерцового диапазона

Компания Microchip представляет два новых беспроводных решения для Wi-Fi (IEEE802.11) и 868/915 МГц. Сочетание прогрессивных трансиверов, отладочных средств и программного обеспечения предоставляет разработчику современную платформу для беспроводных решений. Современные сертифицированные модули Wi-Fi MRF24WB0MA/MB имеют простой программный интерфейс и легко интегрируются с TCP/IP-стеком для 8-, 16- и 32-разрядных микроконтроллеров PIC. Эти малопотребляющие модули позволяют создавать недорогие решения класса «Интернет везде». Помимо этого, Microchip предоставляет бесплатный стек TCP/IP и утилиты для конфигурирования EZconfig и ZeroConfig для быстрого и простого освоения Wi-Fi. Новый трансивер MRF89XA имеет экстремально низкий ток потребления в режиме приема (3 мА). В состав трансивера входят выходной усилитель (12,5 дБм), малошумящий входной усилитель (113 дБм), буфер приема/передачи и обработчик пакетов. Это обеспечивает широкую зону радиоохвата и длительную работу батарейных беспроводных систем диапазона 868/915/950 МГц. Модули MRF89XA8A и MRF89XA9A на 868 и 915 МГц упрощают и ускоряют цикл разработки и позволяют снизить требования к печатным платам разрабатываемых изделий.

Кроме того, запущены в производства платы расширения MRF24WB0MA PICtail™/PICtail Plus Daughter Board (AC164136-4) для быстрого освоения Wi-Fiрешений. Платы MRF89XAM8A (AC164138-1) и MRF89XAM9A (AC164138-2) PICtail/PICtail Plus Daughter Board для субгигагерцового диапазона готовятся к производству в третьем квартале 2010 года. Для дополнительной информации можно посетить Дизайн-центр беспроводных решений Microchip http://www. microchip.com/get/A96T. Microchip Technology www.microchip.com

Дополнительная информация: см. Microchip Technology

ДАТЧИКИ Широкополосный трехосевой датчик вибрации с рабочей температурой до 125 °С от Analog Devices

Компания Analog Devices анонсировала новый трехосевой датчик вибрации с полосой измерений до 22 кГц. Новый датчик ADIS16223 представляет собой законченный модуль и включает в себя схему измерения ускорений до ±70 g и обеспечивает сохранение результатов и их последующий вывод через интерфейс SPI. Максимальная рабочая температура датчика 125°С. Датчик позволяет производить настройку встроенных цифровых и полосовых фильтров, конфигурировать внутренний буфер и детекторы аварий, устанавливать пороги срабатывания, проводить режим самотестирования. Пользователю также доступна опция конфигурирования серийного номера устройства и ID регистров. ADIS16223 выпускается в модульном исполнении с размерами 15 × 15 × 15 мм и отверстием на нижней стороне для крепления под винт с гибким ленточным кабелем. Основные применения: измерения и анализ вибрации в промышленности, детекторы перегрузок, тестовое и измерительное оборудование. Краткие технические характеристики: – диапазон измерения ускорений: ±70 g; – диапазон рабочих напряжений питания: 3,15…3,6 В – номинальный ток потребления: 43 мА; – полоса рабочих частот: до 22 кГц; – диапазон рабочих температур: –40…125 °С. Датчик доступен для заказа в образцах. Серийное производство запланировано на лето 2010 г. Analog Devices Inc. www.analog.com

Дополнительная информация: см. «Элтех», ООО

ИЗМЕРИТЕЛЬНЫЕ ПРИБОРЫ И СИСТЕМЫ Современные анализаторы фазовых шумов и девиации Аллана (ADEV) от Symmetricom

ОАО «Морион» (СанктПетербург) представляет современные анализаторы фазовых шумов и девиации Аллана (ADEV) компании Symmetricom (ранее Timing Solutions) моделей 5115A и 5120A, которые позволяют быстро и просто осуществлять точные измерения в диапазоне 1—30 МГц.

Электронные компоненты №7 2010

89


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

5115A 1—30 МГц

5120A 1—30 МГц

да

да

да

да

1×10-14 нет

1×10-15 да

–133 дБ/Гц

–145 дБ/Гц

–147 дБ/Гц

–175 дБ/Гц

до 5120A

Внутренний опорный генератор

Основным преимуществом данных приборов является конкурентоспособная цена при высокой точности и повторяемости измерений, а также возможность автоматизации измерений. ОАО «Морион» является официальным представителем компании Symmetricom на территории России. Symmetricom www.symmetricom.com

Дополнительная информация: см. «Морион», ОАО

ИСТОЧНИКИ ПИТАНИЯ DC/АС-инверторы мощностью 3000 Вт с UPS и возможностью подключения солнечных батарей от Mean Well

90

Компания Mean Well, выпускающая DC/ AC-инверторы серии TN/ TS (модели на 200, 400, 700, 1000, 1500 Вт), представила новый инвертор TN/TS-3000 мощностью 3000 Вт. Он предназначен для преобразования входного постоянного напряжения 12, 24 или 48 В в переменное синусоидальное напряжение 110/230 В (коэффициент гармоник выходного напряжения не более 3%) . Инвертор с номинальной мощностью 3000 Вт выдерживает кратковременные перегрузки 3450 Вт в течение 3 мин, 4500 Вт в течение 10 с, а также 6000 Вт максимум на 30 периодов. Серия TN обладает следующими дополнительными возможностями: подключение солнечных батарей, функция энергосбережения, возможность выбора приоритета питания нагрузки: солнечные батареи, бытовая сеть переменного тока, аккумуляторные батареи. Приборы TN/TS-3000 соответствуют международным стандартам безопасности и электромагнитной совместимости. Инверторы могут использоваться со всеми видами бытовых электроприборов, офисного и портативного оборудования, в транспортных средствах или там, где невозможно подключение к промышленной сети переменного тока или ее параметры не соответствуют норме. Особенности инверторов. – Индикатор режимов работы на передней панели. – Работа в режиме UPS. – Возможность подключения солнечных батарей (для TN-3000). – Диапазон рабочих температур: 0…40 °С (температура хранения -30…70 °С). – Отключение при разряде АКБ. – Габариты: 474×283×98 мм (TS/TN-3000). – Соответствие международным стандартам: EN 60950-1 (по электробезопасности); EN55022 класс A; 72/ 245/ CEE; 95/ 54/ CE, E-Mark (по уровню электромагнитных излучений);

WWW.ELCP.RU

EN61000-4-2,3,8; ENV50204 (по устойчивости к воздействию электромагнитных помех). – Защита от: переполюсовки на входе, снижения входного напряжения, короткого замыкания и перегрузки на выходе, перегрева. Mean Well www.meanwell.com

Дополнительная информация: см. «Элтех», ООО

МК И DSP

Компания Analog Devices расширяет линейку высокопроизводительных процессоров с плавающей запятой семейства SHARC

Компания Analog Devices представила новые устройства, расширяющие семейство SHARC — 32-разрядные цифровые сигнальные процессоры с плавающей запятой серий 2147x и 2148x. Благодаря оптимальному сочетанию производительности и цены, а также наличию встроенной памяти объемом до 5 Мбит, процессоры высокопроизводительного семейства 2148x и малопотребляющего семейства 2147x позволяют эффективно решать задачи для широкого спектра применений, в том числе для портативных устройств. Используя процессоры SHARC 2148x и SHARC 2147x, разработчики могут воспользоваться преимуществами полной совместимости всего семейства SHARC по коду, а также обширным пакетом средств разработки от Analog Devices для достижения нового уровня эффективности проектирования системы на базе самых производительных в отрасли 32-разрядных цифровых сигнальных процессоров с плавающей запятой. Процессоры серии SHARC 2148x, ранее предназначенные в основном для вычислений с плавающей запятой в специализированных многопроцессорных системах с внешней памятью, теперь стали более доступны для разработчиков, которые стремятся обеспечить высокоточные вычисления в устройствах массового спроса. Процессоры семейства SHARC 2148x обладают на 33% большей производительностью (400 МГц) и на 250% большим объемом встроенной памяти (5 Мбит), чем конкурирующие 32-разрядные цифровые сигнальные процессоры с плавающей запятой. Это делает семейство SHARC 2148x идеальным выбором для таких приложений, как высококачественное аудио и домашние кинотеатры, а также для современных промышленных систем, где требуются высокоточные вычисления с плавающей запятой на базе недорогого однокристального решения. Analog Devices Inc. www.analog.com

Дополнительная информация: см. AUTEX Ltd.

СВЕТОТЕХНИКА И ОПТОЭЛЕКТРОНИКА Светодиодные лампы от компании Everlight

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



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

надежность и долговечность своих светодиодов, и новые модули PP2M-1LYP позволят эффективно и качественно решать задачи основного освещения и вспомогательной подсветки. ProLight Opto www.prolightopto.ru

Дополнительная информация: см. «Политекс», ООО

ТЕХНОЛОГИЧЕСКИЕ МАТЕРИАЛЫ

Everlight Electonics www.everlight-electronics.ru

Дополнительная информация: см. «Политекс», ООО Новые источники питания для светодиодных изделий от UE Electronic

Надежность, долговременность работы, стойкость к деградации любого светодиода во многом зависит от параметров рабочего тока, поэтому источникам питания для светодиодных изделий уделяется повышенное внимание. Современные источникам питания для светотехники должны отвечать требованиям по КПД, осуществлять коррекцию коэффициента мощности, подавлять помехи и отвечать массогабаритным требованиям. Компания UE Electronic специализируется в области создания источников питания для светодиодной продукции. Надежность ее источников стабилизированного тока и напряжения подтверждена большим количеством сертификатов качества. Гальваническая развязка и корректоры мощности делают эти блоки питания безопасными как для светодиодов, так и других устройств электросети. Широкий выбор источников питания по мощности и конструктивному исполнению позволяет решать задачи энергообеспечения практически любых светильников, от мощных прожекторов до компактных трубчатых светодиодных ламп. UE Electronic www.ueelectronic.com

Дополнительная информация: см. «Политекс», ООО Светодиодные модули с высоким индексом цветопередачи от ProLight Opto

92

Одноплатные светодиодные сборки служат удобным инструментом для быстрого создания компактных и надежных современных источников света. Модуль стандартной конструкции позволяет смонтировать светильник в считанные минуты. Алюминиевая подложка платы обеспечивает возможность соблюдения оптимального теплового режима мощных светодиодов, что служит залогом их долгой работы при максимальной нагрузке. Топология печатных проводников выполнена с целью наиболее эффективного соединения модуля со стабилизированным источником тока. Компания ProLight Opto, известная своими мощными светодиодными кристаллами для применения в системах основного и вспомогательного освещения, кроме однокорпусных изделий выпускает также и их одноплатные сборки. Широкий класс данного вида продукции недавно пополнило семейство модулей PP2M-1LYP мощностью в 6, 9 и 12 Вт. Основной особенностью этих изделий служит их весьма высокий индекс цветопередачи, равный 92, что позволяет воспринимать цвета освещаемых объектов с высокой для источников искусственного света степенью достоверности. Типовая светоотдача этих модулей достигает 85 лм/Вт, что также является достаточно хорошим показателем для световых источников подобного класса. Компания ProLight Opto традиционно обеспечивает

WWW.ELCP.RU

Теплопроводящий силиконовый клей Liqui-Bond SA 2000 от Bergquist

Компания Bergquist представляет Liqui-Bond SA 2000 — высококачественный силиконовый клей, обладающий высокой теплопроводностью. Клей поставляется, как однокомпонентное жидкое вещество в тубах или контейнерах. Низкая вязкость клея позволяет наносить его очень тонким слоем в автоматическом режиме, что позволяет достичь очень высокой теплопроводности и прочности крепления. Опционально материал может поставляться с включенными в него микроскопическими стеклянными шариками, которые обеспечивают предел минимальной толщины клеевого слоя. Основные свойства и преимущества клея: – высокая теплопроводность: 2,0 Вт/м ∙ K; – устраняет необходимость механического крепежа; – низкая вязкость для удобства нанесения на поверхности; – сохраняет свои свойства при повышенных температурах. Bergquist www.bergquistcompany.com

Дополнительная информация: см. «Золотой шар»

AUTEX Ltd. 117997, Mосква, ул. Профсоюзная д.65 Тел.: (495) 334-7741, 334-9151 Факс: (495) 334-8729, 234-9991 info@autex.ru www.autex.ru Microchip Technology Тел.: (812) 325-5115 sale@gamma.spb.ru www.microchip.com «Золотой Шар» 125319, г. Москва, ул. Краснопролетарская, д.16 Тел.: (095) 234-01-10 Факс: (095) 956-33-46 mekko@zolshar.ru www.zolshar.ru «Морион», ОАО 199155, С.-Петербург, пр. Кима, д. 13а Тел.: (812) 350-75-72, (812) 350-9243 Факс: (812) 350-72-90, (812) 350-1559 sale@morion.com.ru www.morion.com.ru «Политекс», ООО 123308, Москва, Хорошевское ш., 43-В Тел./факс: (495) 755-91-15 box@radiodetali.ru www.radiodetali. ru «Элтех», ООО 198035, С.- Петербург, ул. Двинская, 10, к. 6А Тел.: +7 (812) 635-50-60 Факс: +7 (812) 635-50-70 info@eltech.spb.ru www.eltech.spb.ru


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.