UniPro
UniPro (lub Unified Protocol ) to technologia szybkiego interfejsu do łączenia układów scalonych w elektronice mobilnej i mobilnej. Różne wersje protokołu UniPro są tworzone w ramach MIPI Alliance (Mobile Industry Processor Interface Alliance), organizacji, która definiuje specyfikacje ukierunkowane na aplikacje mobilne i mobilne.
Technologia UniPro i powiązane warstwy fizyczne mają na celu zapewnienie szybkiej transmisji danych (gigabity/sekundę), działania przy niskim poborze mocy (sygnalizacja o niskim zboczu, tryby czuwania), małej liczby pinów (sygnalizacja szeregowa, multipleksowanie), małej powierzchni krzemowej (małe pakiety rozmiary), niezawodność danych ( sygnalizacja różnicowa , odzyskiwanie błędów) i solidność (sprawdzone koncepcje sieci, w tym zarządzanie przeciążeniami ).
UniPro w wersji 1.6 koncentruje się na umożliwieniu szybkiej komunikacji punkt-punkt między chipami w mobilnej elektronice. UniPro posiada zabezpieczenia do obsługi sieci składających się z maksymalnie 128 urządzeń UniPro (układ scalony, moduły itp.). Funkcje sieciowe są planowane w przyszłych wersjach UniPro. W takim środowisku sieciowym pary urządzeń UniPro są ze sobą połączone za pomocą tak zwanych łączy, podczas gdy pakiety danych są kierowane do miejsca docelowego przez przełączniki UniPro. Przełączniki te są analogiczne do routerów stosowanych w przewodowych sieciach LAN opartych o gigabitowy Ethernet. Ale w przeciwieństwie do sieci LAN, technologia UniPro została zaprojektowana do łączenia chipów w terminalu mobilnym, a nie do łączenia komputerów w budynku.
Historia i cele
Inicjatywa opracowania protokołu UniPro zrodziła się z dwóch projektów badawczych odpowiednio w Nokia Research Center i Philips Research. Oba zespoły niezależnie doszły do wniosku, że złożoność systemów mobilnych można zmniejszyć, dzieląc projekt systemu na dobrze zdefiniowane moduły funkcjonalne połączone ze sobą siecią. Kluczowe założenia były zatem takie, że paradygmat sieci zapewnia modułom dobrze ustrukturyzowane, warstwowe interfejsy i że nadszedł czas, aby ulepszyć architekturę systemów mobilnych, aby ich projekt sprzętu i oprogramowania był bardziej modułowy. Innymi słowy, celem było przeciwdziałanie rosnącym kosztom rozwoju, zagrożeniom rozwojowym i wpływowi czasu wprowadzania na rynek coraz bardziej złożonej integracji systemów.
W 2004 roku obie firmy wspólnie założyły obecną Grupę Roboczą UniPro firmy MIPI . Taka wielofirmowa współpraca została uznana za niezbędną do osiągnięcia interoperacyjności komponentów pochodzących od różnych dostawców oraz do osiągnięcia skali niezbędnej do napędzania nowej technologii.
Nazwa zarówno grupy roboczej, jak i standardu, UniPro, odzwierciedla potrzebę obsługi szerokiej gamy modułów i szerokiego zakresu ruchu danych przy użyciu jednego stosu protokołów. Chociaż istnieją inne technologie łączności ( SPI , PCIe , USB ), które również obsługują szeroki zakres aplikacji, interfejsy międzyukładowe stosowane w elektronice mobilnej są nadal zróżnicowane, co znacznie różni się od (pod tym względem bardziej dojrzałego) przemysłu komputerowego.
W styczniu 2011 ukończono UniPro w wersji 1.40. Jego głównym celem jest pełna obsługa nowej warstwy fizycznej: M-PHY, w tym obsługa zmiany trybów zasilania i konfiguracji urządzeń równorzędnych. W lipcu 2012 UniPro v1.40 został zaktualizowany do UniPro v1.41 w celu obsługi nowszego, szybszego M-PHY v2.0. Specyfikacje UniPro v1.4x zostały wydane wraz z formalnym modelem specyfikacji (SDL).
Ostateczny szkic wersji 1.6 specyfikacji UniPro został ukończony w sierpniu 2013 r. Podziękowania zawiera 19 inżynierów z 12 firm i organizacji: Agilent, Cadence, IEEE-ISTO, Intel, nVidia, Nokia, Qualcomm, Samsung, STMicroelectronics, Synopsys, Teksas Instrumenty i Toshiba. Specyfikacja UniPro v1.6 jest aktualizacją specyfikacji UniPro v1.41.00 i składa się wyłącznie z dokumentu specyfikacji UniPro, SDL nie jest już obsługiwany. Specyfikacja UniPro v1.6 odwołuje się do następujących dokumentów:
- Specyfikacja dla M-PHY, wersja 3.0
- Specyfikacja bloku deskryptorów urządzeń (DDB), wersja 1.0
Do tej pory kilku dostawców ogłosiło dostępność bloków UniPro IP, a różni dostawcy chipów stworzyli implementacje, które są na różnych etapach rozwoju. W międzyczasie Grupa Robocza MIPI UniPro tworzy zestaw testów zgodności i przygotowuje przyszłe rozszerzenia technologii (patrz Wersje UniPro i plan działania ).
30 stycznia 2018 r. JEDEC opublikował standard UFS 3.0, który wykorzystuje MIPI M-PHY v4.1 (z HS-Gear4) i MIPI UniPro v1.8 dla pamięci mobilnej z szybkością transmisji danych do 2900 MB/s (11,6 Gbit /s na tor, 2 tory, łącznie 23,2 Gbit/s).
Główne cechy
- gigabit/s - technologia szeregowa z wieloma opcjami skalowania przepustowości
- generyczny — może być używany do szerokiego zakresu aplikacji i rodzajów ruchu danych
- skalowalne - od pojedynczych łączy do sieci z maksymalnie 128 urządzeniami UniPro
- niski pobór mocy - zoptymalizowany dla małych systemów zasilanych bateryjnie
- niezawodność - wykryte błędy danych i możliwe do naprawienia poprzez retransmisję
- przyjazny dla sprzętu - w razie potrzeby można go w całości zaimplementować sprzętowo
- przyjazne dla oprogramowania - podobne koncepcje do znanych technologii sieciowych
- wykorzystanie przepustowości - zapewnia funkcje do zarządzania przeciążeniem i kontroli arbitrażu
- wspólne - różne typy ruchu i urządzenia UniPro mogą współdzielić piny i przewody
- testable - od wersji 1.1 UniPro wymaga funkcji ułatwiających automatyczne testowanie zgodności
Architektura warstwowa
UniPro powiązany z podstawową warstwą PHY to warstwowy stos protokołów, który obejmuje warstwy od L1 do L4 modelu referencyjnego OSI dla sieci. UniPro wprowadza dodatkową warstwę L1.5 pomiędzy L1 i L2, którą można uznać za podwarstwę warstwy L1 OSI.
Wiele aplikacji
Ścisłe nakładanie warstw UniPro umożliwia stosowanie go w szerokim zakresie zastosowań:
- UFS: uniwersalna pamięć flash . Urządzenia pamięci masowej nowej generacji określone przez JEDEC z obsługą przepustowości danych do 300 MB/s w pierwszej generacji i obsługą funkcji kolejkowania poleceń w celu zwiększenia prędkości losowego odczytu/zapisu.
- CSI-3: Interfejs szeregowy kamery MIPI trzeciej generacji zawiera skalowalny interfejs o dużej przepustowości, gwarantowaną transmisję danych oraz zestaw poleceń do inicjalizacji i konfiguracji podstawowych komponentów.
- GBT: śledzenie gigabitowe MIPI. Niezależny od sieci protokół do przesyłania danych śledzenia przez szybkie interfejsy, takie jak UniPort-M lub USB 3.0.
- DSI-2: Interfejs szeregowy wyświetlacza MIPI drugiej generacji .
- PIE: Interfejs emulacji procesora. Ten protokół aplikacji obsługuje tradycyjne transakcje odczytu/zapisu oparte na pamięci, jakie można znaleźć na magistralach procesora. Aplikacje do strumieniowego przesyłania danych (np. ruch multimedialny), protokoły typu komenda/odpowiedź (np. do sterowania) oraz tunelowanie popularnych protokołów z innych domen (np. TCP/IP ) są również wspierane i szczególnie zalecane, ponieważ mają tendencję do zwiększania modułowości na poziomie systemu i interoperacyjności ze względu na ich wyższy poziom abstrakcji.
- UniPort-M (UniPro z M-PHY): umożliwia interfejs rozszerzenia ogólnego przeznaczenia do podłączania urządzeń peryferyjnych, takich jak akceleratory graficzne, moduły, takie jak Google ARA Project
- UniPort-D (UniPro z D-PHY): Umożliwia rozszerzenie ogólnego przeznaczenia z D-PHY, należy pamiętać, że D-PHY nie jest obsługiwaną warstwą fizyczną dla UniPro poza specyfikacją UniPro v1.41
Alternatywne warstwy fizyczne
Warstwowa architektura UniPro umożliwia również obsługę technologii wielu warstw fizycznych (L1, PHY) nawet w ramach jednej sieci. Jest to analogiczne do protokołu TCP/IP , który może działać w szerokim zakresie technologii niższych warstw. W przypadku UniPro dwie technologie PHY do użytku poza chipem.
UniPorty
Te technologie PHY są omówione w oddzielnych specyfikacjach MIPI (do których odwołuje się specyfikacja UniPro. Należy zauważyć, że termin UniPort jest używany do reprezentowania rzeczywistego portu w chipie, który jest zgodny ze specyfikacją UniPro dla jego wyższych warstw (L1.5 do 4) oraz specyfikacja MIPI PHY dla L1. Ponieważ istnieją dwie technologie PHY, są one odpowiednio znane jako UniPort-D (UniPro z D-PHY) i UniPort-M (UniPro z M-PHY).
Etapowa mapa drogowa
Specyfikacja UniPro 1.0 została zatwierdzona przez Radę Dyrektorów MIPI 14 stycznia 2008 r. Wersja UniPro 1.1, ukończona w lipcu 2009 r., ma na celu poprawę czytelności, zapewnia model referencyjny (w SDL) dla dwóch z czterech warstw protokołów UniPro , i zapewnia funkcje ułatwiające automatyczne testowanie zgodności.
Architekci projektujący UniPro od samego początku zamierzali udostępnić tę technologię jako etapową mapę drogową z kompatybilnością wsteczną. UniPro 1.1 został zaprojektowany tak, aby był w pełni kompatybilny wstecz z UniPro 1.0. Głównym celem UniPro 1.40 i UniPro v1.41 (UniPro v1.4x) jest obsługa dodatkowej warstwy fizycznej, M-PHY. Ponadto UniPort-M umożliwia lokalną i zdalną kontrolę równorzędnego urządzenia UniPro, które może służyć na przykład do sterowania różnymi obsługiwanymi trybami zasilania łącza. Planowane kroki wykraczające poza UniPro v1.4x mają na celu dostarczenie specyfikacji dla obsługujących sieć urządzeń końcowych i przełączników sieciowych.
Specyfikacja UniPro v1.6 została zaprojektowana w celu zapewnienia współdziałania z UniPro v1.41.00 podczas korzystania z warstwy fizycznej M-PHY. Ponieważ D-PHY nie jest już obsługiwane w wersji 1.60, kompatybilność wsteczna dla operacji D-PHY nie może zostać zachowana.
Zakres i zastosowanie
UniPro i leżąca u jego podstaw warstwa fizyczna zostały zaprojektowane do obsługi niskiego poboru mocy potrzebnego do systemów zasilanych bateryjnie. Funkcje te obejmują zarówno wydajne energetycznie szybkie działanie, jak i dodatkowe tryby niskiego poboru mocy w okresach bezczynności lub niskiej przepustowości w sieci. Rzeczywiste zachowanie zasilania jest jednak w dużym stopniu zależne od wyborów projektowych systemu i implementacji interfejsu.
Protokół UniPro może obsługiwać szeroki zakres aplikacji i powiązanych rodzajów ruchu. Przykładowe interfejsy chip-to-chip spotykane w systemach mobilnych:
- Transfer plików w pamięci masowej: 6 Gbit/s
- Kamera 24M pikseli przy 30 klatkach na sekundę: 9Gbit/s
- Łączność między chipami: od 1 Gb do 24 Gb/s
Należy zauważyć, że takie aplikacje wymagają warstwy protokołu aplikacji na wierzchu UniPro w celu zdefiniowania struktury i semantyki strumieni bajtów transportowanych przez UniPro. Można to zrobić, po prostu przenosząc istniejące formaty danych (np. śledzenie, strumienie pikseli, pakiety IP), wprowadzając nowe zastrzeżone formaty (np. sterowniki programowe dla układów scalonych) lub definiując nowe standardy branżowe (np. UFS dla transakcji podobnych do pamięci ) .
Aplikacje, które obecnie uważa się za mniej odpowiednie dla UniPro, to:
- kontrola niskiej przepustowości - chyba że jest multipleksowana z innym ruchem (obawa: złożoność UniPro jest znacznie wyższa niż np. I2C )
- wysokiej jakości próbki audio (obawy: UniPro nie dystrybuuje wspólnego zegara do wszystkich urządzeń; złożoność UniPro w porównaniu do np. SLIMbus czy I2S )
- interfejsy do pamięci dynamicznej (dotyczy: opóźnienia dla instrukcji procesora/pobierania danych)
Wersje i mapa drogowa
Wersja | Zamrożenie tekstu | Formalne zwolnienie | Opis |
---|---|---|---|
UniPro 0,80 00 | 6 września 2006 r | 26 lutego 2007 r | Zapowiedź technologii UniPro 1.0 |
UniPro 1.0 0.00 | 25 sierpnia 2007 | 14 stycznia 2008 r | Ograniczone zmiany w porównaniu do UniPro 1.0. Wszystkie podstawy łącza między chipami za pośrednictwem D-PHY |
UniPro 1.1 0.00 | 29 lipca 2009 | 22 stycznia 2010 r | „Utwardzony”: formalne modele referencyjne dla 2 warstw protokołu; ulepszenia czytelności i testowalności |
UniPro 1.40.00 _ | 31 stycznia 2011 r | 28 kwietnia 2011 r | „ M-PHY ”: obsługa nowej technologii warstwy fizycznej. M-PHY v1.0 z HS-G1. Formalny model odniesienia dla całego stosu. Konfiguracja równorzędna. Wersjonowanie. |
UniPro 1.41.00 _ | 4 maja 2012 r | 30 lipca 2012 r | Uaktualnij, aby obsługiwać M-PHY v2.0 z HS-G2 |
UniPro 1.60.00 _ | 6 sierpnia 2013 r | 30 września 2013 r | Aktualizacja do obsługi M-PHY v3.0 z HS-Gear3, Redukcja mocy podczas stanów uśpienia i przeciągnięcia M-PHY, Scrambling dla EMI MitiUpgrade do obsługi M-PHY v3.0 z HS-Gear3gation, Usuwanie odniesień D-PHY i SDL |
UniPro 1.8 | 8 lutego 2018 r | Zaktualizuj, aby obsługiwać M-PHY v4.1 z HS-Gear4 | |
przyszłe wydania | do ustalenia | do ustalenia | „Punkt końcowy”: w pełni sieciowy punkt końcowy, w tym protokół konfiguracji w paśmie.
|
Architektura stosu protokołów
Stos protokołów UniPro jest zgodny z klasyczną architekturą referencyjną OSI (ref.). Ze względów praktycznych warstwa fizyczna OSI jest podzielona na dwie podwarstwy: warstwę 1 (faktyczną warstwę fizyczną) i warstwę 1.5 (warstwa adaptera PHY), która abstrahuje od różnic między alternatywnymi technologiami warstwy 1.
Warstwa # | Nazwa warstwy | Funkcjonalność | Nazwa jednostki danych | |
---|---|---|---|---|
LA | Aplikacja | Semantyka ładunku i transakcji | Wiadomość | |
DME | ||||
Warstwa 4 | Transport | Porty, multipleksowanie, kontrola przepływu | Człon | |
Warstwa 3 | Sieć | Adresowanie, routing | Paczka | |
Warstwa 2 | Łącza danych | Niezawodność pojedynczego przeskoku i arbitraż oparty na priorytetach | Rama | |
Warstwa 1.5 | Adapter PHY | Abstrakcja warstwy fizycznej i obsługa wielu linii | Znak UniPro | |
Warstwa 1 | Warstwa fizyczna (PHY) | Sygnalizacja, taktowanie, kodowanie linii, tryby zasilania | symbol PHY |
Sama specyfikacja UniPro obejmuje warstwy 1.5, 2, 3, 4 oraz DME (Device Management Entity). Warstwa aplikacji (LA) jest poza zakresem, ponieważ różne zastosowania UniPro będą wymagały różnych protokołów LA. Warstwa fizyczna (L1) jest objęta osobnymi specyfikacjami MIPI, aby w razie potrzeby umożliwić ponowne wykorzystanie PHY przez inne (mniej ogólne) protokoły (ref.).
Warstwy OSI 5 (sesja) i 6 (prezentacja) są, w stosownych przypadkach, liczone jako część warstwy aplikacji.
Omówienie propozycji wartości
Integracja UniPro i systemu
UniPro jest specjalnie ukierunkowane przez MIPI, aby uprościć tworzenie coraz bardziej złożonych produktów. Oznacza to stosunkowo długoterminową wizję przyszłych architektur telefonów składających się z modułowych podsystemów połączonych ze sobą za pomocą stabilnych, znormalizowanych, ale elastycznych interfejsów sieciowych. Oznacza to również stosunkowo długoterminową wizję oczekiwanej lub pożądanej struktury branży telefonów komórkowych, w której komponenty mogą z łatwością współpracować, a komponenty od konkurencyjnych dostawców są do pewnego stopnia kompatybilne z wtyczkami .
Podobne architektury pojawiły się w innych dziedzinach (np. sieci motoryzacyjne, w dużej mierze znormalizowane architektury komputerów osobistych, branża IT wokół protokołów internetowych) z podobnych powodów interoperacyjności i ekonomii skali. Jest jednak zbyt wcześnie, aby przewidzieć, jak szybko UniPro zostanie przyjęte przez branżę telefonii komórkowej.
Wysoka przepustowość i koszty
Szybkie połączenia, takie jak UniPro, USB lub PCI Express, zwykle kosztują więcej niż połączenia o niskiej szybkości (np. I2C , SPI lub proste interfejsy CMOS ). Wynika to na przykład z obszaru krzemu zajmowanego przez wymagane obwody sygnału mieszanego (warstwa 1), a także ze względu na złożoność i przestrzeń buforową wymaganą do automatycznego korygowania błędów bitowych. Koszt i złożoność UniPro może zatem stanowić problem dla niektórych urządzeń UniPro o niskiej przepustowości.
Współczynnik adopcji
Jak postulował Metcalfe, wartość technologii sieciowej jest proporcjonalna do kwadratu liczby urządzeń korzystających z tej technologii. To sprawia, że każda nowa technologia połączeń między różnymi dostawcami jest tak cenna, jak zaangażowanie jej zwolenników i wynikające z tego prawdopodobieństwo, że technologia stanie się samowystarczalna. Chociaż UniPro jest wspierany przez wiele dużych firm, a czas inkubacji UniPro jest mniej więcej zgodny z porównywalnymi technologiami ( USB , protokół internetowy , Bluetooth , sieci w pojazdach), zakłada się, że głównym problemem związanym z tą technologią jest stopień rozpowszechnienia. Jest to szczególnie prawdziwe, ponieważ branża mobilna praktycznie nie ma osiągnięć w zakresie standardów sprzętowych, które odnoszą się do wewnętrznych elementów produktu.
Kluczowym czynnikiem wpływającym na przyjęcie UniPro jest JEDEC Universal Flash Storage (UFS) v2.0, który wykorzystuje MIPI UniPro i M-PHY jako podstawę standardu. Istnieje kilka implementacji standardu, które mają trafić na rynek
Dostępność protokołów aplikacji
Interoperacyjność wymaga czegoś więcej niż tylko dostosowania równorzędnych urządzeń UniPro w warstwie protokołu L1–L4: oznacza to również dostosowanie bardziej specyficznych dla aplikacji formatów danych, poleceń i ich znaczenia oraz innych elementów protokołu. Jest to znany z natury nierozwiązywalny problem we wszystkich metodologiach projektowania: możesz zgodzić się na standardową i wielokrotnego użytku „hydraulikę” (niższe warstwy sprzętu/oprogramowania/sieci), ale to nie zapewnia automatycznie dostosowania szczegółowej semantyki nawet trywialnego polecenia jak ChangeVolume(value) lub format strumienia multimediów.
Podejścia praktyczne wymagają zatem połączenia kilku podejść:
- Jeśli interkonekt poprzedniej generacji działał, było na to jakieś rozwiązanie. Rozważ ponowne użycie/tunelowanie/przeniesienie go z minimalnymi zmianami.
- Istnieje wiele standardów branżowych specyficznych dla aplikacji wielokrotnego użytku (takich jak polecenia do sterowania radiem, formaty audio, MPEG ).
- Tuneluj główne technologie przez UniPro. Jeśli wchodzisz w interakcję ze światem IP , rozsądne jest zapewnienie IP-over-UniPro.
- Używaj sterowników oprogramowania specyficznych dla aplikacji. Działa to tylko w przypadku ograniczonych szybkości transmisji danych i powoduje przekształcenie problemu interoperacyjności w wewnętrzny problem interoperacyjności oprogramowania, ale jest to dobrze rozumiane podejście.
- Zamień istniejące interfejsy oprogramowania w protokoły. W niektórych przypadkach transformacja może być prosta lub nawet zautomatyzowana, jeśli oryginalne API mają odpowiednią architekturę.
Koncesjonowanie
Umowa członkowska MIPI Alliance określa warunki licencjonowania specyfikacji MIPI dla firm członkowskich. Warunki licencyjne bez opłat mają zastosowanie w głównej domenie docelowej MIPI Alliance, czyli telefonach komórkowych i ich urządzeniach peryferyjnych, podczas gdy warunki licencyjne RAND mają zastosowanie we wszystkich innych domenach.
Zobacz też
Linki zewnętrzne
- www.MIPI.org - MIPI Alliance (dostęp do dokumentów wymaga konta)
- „MIPI Alliance ogłasza M-PHY v2.0 i UniPro v1.41” — MIPI Alliance, czerwiec 2012 r.
- „Interoperacyjność UniPro v1.41” — MIPI Alliance, czerwiec 2012 r
- Program testowy UniPro - testy zgodności i interoperacyjności
- „Interfejs mobilnego chipa staje się rzeczywisty” - przegląd statusu MIPI w EE Times 2006
- „JEDEC ogłasza standard dla pamięci flash” - EE Times 2011