Jump to content

Стек протоколов UniPro

В технологиях мобильных телефонов стек протоколов UniPro [1] следует архитектуре классической эталонной модели OSI . В UniPro физический уровень OSI разделен на два подуровня: уровень 1 (фактический физический уровень) и уровень 1.5 (уровень PHY-адаптера), который абстрагируется от различий между альтернативными технологиями уровня 1. Фактический физический уровень представляет собой отдельную спецификацию, поскольку различные параметры PHY используются повторно. [2] в других спецификациях MIPI Alliance .

Стек протоколов UniPro (это цветовое кодирование — давняя традиция UniPro)
Слой # Имя слоя Функциональность Имя блока данных
ТО Приложение Полезная нагрузка и семантика транзакций Сообщение
ДМЕ
Слой 4 Транспорт Порты, мультиплексирование, управление потоком Сегмент
Слой 3 Сеть Адресация, маршрутизация Пакет
Слой 2 Ссылка на данные Однопроходная надежность и арбитраж на основе приоритетов Рамка
Слой 1.5 PHY-адаптер Абстракция физического уровня и поддержка нескольких линий Символ ЮниПро
Слой 1 Физический уровень (PHY) Сигнализация, тактирование, кодирование строк, режимы питания Символ PHY

Сама спецификация UniPro охватывает уровни 1.5, 2, 3, 4 и DME (объект управления устройством). Уровень приложений (LA) выходит за рамки рассмотрения, поскольку для разных вариантов использования UniPro потребуются разные протоколы LA. Физический уровень (L1) описан в отдельных спецификациях MIPI, чтобы при необходимости можно было повторно использовать PHY другими (менее общими) протоколами.

Уровни OSI 5 (сеанс) и 6 (представление), где это применимо, считаются частью прикладного уровня.

Физический уровень (L1)

[ редактировать ]

Версии 1.0 и 1.1 UniPro используют технологию D-PHY MIPI для внешнего физического уровня. Этот PHY обеспечивает связь между чипами. Скорость передачи данных D-PHY варьируется, но находится в диапазоне 500–1000 Мбит/с (поддерживаются более низкие скорости, но с пониженной энергоэффективностью). D-PHY был назван в честь римского числа 500 («D»).

D -PHY [3] использует дифференциальную сигнализацию для передачи символов PHY по микрополосковой проводке. Вторая пара дифференциальных сигналов используется для передачи связанного тактового сигнала от источника к месту назначения. Таким образом, технология D-PHY использует в общей сложности 2 тактовых провода на каждое направление плюс 2 сигнальных провода на полосу и на каждое направление. Например, D-PHY может использовать 2 провода для часов и 4 провода (2 полосы) для данных в прямом направлении, но 2 провода для часов и 6 проводов (3 полосы) для данных в обратном направлении. Трафик данных в прямом и обратном направлениях полностью независим на этом уровне стека протоколов.

В UniPro D-PHY используется в режиме (так называемом кодировании «8b9b»), который передает 8-битные байты как 9-битные символы. Протокол UniPro использует это для представления специальных управляющих символов (помимо обычных значений от 0 до 255). Сам PHY использует это для представления определенных специальных символов, которые имеют значение для самого PHY (например, символы IDLE). Обратите внимание, что соотношение 8:9 может вызвать некоторую путаницу при указании скорости передачи данных D-PHY: реализация PHY, работающая с тактовой частотой 450 МГц, часто оценивается как PHY 900 Мбит/с, тогда как используется только 800 Мбит/с. затем доступен для стека UniPro.

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

Версии 1.4 и более поздние версии UniPro поддерживают как D-PHY, так и M-PHY. [4] технология. Технология M-PHY все еще находится в стадии разработки, но поддерживает высокоскоростные скорости передачи данных, начиная примерно с 1000 Мбит/с (M-PHY была названа в честь римского числа 1000). Помимо более высоких скоростей, M-PHY будет использовать меньше сигнальных проводов, поскольку тактовый сигнал встраивается в данные посредством использования стандартного кодирования 8b10b . Опять же, PHY, способный передавать пользовательские данные со скоростью 1000 Мбит/с, обычно указывается как находящийся в режиме 1250 Мбит/с из-за кодировки 8b10b.

