SLIMbus - Википедия - SLIMbus

В Последовательная межчиповая шина данных с низким энергопотреблением (SLIMbus) - это стандартный интерфейс между процессорами основной полосы частот или приложений и периферийными компонентами в мобильных терминалах. Он был разработан в рамках MIPI Альянс, основан РУКА, Nokia, STMicroelectronics и Инструменты Техаса.[1] Интерфейс поддерживает множество цифровой звук компонентов одновременно и передает несколько потоков цифровых аудиоданных с разной частотой дискретизации и разрядностью.

SLIMbus реализован как синхронный 2-проводной, настраиваемый Мультиплексирование с временным разделением (TDM) кадровая структура. Он имеет поддерживающие механизмы арбитража шины и структуры сообщений, которые позволяют перенастраивать рабочие характеристики шины в соответствии с потребностями системного приложения во время выполнения. Физически линия данных (DATA) и линия синхронизации (CLK) соединяют несколько компонентов SLIMbus в одном многоточечный автобус топология. Устройства SLIMbus могут динамически «отключаться» от шины и «повторно подключаться» к шине в соответствии с требованиями, используя соответствующие протоколы, указанные в спецификации SLIMbus. При использовании в мобильном терминале или портативном продукте SLIMbus может заменить устаревшие цифровые аудиоинтерфейсы, такие как PCM, я2S,[2] и SSI (Синхронный последовательный интерфейс для цифрового звука), а также некоторые экземпляры многих цифровых шин управления, таких как I2C,[3] SPI, microWire,[4] UART, или же GPIO контакты на цифровых аудиокомпонентах.

История

  • В MIPI Альянс была образована осенью 2003 года.
  • Архитектура интерфейса, включая низкоскоростную шину передачи данных (LowML), представленная на встрече F2F Альянса MIPI в г. София Антиполис, Франция в марте 2004 г.
  • LML Investigation Group (LML-IG), созданная в июле 2004 года Альянсом MIPI. Первая встреча была телеконференцией 3 августа 2004 года.
  • Рабочая группа LML (LML-WG) создана в 4 квартале 2004 г. Устав рабочей группы LML представлен Правлению MIPI в декабре 2004 г.
  • Первое собрание в составе рабочей группы 12 апреля 2005 г.
  • LML-WG выпустила первый проект SLIMbus с текстом во всех главах (v0.55) 18 октября 2005 г.
  • Спецификация SLIMbus v1.00 была выпущена для пользователей 16 мая 2007 года.
  • С июня 2007 года по июнь 2008 года, усовершенствование спецификации SLIMbus (исправление двусмысленностей, опечаток и ошибок) на основе обратной связи разработчика.
  • Спецификация SLIMbus V1.01 была выпущена для пользователей 3 декабря 2008 г. и рекомендована к реализации.

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

Определения SLIMbus Device Class - это те определения, которые определяют минимальные требования для данных управления устройством, поведения устройства и поддержки протокола передачи данных. В выпуске версии 1.01 спецификации SLIMbus определены четыре класса устройств SLIMbus: Manager, Framer, Interface и Generic. Полные системы SLIMbus могут быть реализованы без каких-либо дополнительных классов устройств.

Управляющее устройство

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

Устройство Framer

Framer обеспечивает тактовый сигнал на линии CLK ко всем компонентам SLIMbus, а также содержит логику для передачи каналов кадровой синхронизации и кадровой информации по линии DATA.

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

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

Для реализации функционального компонента SLIMbus всегда требуется использование интерфейсного устройства SLIMbus, а также выполняемые функции, такие как ЦАП, АЦП, цифровой усилитель, и так далее.

Типовое устройство (функция)

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

Компонент SLIMbus

Компонент SLIMbus содержит два или более Устройства SLIMbus. Компонент SLIMbus будет иметь только одно устройство интерфейса SLIMbus (ИНТЕРФЕЙС) и может иметь один или несколько других типов устройств SLIMbus, которые выполняют определенную функцию (ФУНКЦИЯ).

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

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

Пример простого компонента SLIMbus показан на рисунке 1 ниже, а пример сложного компонента SLIMbus показан на рисунке 2 ниже.

Простой компонент SLIMbus

Рисунок 1: Простой компонент SLIMbus

Сложный компонент SLIMbus

Рисунок 2: Сложный компонент SLIMbus

SLIMbus ДАННЫЕ и CLK

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

