Знакомство со стандартом альянса MIPI для последовательной межкристальной маломощной медиашины SLIMbus. Часть 1


PDF версия

Благодаря новому стандартному медиаинтерфейсу упрощается и становится более предсказуемой разработка переносных устройств.

Отраслевой альянс разработчиков процессорных интерфейсов переносных устройств (Mobile Industry Processor Interface Alliance — MIPI) объединяет лидеров мобильной индустрии, определяет и распространяет открытые стандарты для интерфейсов процессоров мобильных приложений. С помощью этих открытых стандартов альянс намеревается ускорить развертывание новых услуг для мобильных пользователей, устанавливая спецификации стандартных интерфейсов для организации взаимодействия аппаратной и программной частей процессоров мобильных устройств, а также призывая принимать эти стандарты во всей отраслевой цепочке. Альянс MIPI сотрудничает с существующими организациями по разработке стандартов в области интерфейсов для микропроцессоров, периферийных устройств и программного обеспечения (см. сайт альянса по адресу www.mipi.org).
«Альянс MIPI является открытой для членства организацией, в которую входят компании, лидирующие на рынке мобильных устройств. У этих компаний имеется общая цель — определить и содействовать продвижению открытых спецификаций интерфейсов мобильных терминалов. Спецификации MIPI позволяют установить стандарты для организации взаимодействия аппаратной и программной частей процессоров и периферийных устройств, обычно используемых в системах мобильных терминалов.
Последовательная медиашина для соединения кристаллов с малой мощностью потребления (Serial Low-power Inter-chip Media Bus — SLIMbus) является стандартным интерфейсом между процессором, работающим в основной полосе частот, или процессором приложения и периферийными устройствами мобильных терминалов. Спецификация SLIMbus была разработана специальной группой, составленной из представителей компаний — членов альянса MIPI: Austria Microsystems, Free­scale Semiconductor, Infineon Tech­nologies AG, Intel Corporation, Mar­vell Semiconductor, Motorola, Na­tional Semi­conductor, Nokia, NXP Se­mi­con­ductor, RF Microdevices, Sonion, Sony-Ericsson, STMicroelectronics N.V., Synopsys, Texas Instruments, Toshiba и Wolfson Mic­ro­electronics.
Разработка стандарта SLIMbus была вызвана возросшей потребностью в мультимедийных функциях мобильных терминалов и других переносных устройств, а также осознанием того обстоятельства, что высококачественный цифровой звук является основным стимулом роста спроса.

 

Основные особенности стандарта SLIMbus

Ниже приводится не полный, но представительный список следующих основных особенностей стандарта SLIMbus.
– Аудио, данные, шина и контроль устройства реализованы на одной шине.
– Сокращенное число выводов при более низкой общей стоимости про­дукта.
– Поддержка нескольких аудиоканалов высокого качества.
– Одновременное использование нескольких частот выборки на одной шине.
– Эффективная типовая передача данных по схеме «точка–точка» между равноправными узлами.
– Стандартный набор сообщений для обеспечения более эффективного повторного использования ПО и лучшего взаимодействия между компонентами системы.
– Использование общих аудиоцифровых тактовых генераторов, а также внутрисистемных тактовых генераторов.
– Динамическое изменение тактовой частоты для оптимизации энергопотребления шины.
Стандарт SLIMbus позволяет преодолеть существующие ограничения цифровых аудиоинтерфейсов, например I2S и PCM (которые предназначены главным образом для прямой связи между отдельными компонентами и поддерживают только один или два аудиоцифровых канала), с помощью масштабируемой многоотводной архитектуры, поддерживающей много компонентов и аудиоцифровые каналы на единой шинной структуре.
Для обеспечения большей гибкости и простоты стандарт SLIMbus исключает для аудиоцифровых компонентов необходимость в шине управления, такой, как I2C, SPI, microWire™, UART или GPIO. Кроме того, допускается ограничение использования (или устранение) этих шинных структур на других типах компонентов мобильного терминала с узкой полосой пропускания.
Шина SLIMbus реализована на синхронном двухпроводном интерфейсе с кадровой передачей данных с временным разделением (Time Division Multiplexer — TDM) и на схеме арбитража и структурах сообщений, благодаря чему достигается гибкое и надежное информационное соединение между SLIMbus-устройствами.
Несмотря на то, что шина SLIMbus оптимизирована для транспортировки медиапотоков постоянной скорости, она позволяет передавать разные типы асинхронных данных, а также управляющую информацию.

 

Физическое описание шины SLIMbus