Технологии физического уровня, поддерживаемые UniPro
PHY-технология Версия / Выпущена Кодировка символов Гбит/с (полезная нагрузка) переулки Поддерживается в
D-PHY 1.2/сентябрь 2014 г. 8б/9б 4,5 Гбит/с/линия 4-полосный порт
М-ФИЗ 3.1/июнь 2014 г. 8б/10б 11,6 Гбит/с/линия 4+1 полосный порт
C-PHY 1.00.00 / октябрь 2014 г. ? 2,5 Гбит/с/линия? 3-полосный порт

Ожидается, что D- и M-PHY будут сосуществовать в течение нескольких лет. D-PHY — менее сложная технология, M-PHY обеспечивает более высокую полосу пропускания с меньшим количеством сигнальных проводов, а C-PHY обеспечивает низкое энергопотребление.

Низкоскоростные режимы и экономия энергии

[ редактировать ]

Стоит отметить, что UniPro поддерживает энергоэффективные низкоскоростные режимы связи, предоставляемые как D-PHY (10 Мбит/с), так и M-PHY (от 3 Мбит/с до 500 Мбит/с). В этих режимах энергопотребление примерно зависит от объема отправляемых данных. Более того, обе технологии PHY обеспечивают дополнительные режимы энергосбережения, поскольку они оптимизированы для использования в устройствах с батарейным питанием.

Уровень адаптера PHY (L1.5)

[ редактировать ]

С архитектурной точки зрения уровень адаптера PHY служит для скрытия различий между различными вариантами PHY (D- и M-PHY). Таким образом, эта абстракция главным образом обеспечивает архитектурную гибкость. Абстрактные детали PHY включают в себя различные состояния мощности и используемые схемы кодирования символов.

Символы L1.5

[ редактировать ]
Пример последовательности 17-битных символов L1.5 UniPro
КТЛ б15 б14 б13 б12 б11 б10 b09 b08 b07 b06 b05 b04 b03 b02 b01 б00
1 1-й байт управляющего символа L1.5 2-й байт управляющего символа L1.5
0 1-й байт символа данных L1.5 2-й байт символа данных L1.5
0 1-й байт символа данных L1.5 2-й байт символа данных L1.5
0 1-й байт символа данных L1.5 2-й байт символа данных L1.5
0 1-й байт символа данных L1.5 2-й байт символа данных L1.5
1 1-й байт управляющего символа L1.5 2-й байт управляющего символа L1.5
0 1-й байт символа данных L1.5 2-й байт символа данных L1.5

Таким образом, L1.5 имеет собственную (концептуальную) кодировку символов, состоящую из 17-битных символов. Эти 17-битные символы никогда не появляются в проводах, поскольку сначала они преобразуются L1.5 в пару символов PHY. Дополнительный 17-й бит управления указывает на специальные символы управления, которые используются самим протоколом (L1.5 и L2). На рисунках биты управления показаны красным цветом L1.5 как напоминание о том, что они определены и используются протоколом уровня 1.5.

Поддержка нескольких полос L1.5

[ редактировать ]

Основная функция, которую L1.5 предлагает пользователям, — это возможность увеличения пропускной способности канала UniPro за счет использования 2, 3 или 4 полос, когда одна полоса не обеспечивает достаточную пропускную способность. Для пользователя такое многоканальное соединение просто выглядит как более быстрый физический уровень, поскольку символы передаются по 2, 3 или 4 каналам. Приложения, которым требуется более высокая пропускная способность в одном направлении, но меньшая в противоположном направлении, могут иметь разное количество полос в каждом направлении.

Обнаружение полосы движения L1.5

[ редактировать ]

