Hi guys
Lately I have updated my Buffalo III to Dual Mono Single Legato config. The issue is, it works just with 4 DACs outputs. I can make it work with 4 odd or 4 even DACs and it works fine (regardles of the phase I put on Legato, 4 DACs works in-phase and in-anti-phase to Legato).
Now, i get no joy if i try to sum up all 8 DACs. Again, all DACs are working fine, but i have tried to put them all together in all possible ways and there is just no sound... nothing. Actually, as in the code below the even and odd DACs are in anti phase, it means i have to connect it the official TPA way, it means even DACs + to odd DACs -, and even DACs - to odd DACs +, then again reverse to Legato input..
I thought it could be the current that is to high when i sum all the DACs, as the legato is not modified (the resistors are standard values), but I set the attenuation of both Buffalos to fairy low values and haevent heard about any issues of too high current on legato.
Need help!
Hardware Config:
2xNCORE (balanced in)
2xBuffalo III
1xLegato (balanced out)
Arduino DUE as controller,
code for mono config here:
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Register 17 (0x11) (MC5)
|1| | | | | | | | Mono Right (if set for MONO)
|0| | | | | | | | Mono Left (if set for MONO) (D)
| |1| | | | | | | OSF (Oversample filter) Bypass
| |0| | | | | | | Use OSF (D)
| | |1| | | | | | Relock Jitter Reduction
| | |0| | | | | | Normal Operation Jitter Reduction (D)
| | | |1| | | | | SPDIF: Auto deemph ON (D)
| | | |0| | | | | SPDIF: Auto deemph OFF
| | | | |1| | | | SPDIF Auto (Only if no I2S on pins) (D)
| | | | |0| | | | SPDIF Manual (Manually select SPDIF input format)
| | | | | |1| | | FIR: 28 coefficients (D)
| | | | | |0| | | FIR: 27 coefficients
| | | | | | |1| | FIR: Phase invert
| | | | | | |0| | FIR: Phase NO invert (D)
| | | | | | | |1| All MONO (Then select Mono L or R)
| | | | | | | |0| Eight channel (D)
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| CONFIGURATION | #define DUALMONO | #define TPAPHASE |
|---------------------|------------------|------------------|
| Dual mono in-phase | un-comment | comment |
| Dual mono TPA phase | un-comment | un-comment |
| Stereo | comment | comment |
|---------------------|------------------|------------------| */
#define DUALMONO
#define TPAPHASE //Reverse phase of even and odd DACs
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
byte reg17=0x1C; // Auto SPDIF, 8-channel mode, other defaults
// reg17 is used for stereo and for MONO. It is used for both chips
#ifdef DUALMONO
byte reg17R=0x9D; // Auto SPDIF, MONO RIGHT CHANNEL, other defaults. Used for reg 17 right only
#endif DUALMONO
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#ifdef DUALMONO // DAC registers default to stereo. Set to MONO L/R for dual MONO
bitSet(reg17,0); // Set for MONO
writeSabreReg(0x11,reg17); // Sets both chips to MONO
#endif DUALMONO
#ifdef TPAPHASE
// The outputs on each side of each MONO board will be in opposite phase. In order to do this
// the phase of the odd dacs are out of phase with the even dacs. Further, buffalo is configured
// such that (In dual mono mode) the channel on the DAC which is opposite of the selected channel
// carries the same analog signal but in anti-phase (odd dacs are the left channel;
// even dacs are the right channel)
// See
http://hifiduino.wordpress.com/sabre32/ for further explaination
writeSabreLeftReg(0x0D,0x22); // MONO LEFT DACx: odd dacs=in-phase; even dacs=anti-phase
// writeSabreLeftReg(0x13,0x00); // MONO LEFT DACBx: all dacs anti-phase with respect to DACx
writeSabreRightReg(0x0D,0x11); // MONO RIGHT DACx: odd dacs=anti-phase; even dacs=in-phase
// writeSabreRightReg(0x13,0x00); // MONO RIGHT DACBx: all dacs anti-phase with respect to DACx
#endif TPAPHASE
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------