česky english Vítejte, dnes je pátek 21. červen 2024

Srovnání výhod rozhraní HSIC a USB

DPS 5/2015 | Články
Autor: Andrew Rogers, Microchip

Vysokorychlostní komunikační rozhraní HSIC (High-Speed Inter-Chip) je stále populárnější díky svým nesporným výhodám ve srovnání s klasickým USB rozhraním. Základem jsou dva zdroje synchronního signálu, stejně jako v případě vysokorychlostního rozhraní USB s rychlostí 480 Mbit/s. Zde probíhající komunikace je přitom 100% kompatibilní s přenosem na tradiční USB topologii. Full‑speed (FS) a low‑speed (LS) formát přenosu není standardně podporován, avšak HUB s HSIC může podporu FS a LS komunikace zajistit.

Hlavní rozdíl mezi HSIC a USB rozhraním je však ve fyzické vrstvě. Klíčové funkce již neobsahují synchronizační pulzy, synchronní sériové přenosy ani podporu připojení/odpojení zařízení za běhu.

Úroveň signálu je nastavena na 1,2 V, což je ideální pro všechny low‑power aplikace se standardní LV CMOS úrovní. Maximální délka vedení je 10 cm. Protokol pro přenos dat mezi hostitelem a zařízením přes HSIC je stejný jako v případě USB rozhraní, jak je vidět na obr. 1.

1,2

Hlavním rozdílem však je, že všechny informace jsou přenášeny prostřednictvím jediné datové linky a signál je platný (je snímán přijímačem) v okamžiku změny hodinového signálu. Stejně jako moderní paměti i HSIC používá tzv. Double‑Data‑Rate (DDR) přenos. Data jsou tedy přenášena na náběžné i sestupné hraně hodinového signálu. Hodinový signál má přitom frekvenci 240 MHz, a poskytuje tak celkovou datovou rychlost přenosu 480 Mbit/s.

Výhody oproti USB

Jak již bylo zmíněno, rozhraní HSIC má oproti USB hned několik podstatných výhod. Předně je celý komunikační řetězec plně digitální, a proto nevyžaduje použití obvyklých analogových PHY. Eliminace analogových vysílačů a přijímačů snižuje celkovou velikost čipů. Dalšího snížení jejich rozměrů lze pak dosáhnout díky zjednodušenému komunikačnímu protokolu, který naopak redukuje množství digitálních prvků na čipu.

Standardní HSIC ve své podstatě sice nesnižuje energetický příkon systému, ale celkovou spotřebu přesto omezuje díky odstranění analogových obvodů a proto, že analogové obvody nemusí být nutně zastoupeny s digitálními obvody  v měřítku 1:1. Snížení spotřeby je u HSIC patrné především při přechodu do klidového režimu, protože zde neexistují žádné udržovací pulzy a jiné podpůrné obvody datového rozhraní. Jen pro srovnání, součástí standardního USB portu je vždy minimálně 1,5k pull‑up rezistor, produkující nepřetržitou spotřebu 200 μA i v klidovém stavu. Avšak díky tomu, že hlavní rozdíl mezi HSIC a USB rozhraním spočívá ve fyzické vrstvě, není pro přechod zařízení z USB na HSIC vyžadována implementace zcela nového standardu. To znamená, že stávající softwarový stack i základní protokol USB lze pro HSIC modifikovat snadno a rychle.

Vzorkování dat

V případě standardního USB rozhraní je každý datový paket zahajován synchronizační sekvencí, která má za cíl fázově sladit hodiny přijímače s fází přenášených dat. Z diferenciálních signálů D+/D– jsou pak data snímána postupně, dle synchronizačního vzoru. Naproti tomu HSIC pro řízení přijímače používá samostatný hodinový signál, spouštějící sejmutí stavu datové linky. Data jsou u HSIC vzorkována na vzestupné i sestupné hraně hodinového signálu. V případě, že z jakéhokoliv důvodu dojde u hodinového nebo datového signálu k zešikmení přechodových hran, může dojít k jejich chybné interpretaci. Elektrická specifikace HSIC definuje maximální povolenou náběžnou a sestupnou hranu signálu 15 ps.

Aby toho bylo možné v praxi dosáhnout, musí být linka mezi HSIC zařízeními co nejkratší, přičemž její délka nesmí přesáhnout 10 cm. Datová a hodinová linka musí být stejně dlouhá s impedancí 50 Ω vůči společné zemi. Pro ilustraci možné odchylky v reálné aplikaci je na obr. 2 zachycen začátek přenášeného testovacího paketu z hostitele do zařízení, přičemž cesty obou signálů mají stejnou délku.

Stejný testovací paket, odeslaný ze shodného zařízení, avšak s hodinovým signálem, který má o 10 cm delší spoj než datový, je znázorněn na obr. 3. Výsledná odchylka je zhruba polovina nanosekundy. Jedná se samozřejmě o extrémní příklad, avšak výsledky měření naznačují, že i malá míra nesouladu délky může mít za následek narušení HSIC specifikace. Povaha přenosové linky s jedním zakončením a rozdíly mezi signály způsobují určité potíže při pokusu o její snímání. Standardní USB signály lze snadno sledovat a dešifrovat umístěním diferenciální sondy připojené k osciloskopu buď na straně vysílače, nebo straně přijímače. HSIC signály jsou citlivější, a tak je při pokusu o jejich snímání třeba více zohlednit teorie přenosových soustav.