Начиная с UniPro v1.4, L1.5 автоматически определяет количество доступных линий M-PHY для каждого направления канала. Это включает в себя простой протокол обнаружения в L1.5, который выполняется при инициализации. Протокол передает тестовые данные по каждой доступной исходящей полосе и получает обратно от однорангового объекта информацию о том, какие данные на какой полосе фактически дошли до другого конца канала. Механизм также поддерживает прозрачное переназначение дорожек, что дает разработчикам печатных плат гибкость в физическом подключении дорожек.

[ редактировать ]

Начиная с UniPro v1.4, L1.5 имеет встроенный протокол PACP (протокол управления PA), который позволяет L1.5 взаимодействовать со своим одноранговым объектом L1.5 на другом конце канала на основе M-PHY. Его основное назначение — предоставить контроллеру на одном конце канала простой и надежный способ изменения режимов мощности как в прямом, так и в обратном направлении канала. Это означает, что контроллер, расположенный на одном конце канала, может изменить режим мощности обоих направлений канала за одну атомарную операцию. Сложные шаги, необходимые для обеспечения полной надежности, прозрачно выполняются в рамках уровня L1.5.

Управление параметрами однорангового узла L1.5

[ редактировать ]

В дополнение к управлению питанием канала L1.5 PACP также используется для доступа к параметрам управления и состояния однорангового устройства UniPro.

L1.5 гарантии

[ редактировать ]

Механизмы L1.5 гарантируют протоколам верхнего уровня следующее:

  • после сброса каждый передатчик L1.5 будет ждать, пока подключенный приемник L1.5 не станет активным (управляется посредством установления связи)
  • если используется более одной полосы, порядок исходного потока символов сохраняется (несмотря на использование нескольких полос и свободу в том, как соединять эти полосы)
  • смена режимов питания выполняется надежно (даже при наличии битовых ошибок)
[ редактировать ]

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

Кадры данных L2

[ редактировать ]

L2 группирует 17-битные символы UniPro L1.5 в пакеты данных (термин «пакет» зарезервирован для L3). Эти кадры данных начинаются с 17-битного управляющего символа начала кадра, за которым следуют до 288 байтов данных (144 символа данных), а затем управляющий символ конца кадра и контрольная сумма.

Обратите внимание, что два или более из 288 байтов используются более высокими уровнями протокола UniPro. Максимальный размер кадра в 288 байт полезной нагрузки на кадр был выбран для того, чтобы весь стек протоколов мог легко передавать 256 байтов данных приложения за один фрагмент. Полезные данные, состоящие из нечетного числа байтов, поддерживаются путем заполнения кадра четным числом байтов и вставки соответствующего флага в трейлер.

Пример фрейма данных UniPro
КТЛ б15 б14 б13 б12 б11 б10 b09 b08 b07 b06 b05 b04 b03 b02 b01 б00
1 Управляющий символ начала кадра данных (заголовок)
0 Полезная нагрузка кадра
0 :
0 :
0 Полезная нагрузка кадра
1 Управляющий символ конца кадра данных (трейлер)
0 16-битная контрольная сумма

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

[ редактировать ]

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

  • Один тип («AFC-Подтверждение и управление потоком L2», 3 символа) служит для подтверждения успешно принятых кадров данных.
  • Другой тип («NAC», 2 символа) уведомляет соответствующий передатчик о том, что принят неверный кадр.

Обратите внимание, что эти типы управляющих кадров L2 отправляются L2 автономно.

Пример управляющего кадра UniPro
КТЛ б15 б14 б13 б12 б11 б10 b09 b08 b07 b06 b05 b04 b03 b02 b01 б00
1 Управляющий символ начала контрольного кадра (заголовок)
0 Полезная нагрузка управляющего кадра (только AFC)
0 16-битная контрольная сумма

ретрансляция L2

[ редактировать ]

