Hi glt,
I put together my hifiduino control for my buffalo 2 over the weekend. So far so good. I changed the UI a bit, added mute, and made all selections available via the remote as well but I took the i2c settings for the DAC from your code.
Everything works pretty much as expected but I suspect your settings are not the same that Russ is using with his microcontroller. The difference becomes very apparent for me when I play material with a sample rate of 192Khz. There is a lot of noise on the speakers as soon as the DAC locks onto this sample rate when using the HIFIduino initialization code. I do not have access to the NDA data other than what is published in the help file for the Sabre GUI tool and embedded in your code. I have been thinking about letting the MCU on the initialize the DAC and then read everything back but maybe this post will help clear things up.
There is no noise when switching back the i2c connection to the volumite.
The relevant code for a fixed i2s connection from you web site is:
writeSabreReg(0x0E,0xF9); // Reg 14: BuffII I2S wiring, normal IIR BW and Fast rolloff
writeSabreReg(0x0A,0xCE); // Reg 10: 32 bit I2S, jitter reduction ON
writeSabreReg(0x11,0x04); // Reg 17: Auto spdif detection OFF
writeSabreReg(0x08,0x68); // Reg 8: Enable I2S/DSD input
writeSabreReg(0x19,0x02); // Reg 25: Use best DPLL settings
writeSabreReg(0x12,0x10); // Reg 18: Reroute SPDIf (to see if it improves i2S dropouts)
Maybe Russ can enlighten us to what is missing here without violating his NDA.
Cheers
Thomas
P.S.: The other obvious problem could be the i2c connection from my Arduino board. I did not add a 3.3V voltage converter.
Edited by user Sunday, January 23, 2011 10:45:36 PM(UTC)
| Reason: Not specified