Физически шина SLIMbus состоит из двух выводов — линии данных (DATA) и линии синхросигнала (CLK).
В SLIMbus используется многоотвод­ная топология, в которой все сигналы являются общими для каждого компонента шины. По существу, все устройства на шине должны использовать один протокол связи. Эта архитектура была выбрана потому, что в использующих эту шину устройствах значительно уменьшается количество межсоединений. В то же время возникает возможность подключать к ней множество различных устройств.
Для реализации многоотводного соединения требуется, чтобы только одно передающее устройство устанавливало связь на шине в любое время с одним или более приемниками. Подключаемые к SLIMbus устройства получают к ней доступ с помощью процедуры арбитража.
В шине SLIMbus используется TDM-архитектура (Time Division Mul­ti­plexing — временное разделение), позволяющая многочисленным приемным и передающим устройствам находиться на этой шине. Все устройствам также могут устанавливать связь друг с другом по выделенным каналам и в выделенный интервал времени. SLIMbus поддерживает не только связь между устройствами, но и групповую связь между одним и многими устройствами.
Для SLIMbus не предусмотрена возможность горячей замены, так как эта шина целиком предназначена для использования на таком клиентском терминале, как, например, сотовый телефон. Однако SLIMbus-устройства могут динамически отключать шину и снова подключаться к ней в соответствии с требованиями по использованию системы с помощью протоколов, описанных в спецификации SLIMbus.

 

Устройства и классы устройств стандарта SLIMbus

Устройство SLIMbus аппаратно реализует одну из системных функций.
Устройства категории «Класс уст­ройств» имеют некоторые общие характеристики и функции. На устройства SLIMbus распространяются определения класса, устанавливающие минимальные требования к управляющей информации для устройства, его режиму работы, поддержке транспортного протокола данных и к памяти для их хранения, необходимые для реализации устройства из этого класса.
Требования для всех классов уст­ройств следующие:
– Код класса устройств, определяющий тип устройства.
– Номер версии класса устройств.
– Технические параметры устройства, определяющие его коммуникационные возможности, например количество портов и необходимые параметры, направленность, транспортные протоколы и т.д., поддерживаемые этими портами.
– Требования по поддержке сообщений, определяющие, какие сообщения помимо основных поддерживаются этим устройством.
– Информационная поддержка, определяющая основные элементы «Информация» и соответствующие коды, поддерживаемые этим устройством.
– Требования ко всем рабочим режимам, которые необходимы для функционирования устройства, относящегося к данному классу устройств.
Существуют четыре класса уст­ройств SLIMbus, определяемых спе­цификацией SLIMbus по версии 1.0: устройство управления, формирователь кадров, интерфейсное устройство и базовое устройство. Эти классы позволяют проектировать и реализовывать SLIMbus-системы без каких-либо дополнительных классов устройств. Однако набор классов устройств при желании можно расширить. После определения дополнительных классов устройств их коды назначаются альянсом MIPI.

 

Устройство управления

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

 

Формирователь кадров

Формирователь кадров передает синхросигнал на линию синхросигнала CLK всем компонентам SLIMbus, а также содержит логическую схему для передачи инструкции и каналов синхронизации (информация о синхронизации) на линию DATA, позволяющую установить самый высокий уровень иерархии шинной структуры кадров TDM и передать эту информацию другим SLIMbus-устройствам для синхронизации.
Синхросигнал может иметь высокое качество и использоваться для декодирования аудио и для ЦАП, благодаря чему исключается необходимость в дополнительной генерации тактового сигнала в системе.

 

Интерфейсное устройство

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

Базовое (функциональное) устройство
Базовое устройство обеспечивает определенную функциональность приложения, например преобразование цифрового аудиосигнала в аналоговый (ЦАП), и наоборот (АЦП). По этой причине базовые устройства в блок-диаграммах этой статьи называются функциональными устройствами.
Класс базовых устройств используется в том случае, если для обеспечения функциональности приложения не существует какого-либо другого специфического класса устройств. Например, при наличии класса микрофонных устройств определение класса базовых устройств для обеспечения функций микрофона не используется.
Для реализации функционального уст­ройства SLIMbus также требуется ин­тер­фейсное устройство медиашины, уни­кальный числовой идентификатор (Enu­me­ration Address — EA) и логический адрес (Logical Address — LA), элементы «Информация» (Information Element — IE) и «Значение» (Value Elements — VE), а также порты (Р) каждого устройства для установления связи через шину, контроля, потоков информации о состоянии и аудио­цифровых данных (или других данных).

 

