I2S har jo ikke problemet med dataavhengig jitter som S/PDIF har, så jeg er ikke sikker på hva det skulle bidra med.
I2S er veldig følsom for jitter...
Problemet med I2S er at en får jitter på bit-klokken, på data og på word-klokken.
Hva som er værst avhenger av hvilken DAC chip en bruker.
Generellt bruker DACen bit klokken for å klokke inn data og word klokken for å latche et sample (16 til 32bit) inn..
Men på for eksempel PCM1704 DAC chiper så blir data latchet på den første bit klokkepulsen etter word klokke pulsen (hvis jeg husker dette riktig).. I dette tilfellet er jitter på bit klokken plutselig veldig kritisk og jitter på både word klokken og bit klokken vil bli så og si direkte overført. Og PCM1704 har ingen master klokke slik at 100% av alt jitter på data, bit og word klokke blir overført.
En ES9018 DAC chip sies å være bortimot immun for jitter, men med mine erfaringer stemmer ikke dette.
Klokker som fyker som en jo-jo opp og ned i frekvens er normalt forårsaket av for dårlige klokke chiper og oftest en dårlig implementasjon fra produsenten. Årsaken til at jeg sluttet å bruke exaU2I var nettopp dette. Her er klokke chipene av dårlig kvalitet, men hovedproblemet er at klokken for 44.1/88.2/176.4 og 352.8k kun kjører 1/2 speed og blir klokke doblet i FPGA kretsen. Lydkvalitet er redusert for 352.8k i forhold til 384k på grunn av dette, og fordi jeg så og si alltid bruker samplerater på 44.1/88.2/176.4 eller 352.8k så fant jeg meg andre mer optimale løsninger.
Jeg påpeke at exaU2I allikevel er blant de bedre produktene og at det stort sett var jeg som ikke ville godta den lille reduksjonen i lydkvalitet jeg konstanterte var der.
Men fordi jeg kan monitorere klokkene som DACen mottar (både I2S, DSD og SPDIF) så viser det seg at med de aller fleste kilder jeg har sjekket så varierer klokkene mye... Word klokken varierer oftest med pluss / minus 0.01 til 0.05% i praksis.. Det vil si 8 til 80Hz for 44.1k og 64 til 620Hz for 352.8k.. Selv om data verdiene i hvert sample er korrekte blir de samplet ut analogt for tidlig eller for sent i tidsdomentet og det oppleves som det er dette som ødelegger lydkvaliteten mest.
Men en kan re-klokke både I2S og SPDIF og reduser jitter til et minimum..
For I2S re-klokker en da data, bit klokke og word klokke - dette bør gjøres noen millimeter fra DAC chip for å mest optimale resultater, og en bør bruke DACens master klokke som referanse. Men det er en liten hake ved dette som ekskluderer de aller fleste DAC implementasjoner inklusive Buffalo DACene - Master klokken må ha / gi to frekvenser - en for 44.1/88.2/176.4/352.8k og en for 48/98/192/384k og den må skifte avhengig av innkommende sample frekvens. Et signal eller lignende for å angi dette er normalt ikke til stede.
Jeg har løst dette ved at USB adapter sender I2C kommandoer som skifter master klokke frekvens automatisk basert på innkommende frekvens, og for SPDIF blir innkommende frekvens avlest fra SPDIF registerene og I2C kommandoer skifter master klokke frekvens.
Hittil har jeg brukt 20 ppm / 1 ps jitter klokker, men går nå over til 0 ppm klokker for å eliminere klokke driftingen...
Jeg får poengtere at det jeg skriver er basert på
mine erfaringer og etter (sviktende) hukommelse...