Современная система на кристалле – основа успешного продукта

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

Рынок предъявляет всё новые требования к электронным продуктам, как по функциональным, так и по техническим параметрам. Чтобы победить в острой конкурентной борьбе, современные электронные устройства должны иметь:

  • уникальный набор функций
  • развитый пользовательский интерфейс
  • высокую производительность базовой платформы, позволяющую модернизировать устройство
  • встраиваемую операционную систему
  • низкое энергопотребление
  • встраиваемые цветные ЖК-дисплеи с высоким разрешением
  • возможность подключения к сети Ethernet, в том числе и с использованием PoE
  • возможность хранения больших объёмов данных в энергонезависимой памяти и на внешних носителях
  • полный набор стандартизованных проводных и беспроводных интерфейсов

Реализовать эти требования в одном электронном устройстве можно с помощью систем на кристалле (см. рисунок). Сегодня на рынке представлено большое разнообразие готовых кристаллов, а также решений, интегрируемых на ПЛИС, от ведущих мировых производителей: Intel, Freescale, Texas Instruments, Marvell, Analog Devices, Altera, Atmel, NXP, Xilinx, Cirrus Logic, RDC, Cypress, Sharp, NetSilicon и др. Проектирование устройств на базе таких кристаллов открывает новые возможности.

ЧТО ТАКОЕ «СИСТЕМА НА КРИСТАЛЛЕ»

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

  • системную шину и контроллеры шин LPC/ISA, PCI, PCMCIA
  • контроллеры управления NOR/ NAND Flash, SDRAM, SRAM, DDR
  • контроллер Ethernet
  • последовательные интерфейсы UART, SPI/SSP/uWire, RS-232, RS-422/485, CAN
  • беспроводные интерфейсы WiFi/ IEEE802.11, ZigBee, Bluetooth, IrDA
  • интерфейсы Flash-карт памяти SD/MMC, CompactFlash и Memory-Stick
  • контроллер ЖКИ (STN/TFT/OLED)
  • контроллер матричной клавиатуры
  • модули беспроводной передачи данных GSM/GPRS, CDMA и др.
  • модули приёма сигналов спутниковых навигационных систем GPS и Glonass
  • аппаратную поддержку вычислений с плавающей точкой, шифрования, DRM и т.п.
  • интерфейсы для звуковых и видеосигналов

КЛАССИФИКАЦИЯ СИСТЕМ НА КРИСТАЛЛЕ

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

  • по процессорному ядру: ARM, MIPS, PowerPC, x86 и др.
  • по производительности ядра и частоте системной шины
  • по набору интерфейсов
  • по стоимости кристалла и его минимальной обвязки
  • по позиционированию кристалла производителем

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

Классификация СнК по применению

Стандартные решения могут быть реализованы кристаллами СнК из следующих классификационных групп:

  • для бюджетных применений
  • для устройств удалённого управления
  • для терминальных устройств
  • двухъядерные (dual core), предназначенные для обработки данных
  • для специализированных вычислителей на основе ПЛИС

Для бюджетных применений

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

Кристалл из этой группы (см. табл. 1) характеризуется низкой стоимостью (до 10 долл. США), несложной схемотехникой конечного продукта (не требует применения внешней памяти, имеет невысокие частоты обмена по шинам), возможностью реализации устройства на двухслойных печатных платах (ПП), простотой монтажа, отладки и тестирования. Данные СнК произошли от микроконтроллеров и унаследовали их периферию (GPIO, UART, I2C, SPI, АЦП/ЦАП, ШИМ), но получили более производительное ядро ARM7 и специфичные для СнК интерфейсы (USB, ЖКИ, Ethernet).

СнК для устройств удалённого управления

