Забыли пароль?
Главная / Библиотека / Статья: Современная система-на-кристалле - основа успешного продукта

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

Роман Пахолков, руководитель компании Promwad
Виталий Мозолевский, технический директор компании Promwad
Web: www.promwad.com, E-mail: info@promwad.com

Введение

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

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

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

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

Понятие система-на-кристалле

Типовая встраиваемая система построенная на базе SoC содержит различные наборы следующих интерфейсов и контроллеров:

  • системная шина и контроллеры шин 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, MemoryStick;
  • контроллер LCD STN/TFT/OLED;
  • контроллер матричной клавиатуры;
  • модули беспроводной передачи данных GSM/GPRS, CDMA;
  • модули приема сигналов спутниковых навигационных систем GPS, Glonass;
  • аппаратные поддержки плавающей точки, шифрования, DRM и т.п.;
  • аудио- и видео- интерфейсы.

Структурная схема типовой системы-на-кристалле

Рисунок 1. Возможности современных систем-на-кристалле

Классификация систем-на-кристалле

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

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

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

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

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

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

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

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

Класс этих кристаллов (см. Таблица 1) характеризуется низкой стоимостью (до 10USD), несложной схемотехникой (не требует применения внешней памяти, невысокие частоты обмена по шинам), возможностью реализации устройства на 2-слойных печатных платах (ПП), простотой монтажа, отладки и тестирования. Этот класс СнК произошел от микроконтроллеров и унаследовал их периферию (GPIO, UARTs, I2C, SPI, ADC/DAC, PWM), но получил более производительное ядро ARM7 и специфичные для СнК интерфейсы (USB, LCD, Ethernet).

Таблица 1. Класс СнК для бюджетных применений

NXP
LPC21xx, LPC22xx, LPC24xx
Atmel
AT91SAM7x
CirrusLogic
EPM 7309, EPM7311, EPM7312
ARM7TDMI ARM7TDMI ARM7TDMI
60-72 MГц 55 Мгц 74 МГц
LCD, SD/MMC
USB Host, Device, OTG
Ethernet 10/100
USB Device
Ethernet 10/100
LCD, Keypad&Touch cont
Digital Audio Interface
Multimedia Codec Port
ADC, DAC
UART, SPI/SSP, I2S/I2C
CAN
UART, SPI, SSC, TWI
CAN
IrDA
UART, SSI

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

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

Стоимость кристаллов (10-20USD), схемотехника средней сложности (требуется подключение микросхем памяти, реализация физического уровня интерфейсов), возможность реализации устройства на ПП 4-6 слоев.

Таблица 2. Класс СнК для устройств удаленного управления

RDC
R8610
Atmel
AT91RM9200, AT91SAM9x
CirrusLogic
EPM9301, EPM9302
x86 core ARM920, ARM926 ARM920
150 Мгц 180-240 МГц 166-200 МГц
2xEthernet MAC
USB 2.0, UARTs
LPC, PCI
Ethernet MAC
USB 2.0, UARTs
SPI, SSP, TWI, MCI
Ethernet MAC 10/100
USB 2.0, IrDA, ADC
SPI, I2S

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

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

Чипы этой группы стоят довольно дорого (20-30 USD), но оправдывают свое применение за счет высокой интеграции современных интерфейсов. В силу этого, разрабатываемая схемотехника средней сложности, печатную плату возможно выполнить в 6-8 слоев и в большинстве случаев потребуется монтаж BGA корпусов.

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

Freescale
MC9328MXL
Atmel
AT91SAM9261, AT91SAM9263
CirrusLogic
EPM9312(без акс.), EPM9307, EPM9315
ARM9 ARM9 ARM9
200-350 MГц 200 Мгц 200 Мгц
USB Host, Device Ethernet 10/100
USB Host, Device
Ethernet 10/100
USB Host, Device
LCD 16/18 bit
MPEG-4, H.263 en/dec
2D Accelerator

LCD 2000x2000

2D Accelerator

LCD 1024x768

2D Accelerator

Двухядерные (dual core) для обработки данных

Этот класс устройств (см. Таблица 4) идеально подойдет для применения в устройствах где требуется параллельная обработка данных или одновременный сбор информации с ее выводом. Устройства в которых могут потребоваться такие возможности могут быть абсолютно разными: от мультимедиа устройств до измерительной техники. К примеру, в измерительных приборах часто необходимо вести свертку данных с использованием DSP ядра и одновременный вывод информации на LCD и обработки клавиатуры для работы пользователя - с такой задачей прекрасно справиться OMAP5912 оснащенный ядрами DSP и ARM с общей системной шиной. Также процессоры этой группы подойдут для различных мобильных устройств с мультимедиа функциями, т.к. обладают низким энергопотреблением.

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

Таблица 4. Класс СнК для обработки данных с двухядерной архитектурой

TI
OMAP5912
AD
BlackFin BF561
ARM926 + TMS320C55x Dual BlackFin
192 МГц 600 МГц
USB 1.1 Host, Client, OTG
UART, SPI, IrDA, I2C
SDRAM Controller

UART, IrDA, SPI, SPORT
SDRAM Controller
Camera Interface
Keyboard Matrix Interface
HDQ/1-Wire Interface
MMC/SD, LCD Controller
 

Для спецвычислителей на основе ПЛИС

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

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

Таблица 5. Гибкие СнК на базе ПЛИС (CSoC, SoPC проекты)

Altera
Stratix, Cyclone
Xilinx
Spartan, Virtex
Nios, Nios2
ARM
8051 core, PIC
MicroBlaze, PicoBlaze
ARM
8051 core, PIC
PowerPC integrated
DSP Filtering, Modulation / demodulation
Encryption / decryption, Correlation
Signal generation, Synchronization
Video&Image Processing Video transport at Ethernet line rates (100/1000 Mbps)
2D Filter, 2D Median Filter
JPEG, JPEG2000, MPEG Decoder/Encoder

Услуги контрактной разработки при проектировании на базе СнК

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

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

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

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

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

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

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