Hi,
I am trying to use HDMI as input for my ADAU1701 so I can digitally process the audio without the problem of the DSP's internal ADC's.
I have the following:
-. 3E Audio ADAU1701
-. HDMI to I2S Aliexpress board
-. PCM5102 DAC with I2S input.
When I connect the HDMI to I2S directly to the PCM5102 DAC it works perfectly, and it sounds quite good, but when I connect the HDMI to I2S board to my DSP It gets a ton of noise and what I think it's jitter. Unusable.
I presume the problem is in the clocks, so I tried every configuration available in the Register Control on Sigma Studio, and most of them did not make a difference. Setting "Program Length" to 4x and unticking "Master Mode" in "Serial Output" made the sound better but still with noise and jitter.
So, what is the problem and how can I fix it (If possible)?
Maybe the HDMI 2 I2S board work as Master I2S, and the ADAU1701 only supports I2S input as SLAVE?
Or the fact that the clock in the HDMI to I2S board is a 24.00Mhz crystal and the 3E Audio ADAU1701 has a fixed PLL setting for 12.288Mhz?
IDK. Any Suggestion is welcomed as I am planning on getting and HDMI to I2S board with all 8 channels available, but first I want to make it work in stereo.
Cheers
UPDATE1: I just noted that the publication of the PCM5102 DAC has this note: "BCK and DATA marked inverse!When using pls make BCK as DATA , DATA as BCK". So, if in my board they are inverted (but I connected them w/o knowing this), and it does work OK with my HDMItoI2S, maybe this HDMItoI2S board also has the BCK and DATA flipped? I don't think so, but I will try it anyway.
UPDATE2: I don't think the cables are flipped, after thinking a little, when I connect the PCM5102 DAC to my DSP it works perfect, so it's a NO GO.
I am trying to use HDMI as input for my ADAU1701 so I can digitally process the audio without the problem of the DSP's internal ADC's.
I have the following:
-. 3E Audio ADAU1701
-. HDMI to I2S Aliexpress board
-. PCM5102 DAC with I2S input.
When I connect the HDMI to I2S directly to the PCM5102 DAC it works perfectly, and it sounds quite good, but when I connect the HDMI to I2S board to my DSP It gets a ton of noise and what I think it's jitter. Unusable.
I presume the problem is in the clocks, so I tried every configuration available in the Register Control on Sigma Studio, and most of them did not make a difference. Setting "Program Length" to 4x and unticking "Master Mode" in "Serial Output" made the sound better but still with noise and jitter.
So, what is the problem and how can I fix it (If possible)?
Maybe the HDMI 2 I2S board work as Master I2S, and the ADAU1701 only supports I2S input as SLAVE?
Or the fact that the clock in the HDMI to I2S board is a 24.00Mhz crystal and the 3E Audio ADAU1701 has a fixed PLL setting for 12.288Mhz?
IDK. Any Suggestion is welcomed as I am planning on getting and HDMI to I2S board with all 8 channels available, but first I want to make it work in stereo.
Cheers
UPDATE1: I just noted that the publication of the PCM5102 DAC has this note: "BCK and DATA marked inverse!When using pls make BCK as DATA , DATA as BCK". So, if in my board they are inverted (but I connected them w/o knowing this), and it does work OK with my HDMItoI2S, maybe this HDMItoI2S board also has the BCK and DATA flipped? I don't think so, but I will try it anyway.
UPDATE2: I don't think the cables are flipped, after thinking a little, when I connect the PCM5102 DAC to my DSP it works perfect, so it's a NO GO.
Attachments
Last edited:
The HDMI board and the 3e board will not work together because you are crossing clock domains. One board has to be in sync with the other.
You could use an ASRC chip, which may be the easiest way. Not that its so easy to do well, but easy to buy a board from ebay or aliexpress that can do it maybe good enough for what you need.
New AK4137 flagship high-end DAC SRC audio 384K 32Bit DSD256 DSD IIS conversion | eBay
AK4137 I2S/DSD Sample Rate Conversion Board Supports PCM/DSD Interconversion DOP | eBay
If interested in something like that, probably better if we talk about some of the implementation details before you order one.
New AK4137 flagship high-end DAC SRC audio 384K 32Bit DSD256 DSD IIS conversion | eBay
AK4137 I2S/DSD Sample Rate Conversion Board Supports PCM/DSD Interconversion DOP | eBay
If interested in something like that, probably better if we talk about some of the implementation details before you order one.
Last edited:
Thanks!
Considering the cost of the converters, it would be better to just switch to a more modern ADAU1452 which has the flexibility to work at different clock rates (and also have 4 I2S inputs available).
Anyway, IS the problem exactly? That the HDMItoI2S works in master mode? or that it's clock it's 24Mhz?
Considering the cost of the converters, it would be better to just switch to a more modern ADAU1452 which has the flexibility to work at different clock rates (and also have 4 I2S inputs available).
Anyway, IS the problem exactly? That the HDMItoI2S works in master mode? or that it's clock it's 24Mhz?
That basic problem is that the HDMI clock is any clock other than the one you are using to run your DSP chip. The same clock needs to clock everything (although you could divide its output to have two synchronized frequencies). Otherwise you need to use an ASRC, or else use a FIFO. Most of current breed of audio DSP chips have internal ASRCs, often more than one.
Last edited:
Thanks for your reply!
Very helpful and easy to understand for a non technical mind like mine.
I will test it with my ADAU1452 which has several Asynchronous Sample Rate Converters, and then reply here to report my results.
Regarding on why the PCM5102 DAC worked OK with the HDMItoI2S board, is it because the DAC act as slave of the HDMI?
Very helpful and easy to understand for a non technical mind like mine.
I will test it with my ADAU1452 which has several Asynchronous Sample Rate Converters, and then reply here to report my results.
Regarding on why the PCM5102 DAC worked OK with the HDMItoI2S board, is it because the DAC act as slave of the HDMI?
Yes, the dac chip has a PLL that allows it track the incoming I2S and generate its own master clock signal from that. Not the best from a jitter perspective, but if the PCM5102 dac doesn't have its own master clock crystal oscillator, then PLL is all that's left. Another possibility might be for the DSP and the dac chip to share the same master clock (SCK, it appears to be called for this dac, someone can correct me if I have that wrong). Table 3, on page 11 of the dataheet lists which SCK frequencies can work with various digital audio sample rates. Maybe that's more complicated than you want to get though.
Last edited:
So, for an I2S DAC to work with lower jitter, I should look for a one with it's own clock generator which can work in slave mode to a DSP master?
I made some edits to my last post, in case any of it is of interest.
To avoid the PLL and just run off a local crystal clock on the dac board, it looks like either the both the DSP and the dac would need to be on that same dac crystal clock (or a divided version of it), or that the dac acts as I2S master and one of the ASRCs in the DSP chip can be used to convert the DSP output to match the I2S clocks from the dac board. Either way, the dac chip would receive I2S synchronous with its crystal clock.
The downsides of either option are: (1) If a shared master clock, then some hardware design and board modifications would probably be needed. (2) If the dac acts as I2C master then the DSP has to apply another ASRC to the digital audio data stream to match its I2S output to the dac clock. IME ASRC conversion is not completely audibly transparent, at least to some people, and or on some reproduction systems. Also, some ASRCs have better specs and better SQ than others. The ones embedded in DSP chips and in some dac chips are not usually the ones I would prefer to use. That said, the ones in DSP chips are used for a lot audio applications without people complaining about the sound. Its just that they're not ultra hi-fi to me.
To avoid the PLL and just run off a local crystal clock on the dac board, it looks like either the both the DSP and the dac would need to be on that same dac crystal clock (or a divided version of it), or that the dac acts as I2S master and one of the ASRCs in the DSP chip can be used to convert the DSP output to match the I2S clocks from the dac board. Either way, the dac chip would receive I2S synchronous with its crystal clock.
The downsides of either option are: (1) If a shared master clock, then some hardware design and board modifications would probably be needed. (2) If the dac acts as I2C master then the DSP has to apply another ASRC to the digital audio data stream to match its I2S output to the dac clock. IME ASRC conversion is not completely audibly transparent, at least to some people, and or on some reproduction systems. Also, some ASRCs have better specs and better SQ than others. The ones embedded in DSP chips and in some dac chips are not usually the ones I would prefer to use. That said, the ones in DSP chips are used for a lot audio applications without people complaining about the sound. Its just that they're not ultra hi-fi to me.
Last edited:
Thanks for your reply.
Is there a way to fix this? Software or hardware wise?
Are you able to measure the MCLK frequency of the HDMI board? It is possible to run the ADAU1701 off it.
If I need an oscilloscope, then I am out of luck as i don't have one.
If there is another way, I can try it.
If there is another way, I can try it.
You really should have an oscilloscope if you are doing the kind of stuff we are talking about now. It will make your life much easier. Just as essential as a DVM for electronics work.
If I need an oscilloscope, then I am out of luck as i don't have one.
If there is another way, I can try it.
I suppose you could remove the crystal from the ADAU1701 board and use MCLK from the HDMI board instead. Default HDMI board MCLK maybe 256Fs and if that fails setup for 384Fs. The PLL mode pins only give 4 options and there is every chance the HDMI board MCLK frequency is within that range of 64Fs to 512Fs.
- Home
- Source & Line
- Digital Line Level
- HDMI to I2S (for audio not transport) working but w/ noise.