Для всех компонентов SLIMbus (кроме одного, содержащего устройство Framer) терминал CLK является только входным. Если компонент SLIMbus является устройством Framer или содержит устройство Framer, сигнал CLK является двунаправленным.

Для всех компонентов SLIMbus линия DATA является двунаправленной и несет всю информацию, отправленную или полученную по шине с использованием Обратный невозврат к нулю (NRZI) кодировка.

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

В линиях DATA и CLK интерфейса SLIMbus используются CMOS -подобные несимметричные, с заземлением, сигналы Rail-to-Rail, в режиме напряжения и сигнальные напряжения указываются в соответствии с напряжением питания интерфейса (допустимы + 1.8Vdd или + 1.2Vdd). Из соображений производительности EMI для SLIMbus были указаны пределы скорости нарастания.

Тактовые частоты и шестерни SLIMbus

Линейная частота SLIMbus CLK определяется диапазоном «корневых» тактовых частот до 28 МГц и 10 тактовыми механизмами для изменения тактовой частоты на степени 2 в диапазоне 512x от самого низкого до самого высокого уровня. Основная частота определяется как 2(10-G) раз больше частоты линии CLK. Для G = 10 частота линии CLK и основная частота равны.

SLIMbus CLK также можно остановить и перезапустить.

Частоты SLIMbus CLK и протоколы передачи данных будут поддерживать все распространенные частоты передискретизации цифровых аудиопреобразователей и соответствующие частоты дискретизации.

Ячейки, слоты, субкадры, кадры и суперкадры

Структура кадра SLIMbus состоит из пяти строительных блоков: ячеек, слотов, кадров, субкадров и суперкадров.

Клетка

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

Структура клетки

Рисунок 3: Структура ячейки

Слот

Слот определяется как четыре смежных ячейки (4 бита передаются в порядке от MSB к LSB). Распределение полосы пропускания для различных организаций данных, от 4-х до 32-битных и более, может быть выполнено путем группирования 4-битных слотов.

Рамка

Кадр определяется как 192 (от 0 до 191) непрерывных слотов и передается как S0, за которым следуют S1, S2 ... S191 в этом порядке. Первый слот (слот 0) каждого кадра - это слот контрольного пространства, который содержит четырех (4) битовый символ синхронизации кадра. Слот S96 каждого кадра также является слотом пространства управления, который содержит четыре (4) бита информации кадра.

Активный Framer записывает всю информацию о кадрах в строку данных в соответствующее время.

Подрамник

Подкадр определяется как разделение структуры кадра, в котором пространство управления и пространство данных чередующийся. Подкадр разделен на 1 или более слотов пространства управления, за которыми следуют 0 или более слотов пространства данных.

Как показано на рисунке 4 ниже, длина подкадра программируется на 6, 8, 24 или 32 смежных слота (24, 32, 96 или 128 ячеек). Таким образом, количество возможных подкадров на кадр составляет 32, 24, 8 или 6 соответственно. Используемая конфигурация подкадра может динамически изменяться в зависимости от требований к потоку данных приложений, которые поддерживаются в данный момент.

Ячейка, слот, подкадр, структура кадра

Рисунок 4: Ячейка, слот, подкадр, структура кадра

4 слота пространства управления зарезервированы для символа кадровой синхронизации, 4 бита - для слова информации кадрирования и 8 битов ведущего байта. Остальное доступно для более общих сообщений управления.

Любые слоты, не выделенные для пространства управления, считаются пространством данных.

Суперкадр

Суперкадр определяется как восемь смежных кадров (1536 слотов). Кадры в суперкадре помечаются от кадра 0 до кадра 7.

Продолжительность суперкадра фиксируется в единицах слотов (и, следовательно, ячеек), но не во времени. Частоту суперкадров можно динамически изменять на SLIMbus в соответствии с конкретным приложением, изменяя либо корневую частоту SLIMbus, либо тактовую передачу, либо и то, и другое.

каналы

Информация в строке DATA SLIMbus распределяется по каналам Control Space и Data Space.

Control Space передает информацию о конфигурации шины и синхронизации, а также обмен сообщениями между устройствами. Пространство управления может быть динамически запрограммировано так, чтобы оно занимало столько полосы пропускания SLIMbus, сколько требуется, иногда даже до 100%.

Пространство данных, если оно присутствует, содержит информацию о приложении, такую ​​как изохронный и асинхронные данные потоки.

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

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

Каналы управления

