Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Login


3 Pages123>
Options
View
Go to last post Go to first unread
Corpius  
#1 Posted : Sunday, April 22, 2012 7:55:00 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
I'd like to use Arduino (Hifiduino) to change register setting of the DAC for changing volume, inputs and other things. I have a few questions regarding the use of this micro-controller.

1. Is the firmware of the B3 the exact same as for B2? In other words: will the Hifiduino code also work for the B3?
2. When adding an external controller it is required to remove the on-board controller. I assume this is IC8 (Firmware controller). Do I have to take this IC from the board or can I switch it off or bypass it somehow?
3. Will I still be able to use the S/PDIF-4 Input Board?
4. Will I still be able to use the sidecar or do I have to connect the I2S signals directly to the DAC board?

Any other recommendations and tips are very welcome, because I have no experience using Arduino for controlling this DAC yet.
LeonvB  
#2 Posted : Sunday, April 22, 2012 10:09:34 AM(UTC)
LeonvB

Rank: Member

Groups: Member
Joined: 5/23/2010(UTC)
Posts: 719
Location: Netherlands

Thanks: 2 times
Was thanked: 48 time(s) in 45 post(s)
1a. No.
1b. Partly, since it has the same ES9018, and much of the setup is the same.
2. Yes, take it off.
3. Yes.
4a. Yes.
4b. No.

Some programming experience is required for a setup like this. The questions you ask make me doubt you fully understand how it all works, and I'm afraid you might get lost. It is very unfortunate the AC2 still isn't released, this would be a better fit for you.
Corpius  
#3 Posted : Sunday, April 22, 2012 11:03:07 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
LeonvB wrote:
1a. No.
1b. Partly, since it has the same ES9018, and much of the setup is the same.
2. Yes, take it off.
3. Yes.
4a. Yes.
4b. No.

Some programming experience is required for a setup like this. The questions you ask make me doubt you fully understand how it all works, and I'm afraid you might get lost. It is very unfortunate the AC2 still isn't released, this would be a better fit for you.

No I'm new to the concept of Arduino. When looking at it yesterday I saw the potential benefits of using a micro-controller. I have quite some experience with programming languages C# and VB. Since arduino code is bases on C# this is not to difficult for me. It are the electronics that are difficult for me. I will build it first without the arduino. This is how I planned it, but I will proceed to buy the Arduino Uno and try to get things right for using it with the B3. By that time there are probably other people around who succeeded with integrating Arduino/Hifiduino with the B3, so I can benefit from this.

By the way, where can I find documents for both the B2 firmware and B3 firmware? They would make life a lot easier when fiddling around with Arduino.
LeonvB  
#4 Posted : Sunday, April 22, 2012 11:23:51 AM(UTC)
LeonvB

Rank: Member

Groups: Member
Joined: 5/23/2010(UTC)
Posts: 719
Location: Netherlands

Thanks: 2 times
Was thanked: 48 time(s) in 45 post(s)
In that case: the behaviour of the ES9018 is controlled using I2C. This is a serial protocol, with which you set the internal registers of the ES9018 chip. Most of the registers are covered in the code on glt's site. Registers range from volume, selected input and DPLL bandwidth to status registers and custom filters. I think it's best you obtain the datasheet if you wish to go this route.

To my knowledge there are no public documents on the firmware. Just rewrite the code depending on your needs, glt's code is very easy to follow and understand.
Amaro  
#5 Posted : Sunday, April 22, 2012 12:03:27 PM(UTC)
Amaro

Rank: Member

Groups: Member
Joined: 8/19/2009(UTC)
Posts: 61
Location: Spain

Thanks: 2 times
Was thanked: 6 time(s) in 6 post(s)
Corpius wrote:

4. Will I still be able to use the sidecar or do I have to connect the I2S signals directly to the DAC board?


I think using hifiduino, you can directly connect the I2S signal as is usual, and use the digital inputs D6 to D8 for SPDIF signal.

It is necessary to modify the code Hifiduino, but not hard.

Please note that is a solution that I have not tried.

Regards
glt  
#6 Posted : Sunday, April 22, 2012 5:52:05 PM(UTC)
glt

Rank: Member

Groups: Member
Joined: 11/9/2007(UTC)
Posts: 453
Location: usa

