Важным этапом развития современного телевидения является переход к цифровым форматам вещания. Ожидается, что к концу 2012 года принимать программы в новом цифровом формате вещания сможет не менее 80% населения России, а в 2015 году планируется окончательный переход на цифровое вещание и прекращение аналогового [1]. Чтобы реализовать эти планы, потребуются десятки миллионов цифровых телевизионных приставок. Специалисты ЗАО НТЦ "Модуль" создали специальную аппаратно-программную платформу (АПП), которая позволяет существенно ускорить разработку элементной базы для телевизионных приставок и повысить ее надежность.
Основой элементной базы любой современной цифровой телевизионной приставки является микросхема декодера цифрового телевизионного сигнала класса "система на кристалле". Система на кристалле (СнК) декодера цифрового телевизионного сигнала (ДЦТС), разработанная в ЗАО НТЦ "Модуль", позволяет создавать различные конфигурации телевизионной приставки – от бюджетной до hi-end-класса [2].
Главная проблема современных разработок – это сложность систем и, как следствие, большое число потенциальных ошибок. Несвоевременное их исправление для СБИС уровня системы на кристалле обходится очень дорого.
Поэтому необходимы методы, с помощью которых можно было бы снизить вероятность ошибок в системе и выявлять серьезные ошибки на ранних стадиях проектирования. Нужно также разработать оборудование для эффективной отладки.
Концепция построения СБИС ДЦТС
Маршрут проектирования
Определяющим фактором в построении СБИС класса "СнК" является то, что это в первую очередь система. То есть разработка начинается с системного уровня. Обычно прототип системы существует в виде многокомпонентного устройства на одной или нескольких печатных платах, и задача разработчика системы на кристалле – перенести подобную систему внутрь кристалла, сохранив или увеличив ее производительность.
Необходимо тщательно организовать взаимодействие разработчиков на всем маршруте проектирования (рис.1). Разработчиками конечных устройств, в данном случае – цифровых телевизионных приставок, составляется спецификация требований к элементной базе. Эти требования используются разработчиками СБИС в качестве исходной точки формирования проекта.
Сам процесс проектирования СБИС при этом укладывается в традиционный маршрут разработки микросхем типа ASIC [3, 4].
Сформированный проект СБИС передается для изготовления на кремниевую фабрику. Готовые микросхемы не являются конечным продуктом. Для того чтобы микросхему могли использовать разработчики конечных устройств, необходимо сформировать комплексное решение, включающее прототип устройства на базе СБИС и программное обеспечение (ПО), в том числе операционную систему с комплектом драйверов устройств, библиотеки, реализующие ключевые функции системы, и демонстрационное ПО.
Главным в разработке программного обеспечения является наличие в системе на кристалле ведущего процессора. Как правило, в качестве основного процессора выбирается устройство с широко известной и используемой системой команд. Это позволяет применять ПО сторонней разработки, что значительно облегчает работу и сокращает ее объем.
С другой стороны, каждая система на кристалле имеет свой уникальный набор дополнительных устройств, начиная с устройств цифровой обработки сигналов и заканчивая различными периферийными и интерфейсными блоками. С функциями и устройствами, уникальными для данной системы, работает специализированное программное обеспечение, которое нередко создают для каждого проекта в отдельности.
Обычно работой устройства управляет операционная система. В таком случае организация управления периферийными устройствами сводится к написанию драйверов устройств, которые для общеупотребимых интерфейсов стандартны.
Следует учитывать и обратный эффект. Если общеупотребимый компонент ПО поддерживает определенное множество функций, то расширение этого множества в аппаратуре может оказаться неэффективным, так как не будет поддержано ПО.
Таким образом, выбор ПО напрямую влияет на функциональность аппаратуры системы, а значит сделать его нужно на этапе формирования требований к СБИС.
Разработка систем на кристалле напрямую связана с разработкой устройств на основе этих микросхем. Система на кристалле всегда предназначена для определенного приложения, устройства или набора устройств. В этих устройствах, помимо системы на кристалле, присутствуют и другие элементы, взаимодействие и интерфейс с которыми должны быть обеспечены в полном объеме.
Опыт разработки СБИС ДЦТС показывает, что требования к СБИС не могут быть полностью сформированы до начала разработки. Разработка микросхем уровня системы на кристалле – это процесс длительный, и зачастую сложно спрогнозировать, какие функции будут пользоваться спросом к моменту появления микросхемы и устройств на ее основе на рынке. Телекоммуникационные стандарты постоянно развиваются, и крайне важно обеспечить своевременную поддержку изменений.
Процесс по отладке требований должен быть итеративным и соответствовать динамически меняющейся ситуации. Таким образом, разработка устройства на основе системы на кристалле должна вестись одновременно с разработкой самой микросхемы. Только так можно оптимизировать систему, а соответственно, удешевить ее, что очень важно для коммерческих устройств [4].
Функциональные требования к системе
Задачи, которые должно решать конечное устройство, можно разделить на несколько групп: прием и декодирование транспортных потоков данных, поступающих от различных источников, декодирование и обработка аудио- и видеопотоков, дешифрация данных для обеспечения условного доступа. Корректная работа цифровой телевизионной приставки невозможна без операционной системы (ОС) реального времени. ОС должна отвечать требованиям, накладываемым особенностями работы устройства, управлять многочисленными интерфейсами ввода/вывода и обеспечивать удобный пользовательский интерфейс [5].
На данном этапе разработки поддерживаются следующие алгоритмы кодирования видео: MPEG2 MP/HL, MPEG4-10/H.264 HP/L4.1, SMPTE 421M (VC-1) MP/HL, MPEG4-2 ASP/L5 (DivX, XviD), WMV9 MP/HL. Вместе с этим, есть возможность масштабирования и фильтрации видеоизображения, а также преобразования форматов в реальном времени [2].
Для реализации алгоритмов обработки аудио используется программный подход. СнК поддерживает как стандартные алгоритмы, которые широко применяют в домашних и переносных устройствах, такие как MPEG1/2 Layer I, II, MPEG1 Layer III (MP3) и MPEG4 AAC LC, так и новейшие алгоритмы обработки многоканального аудио, используемые в домашних кинотеатрах и технике hi-end-класса – Dolby Digital/Dolby Digital + и DTS/DTS HD.
В качестве ОС для конечного устройства был выбран Linux. Основные функции системы организованы на базе известных компонентов и библиотек, что упрощает разработку пользовательского ПО. В качестве медиаконвейера выступает система GStreamer. Обработка входных транспортных потоков унифицируется с библиотекой linuxdvb. Графический ускоритель для интерфейса пользователя поддерживает библиотеки DirectFB и QT.
Таким образом, набор функциональных задач и компонентов ПО формирует набор функциональных требований к СБИС ДЦТС.
Система для приема ЦТВ
Основой устройства является микросхема класса “система на кристалле”, которая обеспечивает выполнение большинства функций устройства приемника. Из-за высокой стоимости разработки подобных микросхем целесообразно выпускать микросхемы одного типа с максимальным разнообразием поддерживаемых функций, а не создавать различные типы кристаллов для разных приложений.
С использованием описываемой СнК можно построить устройства приема цифрового ТВ (ЦТВ) (рис.2) с конфигурацией, которая отвечает всем требованиям самых современных медиацентров на базе цифровых телевизионных приставок [5].
Приемная часть радиотракта устройства состоит из тюнеров для приема наземного (DVB-T), кабельного (DVB-C) или спутникового (DVB-S/S2) телевизионного сигнала, а также из блоков демодуляции данных сигналов. В микросхему декодера из данного блока сигнал поступает в формате транспортного потока. Демодуляторы управляются по универсальной шине I2C центральным процессором системы.
Коммуникационная подсистема состоит из интерфейсов Ethernet, UART и USB Host High Speed версии 2.0. Интегрированный контроллер Ethernet позволяет использовать микросхему декодера HDTV для приема цифрового телевизионного сигнала по IP-сетям. Кроме того, интерфейсы Ethernet и UART помогают организовать обратный канал для поддержки многочисленных мультимедийных сервисов. С помощью высокоскоростного интерфейса USB возможно внешнее подключение систем, предназначенных для хранения и структурирования данных, а также дисковых приводов для воспроизведения или записи выбранного медиаконтента.
Звук на выходе аудиоподсистемы передается с помощью цифровых интерфейсов I2S и S/PDIF с поддержкой до восьми каналов звука. Для получения аналогового сигнала необходимого качества могут использоваться внешние ЦАП с разрядностью до 24 разрядов на канал. Обеспечивается поддержка от одного канала звука (моно) до восьми каналов (7.1).
Выдача видео- и аудиосигналов из микросхемы декодера может производиться с помощью цифрового интерфейса HDMI с поддержкой системы защиты информации HDCP. Можно создать и второй канал HDMI, используя внешние интерфейсные микросхемы, подключаемые к цифровому порту видео. Цифровой видеопорт DV позволяет также организовать интерфейс аналогового видео, задействовав внешние ЦАП.
Работу с интерфейсом пользователя обеспечивают интерфейсы SPI, UART и порты общего назначения GPIO.
Организация системы условного доступа возможна путем использования данных с карты пользователя по интерфейсу Smart Card либо с помощью внешних модулей условного доступа по интерфейсу DVB-CI.
Наличие двух внешних 16-разрядных интерфейсов с динамической памятью типа DDR2 обусловлено требованиями алгоритма декодирования видео H.264 к высокой пропускной способности памяти. Необходимое для работы системы программное обеспечение хранится во внешней флеш-памяти. ПО аппаратно защищено от несанкционированной модификации.
Таким образом, структура конечного устройства определяет аппаратные требования к интерфейсам СБИС ДЦТС.
Структура и характеристики СБИС ДЦТС
Структура СБИС
В основе СнК, предназначенных для декодирования и обработки аудио- и видеоинформации в устройствах цифрового телевидения, лежит центральный процессор ARM1176JZF-S (рис.3). Обмен данными в системе производится по шинам данных в соответствии со спецификацией AMBA 3.0 AXI.
Основные преимущества ядра ARM1176JZF S таковы: производительная архитектура версии v6; наличие интегрированных в ядро кэшей команд и данных, а также сверхоперативной памяти команд и данных TCM (Tight Coupled Memory); поддержка новейшего формата шины – AMBA 3.0 AXI; наличие сопроцессора для работы с данными в формате с плавающей точкой. Ядро поддерживает работу с 64-разрядными данными.
Взаимодействие между отдельными устройствами системы обеспечивает настраиваемая матрица коммутации (interconnect matrix unit). Матрица коммутации позволяет одновременно передавать данные от нескольких источников к нескольким приемникам. В том числе используется пакетный режим передачи данных и одновременная передача нескольких пакетов данных с чередованием данных из разных пакетов от разных источников.
Многоканальный контроллер прямого доступа в память (ПДП) обеспечивает загрузку данных в требуемые области памяти. Система использует иерархическую многоуровневую систему памяти для максимальной загрузки данными всех вычислительных устройств системы.
Система памяти содержит четыре банка внутренней памяти общим объемом 8 Мбит, два интерфейса с внешней динамической памятью типа DDR2, интерфейсы с внешней флеш-памятью. Такая конфигурация в сочетании с кэшем команд и данных, памятью TCM процессора ARM обеспечивает иерархическую систему памяти с высокой пропускной способностью.
Видеопроцессор включает в себя мультистандартный блок декодирования видеосигнала, графический ускоритель 2D и видеоконтроллер высокого разрешения с поддержкой функций масштабирования и наложения графических и видеослоев.
Аудиопроцессор содержит цифровой процессор сигналов (ЦПС) на основе ядра NeuroMatrix, позволяющий программно решать задачи декодирования аудиосигнала. Многоканальный аудиоконтроллер поддерживает выдачу аудиосигнала по интерфейсам I2S и S/PDIF.
Цифровой интерфейс HDMI с поддержкой функции HDCP обеспечивает возможность построения устройств без использования дополнительных внешних компонент в аудио- и видеотракте.
Система содержит DVB-процессор, который включает: демультиплексор транспортного потока TSP, производящий разбор транспортного потока от нескольких источников; криптопроцессор, поддерживающий основные алгоритмы условного доступа, в том числе CSA, DES, 3DES. Можно подключить внешние модули условного доступа по интерфейсу DVB-CI и работать со смарт-картами. Уникальные для микросхемы ключи хранятся в однократно программируемом ППЗУ.
Многочисленные коммуникационные интерфейсы позволяют строить на базе описываемой микросхемы линейки устройств с различными потребительскими свойствами, используя при этом минимальное количество дополнительных микросхем.
Формирование системы из набора IP-блоков
Система на кристалле построена на основе готовых функциональных блоков. Такой подход дает возможность максимально унифицировать систему и значительно упрощает адаптацию программного обеспечения. Большая часть программного обеспечения для процессоров ARM, представленного на рынке, работает в системе без внесения каких-либо изменений или с минимальной адаптацией.
СБИС имеет в своем составе IP-блоки многих известных производителей, таких как ARM, Silicon Image, Fujitsu, Aeroflex Gaisler, Takumi.
В то же время микросхема включает набор IP-блоков собственной разработки: видео- и аудиоконтроллеры, контроллер NAND флеш-памяти, ЦПС на основе ядра NMC3, блок декодирования транспортного потока TSP и криптопроцессор.
Использование IP-блоков различных поставщиков в некоторых случаях затрудняет согласование их работы в составе системы. Интеграция таких IP-блоков в систему обычно связана со следующими проблемами:
согласование интерфейсов блоков как на физическом уровне, так и на уровне транзакций. Для решения этой задачи разрабатываются оболочки для согласования протоколов работы шинных интерфейсов;
согласование программных интерфейсов блоков, например форматов данных при их размещении в памяти. Здесь могут потребоваться как модификации в программном коде, так и разработка аппаратных блоков, формирующих данные в требуемом формате;
разработка дополнительных моделей тестового окружения и функциональных тестов, которые отрабатывают сценарии работы, характерные для данной СБИС.
Таким образом, хотя использование готовых IP-блоков и снижает трудозатраты по общей разработке системы, интеграция таких блоков может потребовать значительных усилий.
Основные принципы организации разработки
Разработка и отладка СБИС ДЦТС включает в себя ряд этапов:
Многоступенчатая отладка системы на всех этапах проектирования. Тестовые последовательности формируются на этапе разработки отдельных блоков системы и используются для проверки системы вплоть до испытаний прототипа устройства на базе СБИС.
Отладка попарного взаимодействия между отдельными блоками системы как на уровне физических интерфейсов, так и на уровне приложений.
Отладка в сочетании с разработкой ПО, позволяющая отработать реалистичные сценарии функционирования системы.
Раннее прототипирование целевой системы. Основная стратегия отладки – выявление возможных ошибок на ранних этапах разработки, когда их исправление обходится дешевле.
Отладить СБИС можно тремя методами: логическим моделированием СБИС или ее частей; прототипированием частей СБИС; отладкой тестовых кристаллов. Логическое моделирование – достаточно медленный процесс, он обеспечивает частоту работы устройства в 102–103 Гц, что в 106 раз меньше реальных рабочих частот. Создание тестовых кристаллов – процесс длительный и дорогостоящий.
Получается, что наиболее эффективным средством отладки блоков СБИС является прототипирование.
Для отладки проекта СБИС ДЦТС была разработана специализированная аппаратно-программная платформа (АПП), которая включает в себя:
комплект модулей: базовый модуль, вычислительный модуль, один или несколько логических модулей, набор интерфейсных модулей;
управляющее оборудование для контроля АПП, куда входят персональный компьютер и интерфейсные устройства, обеспечивающие связь между персональным компьютером и модулями АПП;
дополнительное тестовое и измерительное оборудование для экспертной и качественной оценки работы АПП: генератор тестовых транспортных потоков, устройство воспроизведения аудио, устройство воспроизведения видео и т.д. – в зависимости от набора функциональных блоков СБИС ДЦТС;
тестовое программное обеспечение для оценки правильности функционирования АПП в целом и его модулей;
системное ПО, обеспечивающее функционирование АПП как под управлением персонального компьютера, так и автономно: ОС, работающая на АПП; набор драйверов модулей АПП, в том числе драйверов логических устройств СБИС ДЦТС, размещенных в логическом модуле; ПО управляющего компьютера, отвечающее за конфигурирование АПП, запуск и отладку ОС, драйверов устройств и прикладного ПО под управлением ОС.
То, как применяется АПП, зависит от маршрута проектирования СБИС ДЦТС (технологии разработки СБИС), который регламентирует разработку IP-блоков СБИС; их подготовку к прототипированию в аппаратуре АПП; тестирование и отладку блоков на основе прототипирования; разработку и отладку ПО IP-блоков СБИС ДЦТС; отладку взаимодействия блоков в составе СБИС ДЦТС.
Комплект модулей АПП включает в себя базовый модуль, основной вычислительный модуль, набор логических модулей, набор интерфейсных модулей.
Основа моделируемой системы – ядро процессора ARM1176JZF-S и системная шина по спецификации AMBA 3.0 AXI. Системная 32-разрядная шина AXI является связующим элементом между компонентами системы и доступна для всех компонентов АПП.
В соответствии со структурой СБИС ДЦТС строится структура АПП (рис.4).
Типовые, общеупотребимые, интерфейсы размещены на базовом модуле и могут применяться при проектировании СБИС различного назначения.
В качестве основного вычислительного модуля использован модуль на основе ядра процессора ARM1176JZF-S, аналогичный примененному в СБИС.
Логические модули предназначены для размещения исследуемых блоков – как вычислительных, так и интерфейсных.
В АПП в качестве базового, вычислительного и логического модуля применены готовые решения компании ARM: Emulation Baseboard, Core Tile CT1176, Logic Tile XC4VLX200 и XC5VLX330.
Для отладки интерфейсных блоков в логическом модуле размещаются цифровые части специализированных интерфейсных устройств. Физические части интерфейсных блоков изготавливаются в виде модулей расширения (рис.5).
Для АПП был разработан ряд таких модулей:
модуль транспортного потока, включающий тюнер и демодулятор для приема сигнала спутникового вещания, интерфейс DVB-CI для подключения внешних CAM-модулей и параллельный порт транспортного потока для подачи сигнала в устройство непосредственно с генератора потоков;
модуль энергонезависимой памяти, включающий микросхемы NAND и Serial флеш-памяти;
модуль Ethernet, включающий физическую часть интерфейса;
модуль аудиоинтерфейсов, который обеспечивает вывод восьми аналоговых аудиоканалов и цифровой аудиовыход в формате S/PDIF;
модуль аналогового видео, обеспечивающий вывод композитного и компонентного видеосигнала SD-разрешения;
модуль цифрового видео, обеспечивающий вывод видео SD-формата и многоканального цифрового звука через HDMI-интерфейс.
Модули расширения могут применяться как по отдельности, например для отладки ПО IP-блоков, так и в сборе. Используя комбинации из нескольких функциональных модулей, можно получить различные конфигурации цифрового приемного устройства (рис.6).
Единственными функциональными ограничениями при этом являются производительность центрального процессора системы и пропускная способность шины AXI, которая представлена в устройстве в усеченном формате.
Управлять системой можно в двух режимах: в режиме пошагового контроля путем подключения к JTAG-порту системы управляющего персонального компьютера через специализированное интерфейсное устройство (например, ARM RealView ICE) или в автономном режиме путем запуска на АПП операционной системы и взаимодействия с управляющим компьютером по сетевому протоколу.
Отладка блока при помощи АПП включает: размещение блока в ПЛИС логического модуля; создание необходимой оснастки для проверки физических характеристик интерфейса; создание специализированного ПО – драйвера устройства и библиотек, позволяющих интегрировать устройство в систему. Таким образом, уже на этапе отладки отдельных блоков разрабатывается ПО, которое в дальнейшем можно использовать в основной системе, а тестирование происходит на реальных сценариях работы.
Применение АПП при разработке СБИС ДЦТС позволило выявить ряд функциональных ошибок на ранних стадиях проектирования, разработать и отладить ПО устройств СБИС до изготовления микросхемы. В результате удалось существенно ускорить отладку конечного устройства.
Литература
1. Симонов М., Лейбов А., Шавдия Ю. Переход на цифровое телевизионное вещание в Российской Федерации. – Электроника: НТБ, 2007, №8, с.20.
2. Шевченко П.А., Шкуренко А.В. Декодер цифрового телевизионного сигнала высокой четкости: система на кристалле. – Электроника: НТБ, 2007, №8, с.62.
3. Немудров В., Мартин Г. Системы-на-кристалле. Проектирование и развитие. – М.: Техносфера, 2004.
4. Бочаров Ю.И., Гуменюк А.С., Симаков А.Б., Шевченко П.А. Проектирование БИС класса "Система на кристалле": Учебное пособие. – М.: МИФИ, 2008.
5. Быструшкин К. Современная элементная база для аналого-цифровых телевизоров TV/DVB. – Электронные компоненты, 2002, №6, с.1.
Главная проблема современных разработок – это сложность систем и, как следствие, большое число потенциальных ошибок. Несвоевременное их исправление для СБИС уровня системы на кристалле обходится очень дорого.
Поэтому необходимы методы, с помощью которых можно было бы снизить вероятность ошибок в системе и выявлять серьезные ошибки на ранних стадиях проектирования. Нужно также разработать оборудование для эффективной отладки.
Концепция построения СБИС ДЦТС
Маршрут проектирования
Определяющим фактором в построении СБИС класса "СнК" является то, что это в первую очередь система. То есть разработка начинается с системного уровня. Обычно прототип системы существует в виде многокомпонентного устройства на одной или нескольких печатных платах, и задача разработчика системы на кристалле – перенести подобную систему внутрь кристалла, сохранив или увеличив ее производительность.
Необходимо тщательно организовать взаимодействие разработчиков на всем маршруте проектирования (рис.1). Разработчиками конечных устройств, в данном случае – цифровых телевизионных приставок, составляется спецификация требований к элементной базе. Эти требования используются разработчиками СБИС в качестве исходной точки формирования проекта.
Сам процесс проектирования СБИС при этом укладывается в традиционный маршрут разработки микросхем типа ASIC [3, 4].
Сформированный проект СБИС передается для изготовления на кремниевую фабрику. Готовые микросхемы не являются конечным продуктом. Для того чтобы микросхему могли использовать разработчики конечных устройств, необходимо сформировать комплексное решение, включающее прототип устройства на базе СБИС и программное обеспечение (ПО), в том числе операционную систему с комплектом драйверов устройств, библиотеки, реализующие ключевые функции системы, и демонстрационное ПО.
Главным в разработке программного обеспечения является наличие в системе на кристалле ведущего процессора. Как правило, в качестве основного процессора выбирается устройство с широко известной и используемой системой команд. Это позволяет применять ПО сторонней разработки, что значительно облегчает работу и сокращает ее объем.
С другой стороны, каждая система на кристалле имеет свой уникальный набор дополнительных устройств, начиная с устройств цифровой обработки сигналов и заканчивая различными периферийными и интерфейсными блоками. С функциями и устройствами, уникальными для данной системы, работает специализированное программное обеспечение, которое нередко создают для каждого проекта в отдельности.
Обычно работой устройства управляет операционная система. В таком случае организация управления периферийными устройствами сводится к написанию драйверов устройств, которые для общеупотребимых интерфейсов стандартны.
Следует учитывать и обратный эффект. Если общеупотребимый компонент ПО поддерживает определенное множество функций, то расширение этого множества в аппаратуре может оказаться неэффективным, так как не будет поддержано ПО.
Таким образом, выбор ПО напрямую влияет на функциональность аппаратуры системы, а значит сделать его нужно на этапе формирования требований к СБИС.
Разработка систем на кристалле напрямую связана с разработкой устройств на основе этих микросхем. Система на кристалле всегда предназначена для определенного приложения, устройства или набора устройств. В этих устройствах, помимо системы на кристалле, присутствуют и другие элементы, взаимодействие и интерфейс с которыми должны быть обеспечены в полном объеме.
Опыт разработки СБИС ДЦТС показывает, что требования к СБИС не могут быть полностью сформированы до начала разработки. Разработка микросхем уровня системы на кристалле – это процесс длительный, и зачастую сложно спрогнозировать, какие функции будут пользоваться спросом к моменту появления микросхемы и устройств на ее основе на рынке. Телекоммуникационные стандарты постоянно развиваются, и крайне важно обеспечить своевременную поддержку изменений.
Процесс по отладке требований должен быть итеративным и соответствовать динамически меняющейся ситуации. Таким образом, разработка устройства на основе системы на кристалле должна вестись одновременно с разработкой самой микросхемы. Только так можно оптимизировать систему, а соответственно, удешевить ее, что очень важно для коммерческих устройств [4].
Функциональные требования к системе
Задачи, которые должно решать конечное устройство, можно разделить на несколько групп: прием и декодирование транспортных потоков данных, поступающих от различных источников, декодирование и обработка аудио- и видеопотоков, дешифрация данных для обеспечения условного доступа. Корректная работа цифровой телевизионной приставки невозможна без операционной системы (ОС) реального времени. ОС должна отвечать требованиям, накладываемым особенностями работы устройства, управлять многочисленными интерфейсами ввода/вывода и обеспечивать удобный пользовательский интерфейс [5].
На данном этапе разработки поддерживаются следующие алгоритмы кодирования видео: MPEG2 MP/HL, MPEG4-10/H.264 HP/L4.1, SMPTE 421M (VC-1) MP/HL, MPEG4-2 ASP/L5 (DivX, XviD), WMV9 MP/HL. Вместе с этим, есть возможность масштабирования и фильтрации видеоизображения, а также преобразования форматов в реальном времени [2].
Для реализации алгоритмов обработки аудио используется программный подход. СнК поддерживает как стандартные алгоритмы, которые широко применяют в домашних и переносных устройствах, такие как MPEG1/2 Layer I, II, MPEG1 Layer III (MP3) и MPEG4 AAC LC, так и новейшие алгоритмы обработки многоканального аудио, используемые в домашних кинотеатрах и технике hi-end-класса – Dolby Digital/Dolby Digital + и DTS/DTS HD.
В качестве ОС для конечного устройства был выбран Linux. Основные функции системы организованы на базе известных компонентов и библиотек, что упрощает разработку пользовательского ПО. В качестве медиаконвейера выступает система GStreamer. Обработка входных транспортных потоков унифицируется с библиотекой linuxdvb. Графический ускоритель для интерфейса пользователя поддерживает библиотеки DirectFB и QT.
Таким образом, набор функциональных задач и компонентов ПО формирует набор функциональных требований к СБИС ДЦТС.
Система для приема ЦТВ
Основой устройства является микросхема класса “система на кристалле”, которая обеспечивает выполнение большинства функций устройства приемника. Из-за высокой стоимости разработки подобных микросхем целесообразно выпускать микросхемы одного типа с максимальным разнообразием поддерживаемых функций, а не создавать различные типы кристаллов для разных приложений.
С использованием описываемой СнК можно построить устройства приема цифрового ТВ (ЦТВ) (рис.2) с конфигурацией, которая отвечает всем требованиям самых современных медиацентров на базе цифровых телевизионных приставок [5].
Приемная часть радиотракта устройства состоит из тюнеров для приема наземного (DVB-T), кабельного (DVB-C) или спутникового (DVB-S/S2) телевизионного сигнала, а также из блоков демодуляции данных сигналов. В микросхему декодера из данного блока сигнал поступает в формате транспортного потока. Демодуляторы управляются по универсальной шине I2C центральным процессором системы.
Коммуникационная подсистема состоит из интерфейсов Ethernet, UART и USB Host High Speed версии 2.0. Интегрированный контроллер Ethernet позволяет использовать микросхему декодера HDTV для приема цифрового телевизионного сигнала по IP-сетям. Кроме того, интерфейсы Ethernet и UART помогают организовать обратный канал для поддержки многочисленных мультимедийных сервисов. С помощью высокоскоростного интерфейса USB возможно внешнее подключение систем, предназначенных для хранения и структурирования данных, а также дисковых приводов для воспроизведения или записи выбранного медиаконтента.
Звук на выходе аудиоподсистемы передается с помощью цифровых интерфейсов I2S и S/PDIF с поддержкой до восьми каналов звука. Для получения аналогового сигнала необходимого качества могут использоваться внешние ЦАП с разрядностью до 24 разрядов на канал. Обеспечивается поддержка от одного канала звука (моно) до восьми каналов (7.1).
Рис.1. Организация взаимодействия разработчиков в маршруте проектирования СБИС
Выдача видео- и аудиосигналов из микросхемы декодера может производиться с помощью цифрового интерфейса HDMI с поддержкой системы защиты информации HDCP. Можно создать и второй канал HDMI, используя внешние интерфейсные микросхемы, подключаемые к цифровому порту видео. Цифровой видеопорт DV позволяет также организовать интерфейс аналогового видео, задействовав внешние ЦАП.
Работу с интерфейсом пользователя обеспечивают интерфейсы SPI, UART и порты общего назначения GPIO.
Организация системы условного доступа возможна путем использования данных с карты пользователя по интерфейсу Smart Card либо с помощью внешних модулей условного доступа по интерфейсу DVB-CI.
Наличие двух внешних 16-разрядных интерфейсов с динамической памятью типа DDR2 обусловлено требованиями алгоритма декодирования видео H.264 к высокой пропускной способности памяти. Необходимое для работы системы программное обеспечение хранится во внешней флеш-памяти. ПО аппаратно защищено от несанкционированной модификации.
Таким образом, структура конечного устройства определяет аппаратные требования к интерфейсам СБИС ДЦТС.
Рис.2. Устройство приема ЦТВ
Структура и характеристики СБИС ДЦТС
Структура СБИС
В основе СнК, предназначенных для декодирования и обработки аудио- и видеоинформации в устройствах цифрового телевидения, лежит центральный процессор ARM1176JZF-S (рис.3). Обмен данными в системе производится по шинам данных в соответствии со спецификацией AMBA 3.0 AXI.
Основные преимущества ядра ARM1176JZF S таковы: производительная архитектура версии v6; наличие интегрированных в ядро кэшей команд и данных, а также сверхоперативной памяти команд и данных TCM (Tight Coupled Memory); поддержка новейшего формата шины – AMBA 3.0 AXI; наличие сопроцессора для работы с данными в формате с плавающей точкой. Ядро поддерживает работу с 64-разрядными данными.
Взаимодействие между отдельными устройствами системы обеспечивает настраиваемая матрица коммутации (interconnect matrix unit). Матрица коммутации позволяет одновременно передавать данные от нескольких источников к нескольким приемникам. В том числе используется пакетный режим передачи данных и одновременная передача нескольких пакетов данных с чередованием данных из разных пакетов от разных источников.
Многоканальный контроллер прямого доступа в память (ПДП) обеспечивает загрузку данных в требуемые области памяти. Система использует иерархическую многоуровневую систему памяти для максимальной загрузки данными всех вычислительных устройств системы.
Система памяти содержит четыре банка внутренней памяти общим объемом 8 Мбит, два интерфейса с внешней динамической памятью типа DDR2, интерфейсы с внешней флеш-памятью. Такая конфигурация в сочетании с кэшем команд и данных, памятью TCM процессора ARM обеспечивает иерархическую систему памяти с высокой пропускной способностью.
Видеопроцессор включает в себя мультистандартный блок декодирования видеосигнала, графический ускоритель 2D и видеоконтроллер высокого разрешения с поддержкой функций масштабирования и наложения графических и видеослоев.
Аудиопроцессор содержит цифровой процессор сигналов (ЦПС) на основе ядра NeuroMatrix, позволяющий программно решать задачи декодирования аудиосигнала. Многоканальный аудиоконтроллер поддерживает выдачу аудиосигнала по интерфейсам I2S и S/PDIF.
Цифровой интерфейс HDMI с поддержкой функции HDCP обеспечивает возможность построения устройств без использования дополнительных внешних компонент в аудио- и видеотракте.
Система содержит DVB-процессор, который включает: демультиплексор транспортного потока TSP, производящий разбор транспортного потока от нескольких источников; криптопроцессор, поддерживающий основные алгоритмы условного доступа, в том числе CSA, DES, 3DES. Можно подключить внешние модули условного доступа по интерфейсу DVB-CI и работать со смарт-картами. Уникальные для микросхемы ключи хранятся в однократно программируемом ППЗУ.
Многочисленные коммуникационные интерфейсы позволяют строить на базе описываемой микросхемы линейки устройств с различными потребительскими свойствами, используя при этом минимальное количество дополнительных микросхем.
Формирование системы из набора IP-блоков
Система на кристалле построена на основе готовых функциональных блоков. Такой подход дает возможность максимально унифицировать систему и значительно упрощает адаптацию программного обеспечения. Большая часть программного обеспечения для процессоров ARM, представленного на рынке, работает в системе без внесения каких-либо изменений или с минимальной адаптацией.
СБИС имеет в своем составе IP-блоки многих известных производителей, таких как ARM, Silicon Image, Fujitsu, Aeroflex Gaisler, Takumi.
В то же время микросхема включает набор IP-блоков собственной разработки: видео- и аудиоконтроллеры, контроллер NAND флеш-памяти, ЦПС на основе ядра NMC3, блок декодирования транспортного потока TSP и криптопроцессор.
Использование IP-блоков различных поставщиков в некоторых случаях затрудняет согласование их работы в составе системы. Интеграция таких IP-блоков в систему обычно связана со следующими проблемами:
согласование интерфейсов блоков как на физическом уровне, так и на уровне транзакций. Для решения этой задачи разрабатываются оболочки для согласования протоколов работы шинных интерфейсов;
согласование программных интерфейсов блоков, например форматов данных при их размещении в памяти. Здесь могут потребоваться как модификации в программном коде, так и разработка аппаратных блоков, формирующих данные в требуемом формате;
разработка дополнительных моделей тестового окружения и функциональных тестов, которые отрабатывают сценарии работы, характерные для данной СБИС.
Таким образом, хотя использование готовых IP-блоков и снижает трудозатраты по общей разработке системы, интеграция таких блоков может потребовать значительных усилий.
Рис.3. Структура СБИС ДЦТС
Основные принципы организации разработки
Разработка и отладка СБИС ДЦТС включает в себя ряд этапов:
Многоступенчатая отладка системы на всех этапах проектирования. Тестовые последовательности формируются на этапе разработки отдельных блоков системы и используются для проверки системы вплоть до испытаний прототипа устройства на базе СБИС.
Отладка попарного взаимодействия между отдельными блоками системы как на уровне физических интерфейсов, так и на уровне приложений.
Отладка в сочетании с разработкой ПО, позволяющая отработать реалистичные сценарии функционирования системы.
Раннее прототипирование целевой системы. Основная стратегия отладки – выявление возможных ошибок на ранних этапах разработки, когда их исправление обходится дешевле.
Отладить СБИС можно тремя методами: логическим моделированием СБИС или ее частей; прототипированием частей СБИС; отладкой тестовых кристаллов. Логическое моделирование – достаточно медленный процесс, он обеспечивает частоту работы устройства в 102–103 Гц, что в 106 раз меньше реальных рабочих частот. Создание тестовых кристаллов – процесс длительный и дорогостоящий.
Получается, что наиболее эффективным средством отладки блоков СБИС является прототипирование.
Для отладки проекта СБИС ДЦТС была разработана специализированная аппаратно-программная платформа (АПП), которая включает в себя:
комплект модулей: базовый модуль, вычислительный модуль, один или несколько логических модулей, набор интерфейсных модулей;
управляющее оборудование для контроля АПП, куда входят персональный компьютер и интерфейсные устройства, обеспечивающие связь между персональным компьютером и модулями АПП;
дополнительное тестовое и измерительное оборудование для экспертной и качественной оценки работы АПП: генератор тестовых транспортных потоков, устройство воспроизведения аудио, устройство воспроизведения видео и т.д. – в зависимости от набора функциональных блоков СБИС ДЦТС;
тестовое программное обеспечение для оценки правильности функционирования АПП в целом и его модулей;
системное ПО, обеспечивающее функционирование АПП как под управлением персонального компьютера, так и автономно: ОС, работающая на АПП; набор драйверов модулей АПП, в том числе драйверов логических устройств СБИС ДЦТС, размещенных в логическом модуле; ПО управляющего компьютера, отвечающее за конфигурирование АПП, запуск и отладку ОС, драйверов устройств и прикладного ПО под управлением ОС.
То, как применяется АПП, зависит от маршрута проектирования СБИС ДЦТС (технологии разработки СБИС), который регламентирует разработку IP-блоков СБИС; их подготовку к прототипированию в аппаратуре АПП; тестирование и отладку блоков на основе прототипирования; разработку и отладку ПО IP-блоков СБИС ДЦТС; отладку взаимодействия блоков в составе СБИС ДЦТС.
Комплект модулей АПП включает в себя базовый модуль, основной вычислительный модуль, набор логических модулей, набор интерфейсных модулей.
Основа моделируемой системы – ядро процессора ARM1176JZF-S и системная шина по спецификации AMBA 3.0 AXI. Системная 32-разрядная шина AXI является связующим элементом между компонентами системы и доступна для всех компонентов АПП.
В соответствии со структурой СБИС ДЦТС строится структура АПП (рис.4).
Рис.4. Структура аппаратуры АПП
Типовые, общеупотребимые, интерфейсы размещены на базовом модуле и могут применяться при проектировании СБИС различного назначения.
В качестве основного вычислительного модуля использован модуль на основе ядра процессора ARM1176JZF-S, аналогичный примененному в СБИС.
Логические модули предназначены для размещения исследуемых блоков – как вычислительных, так и интерфейсных.
В АПП в качестве базового, вычислительного и логического модуля применены готовые решения компании ARM: Emulation Baseboard, Core Tile CT1176, Logic Tile XC4VLX200 и XC5VLX330.
Для отладки интерфейсных блоков в логическом модуле размещаются цифровые части специализированных интерфейсных устройств. Физические части интерфейсных блоков изготавливаются в виде модулей расширения (рис.5).
Для АПП был разработан ряд таких модулей:
модуль транспортного потока, включающий тюнер и демодулятор для приема сигнала спутникового вещания, интерфейс DVB-CI для подключения внешних CAM-модулей и параллельный порт транспортного потока для подачи сигнала в устройство непосредственно с генератора потоков;
модуль энергонезависимой памяти, включающий микросхемы NAND и Serial флеш-памяти;
модуль Ethernet, включающий физическую часть интерфейса;
модуль аудиоинтерфейсов, который обеспечивает вывод восьми аналоговых аудиоканалов и цифровой аудиовыход в формате S/PDIF;
модуль аналогового видео, обеспечивающий вывод композитного и компонентного видеосигнала SD-разрешения;
модуль цифрового видео, обеспечивающий вывод видео SD-формата и многоканального цифрового звука через HDMI-интерфейс.
Модули расширения могут применяться как по отдельности, например для отладки ПО IP-блоков, так и в сборе. Используя комбинации из нескольких функциональных модулей, можно получить различные конфигурации цифрового приемного устройства (рис.6).
Единственными функциональными ограничениями при этом являются производительность центрального процессора системы и пропускная способность шины AXI, которая представлена в устройстве в усеченном формате.
Управлять системой можно в двух режимах: в режиме пошагового контроля путем подключения к JTAG-порту системы управляющего персонального компьютера через специализированное интерфейсное устройство (например, ARM RealView ICE) или в автономном режиме путем запуска на АПП операционной системы и взаимодействия с управляющим компьютером по сетевому протоколу.
Отладка блока при помощи АПП включает: размещение блока в ПЛИС логического модуля; создание необходимой оснастки для проверки физических характеристик интерфейса; создание специализированного ПО – драйвера устройства и библиотек, позволяющих интегрировать устройство в систему. Таким образом, уже на этапе отладки отдельных блоков разрабатывается ПО, которое в дальнейшем можно использовать в основной системе, а тестирование происходит на реальных сценариях работы.
Применение АПП при разработке СБИС ДЦТС позволило выявить ряд функциональных ошибок на ранних стадиях проектирования, разработать и отладить ПО устройств СБИС до изготовления микросхемы. В результате удалось существенно ускорить отладку конечного устройства.
Литература
1. Симонов М., Лейбов А., Шавдия Ю. Переход на цифровое телевизионное вещание в Российской Федерации. – Электроника: НТБ, 2007, №8, с.20.
2. Шевченко П.А., Шкуренко А.В. Декодер цифрового телевизионного сигнала высокой четкости: система на кристалле. – Электроника: НТБ, 2007, №8, с.62.
3. Немудров В., Мартин Г. Системы-на-кристалле. Проектирование и развитие. – М.: Техносфера, 2004.
4. Бочаров Ю.И., Гуменюк А.С., Симаков А.Б., Шевченко П.А. Проектирование БИС класса "Система на кристалле": Учебное пособие. – М.: МИФИ, 2008.
5. Быструшкин К. Современная элементная база для аналого-цифровых телевизоров TV/DVB. – Электронные компоненты, 2002, №6, с.1.
Отзывы читателей