Pegasus – оптимальное решение для цифровых рекламных дисплеев (Digital Signage)
Заказчик
Российская компания, разработчик цифровых рекламных дисплеев, информационных мониторов и других устройств Digital Signage.
Задача
Заказчик разработал инновационную платформу Pegasus для цифровых рекламных дисплеев и информационных мониторов. Требовалось обеспечить в операционной системе Linux полную поддержку всего набора микросхем и интерфейсов, установленных на плате Pegasus, а также внешних подключаемых модулей. Также необходимо было разработать встраиваемый дистрибутив Linux с набором приложений, демонстрирующих аппаратные возможности платформы.
Аппаратное обеспечение
Платформа Pegasus построена на базе процессора Samsung S3C6410, имеет 128 МБ оперативной памяти и 128 МБ NAND флеш-памяти. На платформе размещены совмещенный WiFi/Bluetooth-модуль, аудиокодек, предусмотрен разъем для подключения GSM/GPRS-модема. Возможно подключение дисплея с LVDS- либо RGB-интерфейсом с сенсорной панелью. Есть разъемы для подключения SD/MMC-карт, microSD, SIM-карты, USB-устройств, двух VGA-камер. Также на плате размещены два акселерометра и модуль NFC (RFID).

В основе платформы Pegasus – мобильный процессор Samsung S3C6410, за счет которого обеспечивается поддержка всего набора периферии и воспроизведение видеоконтента. S3C6410 был разработан специально для мобильных устройств с широкими мультимедийными возможностями и пониженным энергопотреблением. Он построен на 32-битном ядре ARM1176 и обладает встроенным мультиформатным кодеком (Multi-Format Codec).
Оперативная память – 2х512 Мб модуля 16-бит mobile-DDR, подключенных к процессору через 32-битный интерфейс с помощью встроенного контроллера памяти DRAM.
Память программ – 1 Гб модуль NAND-флеш, подключенный к процессору через 8-битный мультиплексированный интерфейс с помощью контроллера памяти NAND.
Аудио кодек WM8753 подключается к процессору по интерфейсу I2S, обеспечивает воспроизведение стереоаудиоконтента и подключение микрофона. За счет организации связи с GSM-модулем по интерфейсу PCM может быть обеспечена возможность организации голосовой связи.
Видеоинформация с контроллера дисплея процессора преобразуется из RGB-интерфейса в LVDS посредством SN75LVDS83-преобразователя и передается LCD-дисплею со встроенным контроллером LVDS.
Предусмотрено подключение сенсорной панели к контроллеру Touch screen процессора через четыре аналоговых входа.
Совмещенный WiFi/Bluetooth-модуль Murata SP-W8ME2 подключается к процессору с помощью интерфейсов SDIO и UART и обеспечивает следующие интерфейсы связи: 802.11 b/g + Bluetooth 2.1 + EDR.
GSM/GPRS-модемы в модульном исполнении (Wavecom Q2687, AnyDATA DTM-500A, AnyDATA DTP-601W) подключаются к процессору через UART- и USB-интерфейс. Могут обеспечивать голосовую связь с помощью микрофона при подключении к аудиокодеку.
На плате установлены: Ethernet-контроллер CS8900A, два акселерометра BMA150 с SPI-интерфейсом, 2 порта USB, SD- и microSD-коннекторы, модуль Microread NFC.
Микросхема управления питанием LTC3555 обеспечивает питание от USB, а также обеспечивает подключение батарейного питания с функцией зарядки.