If you wire the inputs BIII the same as the BII (you can see the wiring of the BII in the Sabre32 tab), then the code will work the same for BIII. Since BIII has flexibly input and output configuration, you can enhance the code to take advantage of wiring flexibility of the BIII.

With BIII, all input pins are available and not pre-wired like BII. Therefore you can take full advantage of manual (internal) switching. You could use a combination of h/w (relays) and s/w (firmware) to accomplish different source switching configuration. You could for example:

-Permanently wire 1 8-channel I2S and 3 SPDIF channels to the BIII DAC and do the input switching is software.

-Switch up to 8 channels of SPDIF without external components

-Use the quantizer bit size to switch from 8 channel input to 4-channel or 2-channel input and replicate the signal to all the internal DACs without external h/w switching of the inputs (quantizer section explains how this is accomplished)
Corpius  
#7 Posted : Monday, April 23, 2012 7:53:04 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
Hi glt,

Thanks for the nice HiFiDUINO site!
I intended to built the B3 using the "S/PDIF 4 input board" and sidecar and use the (manual)input selection kit for switching inputs on the "S/PDIF 4 input board". But after seeing your site my ideas on this changed a bit. Angel
Is switching inputs on the "S/PDIF 4 input board" possible with your code? Is this the same way you wired the inputs with the B2?

Do you also have some information on using the sidecar with arduino Uno?
Corpius  
#8 Posted : Monday, April 23, 2012 8:34:07 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
It is not the same. The new input board has 4 S/PDIF outputs unlike the old Receiver/MUX module which has only one. So the code needs some changing here in order to select the desired input (1, 2, 3 or 4), right?
LeonvB  
#9 Posted : Monday, April 23, 2012 10:35:34 AM(UTC)
LeonvB

Rank: Member

Groups: Member
Joined: 5/23/2010(UTC)
Posts: 719
Location: Netherlands

Thanks: 2 times
Was thanked: 48 time(s) in 45 post(s)
Correct, you set the register (18) to select the desired input.
Corpius  
#10 Posted : Monday, April 23, 2012 10:44:36 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
Could you point me in the right direction how the I2S signal connected to the sidecar is selected? This is the bit I still don't get, but trying to.

EDIT: I know that relais need to be switched by applying 5 V to them, but how are the I2S signals routed?

Edited by user Monday, April 23, 2012 10:46:04 AM(UTC)  | Reason: Not specified

Corpius  
#11 Posted : Monday, April 23, 2012 10:59:58 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
the are probably routed like this: UserPostedImage

Is it enough to simply switch off S/PDIF autodetect using register 17 and applying 5V to the sidecare to switch the relais on the sidecar to switch from one of the S/PDIF inputs to I2S?

Sorry for all this questions..

Edited by user Monday, April 23, 2012 11:15:31 AM(UTC)  | Reason: Not specified

LeonvB  
#12 Posted : Monday, April 23, 2012 1:37:21 PM(UTC)
LeonvB

Rank: Member

Groups: Member
Joined: 5/23/2010(UTC)
Posts: 719
Location: Netherlands

Thanks: 2 times
Was thanked: 48 time(s) in 45 post(s)
Don't know for sure, but setting register 8 wouldn't hurt I guess.
Corpius  
#13 Posted : Monday, April 23, 2012 1:54:45 PM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
Register 8 is also set in the hifiduino code to select the signal type. But when using a DPST switch its not set, or perhaps the onboard firmware sets it at the same time with the spdif autodetect.

Edited by user Monday, April 23, 2012 1:56:01 PM(UTC)  | Reason: Not specified

ccclapp  
#14 Posted : Monday, April 23, 2012 7:22:05 PM(UTC)
ccclapp

Rank: Member

Groups: Member
Joined: 3/18/2012(UTC)
Posts: 24
Location: Gloucester, MA

Corpius, or others:

Are you intending to do m-ch w multiple inputs? I am trying to follow someone doing that. In my case I have the EXAu2i USB interface set up with a B-III. USB M-CH is fine, but I want to add additional (2-ch) sources (spdif, AES, etc). Is what you are doing applicable to this?

Thanks
--Caleb
Corpius  
#15 Posted : Tuesday, April 24, 2012 1:08:56 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
Hi Caleb,

