Вход |  Регистрация
 
 
Время электроники Вторник, 23 июля
 
 


Это интересно!

Новости

Россиян перестанут сажать за GPS-трекеры и якобы шпионские фотокамеры


Обзоры, аналитика


Интервью, презентации

Ранее

Как достичь скорости 1 триллион операций в секунду с плавающей запятой на FPGA?

До настоящего времени практически все системы обработки сигнала на базе FPGA использовали операции с фиксированной запятой. В статье показано, что основанная на последних достижениях технология высокопроизводительной обработки сигнала с плавающей запятой может быть реализована с помощью FPGA. Описывается методика реализации системы обработки сигнала с плавающей запятой на одном кристалле FPGA, которая сегодня не только осуществима, но и позволяет достичь скорости обработки сигнала 1 терафлопс (1 триллион операций в секунду). Статья представляет собой перевод [1].

Программируемая логика Actel

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

Углубление в нано или Softsilicon?

В настоящее время расширение функционала устройства и улучшение его характеристик достигается увеличением степени интеграции кристалла. Это не единственный и не самый перспективный путь развития технологий. В статье описана одна из возможных альтернатив — использование технологии Softsilicon.

Реклама

По вопросам размещения рекламы обращайтесь в отдел рекламы

Реклама наших партнеров

 

10 февраля

Программируемые СнК преодолевают ограничения ASIC и МК

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



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

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

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

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

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

Платформой, которая способна полностью заполнить на рынке нишу между ASIC и МК, является программируемая система на кристалле. Разработки в этой области ведет ряд мировых производителей, которые специализируются на устройствах, интегрирующих аналоговые и цифровые блоки на одном кристалле. Компания Cypress Semiconductor относится к числу пионеров в области создания ПСнК с аппаратными ядрами и использует для обозначения таких систем термин PSoC (Programmable System on Chip).

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

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

PSoC компании Cypress Semiconductor в основе своей архитектуры имеют встроенные аппаратные ядра (в том числе ARM-процессор и память), а также программируемые аналоговые и цифровые блоки.

Программируемые системы на кристалле имеют три основных преимущества:

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

– Программируемость аналоговых функций. Возможность интеграции аналоговых компонентов, таких как усилители, фильтры, АЦП, преобразователи сигналов и др.

– Гибкость. Традиционное преимущество программируемых устройств — постоянная возможность внесения изменений в систему, параллельная работа над проектом, разработка прототипа и подготовка производства — ускоряет вывод продукта на рынок.

ARM-архитектура — де-факто стандарт для встраиваемых систем

В течение многих лет ARM-архитектура была де-факто стандартом на рынке встраиваемых систем, подобно тому как Intel доминировала на рынке ПК. После появления несколько лет назад семейства процессорных ядер Cortex-M сейчас трудно найти микроконтроллер, не использующий ARM-процессор. Справедливость этого подтверждается той поддержкой, которую получает ARM-технология в области встраиваемых систем. Поставщики IP-блоков для СнК рассматривают в качестве наиболее приоритетной архитектуры для своих новых продуктов шину AMBA от ARM. Компании, разрабатывающие ОС реального времени (ОСРВ), в первую очередь включают поддержку ARM-процессоров в своих системах. Таким образом, любая платформа, которая рассчитывает на успех на рынке программируемых устройств, должна использовать процессорное ядро ARM. Причина этого заключается в том, что для исключения потерь времени при проектировании СнК разработчикам необходимо предложить хорошо известную им платформу, включая архитектуру центрального процессора, компиляторы, интегрированную среду разработки, отладчики, ОСРВ и комплект микропрограммного обеспечения.

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

Реализация аналоговых функций в программируемых устройствах

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

При создании цифровых функций следует ввести необходимый функциональный блок в проект, развести соответствующие линии ввода/вывода, проверить синхронизацию.

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

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

Примером инструмента разработки, который выполняет конфигурирование аналоговых блоков для программируемой платформы, является PSoC Creator компании Cypress Semiconductor. PSoC Creator поддерживает устройства с архитектурой PSoC 3 и PSoC 5 с ARM-процессором с помощью интерфейса ввода описания схемы, который позволяет пользователю конфигурировать выбранные компоненты с помощью редакторов параметров.

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

Интегрирование аналоговой и цифровой частей проекта с помощью программного средства

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

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

Разработчики МК выполняют проектирование системы в интегрированной среде разработки (Integrated Development Environment — IDE), которая объединяет редактирование исходного кода, управление проектом, а также инструменты компилирования и отладки в единой интегрированной системе. То же самое, по сути, необходимо и для проектирования ПСнК, в которых интегрируются аналоговые и цифровые блоки.

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

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

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

Инструмент, который генерирует API для системных ресурсов, таких как тактовые сигналы, прерывания, DMA и линии ввода/вывода, позволяет существенно сэкономить время проектирования и делает разработку системы на базе программируемого устройства даже проще, чем для систем на базе МК и ASIC. В сочетании с популярными для встраиваемых систем процессорами с ARM-ядрами интегрированный инструмент ввода схем представляет собой привлекательную альтернативу для всего спектра встраиваемых проектов.

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

Рис. 1. Реализация с помощью PSoC Creator схемы таймера превышения напряжения

Литература

1. Mark Saunders.Bridging the gap between custom ASICs and ARM-based MCUs//www.eetimes.com.

2. Steve Bitton. Cypress looks to change the game with new PSoC product line and design software//www.eetimes.com.

3. Aaron GL Podbelski. PRODUCT HOW-TO: Cost Reduction Through Precision Analog//www.eetimes.com.

4. Toni McConnel. PSoC 5 dev platform has new IDE, ARM Cortex-M3//www.eetimes.com.



Вы можете скачать эту статью в формате pdf здесь.
Оцените материал:

Автор: Илья Петров, технический консультант, ИД «Электроника»



Комментарии

0 / 0
0 / 0

Прокомментировать





 

Горячие темы

 
 




Rambler's Top100
Руководителям  |  Разработчикам  |  Производителям  |  Снабженцам
© 2007 - 2019 Издательский дом Электроника
Использование любых бесплатных материалов разрешено, при условии наличия ссылки на сайт «Время электроники».
Создание сайтаFractalla Design | Сделано на CMS DJEM ®
Контакты