Кристаллы этой группы (см. табл. 2) целесообразно применять в изделиях, реализующих удалённое управление – с использованием Ethernet или беспроводных интерфейсов – в устройствах сбора данных, серверах контроллерного оборудования, сетевом оборудовании (точки доступа, шлюзы, маршрутизаторы). Высокопроизводительное ядро позволяет использовать операционные системы с поддержкой файловых систем, стека протокола TCP/IP, FTP-сервера и web-сервера. Стоимость кристаллов составляет 10…20 долл.; схемотехника – средней сложности (требуется подключение микросхем памя ти, реализация физического уровня интерфейсов), возможна реализация устройства на ПП с 4 – 6 слоями.

СнК для терминальных устройств

Кристаллы этой группы (см. табл. 3) подходят для электронных устройств со встроенными ЖК-матрицами большого разрешения. Конечным продуктом могут быть планшетные и панельные компьютеры, измерительные приборы, бортовые компьютеры с экранами высокого разрешения, медицинские мониторы и терминалы, информационные киоски и панели. Микросхемы этой группы стоят довольно дорого (20…30 долл.), но оправдывают своё применение за счёт высокой степени интеграции современных интерфейсов. Поэтому разрабатываемая схемотехника имеет среднюю сложность: печатную плату можно выполнить в 6 – 8 слоев, и в большинстве случаев потребуется монтаж корпусов типа BGA.

Двухъядерные СнК для обработки данных

Микросхемы этой группы (см. табл. 4) идеально подойдут для применения в устройствах, где требуется параллельная обработка данных или сбор информации с её одновременным выводом. Устройства, в которых могут потребоваться такие возможности, бывают абсолютно разными: от мультимедиа до измерительной техники. К примеру, в измерительных приборах часто необходимо выполнять свёртку с использованием ядра ЦПОС и одновременный вывод информации на ЖКИ, а также обработку сигналов клавиатуры. С такой задачей успешно справится процессор OMAP5912, оснащённый ядрами DSP и ARM с общей системной шиной. Микросхемы этой группы подойдут для различных мобильных устройств, т.к. обладают низким энергопотреблением. Стоимость и другие характеристики СнК этой группы схожи с характеристиками предыдущей группы, однако существенным отличием является работа с двухъядерной архитектурой при написании и отладке встраиваемого программного обеспечения.

СнК для специализированных вычислителей на основе ПЛИС

Безусловно, среди разработчиков популярны гибкие решения на базе ПЛИС (см. табл. 5), но их применение оправдано при реализации алгоритмов параллельной обработки данных, скоростных алгоритмов обработки потоков, совокупности уникальных или специфических интерфейсов, интеграции различных ядер и алгоритмов цифровой обработки сигналов в одном устройстве. Применение ПЛИС усложняет процесс разработки и повышает стоимость конечного продукта. Большим преимуществом ПЛИС является реконфигурируемость, что позволяет даже небольшой проектной фирме иметь 1 – 2 платформы и строить на их основе разнообразные изделия.

УСЛУГИ КОНТРАКТНОЙ РАЗРАБОТКИ ПРИ ПРОЕКТИРОВАНИИ НА БАЗЕ СНК

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

  • выбрать архитектуру
  • подобрать элементную базу с учётом её стоимости, доступности и совместимости
  • разработать принципиальную схему с большим числом связей
  • трассировать печатную плату с высокой плотностью монтажа
  • верифицировать схему и трассировку ПП
  • разместить производство опытных образцов в надёжной фирме
  • осуществить первичный «подъём» (bring-up) платы
  • разработать тестовое ПО и при необходимости дополнительное оборудование, а также монитор ПО
  • подготовить полный пакет поддержки аппаратуры (BSP), который включает в себя: первичный загрузчик с подпрограммами тестирования периферии и памяти, операционную систему с драйверами интерфейсов и устройств, установленных на плате, системные утилиты, автоматические скрипты и пакеты сборки ПО
  • разработать прикладное и пользовательское ПО, а также интерфейсы пользователя
  • провести интеграционное тестирование продукта
  • подготовить конструкторскую документацию и инструкции по установке, прошивке, тестированию и программированию устройства
  • выпустить установочную партию изделий и подготовить продукт к серийному выпуску (отдельный трудоёмкий этап работы)

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

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

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

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

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