miniDSP to Twister Pear Opus DAC via I2S - diyAudio
Go Back   Home > Forums > Source & Line > Digital Line Level

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 1st February 2011, 04:57 AM   #1
ljfont is offline ljfont  Canada
diyAudio Member
 
ljfont's Avatar
 
Join Date: Feb 2008
Location: Vancouver, British Columbia
Default miniDSP to Twister Pear Opus DAC via I2S

Anyone connect their miniDSP to an opus DAC via I2S? I've read in other another thread that it is possible. MiniDSP - MiniDSP/MiniDIGI combo and external DACs? - MiniDSP
and the miniDSP I2S technical note.

However, i was wondering if anybody had this going with the opus configured in Normal mode using hardware jumpers?
  Reply With Quote
Old 1st February 2011, 07:40 PM   #2
glt is offline glt  United States
diyAudio Member
 
Join Date: Oct 2004
Quote:
Originally Posted by ljfont View Post
Anyone connect their miniDSP to an opus DAC via I2S? I've read in other another thread that it is possible. MiniDSP - MiniDSP/MiniDIGI combo and external DACs? - MiniDSP
and the miniDSP I2S technical note.

However, i was wondering if anybody had this going with the opus configured in Normal mode using hardware jumpers?
It should work.

According to the miniDSP i2s manual, miniDSP I2S operates in the following mode:
-External ADC/DAC is an I2S slave device.
-MCLK: 12.288MHz
-BCLK: 3.072MHz = 64Fs = (64 * 48kHz)
-LRCLK: 48kHz
-Resolution: 24bits

This is supported by WM8741/OPUS. MCKL at 12.288 is 256fs which is in the sweet spot of mclk supported by the DAC
__________________
www.hifiduino.wordpress.com
  Reply With Quote
Old 2nd February 2011, 04:56 AM   #3
fb is offline fb  Australia
diyAudio Member
 
Join Date: Apr 2005
Location: Brisbane, Aus
I can confirm it's working. I'm using the default hardware settings for the Opus, as found in it's user manual. My chain is miniDIGI (I2S master) -> miniDSP (I2S/MCLK slave) -> Opus (slave).
  Reply With Quote
Old 2nd February 2011, 08:02 AM   #4
ljfont is offline ljfont  Canada
diyAudio Member
 
ljfont's Avatar
 
Join Date: Feb 2008
Location: Vancouver, British Columbia
Quote:
Originally Posted by fb View Post
I can confirm it's working. I'm using the default hardware settings for the Opus, as found in it's user manual. My chain is miniDIGI (I2S master) -> miniDSP (I2S/MCLK slave) -> Opus (slave).

Great!!
I have the same setup (miniDIGI and miniDSP)

I have some other questions:
which board are you using to get your MCLK signal?
Are you using two opus DACS to get 4 mono outs?
How does it sound?

Thanks.
Leo
  Reply With Quote
Old 3rd February 2011, 01:57 AM   #5
fb is offline fb  Australia
diyAudio Member
 
Join Date: Apr 2005
Location: Brisbane, Aus
Sorry, should have written miniDIGI is MCLK master.

Unfortunately I don't have my new amps with balanced input yet (still waiting for manufacturer), so all I've done is hook up one Opus to the miniDSP and route one of the Opus' outputs into my soundcard (RME FF400) to check it's working.

My speakers are 3 way stereo. At this stage I'm just using the miniDSP DACs into my receiver for multi-amping.

System will soon be:
FF400 -> SPDIF ->
miniDIGI -> I2S ->
2x miniDSP -> I2S ->
3x Opus
  Reply With Quote
Old 3rd February 2011, 05:50 PM   #6
glt is offline glt  United States
diyAudio Member
 
Join Date: Oct 2004
>>
System will soon be:
FF400 -> SPDIF ->
miniDIGI -> I2S ->
2x miniDSP -> I2S ->
3x Opus
<<

Although I have not contemplated purchasing these models, I've had the same arrangement in my head. The miniDIGI is a nice module with good clock and SRC chip. Ideally one would use the volume control of the OPUS and then connect directly into amps. However with 3 OPUS you are one I2C address short.