Рис. 1. Отдельные блоки интерфейсного и функционального устройств SLIMbus

На рисунке 1 показаны отдельные блоки интерфейсного, функционального устройств и соответствующие элементы. Более подробно этот пример проиллюстрирован на рисунке 2.

 

Рис. 2. Простой SLIMbus-компонент

 

Элементы устройства «Информация» и «Значение»

Элементы «Информация» и «Значе­ние» являются элементами (IE) хранения данных (VE) о состоянии, конфигурации или другой важной информации, необходимой для устройства. Хранящиеся данные могут быть Булевыми или иметь множество значений, что зависит от типа устройства.
IE- и VE-элементы эффективно заменяют регистры, типичные для стандартных интерфейсов управления, например для I2C или SPI.
IE-элемент является специфическим компонентом устройства. Другие устройства получают к нему доступ с помощью сообщений. IE-элементы подразделяются на следующие категории:
– Центральная: IE-элементы, общие для всех устройств всех классов устройств.
– Специфическая для данного класса устройств: IE-элементы, одинаковые для всех устройств определенного класса, но отличающиеся от IE-элементов всех устройств другого класса устройств.
– Пользовательская. IE-элементы, специфические для определенного продукта или семейства продуктов.
VE-элемент обеспечивает стандартный метод чтения и обновления параметров устройства. В отличие от IE-элемента, VE-элементу присваивается определенное значение с помощью специфического сообщения.

 

Адресация устройств

Шина SLIMbus использует 48-битные уникальные числовые идентификаторы (Enumeration Addresses — EA) для однозначного определения устройств, которые заявляют о своем присутствии на шине. У каждого устройства имеется уникальный числовой идентификатор, в котором указано имя производителя, код продукта, индекс устройства и код класса устройства. Код имени производителя предоставляет альянс MIPI. Код индекса однозначно определяет множество устройств в одном компоненте. Код класса существует на тот случай, когда несколько устройств одного типа или класса подсоединяются к этой шине.
После идентификации активное устройство управления назначает 8-битный логический адрес устройству, который обычно используется до тех пор, пока шина не отключится. При следующем включении шины или в том случае, когда устройство отключается от шины и восстанавливает соединение, назначается новый логический адрес.

 

Порты

Порт обеспечивает путь распространения потока данных между устройствами. Одно устройство может иметь до 64 портов.
К типичным параметрам порта относятся следующие: направленность передачи данных — он может быть только входом (приемник), только выходом (передатчик) или входом и выходом; поддерживаемые транспортные протоколы; разрядность данных. Например, параметры порта для MEMS-микрофона таковы: он работает только на выход; у него изохронный транспортный протокол и 16-битные данные.
Состояние порта меняется, прежде чем он начнет работать на передачу данных.
При включении электропитания или при повторном запуске порт находится в отключенном состоянии, и данные через него не проходят.
При подключении порта к каналу данных его конфигурация (прием или передача) не выбрана и данные через него не проходят.
В этом состоянии он получает команду, в соответствии с которой выполняется его конфигурация.
В сконфигурированном состоянии порт готов к работе.

 

Компонент SLIMbus

Компонент SLIMbus состоит из двух или более устройств SLIMbus. Этот компонент должен иметь одно (и только одно) интерфейсное устройство SLIMbus, а также один или более тип устройств SLIMbus.
Пример простого компонента приведен на рисунке 2, а сложного — на рисунке 3.

 

Рис. 3. Сложный SLIMbus-компонент

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

SLIMbus-линии DATA и CLK

Линии DATA и CLK обычно подключаются к двум или более устройствам SLIMbus, которые содержат один или более компонент SLIMbus, образуя SLIMbus-систему.
Все устройства SLIMbus используют линии DATA и CLK для синхронизации с текущей шинной конфигурацией, для получения или передачи сообщений и данных, а также для реализации арбит­ража шины, обнаружения столкновений и разрешения конфликтов между устройствами.
Для всех компонентов SLIMbus (кроме того, который содержит формирователь кадров) вывод CLK является только входом.
Если компонент SLIMbus является формирователем кадров или содержит это устройство, CLK-сигнал становится двунаправленным. Так происходит потому, что формирователь кадров является единственным SLIMbus-устройством, которому позволено управлять линией CLK. Эта линия имеет только два состояния: высокий и низкий уровни. Данный компонент, содержащий активный формирователь кадров, называется источником тактовых импульсов.
Для всех компонентов SLIMbus линия DATA является двунаправленной. По ней передаются все отправляемые или посылаемые на шину данные с использованием кодирования без возвращения к нулю и с инверсией. Передача данных по линии DATA осуществляется по положительному, а чтение — по отрицательному фронтам импульсов линии CLK. Линия DATA может управляться сигналом низкого или высокого уровней либо сохранять предыдущее состояние в зависимости от конкретного режима работы устройства SLIMBus.
Линии DATA и CLK интерфейса SLIMbus используют КМОП-со­вмес­тимые однополярные сигналы с размахом, равным напряжению питания, а управляющие напряжения определяются по отношению к напряжению питания интерфейса.
В спецификации SLIMbus рекомендуемые напряжения питания интерфейса — 1,8 Vdd и 1,2 Vdd, даже если у остальных блоков устройства SLIMbus другие напряжения питания.