I will build a 2 channel stereo system, no multichannel.
I`m not entirely sure, because it is all quite new to me, but for multichannel you probably have to set the quantizer to 8 bits. Then you would have 8 outputs and still have 4 inputs (#1,#2,#5,#6). For more information on this look here and here
glt  
#16 Posted : Tuesday, April 24, 2012 9:38:05 AM(UTC)
glt

Rank: Member

Groups: Member
Joined: 11/9/2007(UTC)
Posts: 453
Location: usa

For multichannel, you would want 6 or 7 bit quantizer. 8-bit will re-route half the inputs. 9-bit will reroute one-half more
ccclapp  
#17 Posted : Tuesday, April 24, 2012 10:39:49 AM(UTC)
ccclapp

Rank: Member

Groups: Member
Joined: 3/18/2012(UTC)
Posts: 24
Location: Gloucester, MA

glt wrote:
For multichannel, you would want 6 or 7 bit quantizer. 8-bit will re-route half the inputs. 9-bit will reroute one-half more


Thanks guys!

I'm just trying to understand enough that I can then read up on specifics and then explain to an engineer who is helping me with the DIY implementation (as Im pretty green, but have a helping hand). Ive built an 8-ch B-III with the EXAu2i USB interface and am trying to add additional sources. This is being discussed in the following thread, where it has been recommended to use the HiFiDUINO. I've been reading up on that, but am still a bit fizzy on the signal path, etc.

Could I impose on you to please look at the last few posts in the below thread and help give me some more clarity, as I'm not quite there yet...

http://www.twistedpearau....aspx?g=posts&t=2439

Thanks VERY much!

Edited by user Tuesday, April 24, 2012 10:40:29 AM(UTC)  | Reason: Not specified

--Caleb
Corpius  
#18 Posted : Tuesday, April 24, 2012 12:17:15 PM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
Hi glt,

What I want is to be able to switch between all four spdif inputs from the "spdif 4 input board" and the Sidecare (I2S). I don't need more inputs for the moment.

I think that I understand the switching between all inputs:

To switch between one of inputs from the "spdif 4 input board":
1. Set spdif autodetect to "on" using register 17 (needs to be set to "on" to be able to set register 18)
2. Set source to SPDIF on using register 8
3. Switch to the desired input using register 18 (will not work if auto-SPDIF is off)


To switch to I2S taken from the Sidecar:
1. Set spdif autodetect to "off" using register 17
2. Set source to I2S/DSD on using register 8
3. Switch the relays on the Sidecar using 5V (blocking all spdif inputs and letting I2S signals pass through)

Can you confirm this?


btw. Is it possible to use one of the unused digital I/O's of the Arduino Uno board to switch the relays on the sidecar or is 40mA to less for this?

Edited by user Tuesday, April 24, 2012 12:32:56 PM(UTC)  | Reason: Not specified

glt  
#19 Posted : Tuesday, April 24, 2012 11:43:28 PM(UTC)
glt

Rank: Member

Groups: Member
Joined: 11/9/2007(UTC)
Posts: 453
Location: usa

Corpius,

The register programming looks fine. One "should not" have to set spdif autodetect to on if using manual spdif selection, but as I documented in the blog, when I tested it I had to turn spdif autodetect to on for spdif ot work. You may try skipping the autodetect and see if it works.

The arduino pins can supply I think 20 mA, better use a transistor to switch the relay and the arduino pin to drive the transistor (the base)
Corpius  
#20 Posted : Wednesday, April 25, 2012 3:22:10 AM(UTC)
Corpius

Rank: Member

Groups: Member
Joined: 2/1/2012(UTC)
Posts: 332
Location: The Netherlands

Thanks: 4 times
Was thanked: 18 time(s) in 18 post(s)
Quote:
The register programming looks fine. One "should not" have to set spdif autodetect to on if using manual spdif selection, but as I documented in the blog, when I tested it I had to turn spdif autodetect to on for spdif ot work. You may try skipping the autodetect and see if it works.


Another approach would be using a Boolean type. When switching from PCM/DSD to spdif set it to "True". Then when another sdif channel is manually selected and the Boolean type is already set to "True" the the register doesn't need to be set again.

Quote:
The arduino pins can supply I think 20 mA, better use a transistor to switch the relay and the arduino pin to drive the transistor (the base)


gwikse also had this idea, but he is sure that the relays do not require much current to switch them, something in the order of a few mA. If this is true then it is possible to switch them using Arduino. Perhaps Russ or Brian can confirm this?
Rss Feed  Atom Feed
Users browsing this topic
3 Pages123>
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.