Высокоскоростная связь при низких уровнях мощности может привести к случайным ошибкам в получаемых данных. Уровень канала передачи данных содержит протокол для автоматического подтверждения правильности полученных кадров данных (с использованием контрольных кадров AFC) и для активной сигнализации об ошибках, которые могут быть обнаружены на уровне L2 (с использованием управляющих кадров NAC). Наиболее вероятной причиной ошибки на уровне L2 является повреждение кадра данных на электрическом уровне (шум, электромагнитные помехи). Это приводит к неправильной контрольной сумме данных или контрольного кадра на стороне получателя и приводит к его автоматической повторной передаче. Обратите внимание, что кадры данных подлежат подтверждению (AFC) или отрицательному подтверждению (NAC). Поврежденные контрольные кадры обнаруживаются таймерами, которые отслеживают ожидаемые или требуемые ответы.

Пропускная способность 1 Гбит/с и коэффициент битовых ошибок 10. −12 на скорости 1 гигабит/с будет возникать ошибка каждые 1000 секунд или один раз в каждом тысячном передаваемом Гбите. Таким образом, уровень 2 автоматически исправляет эти ошибки за счет незначительной потери полосы пропускания и за счет буферного пространства, необходимого на уровне L2 для хранения копий переданных кадров данных для возможной повторной передачи или «воспроизведения».

Управление потоком L2

[ редактировать ]

Другой особенностью L2 является способность передатчика L2 знать, имеется ли буферное пространство для кадра данных на принимающей стороне. Это снова основано на контрольных кадрах L2 (AFC), которые позволяют приемнику сообщать передатчику партнера, какой объем буферного пространства доступен. Это позволяет приемнику при необходимости приостанавливать работу передатчика, избегая таким образом переполнения буфера приема. Управление потоком L2 не влияет на управляющие кадры: они могут быть отправлены в любое время, и ожидается, что получатель L2 обработает их со скоростью, с которой они поступят.

Классы трафика L2 и арбитраж

[ редактировать ]

UniPro в настоящее время поддерживает два уровня приоритета для кадров данных: класс трафика 0 (TC0) и класс трафика 1 (TC1). TC1 имеет более высокий приоритет, чем TC0. Это означает, что если передатчик L2 имеет для отправки смесь кадров данных TC0 и TC1, кадры данных TC1 будут отправлены первыми. Предполагая, что большая часть трафика данных использует TC0 и что сеть перегружена, это помогает гарантировать, что кадры данных TC1 дойдут до места назначения быстрее, чем кадры данных TC0 (аналогично машинам экстренных служб и обычному дорожному движению). Более того, L2 может даже прервать или «вытеснить» исходящий кадр данных TC0 для передачи кадра данных TC1. К управляющим кадрам применяются дополнительные правила арбитража: по сути, они получают более высокий приоритет, чем кадры данных, поскольку они малы и необходимы для поддержания потока трафика.

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

Опция одного класса трафика L2

[ редактировать ]

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

L2 гарантии

[ редактировать ]

Различные механизмы L2 предоставляют ряд гарантий протоколам более высокого уровня:

  • полученный кадр данных будет содержать правильную полезную нагрузку (проверяется с помощью контрольной суммы)
  • переданный кадр данных достигнет получателя однорангового узла (после возможных повторных передач)
  • будет место для размещения полученных кадров данных (управление потоком L2)
  • содержимое кадра данных будет передано на верхний уровень протокола только один раз (дубликаты кадров данных отбрасываются)
  • кадры данных одного и того же класса трафика будут получены и переданы на верхние уровни протокола в порядке

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

Сетевой уровень (L3)

[ редактировать ]
Пример архитектуры системы, показывающий несколько устройств UniPro, подключенных через коммутаторы UniPro.

Сетевой уровень предназначен для маршрутизации пакетов по сети к месту назначения. Коммутаторы в сети с несколькими переходами используют этот адрес, чтобы решить, в каком направлении маршрутизировать отдельные пакеты. Для этого L3 добавляет заголовок, содержащий 7-битный адрес назначения, ко всем кадрам данных L2. В примере, показанном на рисунке, это позволяет устройству №3 не только обмениваться данными с устройствами №1, №2 и №5, но также позволяет ему взаимодействовать с устройствами №4 и №6.

