I²S

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 10. listopadu 2020; ověření vyžaduje 1 úpravu .

I²S ( rusky ai-squaard-es / i-dva-es ) je standard rozhraní elektrické sériové sběrnice používaný k připojení digitálních audio zařízení. Používá se k přenosu zvukových dat PCM mezi integrovanými obvody v elektronickém zařízení. Sběrnice I²S přenáší hodinové a datové signály na samostatných linkách, což má za následek snížení jitteru , které je typické pro komunikační systémy, které obnovují hodinové signály z celého toku. Název je zkratkou Integrated Inter-chip Sound.

Tato norma byla zavedena v roce 1986 a naposledy revidována v roce 1996.

Rozhraní I²S se elektricky skládá ze 3 vodičů, které jdou z aktivního zařízení do pasivního zařízení, a ze 4 jim odpovídajících signálů takto:

  1. Bit synchronizační hodiny (CLK)
  2. Synchronizační hodiny snímků (WS)
  3. Datový signál, který může vysílat nebo přijímat 2 časově oddělené kanály. (SD) [1]

Kanály pro příjem a vysílání dat jsou odděleny, to znamená, že existuje samostatný kanál pro příjem dat a kanál pro vysílání dat. Ovladač přijímá data přenášená audio kodekem, ale je možná i opačná situace.

Formáty

Pro přenos dat přes audio rozhraní jsou k dispozici dva formáty - I²S a DSP (Digital Signal Processing, digitální zpracování signálu), ve kterých dochází k obousměrné výměně dat regulované aktivním zařízením (ovladačem). Ve formátu I²S určuje orámování změnu kanálu. Nízká úroveň rámování nastavuje levý kanál, vysoká úroveň nastavuje pravý kanál. Hodinové signály se nemění (nepřerušují) na rozdíl od rozhraní přístroje. Hodinový signál je přiváděn nepřetržitě, což zjednodušuje algoritmus.

S příchodem rámcového synchronizačního signálu se zpožděním jednoho nebo dvou hodinových cyklů se začnou vysílat nebo přijímat data a přenos začíná od nejvýznamnějšího bitu. Změnou doby trvání synchronizace snímků můžete změnit počet přenášených bitů , vzorků signálu. V obecném případě tedy bude existovat počet N přenášených bitů - počet hodinových intervalů, které budou použity pro přenos dat. Ale po přenosu dat požadované délky následuje pauza do příchodu dalšího přechodu rámcového synchronizačního signálu. Tento přechod vysílá nebo přijímá data na jiném kanálu. Posun vzhledem k přechodu rámce před začátkem příjmu dat se konfiguruje konfigurací řadiče , který řídí přenos dat. Dále se přenášejí bity, které jsou stejné v počtu bitů levého kanálu a pravého kanálu, to se opakuje, to znamená, že se střídavě přenášejí vzorky levého a pravého signálu.

Podle deklarované specifikace má standard I²S následující parametry

Formát DSP se chová jinak - vyžaduje synchronizaci ve formě pulsu s velkým pracovním cyklem , kanály vysílají dvojnásobný počet bitů pro zjednodušení příjmu a vysílání. A v tomto případě dochází k sekvenčnímu přenosu bitu z levého kanálu a poté bez mezer v bitech pravého kanálu. Pak přijde další impuls a cyklus se opakuje.

Organizace regulátoru

Regulátor má dvě části, stejně jako blok externích výstupů. Jsou zodpovědné za data přenášená a přijímaná přes jeden vodič, stejně jako za signály synchronizace hodin a snímků. Kontrolér je přenáší a řídí proces výměny. Aby zařízení fungovalo správně, nelze zaměnit vstup a výstup, což může vést k digitální smyčce .

První částí je samotný ovladač se vstupy. Aby fungoval, potřebuje generátor hodin, který vysílá události dopředného kanálu . Příjem a přenos zvuku může být prováděn nikoli mikroprocesorem, ale přímým přístupovým kanálem, speciálním procesorem pro vstup/výstup dat. Tento přímý přístupový kanál potřebuje události ke spuštění čtení dat z přijímacích registrů nebo přenosu dat do přenosových registrů.

Druhou částí jsou registry rozhraní, k dispozici jsou následující typy:

  1. Registry příznaků přerušení ;
  2. Registr povolení přerušení z určitého zdroje (podle počtu příznaků přerušení nebo podle počtu bitů registru povolení přerušení)
  3. Řídicí registr, který nastavuje provozní režimy regulátoru;
  4. Registr generátoru vzorkovací frekvence, ve kterém lze nastavit hodinový signál a jeho frekvenci pro bitovou synchronizaci - pokud jsou přijata data, pak registr tato data zapíše a lze je softwarově vypočítat;
  5. Dva registry pro příjem dat;
  6. Registry přenosu kanálů, které mohou mít dva 32bitové registry přenášené postupně.

Signály přerušení indikují, které události nastaly uvnitř řídicí jednotky a je třeba je zpracovat. Existují dvě skupiny přerušení: první jsou přerušení spojená s příjmem a přenosem dat a událostí, druhá je spojena se zpracováním a generováním hodinových signálů. Generuje signály pro přímý přístupový kanál a řadič přerušení.

Pokud je zařízení pasivní (hraje roli slave), pak signály přicházejí zvenčí do synchronizátoru. V jednom případě přijímá a zesiluje, přetváří hodinové signály, čímž je mění podél obrysu na jasné a ostré. V opačném případě vysílá hodinový signál do externího zařízení. Signály bloku odpovědného za aktivaci nebo deaktivaci operace jsou generovány podle stavu bitu v řídicím registru.

Obsluha přerušení nejprve přečte registr příznaků přerušení, aby je resetovala. Dále čte nebo zapisuje data do datových registrů I²S, pokud není použit kanál s přímým přístupem. Poté se přerušení vrátí.

Možnosti konfigurace nastavují synchronizační polaritu bitů a snímků synchronizátoru. Tato data pomáhají synchronizátoru vybrat režim provozu audio rozhraní.

Příjem dat

Sériový přijímač jasně zachycuje úrovně signálů, které jsou taktovány synchronizátorem. Dále jsou tato data posílána bit po bitu po linii přijatých dat do posuvného registru, který synchronizuje data ze synchronizátoru. Po uložení posuvného registru je zapsán do vyrovnávací paměti přijímacího registru . Velikost posuvného registru je dána délkou slova. Poté, co vyrovnávací paměť registrů zaregistruje přijatá data, může dojít k rozšíření znaménka. Protože se evidentně používá formát s pevnou řádovou čárkou , je nutné rozšířit znaménko na 32 bitů a získat tak 12 bitů dat. MSB přijatých dat se šíří do všech MSB registru, takže správné číslo je reprezentováno ve zlomkovém formátu.

Přenos dat

Data z registru jsou načtena do obvodu pro odstranění znaménka, který zahodí nadbytečné bity, znaménko odstraní, vyjme přenášená data a zapíše je do přenosové vyrovnávací paměti. Zúží znaménko z různých částí a číslo se zapíše do odpovídajících bitů vysílače. Jakmile se posuvný registr uvolní, současně se zapíší posuvné bity a začnou posouvat o jeden bit dopředu, počínaje tím nejvyšším, přenášejí data do vysílače, který přenáší data do výstupního obvodu.

Výkon hodin

Existuje obvod, který je zodpovědný za napájení hodinového napájení zařízení. K tomu poskytuje čtecí registr, tj. registr konfigurace výkonové brány hodin. Pokud dáte nulu, její hodnota bude jedna a signál odejde. Pokud existuje jednotka, pak dojde k závěrce, jinými slovy, hodinový výkon jednotky nebude dodáván do zařízení. Existují dva vzorce - synchronizace hodin a snímků. Každý z nich vezme frekvenci, která vstupuje do prvního hodinového signálu, a vydělí se počtem časů zadaným v registru hodinového děliče nebo v registru děliče snímků.

Dokončování I/O

Chcete-li dokončit proces I/O, musíte postupně zakázat přerušení, vymazat příznaky, zastavit kanál s přímým přístupem a vypnout napájení hodin.

Viz také

Odkazy

Poznámky

  1. [ http://www.compeljournal.ru/images/articles/2011_2_8.pdf Zvukové možnosti mikrokontroléru STM32F] (nepřístupný odkaz) . compeljournal.ru . Datum přístupu: 27. října 2011. Archivováno z originálu 7. listopadu 2013.