Экосистема от Microchip: комплексный подход к разработке

11 января

управление питаниемуправление двигателемавтоматизацияуниверсальное применениеMicrochipстатьяMPLAB XCuriosityXplainedAtmel Studio

Александр Русу (г. Одесса)

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

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

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

Особенности реализации проектов в области электроники

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

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

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

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

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

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

Аппаратная платформа Microchip

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

В качестве аппаратной основы для макетов небольших устройств можно использовать недорогие и простые в изучении отладочные платы Curiosity Development Boards (рисунок 1), к которым можно без каких-либо переходников подключить любую из сотен плат расширения Click Boards (рисунок 2), производимых одним из многочисленных партнеров Microchip – компанией MikroElektronika. Это позволит буквально за считанные минуты добавить в разрабатываемое устройство нужный функционал и протестировать его в процессе работы.

Рис. 1. Пример платы Curiosity Development Boards

Рис. 1. Пример платы Curiosity Development Boards

Рис. 2. Пример плат расширения Click Boards производства компании MikroElektronika: а) OLED C click; б) THUMBSTICK click

Рис. 2. Пример плат расширения Click Boards производства компании MikroElektronika: а) OLED C click; б) THUMBSTICK click

Для более сложных проектов лучше использовать отладочные платы серии Explorer Development Boards (рисунок 3), отличительной особенностью которых является возможность смены микроконтроллера путем установки в соответствующий разъем платы с уже распаянной необходимой микросхемой (Plug-in Module, PIM). На платах Explorer Development Boards установлен набор стандартных устройств, необходимых для разработки и отладки программного обеспечения микроконтроллера, в том числе программатор-отладчик, стабилизаторы напряжения питания, а также узлы, часто используемые во многих приложениях: кнопки, потенциометры, светодиодные индикаторы, жидкокристаллические дисплеи и наиболее распространенные интерфейсы (RS-232, USB и прочие). Специализированные функции в проекты на основе Explorer Development Boards можно добавить, установив в соответствующие разъемы модули Click Boards или дочерние платы PICtail Plus Daughter Boards (рисунок 4). Если же число необходимых периферийных модулей превышает количество штатных разъемов плат Explorer Development Boards, можно воспользоваться специализированными платами PICtail Plus Expansion Board, позволяющими в один разъем отладочной платы установить несколько плат расширения.

Рис. 3. Отладочная плата EXPLORER 16/32 Development Board (слева) и модуль PIM с предустановленным микроконтроллером (справа)

Рис. 3. Отладочная плата EXPLORER 16/32 Development Board (слева) и модуль PIM с предустановленным микроконтроллером (справа)

Рис. 4. Пример дочерней платы PICtail Plus Daughter Boards (слева) и плата расширения PICtail Plus Expansion Board (справа)

Рис. 4. Пример дочерней платы PICtail Plus Daughter Boards (слева) и плата расширения PICtail Plus Expansion Board (справа)

Для проектов на основе микросхем с ядром AVR или SAM-микроконтроллеров можно использовать специализированные отладочные платы Xplained (рисунок 5), которые могут быть как универсальными, то есть содержащими только микросхемы с минимальным набором внешних компонентов, так и специально разработанными для конкретной прикладной задачи.

Рис. 5. Внешний вид плат Xplained

Рис. 5. Внешний вид плат Xplained

Опорные проекты и демонстрационные платы

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

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

Рис. 6. а) опорный проект Microchip для разработки солнечного инвертора Grid-Connected Solar Microinverter Reference Design; б) демонстрационная плата ингалятора Vibrating Mesh Nebulizer Demonstration Board

Рис. 6. а) опорный проект Microchip для разработки солнечного инвертора Grid-Connected Solar Microinverter Reference Design; б) демонстрационная плата ингалятора Vibrating Mesh Nebulizer Demonstration Board

На момент написания статьи компания Microchip предлагает несколько сотен опорных проектов и демонстрационных плат, сгруппированных по почти 50-ти самым современным категориям приложений, начиная от систем управления двигателями и заканчивая узлами для создания интерфейсов с сенсорным управлением. Все предлагаемые платы и наборы совместимы с остальными элементами экосистемы Microchip и поставляются с исходными кодами программного обеспечения, что позволяет быстро адаптировать программную часть проекта под конкретную задачу. Следует отметить, что компания Microchip предлагает на только готовые узкоспециализированные решения, ориентированные на использование в макетах и прототипах, но и заготовки, предназначенные для общего ознакомления с популярными технологиями. Например, для изучения принципов управления бесколлекторными электродвигателями можно использовать платы из комплекта BLDC High Voltage Motor Control Kit, а для ознакомления с технологией цифрового управления электропитанием – стартовый набор Digital Power Starter Kit (рисунок 7).