3,4

Dobrým obecným pravidlem je, aby sonda byla umístěna vždy na opačné straně, než kde se nachází zdroj signálu. Pokud tedy chceme například sledovat signály přicházející z periferního zařízení, je potřeba sondu umístit ke vstupu na straně hostitelské aplikace. A naopak, chceme‑li sledovat signály pocházející z hostitele, je lepší umístit sondu na straně periferního zařízení.

Při pokusu měřit signál pocházející ze zařízení přímo na straně zařízení získáme vždy zkreslený signál. K tomu dochází pravděpodobně vlivem rušení způsobeného odrazem signálu zpět do zařízení. Samozřejmě lze použít i střed přenosové linky, avšak výsledky nejsou tak čisté a jsou vždy o něco horší než v případě použití správného konce vedení. Ideální by bylo, aby sonda snímala signál současně z obou stran. Řada komunikačních analyzátorů může být schopna vzorkovat signály přesně v obou směrech, ale omezení délky vedení na 10 cm činí toto řešení poněkud nepraktické.

Vytvoření spojení

Rozhraní HSIC je navrženo tak, že hostitel nebo periferní zařízení mohou být zapnuty v libovolném pořadí. Zajištění detekce falešného spojení není ošetřeno a hostitel, rozbočovač a periferní zařízení musí individuálně zajistit, aby se hodinové nebo datové linky nenacházely na neurčité úrovni, obecně označované jako třetí stav.

Na obr. 4 je osciloskopem zachycena sekvence okamžiku připojení. Tato sekvence je tedy mnohem jednodušší než sekvence připojení USB rozhraní, protože zde není třeba řešit volbu vhodné rychlosti přenosu. Tato posloupnost může být v praxi řešena prostřednictvím velmi jednoduchého stavového stroje, který výrazně snižuje požadavky na velikost čipu.

Se standardním USB může hostitelská aplikace snadno určit, zda byl port odpojen prostým monitorováním napětí signálových linek DP/DM. Pokud napětí překročí nastavenou prahovou hodnotu, může hostitel konstatovat, že došlo k odpojení zařízení.

Rozhraní HSIC však žádnou detekci připojení/odpojení neobsahuje, protože se zaměřuje na typ trvale (pevně) připojených aplikací, tedy i bez konektorů. Přesto je třeba počítat se situací, kdy na sběrnici není připojeno žádné zařízení. Hostitelská aplikace musí zohlednit také možnou ztrátu spojení se zařízením.

Tento stav totiž nastává nejen, pokud je zařízení odpojené, ale může také nastat i během provozu, protože hostitel vždy na sběrnici udržuje klidový stav. Ten je z hlediska signálu navíc shodný s režimem nízké spotřeby (spánku). Hostitel tak v praxi nemá žádnou možnost zjistit, zda a kdy bylo zařízení vypnuto nebo odpojeno. Vzhledem k tomu, že signalizace nečinnosti a spánku je shodná se signalizací běžného klidového stavu, je možné dosáhnout situace, kterou připojené zařízení vyhodnotí jako režim snížené spotřeby, a naopak hostitel se může domnívat, že na sběrnici není připojené žádné zařízení. V tom případě hostitel přechází do časově neomezeného stavu čekání na signál připojení, aby mohl navázat komunikaci. Podobný stand‑off stav by mohl nastat také v případě, kdy hostitel z nějakého důvodu zakáže daný port, zatímco připojené zařízení je přesvědčené, že bylo jen pozastaveno.

Tato podmínka není příliš pravděpodobná, avšak může mezi hostitelem a zařízením nastat například po zapnutí nebo soft‑resetu. Pokud takový problém nastane, musí být řešen specifickým způsobem dané aplikace, buď na úrovni softwarového stacku, nebo samotné sběrnice. Dosáhnout toho lze tedy buď programově pomocí softwaru, nebo návrhem hardwaru takovým způsobem, který by podobným situacím zabránil. Alternativou může být i použití SoC, schopného rozpoznat odpojení zařízení, a následného restartu rozbočovače HSIC HUB. Zařízení, pokud je stále připojeno, spustí svou startovní sekvenci a pokusí se znovu navázat spojení.

Jako příklad SoC lze z nabídky společnosti Microchip jmenovat například obvody USB254x, USB3613, USB3813, USB4604 a USB4624, u kterých lze pro znovu‑navázání spojení využít pinu VBUS_‑ DET. Stažením pinu k nízké úrovni dojde k odpojení rozhraní a následné přivedení vysoké logické úrovně zajistí jeho opětovné probuzení.

Závěr

HSIC standard má oproti USB výhodu především v případě pevně propojených zařízení a pokud jsou dodrženy správné postupy jejich připojení a odpojení. Tyto postupy jsou pak zvláště důležité při řešení některých problémů, plynoucích z podstaty HSIC rozhraní.