SLIMbus-система

Возможный вариант SLIMbus-системы проиллюстрирован на рисунке 4.

 

Рис. 4. Иллюстрация системы SLIMbus

 

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

 

Рис. 5. SLIMbus-система с устройством управления и формирователем кадров в процессоре

 

Модель SLIMbus и описание ее работы

Модель системы SLIMbus состоит из ряда устройств SLIMbus в компонентах, которые устанавливают связь друг с другом с помощью линии общих данных (DATA) и общего синхросигнала (CLK).
Информация о линии DATA шины SLIMbus размещается в области каналов управления и данных.
Через область управления поступает информация о шинной конфигурации и о синхронизации, а также устанавливается передача сообщений между устройствами. Область управления можно динамически запрограммировать на то, чтобы она обеспечивала требуемую ширину полосы шины SLIMbus, иногда даже до 100%.
Область данных обеспечивает передачу специфической для конкретного приложения информации — потоки изохронных, почти изохронных и асинхронных данных.
Устройства компонента SLIMbus передают информацию об управлении и о данных друг другу, используя каналы управления и данных с транспортными протоколами. Сообщения используются для функций управления. Транспортные протоколы контролируют потоки данных управления и приложений.

 

Каналы

Каналы устанавливаются между парой устройств (связь между устройствами) или между одним и многими устройствами (групповая связь).

Каналы управления
Областью управления или каналами управления являются три разных типа каналов: формирования кадров, управления и сообщений, каждый из которых играет особую роль.
В канале формирования кадров в двух слотах каждого кадра передается символ кадровой синхронизации и информация о кадре, которые содержат параметры шинной конфигурации. Это позволяет всем компонентам настроиться на текущую конфигурацию шины. Управление потоком отсутствует. Ширина канала фиксирована.
Данные канала управления размещаются в одном слоте в первом и втором кадрах суперкадра и содержат всю необходимую информацию для того, чтобы компонент мог получить и проверить достоверность синхронизации сообщения в соответствующем канале. Управление потоком отсутствует. Ширина канала фиксирована.
Канал сообщений передает различные типы информации, включая данные о шинной конфигурации, об управлении устройством и о его статусе. Управление потоком осуществляется с помощью символа подтверждения приема. Ширина канала программируется.

 

Каналы данных

Любая полоса пропускания шины SLIMbus, не выделенная в области управления, предоставляется в области данных (в каналах данных). Область данных состоит из одного или более каналов данных, которые динамически создаются активным устройством управления в зависимости от приложения. Количество каналов данных зависит от размера области данных и типов их потоков, проходящих по этим каналам. Область данных может содержать до 256 каналов.
Канал данных представляет собой поток одного или более смежных слотов данных, который повторяется через определенный интервал. Группа смежных слотов в канале данных называется сегментом. Поскольку сегменты повторяются через известные интервалы относительно границ суперкадра, каналы данных можно рассматривать как виртуальную шину с гарантированной собственной полосой пропускания и задержкой.
Сегмент состоит из трех полей: TAG, AUX и DATA. Следует заметить, что поля TAG и AUX являются необязательными. Они организованы внутри сегмента, как показано на рисунке 6.

 

Рис. 6. Организация сегмента

Биты поля TAG содержат управляющую информацию, если таковая требуется для канала данных.
Вспомогательные (AUX) биты содержат дополнительную информацию, связанную с содержимым поля DATA.
Точный состав этого сегмента зависит от транспортного протокола, используемого для канала данных.
Активное устройство управления инициализирует канал данных и обменивается информацией о связанных параметрах содержимого со всеми устройствами, использующими этот канал данных.

 

Рис. 7. Модель системы SLIMbus

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

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *