Pro přenos digitálního audia mezi přístroji se běžně používá rozhraní S/PDIF (elektrické) a TOSLINK (optické) pro komerční použití, nebo AES3 pro profesionální použití. Modul S/PDIF dekodéru slouží k převodu tohoto rozhraní na rozhraní I2S, které se standardně používá u audio D/A převodníků. S/PDIF dekodér s obvodem DIR9001 jsem již postavil. Na našem trhu je ovšem dostupný obvod CS8416. V minulosti jsem s ním měl trochu potíže s resetováním. Nyní jsem byl ovšem úspěšnější a obvod funguje skvěle. CS8416 v porovnání s obvodem DIR9001 podporuje vzorkovací frekvenci 192kHz. Má také 4 vstupy místo jednoho. V porovnání se staršími obvody CS8413/14 má nižší jitter, pokud se použije nastavení PDUR=1 (122ps oproti 150ps). Nicméně DIR9001 má 50ps.
V napájecí části jsou za usměrňovačem a vyhlazovacím kondenzátorem použity LOW-DROP stabilizátory IC3, IC4 LE33CZ a IC5 LE50CZ. Je použito oddělené napájecí napětí 3.3V pro analogovou a digitální část. Pro vstupy a výstupy jsem zvolil napájení +5V, protože jsem ho stejně potřeboval pro optický přijímač. Pro napájení jsem použil transformátor 9V. Pokud se použije víc, tak se budou stabilizátory více hřát.
Obvod CS8416 umí pracovat v hardwarovém a softwarovém režimu. Zvolil jsem hardwarový režim pomocí rezistoru R9 přivedeného na zem. V tomto režimu jsou možnosti obvodu více omezené a nastavení parametrů se provádí pomocí rezistorů 47k připojených na zem, nebo VL. Není ovšem potřeba k obvodu připojovat externí mikroprocesor.
Optický přijímač je TORX173 od Toshiby a jeho výstup je přiveden na vstup RXP1 dekodéru. Elektrický vstup s impedancí 75R je galvanicky oddělen pulsním transformátorem TR1 a přiveden na vstup RXP0. Vstupy RXP2 a RXP3 jsou vyvedeny na zvláštní konektory JP7 a JP8 a je možné na ně připojit další zdroje S/PDIF signálu, např. převodník z USB. Záporný pól symetrického vstupu RXN je připojen na zem přes C15. Obvod CS8416 obsahuje RS485 přijímač, takže není potřeba připojovat externí a je možné rovnou přivést S/PDIF signál o úrovni +/- 1V, případně TTL.
Na vývod FILT jsou připojeny součástky PLL filtru. Jejich hodnoty jsou převzaté z katalogového listu a měly by umožnit správnou detekci signálu se vzorkovací frekvencí 32-192kHz. Hodiny a ostatní signály se synchronizují na vstupní frekvenci S/PDIF signálu.
Obvod CS8416 se resetuje pomocí specializovaného reset obvodu. Já jsem použil obvod IC2 MCP130T-475I/TT s interním pull-up rezistorem, který není součástí IC1. Obvod IC2 pracuje tak, že po zapnutí napájení drží signál RESET na nule, dokud nedosáhne napájecí napětí velikosti asi 4.75V. Potom signál ještě podrží po dobu přibližně 350ms. Následně se signál díky internímu pull-up rezistoru přepne na log.1. Při poklesu napájecího napětí pod danou hodnotu dojde opět ke schození signálu RESET na nulu.
Výstup signálů GND, SCK, LRCK, BCK, DATA a +5V je vyveden na 6 pinový konektor, ke kterému se připojuje vlastní převodník. LED POWER signalizuje přítomnost napájecího napětí, LED ERROR svítí v případě nepřítomnosti S/PDIF signálu případně při detekci chyby. Narozdíl od dekodéru s DIR9001 svítí i v případě, že je S/PDIF signál správně detekován, ale není zapnuto přehrávání. Pro LED _AUDIO již nezbylo na plošném spoji místo. Dále zapojení obsahuje pouze několik blokovacích kondenzátorů a mnoho nastavovacích jumperů s rezistory, které budou popsány dále.
Plošný spoj osazujeme od nejmenších součástek po největší. Začneme obvodem IC1. Já jsem připájel dva krajní vývody, abych měl obvod uchycený na správném místě. Na všechny vývody jsem nanesl trochu tekutého tavidla, aby se cín lépe rozléval. Následně jsem hrotem páječky a trubičkovým cínem přejel všechny vývody. Některé se mohly spojit dohromady. Přebytečný cín jsem odsál měděnou licnou k tomuto účelu určenou. Plošný spoj jsem vizuálně zkontroloval proti lampičce. Následně jsem pokračoval v osazování SMD rezistorů, kondenzátorů, tranzistoru a IC2. Potom jsem pokračoval drátovými propojkami a součástkami z horní strany. V případě, že nechceme optický vstup, tak neosazujeme OX1, C12 a L1. Pokud nechceme elektrický vstup, tak neosadíme X1, R1 a TR1.
Plošný spoj je navržen jako jednostranný se dvěma drátovými propojkami. To nám umožní jeho výrobu v amatérských podmínkách. Rozměry plošného spoje, konektorů a děr jsou shodné s dekodérem s DIR9001, takže je možná jejich záměna. Plošný spoj je hodně nahuštěný, ale neměl by být problém při montáži. Signálové a napájecí cesty byly navrhovány s důrazem na co nejmenší vzájemné rušení a ovlivňování hlavně analogové části, která má největší vliv na výsledný jitter.
Jumpery JP1 (RXSEL0) a JP2 (RXSEL1) se volí jeden ze čtyřech vstupů RXP0-RXP3. Výstupní formát dat se zvolí jumpery JP3 SFSEL0 a JP4 SFSEL1. Ten je potřeba vybrat stejný, jaký podporuje náš D/A převodník. Frekvenci RMCK, neboli system clock (SCK) vybereme jumperem JP5 podle použitého D/A převodníku. Pokud ji nepoužívá, tak je to jedno, jakou zvolíme. Nastavení PDUR (Phase Detector Update Rate) děláme jumperem JP6. Obvod CS8416 obsahuje interní pull-down rezistor na tomto vstupu, takže jumper osadíme pro PDUR=1. Toto nastavení je vhodné pro vzorkovací frekvence do 96kHz, protože zajišťuje nižší jitter. Pro frekvenci 192kHz není podporováno, takže pokud chceme tuto vzorkovací frekvenci používat, musíme jumper vyndat. Podrobnější vysvětlení a testy jsou v odkazovaném dokumentu.
Výběr digitálního vstupu RXP0-RXP3 | ||
---|---|---|
JP2 RXSEL1 | JP1 RXSEL0 | Použitý vstup |
0 | 0 | RXP0 - elektrický |
0 | 1 | RXP1 - optický |
1 | 0 | RXP2 - externí |
1 | 1 | RXP3 - externí |
Výběr výstupního datového formátu | ||
JP4 SFSEL1 | JP3 SFSEL0 | Výstupní formát dat |
0 | 0 | 24-bit, left-justified |
0 | 1 | 24-bit, I2S |
1 | 0 | 24-bit, right-justified |
1 | 1 | Direct AES3 |
Nastavení systémových hodin RMCK (SCK) | ||
JP5 RMCK | frekvence RMCK | |
0 | 256*fs | |
1 | 128*fs | |
Nastavení Phase Detector Update Rate | ||
JP6 PDUR | PDUR | |
0 | Normální | |
1 | Vysoká |
Většinu součástek je možné koupit v běžném maloobchodě, např. GM Electronic, nebo GES. Obvod CS8416 jsem koupil u firmy MES Praha a pulsní transformátor PE-65612 jsem koupil na EBay.
označení | hodnota a typ | počet |
---|---|---|
R1 | 75R SMD1206 | 1ks |
R2 | 3k SMD0805 | 1ks |
R3-R4 | 1k2 SMD1206 | 2ks |
R5-R8 | 33R SMD1206 | 4ks |
R9-R17 | 47k SMD1206 | 9ks |
C1 | 4700uF/25V elektrolyt | 1ks |
C2-C5 | 10uF/10V SMD tantal velikost B | 4ks |
C6-C14 | 100nF SMD1206 keramika | 9ks |
C15-C17 | 10nF SMD1206 keramika | 3ks |
C18-C19 | 1nF SMD0805 keramika | 2ks |
C20 | 22nF SMD0805 keramika | 1ks |
L1 | 47uH axial | 1ks |
L2 | feritová trubička | 1ks |
IC1 | CS8416 28SOIC | 1ks |
IC2 | MCP130T-475I/TT SOT23 | 1ks |
IC3-IC4 | LE33CZ | 2ks |
IC5 | LE50CZ | 1ks |
Q1 | Tranzistor BC846BSMD SOT23 | 1ks |
LED1 | LED zelená 2mA 3mm | 1ks |
LED2 | LED červená 2mA 3mm | 1ks |
B1 | Diodový můstek 1.5A/100V | 1ks |
OX1 | TORX173 Toshiba - deska verze 1.0 | 1ks |
OX1 | TORX177 Toshiba, GP1FAV50RK0F Sharp - deska verze 1.1 | 1ks |
SV1 | jumper lišta 6 pinů | 1ks |
JP1-JP5 | JP2E 3 pin jumper lišta | 5ks |
JP6-JP8 | JP1E 2 pin jumper lišta | 3ks |
TR1 | LL1572, S22083, PE-65612, DA102C | 1ks |
X1 | cinch zdířka do PCB TOBU3 | 1ks |
X2 | Svorkovnice AK300/2 | 1ks |
Deska fungovala na první zapojení. Tento S/PDIF dekodér lze použít jako alternativu k dekodéru s obvodem DIR9001 např. z důvodu lepší dostupnosti obvodu, případně možnosti vzorkovací frekvence 192kHz.