Рис. 7. Стартовый набор для изучения технологии цифрового управления питанием Digital Power Starter Kit

Рис. 7. Стартовый набор для изучения технологии цифрового управления питанием Digital Power Starter Kit

Платформа для создания программного обеспечения

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

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

Базовой средой для создания программного обеспечения для микроконтроллеров Microchip является полнофункциональная интегрированная среда разработки MPLAB X (рисунок 8), созданная на основе свободно распространяемой платформы с открытым исходным кодом NetBeans, разработанной компанией Apache Software Foundation. Использование платформы NetBeans позволило значительно расширить функциональность среды разработки за счет использования встроенных дополнительных возможностей, в число которых входит система управления версиями, поддержка плагинов, написанных сторонними разработчиками, и многое другое.

Рис. 8. Рабочее окно IDE MPLAB X

Рис. 8. Рабочее окно IDE MPLAB X

Интегрированная среда разработки (Integrated Development Environment, IDE) MPLAB X предназначена для использования на персональных компьютерах, работающих под управлением операционных систем Windows, Mac OS и Linux, и поддерживает все модели микроконтроллеров с ядрами PIC и dsPIC, последние из которых специализированы для цифровой обработки сигналов (Digital Signal Controllers, DSC). Кроме этого, с помощью IDE MPLAB X можно разрабатывать программное обеспечение для большого количества микроконтроллеров на основе ядер AVR и SAM.

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

В IDE MPLAB Xpress реализовано большинство наиболее популярных функций, существующих в MPLAB X. Она также актуальна для работы с большинством микроконтроллеров, поддерживаемых базовой IDE, что позволяет быстро мигрировать между этими двумя системами. В перечень аппаратных средств, поддерживаемых MPLAB Xpress, входят специально разработанные для этой платформы платы MPLAB Xpress Evaluation Boards, достаточно большое количество плат Curiosity Development Boards, последние версии плат Explorer Development Boards (Explorer 16/32 Board), а также популярный программатор-отладчик PICkit 4.

Благодаря доступности большого количества готовых проектов и примеров исходного кода, а также возможности подключить к проекту программистов, расположенных в любой точке земного шара, IDE MPLAB Xpress является идеальной средой для начинающих специалистов, которые делают только первые шаги в освоении искусства создания программного обеспечения для микроконтроллеров (рисунок 9).

Рис. 9. Рабочее окно MPLAB Xpress

Рис. 9. Рабочее окно MPLAB Xpress

Одной из сложностей написания программного обеспечения для микроконтроллеров, отнимающей достаточно большое количество времени, является настройка их аппаратных узлов, требующая скрупулезного изучения технической документации. Для решения этой проблемы компания Microchip разработала бесплатный графический конфигуратор MPLAB Code Configurator (MCC), который можно интегрировать в IDE MPLAB X и MPLAB Xpress (рисунок 10). С помощью этого инструмента можно за несколько минут в графическом режиме сконфигурировать нужным образом аппаратную часть достаточно большого количества как микроконтроллеров производства Microchip, так и плат расширения Click boards производства MikroElektronica, что позволяет получить готовый к использованию конфигурационный код на языке С, который остается только скопировать в нужный проект.

Рис. 10. Главное окно программы MPLAB Code Configurator

Рис. 10. Главное окно программы MPLAB Code Configurator

Для сложных проектов на основе 32-разрядных микроконтроллеров с ядрами PIC и SAM наилучшим образом подходит специализированный фреймворк MPLAB Harmony (рисунок 11), ключевой особенностью которого является исключительная гибкость за счет возможности интеграции сторонних программных модулей, в том числе и операционных систем реального времени (Real-time Operating System, RTOS). Использование MPLAB Harmony позволяет максимально использовать все возможности объектно-ориентированного программирования, что, в совокупности с наличием редактора WYSIWYG и графического конфигуратора MPLAB Harmony Graphics Suite (MHGS), позволяет значительно сократить время на разработку приложений подобного уровня.

