Share |

spdif switch module for LCDuino

The face and heart of the system.

Moderator: linux-works

spdif switch module for LCDuino

Postby linux-works » March 25th, 2011, 11:48 pm

sneak peek at one implementation of an spdif switch that integrated with the lcduino system:

Image

its a replay on an idea I had a few years ago. this time, I'm using a 1-of-8 input selector chip (simple ttl stuff, 74151, I think is what I used) and a port expander that we are using a lot, these days, the same one the d1 and d2 controllers use (philips pcf8574).

I have 3 toslink receiver blocks and 1 transmitter. the chip supports 8 and lcduino supports 8 ports on an i/o card. I'm using 3 just because I did not feel like doing more ;)

if you configure the lcduino to use spdif instead of delta2, you can use the same remote and the same port buttons but instead you are picking spdif input ports. there are even software settable port leds to show which port is selected. and of course, if you use the IR remote and tell it to go into 'full dark' mode, even the spdif port leds on the 'pod' go out. as soon as you change an input, the port led comes on, then goes out with the lcd fade. kind of a neat effect.

very low cost. chip was in the dollar range. nothing exotic. I built mine on perf board in 1 evening.

currently, the lcduino is planned to have 4 modules in software support:

- delta1 relays for volume
- delta2 relays for i/o selection
- PGA chip (over PE) for volume
- spdif switch for i/o selection

you can pick 1 vol engine and 1 i/o engine via the LCD menus. then hook up the right hardware and hopefully all should talk.

just a sneak peek on where this whole system is going. it was always much more than a 'simple volume control controller'.
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1620
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA
Country: United States (us)

Re: spdif switch module for LCDuino

Postby linux-works » March 27th, 2011, 12:23 pm

more photos:

Image

Image

Image

I posted some details at diyaudio, as well:

http://www.diyaudio.com/forums/digital- ... duino.html

if there is enough interest, we can consider making this a more formal product, as well.

its already supported in the LCDuino code base for those that prefer spdif i/o switching instead of analog line-level switching.

you still get 8 ports and can name each one and also set an input gain or volume offset for each port; does not matter if its a real analog port or digital port, its just an associated volume setting that comes up when you select that port.
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1620
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA
Country: United States (us)

Re: spdif switch module for LCDuino

Postby suicidaleggroll » March 27th, 2011, 1:38 pm

This looks great

I'm now tossing around the idea of building two LCDuino-based systems, one would be a simple remote-controlled spdif selector (multiple inputs, one output), the output of that would go to an external DAC, then go to the analog LCDuino (one input, multiple outputs) with volume control.

So many choices...
suicidaleggroll
 
Posts: 117
Joined: October 7th, 2010, 11:24 am
Location: Colorado
Country: United States (us)

Re: spdif switch module for LCDuino

Postby linux-works » March 27th, 2011, 3:05 pm

the code is designed to be made into various functional groups.

example:

Code: Select all

#define USE_BIGFONTS             1
#define USE_PGA_I2C                1
#define USE_SPDIF                  1   // support an i/o selector with 'spdif mask,addr' types
#define USE_D1_RELAYS              1
#define USE_D2_RELAYS              1
#define USE_MOTOR_POT              1
#define USE_ANALOG_POT             1

// our roles (all combos are valid)
#define BE_VOL_CONTROL             1
#define BE_IO_SWITCH               1


and so you can enable various features as you need. don't need or want a volume display, no bargraph, no knob, but you do want some inputs and outputs? then turn off vol_control and enable only io_switch. you can do that in the build or just disable some of these in the lcd menus (I'll explain more very shortly).

you still get the same IR learn ability (you can teach your spdif or analog i/o switch the same or diff IR codes as your vol control box).

one guy on diy audio was asking for an output selector and we already have that for the delta2 in analog but I might try something for spdif, as well. that way you can have one feed drive several spdif outputs and run in single-mode (1-of-n) or in multi-mode (click down any port to the 'common bus' or disconnect it; toggle-button style).