Control Space делится на три типа каналов: Framing, Guide и Message.

Кадровый канал занимает слоты 0 и 96 каждого кадра. (Поскольку длина всех подкадров делится на 96, эти слоты всегда доступны для этой цели.) Слот 0 содержит фиксированный символ кадровой синхронизации (10112), а слот 96 содержит 4 бита слова информации кадра. В течение суперкадра доступно 32 бита информации о кадре. Некоторые из них содержат фиксированный битовый шаблон, используемый для получения синхронизации суперкадра (0Икс011ххх2), в то время как другие содержат другую важную информацию о конфигурации.

Направляющий канал состоит из первых двух слотов управления без кадрирования в каждом суперкадре. Этот «ведущий байт» обычно равен 0, но если управляющее сообщение пересекает границу суперкадра, оно указывает количество байтов до конца этого сообщения.

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

Формат пространства управления определяется 5-битным идентификатором режима подкадра, передаваемым в слове информации кадра. Это сообщает длину подкадра и количество слотов управления. Количество управляющих слотов ограничено выбором из 1, 2, 3, 4, 6, 8, 12, 16 или 24. Добавление ограничений на то, что количество управляющих слотов должно быть меньше длины подкадра, дает 26 допустимых комбинаций. . Специальная кодировка для «100% контрольного пространства», когда длина подкадра не важна, дает 27 допустимых режимов. (Режимы 1–3, 20 и 30 недействительны.)

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

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

Сегменты повторяются с известными интервалами и ведут себя как виртуальная шина с собственной гарантией пропускной способности и задержкой.

Сегмент, показанный ниже на рисунке 5, имеет поля TAG (2 слота), AUX (2 слота) и DATA. Поля TAG и AUX необязательны. Если используются, биты TAG несут информацию управления потоком для канала данных, а вспомогательные (AUX) биты несут дополнительную информацию, относящуюся к содержимому поля DATA. Полезные данные могут заполнять или не заполнять все выделенное поле DATA.

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

Рисунок 5: Организация сегмента

Транспортные протоколы канала данных и управление потоком

Канал данных имеет только один источник данных одновременно и может иметь один или несколько приемников данных в зависимости от транспортного протокола, используемого в канале.

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

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

TPИмя протоколаТипКоличество слотов поля TAG
0ИзохронныйМногоадресная рассылка0
1ТолкнулМногоадресная рассылка1
2ВытащилUnicast1
3ЗаблокированоМногоадресная рассылка0
4Асинхронный - симплексныйUnicast1
5Асинхронный - полудуплексUnicast1
6Расширенный асинхронный - симплексUnicast2
7Расширенный асинхронный режим - полудуплексUnicast2
8–13Зарезервированный--
14Определяется пользователем 1-1
15Определяется пользователем 2-2
Таблица 1: Поддерживаемые транспортные протоколы SLIMbus

Протоколы пользователя 1 и 2 используются для расширения механизмов передачи данных SLIMbus, и предполагается, что устройство, подключенное к каналу данных пользовательского протокола, знает определение битов TAG и AUX и то, как они используются.

Система SLIMbus

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

Верхний левый компонент SLIMbus также содержит управляющее устройство (M). Однако не требуется, чтобы диспетчер и устройства Framer находились в одном и том же компоненте SLIMbus.

Иллюстративная система SLIMbus

Рисунок 7: Иллюстративная система SLIMbus

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

На рисунке 8 ниже показано концептуальное представление возможной реальной системы SLIMbus. Буквы «M» и «F» обозначают устройства Manager и Framer соответственно. В качестве альтернативы, массив из нескольких микрофонов может заменить один микрофон в системе. Может быть присоединена любая смесь блоков, связанных со звуком.

Система SLIMbus

Рисунок 8: Концептуальная система SLIMbus

Рекомендации

  1. ^ Мерритт, Рик (13 февраля 2006 г.). «Интерфейс мобильного чипа становится реальным». EETimes. Получено 17 января 2013.
  2. ^ «Спецификация шины I2S» (PDF). Полупроводники Philips. Получено 17 января 2013.
  3. ^ «Спецификация шины I2C» (PDF). Полупроводники Philips. Январь 2000 г.. Получено 17 января 2013.
  4. ^ "AN-452 Последовательный интерфейс МИКРОВИРНЫЙ" (PDF). Инструменты Техаса. Получено 17 января 2013.

внешняя ссылка

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

Освещение в прессе