Рис. 11. Главное окно фреймворка MPLAB Harmony

Рис. 11. Главное окно фреймворка MPLAB Harmony

При создании проектов, критичных к скорости выполнения или размеру программного кода, рекомендуется использовать специализированные компиляторы MPLAB XC Compilers, поддерживающие все 8-разрядные микроконтроллеры PIC и AVR (версия XC8), все 16-разрядные микросхемы PIC и dsPIC (версия XC16), а также все 32-разрядные системы PIC и SAM (версия XC32). Использование компиляторов MPLAB XC Compilers даже по бесплатной лицензии позволяет ощутимо повысить скорость выполнения ассемблерного кода и уменьшить его размер, однако наибольшего эффекта можно достичь при покупке лицензии PRO. При этом следует учесть, что срок действия лицензии PRO равен всего одному месяцу, что позволяет активировать ее лишь на то время, когда она действительно необходима, например, на заключительных этапах проекта. Это дает возможность сократить расходы на разработку за счет исключения необходимости приобретать более долгосрочные лицензии для программных инструментов, которые большую часть времени использоваться не будут.

Для создания программного обеспечения микроконтроллеров на основе ядер AVR и SAM наилучшим образом подходит специализированная платформа Atmel Studio (рисунок 12), интегрированная с онлайн-магазином Atmel Gallery, в котором доступно огромное количество дополнительных модулей и готовых проектов, разработанных как компанией Microchip, так и сторонними разработчиками. Для работы с этими микроконтроллерами также предназначен бесплатный веб-инструмент Atmel START (рисунок 13), с помощью которого можно оперативно ознакомиться со всеми возможностями микроконтроллеров Atmel, а также получить информацию о наличии драйверов, библиотек исходного кода, доступных сред разработки и других инструментов, необходимых для работы с данными микроконтроллерами.

Рис. 12. Главное окно IDE Atmel Studio

Рис. 12. Главное окно IDE Atmel Studio

Рис. 13. Главное окно конфигуратора Atmel START

Рис. 13. Главное окно конфигуратора Atmel START

Библиотеки примеров исходного кода

На разработку качественного программного кода может уйти намного больше времени, чем на разработку и сборку аппаратной части устройства, поэтому компания Microchip не могла оставить без внимания и эту стадию разработки проекта. На сегодняшний день в онлайн-библиотеках компании Microchip содержится огромное количество программных модулей, разработанных и протестированных профессиональными программистами. Примерами таких ресурсов являются библиотека для разработки приложений, использующих протоколы TCP/IP (MPLAB Harmony TCP/IP Stack) и библиотека для создания USB-устройств (MCC USB Stack). Библиотека MPLAB Harmony TCP/IP Stack может стать прекрасной основой для приложений, подключаемых к локальным вычислительным сетям, поскольку она содержит уже готовые реализации многих стандартных функций, интерфейсов и протоколов, например, HTTP, SMTP, SNMP, Telnet, TFTP и многих других, а библиотека MCC USB Stack содержит уже готовые программные модули для реализации USB-устройств различных типов и классов, которые можно легко интегрировать с RTOS.

Поддержка разработчиков на всех этапах проектирования

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

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

Удобный инструмент для скорейшего выхода на рынок

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

•••

Наши информационные каналы

О компании Microchip

Microchip Technology Inc. - ведущий поставщик микроконтроллеров, схем смешанного сигнала, аналоговых полупроводников и решений на основе флэш-IP. Решения Microchip обеспечивают разработку с низким уровнем риска, снижают общую стоимость системы и сокращают время выхода на рынок для тысяч различных клиентских приложений по всему миру. Штаб-квартира в Чандлер, штат Аризона. Продукция Microchip обладает высокими качеством и уровнем технической поддержки. Продукция Microchip обладает высоким уровн ...читать далее

Товары
Наименование
DM320101 (MCRCH)
MIKROE-1585 (MIKROEL)
MIKROE-1627 (MIKROEL)
DM240001-2 (MCRCH)
ATMEGA328PB-XMINI (MCRCH)
ATTINY104-XNANO (MCRCH)
DM330017-2 (MCRCH)
DM330017-3 (MCRCH)
DM330017 (MCRCH)