another direction to add to this, for future is to link an hdmi switch to this. that way you can select a video/audio combo by name (by button) and it will pick the right spdif port and the right hdmi port, with both not being the same slot number all the time, either. if the hdmi switch has an IR input, then it can be set remotely via the IR-send ability of the lcduino (not in the vol control product, though; as there is just no extra code space left to enable the IR-send library; but on spdif-switch that does not do vol control, you may be able to fit the IR-send library in. I will play with that after formal launch of volumaster 1.0/lcduino 1.0).
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1620
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA
Country: United States (us)

Re: spdif switch module for LCDuino

Postby dsolodov » March 27th, 2011, 5:14 pm

Would using Wolfson WM8805GEDS/V be an good option? :roll: Mouser lists the chip at 2.96USD. The chip requires 10-15 external components (another 10USD ?)for the software controlmode. The benefit would be great S/PDIF stream reclocking as well as switching capabilies.
Completed AMB projects: M³, σ11, σ25, ε24, γ1, γ2, LCDuino
dsolodov
 
Posts: 219
Joined: September 4th, 2010, 10:02 am
Location: Philadelphia, PA
Country: United States (us)

Re: spdif switch module for LCDuino

Postby linux-works » March 27th, 2011, 6:14 pm

SSOP-28 ? that's kind of a negative.

I'll take a look at the datasheet and see what its about; I've not used this chip before.

another alternative is the known 8416 style receiver and then back to back to a transmitter chip. that way you fully receive the stream (probably like the wolfson) and then retransmit it. you could, in the middle, reclock or up-convert. that makes the project more complex and *could* actually make the stream worse. I kind of like the very simple approach, old school single function ttl chips that have similar prop delays and are cheap as hell to buy and install. they have been around since the 70's or 80's and are still fast enough.

the wolfson may also need more complex setup or config. but I'll read up on it and see if it has any value or if its just yet another way to switch 1-of-8 ;)
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1620
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA
Country: United States (us)

Re: spdif switch module for LCDuino

Postby linux-works » March 27th, 2011, 6:28 pm

just had a quick read-thru. looks interesting. could be a lot of work to talk to it via software. that would be the point of using such a thing; to gain software access to it.

here's a question: is it good to keep reclocking? suppose your end point (the dac) does reclocking. shouldn't reclocking happen very very local to the analog circuitry and not upstream? in fact, if you reclock upstream, the jitter could still get messed up downstream.

if this was coupled with a dac, on the same board, that might make sense; but then again, most modern dacs pride themselves on being low jitter and doing their own local reclocking of some sort.

also, I don't think this chip is useful (at all) for non-pcm audio. with my ttl solution, it does not care if the spdif stream is dd5.1 or dts or linear pcm 2ch audio. 16,20,24 bits, does not matter. there's an advantage, in some aspects, to being a pure layer-1 device and not wanting to know packet data formats.
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1620
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA
Country: United States (us)

Re: spdif switch module for LCDuino

Postby Shaman » March 28th, 2011, 1:16 am

Valid concerns, l-w...
I think it depends on the DAC that'll follow the "spdif-duino". You can't keep everyone happy I'm afraid, at least not at this stage.
Simple is a good way to start.. ;)

Btw, there have been a couple of interesting discussions in Diyaudio about the "proper" way to switch SPDIF signals (in terms of added jitter etc). I'm sure you guys have spotted them.
Shaman
 
Posts: 144
Joined: April 20th, 2010, 4:21 am
Country: Greece (gr)

Re: spdif switch module for LCDuino

Postby linux-works » March 28th, 2011, 6:39 am

do post links that you feel might be relevant. I have not seen those threads yet, myself.
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1620
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA
Country: United States (us)


Next

Return to LCDuino-1 display I/O processor

Who is online

Users browsing this forum: No registered users and 0 guests

Quick Links

AMB audio DIY resources
AMB audio shop