How do plan to control the volume?
__________________
www.hifiduino.wordpress.com
  Reply With Quote
Old 3rd February 2011, 11:07 PM   #7
fb is offline fb  Australia
diyAudio Member
 
Join Date: Apr 2005
Location: Brisbane, Aus
It should be possible via SPI. As the WM8741 has in built daisy chaining features, it looks like it would only require 3 wires from an arduino.

What happens if there are more than 1 device on an I2C bus with the same address? If it's OK for all the volume to be set the same this might work.


Failing all that (or maybe preceding), the RME FF400's internal mixer runs at 40bits, and it's already got a display and a knob.
  Reply With Quote
Old 4th February 2011, 12:46 AM   #8
diyAudio Member
 
5th element's Avatar
 
Join Date: Oct 2002
Location: England
Quote:
Originally Posted by fb View Post

What happens if there are more than 1 device on an I2C bus with the same address? If it's OK for all the volume to be set the same this might work.
This doesn't work and is the one major pitfall of I2C. After each transmitted data byte the slave has to send an ACK or NACK in response. It does this by pulling the dataline low for the clock period after the last bit sent.

Quite how this would function if you did connect two devices with the same address I do not know. The ACK is passive, in that the master doesn't have to acknowledge it in any way. I get the impression that the ACK is used for two things. 1) so you know everything is working correctly and 2) for timing. In other words you monitor an internal flag for the ACK and know you can send the next data byte directly after it as a result.

Instead of monitoring the flag for the ACK, you can ignore it and place a time delay between successive data transmits instead, it accomplishes the same thing but could be prone to slip ups if you trim the time delay too low and end up interrupting the transmit bus as a result.

To this end, if the timing between two slaves under the same address was slightly different (why this would be a don't know they are both clocked to the same thing), both would try and pull the data line low in ACK, at the same time. I don't know what the result of this would be. From the view point of the master, it wouldn't really care. The slaves? I don't know what would happen if both try to ACK at the same time. I have heard of errors where a slave pulls a line low and doesn't release it. This generally occurs if the clock goes away for some reason before the line is released. This could perhaps happen if one device ACKs slightly before the other and the master releases the clock as a result. To solve this you need to change the micros output pin configuration, disable the I2C module, configure the clock pin as a general output, send a makeshift clock pulse down what was the clock line so the slave can finish what it's trying to do and it will then release the line. Then turn the I2C module back on and transmit the next data byte.

This of course is just speculation, it could work just fine, or it could be a disaster, I've never tried it, although I'd be up for giving it a go :P

You could use SPI, or purchase a micro with two I2C controllers instead.

(Take what I've written here with a grain of salt as I've only just learnt how to use I2C)
__________________
What the hell are you screamin' for? Every five minutes there's a bomb or somethin'! I'm leavin! bzzzz!
  Reply With Quote
Old 4th February 2011, 01:02 AM   #9
glt is offline glt  United States
diyAudio Member
 
Join Date: Oct 2004
Quote:
Originally Posted by fb View Post
It should be possible via SPI. As the WM8741 has in built daisy chaining features, it looks like it would only require 3 wires from an arduino.

What happens if there are more than 1 device on an I2C bus with the same address? If it's OK for all the volume to be set the same this might work.


Failing all that (or maybe preceding), the RME FF400's internal mixer runs at 40bits, and it's already got a display and a knob.
Ah Yeah, SPI... WM8741 supports both I2C and SPI...
__________________
www.hifiduino.wordpress.com
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Twisted Pear Opus DAC steveww Digital Source 0 10th November 2010 08:55 PM
FS: Twisted Pear DUAL MONO OPUS DAC matthewm Swap Meet 20 11th July 2010 01:38 AM
Twisted Pear Opus Modules sbrtoy Swap Meet 8 12th May 2009 09:30 PM
FS: Twisted Pear Opus DAC mdlover Swap Meet 5 14th October 2008 03:33 AM
Direct Wiring a DDDAC USB--&gt;I2S to a P3A DAC I2S DIN input dkj7a Digital Source 1 26th March 2006 05:46 PM


New To Site? Need Help?

All times are GMT. The time now is 08:07 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2