Tool/software: Linux
Thi components is used in a dac capable to play pcm and native dsd files, switching between the two by means of a series of multiplexers connecting the 4 I2S input of the pcm1795 to the proper signal sources.
The schematic of principle is the following:
The older version was implemented with sparse logic, but currently it is realized with a CPLD.
My problem is the commutation from PCM to DSD: in almost of 50% of cases, the dac starts bad, in the sense that the music is distorted and a big rustele is audible. What I have to do, at this point, is to commute to PCM then back to DSD, hoping that this time noise does not appear.
I did a lot of tries in order to eliminate this problem; commutate I2S before setting the bit DSD of register 0x14, after that and simultaneously by detecting the spi register sent to the pcm1795: no results.
What is wrong in my way to proceede? Do you have any suggestion on how to commutate from one mode to the other?
Please, help me solving this issue.
At your disposal for any further information that you'd need to detect what's wrong.
Angelo Adamo