Версия 1.4 спецификации UniPro не определяет детали коммутатора, но указывает достаточно, чтобы устройство могло работать в будущей сетевой среде.

Адресация L3

[ редактировать ]

Хотя роль адреса L3 такая же, как и IP-адреса в пакетах в Интернете, длина адреса UniPro DeviceID составляет всего 7 бит. Таким образом, в сети может быть до 128 различных устройств UniPro. Обратите внимание: что касается UniPro, все устройства UniPro созданы равными: в отличие от PCI Express или USB, любое устройство может взять на себя инициативу для связи с любым другим устройством. Это делает UniPro настоящей сетью, а не шиной с одним мастером.

пакеты L3

[ редактировать ]

На диаграмме показан пример пакета L3, который начинается с первого байта полезной нагрузки L2 кадра L2 и заканчивается последним байтом полезной нагрузки L2 кадра L2. Для простоты и эффективности в одном кадре L2 может передаваться только один пакет L3. Это означает, что в UniPro понятия кадра L2, пакета L3 и сегмента L4 (см. ниже) настолько тесно связаны, что являются почти синонимами. Однако различие (и «окраска») по-прежнему проводится для того, чтобы спецификация могла быть описана строго по уровням.

Структура пакета с коротким заголовком L3

[ редактировать ]

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

Пакет UniPro с коротким заголовком в кадре данных
КТЛ б15 б14 б13 б12 б11 б10 b09 b08 b07 b06 b05 b04 b03 b02 b01 б00
1 Управляющий символ начала кадра данных (заголовок)
0 L3 короткий заголовок Полезная нагрузка пакета
0 Полезная нагрузка пакета
0 :
0 Полезная нагрузка пакета
1 Управляющий символ конца кадра данных (трейлер)
0 16-битная контрольная сумма

Пакеты L3 с длинным заголовком

[ редактировать ]

Пакеты с длинными заголовками планируется ввести в будущей версии спецификации UniPro, поэтому их формат не определен (за исключением одного бита) в текущей спецификации UniPro v1.4. Однако UniPro v1.4 определяет перехватчик, который позволяет принимать или передавать пакеты с длинными заголовками устройством, соответствующим UniPro v1.4, при условии, что последнее можно обновить с помощью программного обеспечения. Механизм «ловушки длинного заголовка» UniPro v1.4 просто передает полезную нагрузку полученного кадра данных L2 (представляющую собой пакет L3 с его заголовком и полезной нагрузкой) расширению L3 (например, программному обеспечению) для обработки. Механизм также может принимать для передачи полезную нагрузку кадра L2 из расширения L3. Целью этого механизма является обеспечение возможности обновления устройств UniPro v1.4 для поддержки протоколов, требующих еще не определенных пакетов с длинным заголовком.

L3 гарантии

[ редактировать ]

Хотя детали коммутаторов все еще выходят за рамки спецификации UniPro v1.4, L3 позволяет устройствам UniPro v1.0/v1.1/v1.4 выступать в качестве конечных точек в сети. Таким образом, он гарантирует ряд свойств протоколам более высокого уровня:

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

Транспортный уровень (L4)

[ редактировать ]

Функции транспортного уровня UniPro не особенно сложны, поскольку основные коммуникационные услуги уже реализованы на нижних уровнях протокола. L4, по сути, заключается в том, чтобы позволить нескольким устройствам в сети или даже нескольким клиентам внутри этих устройств совместно использовать сеть контролируемым образом. Функции L4, как правило, примерно сопоставимы с функциями компьютерных сетей (например, TCP и UDP ), но они реже встречаются в локальных шинах, таких как PCI Express, USB или внутрикристальных шинах.

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

Возможности L4

[ редактировать ]