|
Операционная система
|
Linux, Kernel 2.6.31rc4
|
|
Процессор
|
Samsung S3C6410
|
|
Память
|
Флеш NAND 128 Мб,
ОЗУ DDR 128 Мб
|
|
Аудиочипсет
|
Wolfson WM8753
|
|
USB
|
v 2.0 OTG FS, v 2.0 Host
|
|
Bluetooth
|
v 2.1, внутренняя антенна
|
|
Ethernet
|
RJ45, 10 Мбит/c
|
|
SD
|
SDHC-карты до 32 Гб, MicroSD до 16 Гб
|
|
Графическая подсистема
|
LVDS-интерфейс,
возможность подключения экранов от 4″ до 80″
|
|
Криптографические функции
|
Аппаратная поддержка, генерации симметричных ключей, функций хеширования
|
|
GSM/CDMA
|
GSM850, GSM900, GSM1800
|
|
CDMA
|
CDMA-450. 1xEV-DO
|
|
Wifi
|
802.11b,g (до 54 Мбит/с)
|
|
Поддержка камеры
|
CMOS-датчик до 3 Мп
|
|
NFC
|
Поддержка стандартов ISO 14443 A&B, ISO 15693, ISO 18092, дальность работы до 10 см
|
Программная платформа
Заказчику требовалась быстро конфигурируемая программная платформа с возможностью установки дополнительного программного обеспечения на уже функционирующие рекламные дисплеи на объектах. В качестве такой Linux-системы была выбрана OpenEmbedded – сборочная система и дистрибутив для встраиваемых решений на базе Linux. OpenEmbedded обладает рядом преимуществ:
- широкий спектр поддерживаемых архитектур процессоров;
- ориентация на встраиваемые применения;
- поддержка пакетной системы (opkg);
- централизованное управление сборкой и конфигурацией;
- большое количество поддерживаемого ПО (более 1500 пакетов);
- большое сообщество разработчиков;
- поддержка набора различных дистрибутивов Linux;
- лёгкое расширение и доработка под разные цели;
- возможность создания пакета для разработки (SDK);
- возможность работы разработчика на любом дистрибутиве Linux.
Базовым дистрибутивом Embedded Linux был выбран Angstrom-2008.1, предоставляемый сборочной системой OpenEmbedded и имеющий следующие достоинства:
- поддержка пакетной системы (opkg);
- готовый набор загрузочных скриптов;
- оптимальная комплектация устанавливаемого ПО;
- стабильность устанавливаемого ПО.
В качестве ядра Linux была использована версия 2.6.31-rc4 с многочисленными доработками поддержки процессора S3C6410 и мультимедийной периферии.
Решение
В ходе выполнения проекта была обеспечена поддержка всего набора микросхем и интерфейсов, установленного на плате Pegasus, а также поддержка внешних подключаемых модулей.
В частности был выполнен следующий объем работ:
- создана сборочная система на базе OpenEmbedded;
- доработан драйвер USB Host, USB OTG;
- доработан драйвер шины SPI;
- разработан драйвер акселерометра BMA150;
- разработана универсальная система обновления прошивки для решений Digital Signage, устойчивая к сбоям и отключению питания;
- доработаны видеодрайверы для поддержки режимов высокого разрешения;
- доработан медиапроигрыватель MPlayer c поддержкой декодирования видео MPEG4/H.264 при помощи встроенного мультиформатного кодека;
- разработаны драйверы управления питанием для микросхем LTC3555 и DS2745;
- создан универсальный дистрибутив на базе Angstrom-2008.1 с автоматической настройкой следующих подсистем: WiFi, WiMax, CDMA, GPRS, SD, Ethernet, Bluetooth;
- осуществлен переход с ядра версии 2.6.21 на 2.6.31;
- создан пакет разработки (Software Development Kit) для сторонних разработчиков уровня приложений систем Digital Signage;
- реализован набор приложений, демонстрирующих возможности аппаратной платформы;
- реализована поддержка внешнего CDMA/EVDO-модема;
- реализована поддержка внешнего GSM/GPRS/EDGE-модема;
- реализована поддержка внешнего WiMax-модуля;
- реализована поддержка двух видеокамер на внешнем модуле.
|
Средства проектирования
|
GNU Toolchain (gcc, gdb)
|
|
Интерфейсы и Технологии
|
USB2.0 (Host, OTG), Wi-Fi, S3C6410, OpenEmbedded, Linux Device Drivers
|
|
Языки программирования
|
C, Bash
|
|
Средства управления проектом
|
Trac, SVN
|
|
Трудозатраты
|
240 человеко-дней
|
|
Срок выполнения проекта
|
6 месяцев
|
|