Транспортный уровень UniPro можно рассматривать как обеспечивающий дополнительный уровень адресации внутри устройства UniPro. Этот

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

Эти моменты объяснены более подробно ниже.

Сегменты L4

[ редактировать ]

Сегмент L4 по сути представляет собой полезную нагрузку пакета L3. Заголовок L4 в его краткой форме состоит всего из одного байта. Основное поле короткого заголовка L4 представляет собой 5-битный идентификатор «CPort», который можно рассматривать как подадрес внутри устройства UniPro и который в некоторой степени аналогичен номерам портов , используемым в TCP или UDP . Таким образом, каждый сегмент (с коротким заголовком) адресован определенному CPort конкретного устройства UniPro.

Сегмент UniPro внутри кадра данных
КТЛ б15 б14 б13 б12 б11 б10 b09 b08 b07 b06 b05 b04 b03 b02 b01 б00
1 Управляющий символ начала кадра данных (заголовок)
0 Короткий заголовок L3 Короткий заголовок L4
0 Полезная нагрузка сегмента
0 :
0 Полезная нагрузка сегмента
1 Управляющий символ конца кадра данных (трейлер)
0 16-битная контрольная сумма

Один бит в заголовке сегмента также позволяет определять сегменты с длинными заголовками. UniPro v1.4 не определяет структуру таких форматов сегментов (за исключением этого единственного бита). Сегменты длинных заголовков могут быть сгенерированы с помощью ловушки длинного заголовка, описанной в разделе L3.

Соединения L4

[ редактировать ]

UniPro называет пару CPort, которые взаимодействуют друг с другом, соединением (отсюда буква C в CPort). Установка соединения означает, что один CPort был инициализирован для создания сегментов, которые адресованы конкретному CPort L4 определенного DeviceID L3 с использованием определенного класса трафика L2. Поскольку соединения UniPro являются двунаправленными, CPort назначения также настроен на отправку данных обратно в исходный CPort.

В UniPro 1.0/1.1 настройка соединения зависит от реализации.

В UniPro v1.4 настройка соединения предполагается относительно статичной: параметры парных CPorts настраиваются путем установки соответствующих атрибутов соединения в локальных и одноранговых устройствах с использованием DME. В будущей версии UniPro это будет дополнено протоколом динамического управления соединениями.

L4 управление потоком

[ редактировать ]

CPort также содержит переменные состояния, которые можно использовать для отслеживания объема буферного пространства, имеющегося у однорангового или подключенного CPort. Это используется для предотвращения ситуации, когда CPort отправляет сегменты CPort, у которого недостаточно буферного пространства для хранения данных, что приводит к остановке трафика данных. Если эту пробку в пункте назначения не устранить быстро, она быстро перерастет в тупик всей сети. Это крайне нежелательно, так как может сильно повлиять на производительность сети для всех пользователей или, что еще хуже, привести к тупиковой ситуации. Описанный механизм L4 известен как сквозное управление потоком (E2E FC), поскольку он задействует конечные точки соединения.

Управление потоком L4 и управление потоком L2

[ редактировать ]

Управление потоком L4 дополняет управление потоком L2. Оба работают, заставляя передатчик приостанавливать работу до тех пор, пока он не узнает, что в приемнике достаточно места в буфере. Но управление потоком L4 работает между парой CPort (потенциально с несколькими переходами друг от друга) и направлено на изоляцию соединений друг от друга (аналогия с виртуальным проводом). Напротив, управление потоком L2 осуществляется для каждого перехода и позволяет избежать основной потери данных из-за нехватки буферного пространства получателя.

Применимость управления потоком L4

[ редактировать ]

E2E FC возможен только для связи, ориентированной на соединение, но в настоящее время L4 UniPro не поддерживает альтернативные варианты. E2E FC включен по умолчанию, но его можно отключить. Обычно это не рекомендуется.

Защитная сетка L4

[ редактировать ]

UniPro предоставляет механизмы «сети безопасности», которые требуют, чтобы CPort поглощал все отправленные на него данные без остановок. Если остановка все равно обнаружена, конечная точка отбрасывает входящие данные, поступающие на этот CPort, чтобы поддерживать поток данных в сети. Это можно рассматривать как форму постепенного ухудшения качества на уровне системы: если одно соединение в сети не может поддерживать скорость принимаемых данных, другие устройства и другие соединения остаются без изменений.

L4 и сообщения

[ редактировать ]

UniPro L4 позволяет соединению между парой CPort передавать поток так называемых сообщений (каждое из которых состоит из серии байтов), а не один поток байтов. Границы сообщения инициируются протоколом уровня приложения с использованием UniPro и сигнализируются через бит в заголовке сегмента. Этот бит конца сообщения указывает, что последний байт в сегменте L4 является последним байтом сообщения уровня приложения.

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

В UniPro v1.4 введено понятие фрагмента сообщения, фрагмент которого представляет собой часть сообщения, передаваемого между приложением и CPort. Эта опция может быть полезна при указании Приложений поверх UniPro, которым необходимо прервать создание Сообщения на основе информации из стека UniPro, например, входящих Сообщений или противодавления.

L4 гарантии

[ редактировать ]

Механизмы L4 предоставляют ряд гарантий протоколам верхнего уровня:

  • CPort не может остановиться в том смысле, что он всегда будет продолжать принимать данные так быстро, как канал или сеть могут доставить данные.
  • Если приложение, привязанное к CPort соединения, зависает и, таким образом, не может (в течение коротких или более длительных периодов времени) поглощать данные, другие соединения с тем же или другим устройством не затрагиваются.
  • Поток данных, отправленный из одного CPort в другой, всегда будет поступать неповрежденным, в порядке и с правильной информацией о границах сообщения, если CPort сможет справиться с входящим потоком данных.
  • В случае, если CPort не может справиться с входящим потоком данных, одно или несколько сообщений могут быть повреждены (из-за отсутствия данных), и получатель уведомляется об этой ошибке.
  • Для протокола уровня приложения безопасно ожидать ответа узла (например, ответа или подтверждения) на отправленное сообщение L4 (например, вопрос или команду). Однако для протокола уровня приложения небезопасно ожидать ответа узла на отправленное частичное сообщение.
  • Содержимое полученных пакетов/сегментов с коротким заголовком всегда будет правильным. Хотя доставка на интерфейсе-ловушке с длинным заголовком не гарантируется, будущее расширение протокола планирует сделать доставку таких пакетов надежной. Это расширение протокола может быть реализовано программно поверх ловушки с длинным заголовком.

Объект управления устройствами (DME)

[ редактировать ]

DME (объект управления устройством) управляет уровнями в стеке UniPro. Он обеспечивает доступ к параметрам управления и состояния на всех уровнях, управляет переходами между режимами питания Link и управляет загрузкой, переходом в спящий режим и сбросом стека. Кроме того, он предоставляет средства для управления одноранговым стеком UniPro в канале Link.

  1. ^ Спецификация Альянса MIPI для унифицированного протокола (UniPro СМ ) v1.10.01 , требуется учетная запись на сайте MIPI
  2. ^ Обзор спецификаций MIPI , D-PHY используется в спецификациях DSI, CSI и UniPro, M-PHY используется в спецификациях UniPro, DigRFv4 и LLI.
  3. ^ Спецификация MIPI Alliance для D-PHY v1.00.00 , требуется учетная запись на веб-сайте MIPI.
  4. ^ Спецификация MIPI для M-PHY версии 1.00.00 , требуется учетная запись на веб-сайте MIPI.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cfe86fadabf24fc56ae5fa41301995a5__1714085160
URL1:https://arc.ask3.ru/arc/aa/cf/a5/cfe86fadabf24fc56ae5fa41301995a5.html
Заголовок, (Title) документа по адресу, URL1:
UniPro protocol stack - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)