PDA

View Full Version : SB2 and PCM formats



Steinar Bjaerum
2005-03-09, 12:44
What PCM formats are the DAC in the SB2 capable of delivering to the analog
output?
All the way up to 96kHz/24bits?

What PCM formats are SB2 capable of passing through to the S/PDIF digital
out?

I am interested in knowing both the current status and the possibilities
with future software upgrades.

Steinar

seanadams
2005-03-09, 14:10
DISCLAIMER: please be very clear that these are not promises that we're
going do any particular feature at any particular time, or even at all.
I will comment *to the best of my knowledge* on what the hardware could
potentially be made to do, but please don't hold me to it if we find
some reason later why some particular thing can't or won't be done.

Right now Squeezebox2 does 24 bits (s/pdif and DAC) at 44.1 and 48KHz.

A block diagram is in order:


----------------
| ip3023 cpu |
----------------
|
|
----------------
| |----- 11.2896 mhz
|xc9536xl CPLD |
---| |----- 12.2880 mhz
| | |
| ----------------
| | | -------------------
| | |_________| S/PDIF outputs |
| | -------------------
| -------
| | DAC |
| -------
| | -------- ______________
| +--------| AMP |------| RCA Outputs |
| | -------- --------------
| |
| ---------- --------- --------------
+----| CMOS |----| AMP |------| Headphone/ |
| | SWITCH | --------- | geekport |
| --------- ---------------
| |
|------------------------------------|



The really important thing to note here is that there are NONE of the
usual "hard-wired" digital audio components that you'd expect to see.
S/PDIF outputs are usually done using a chip like the CS8405. Also,
often times there will be some "audio codec" chip in the path, which
handles gain, mixing, resampling and stuff like that. We are doing ALL
of this stuff in software, which gives us tremendous flexibility to
tweak, tune, and improve it.

The other important point is that the digital logic which handles the
s/pdif outputs and the feeding of data to the DAC is all done in a
Xilinx gate array. If you're not familiar with CPLDs or FPGAs,
basically the idea is that instead of hard-wiring a bunch of individual
logic chips together or making a custom integrated circuit, these
programmable gate arrays allow you to create your own custom chip by
writing code. The _really_ killer thing about them is that you can
reprogram them later, which in terms of standard logic chips, is the
equivalent of making a whole new circuit board in "software". In
squeezebox2 this Xilinx chip is configured by the CPU, so we have the
ability to completely "rewire" the digital output path just about any
way we want, at any time. Hence there are some extremely interesting
possibilities for future features....

Finally, notice the geekport. Squeezebox1 had a geekport too, but it
was not really accessible because you had to open the case and solder
stuff onto the board. In Squeezebox2, the geekport is the headphone
jack! The headphone jack can be reconfigured for other modes, including
bidirectional data and IR blasting. These features are not done yet but
the hardware support is there.

Everything below this line is a ** POSSIBLE MAYBE SOMETIME DOWN THE
ROAD **.
--------------------

- The hardware has SEPARATE DATA PATHS for s/pdif and DAC outputs. We
are not using this capability now (both are fed the same data), but it
could be used perhaps for some interesting multi-channel applications.
For example, we could output the encoded digital stream to a surround
receiver, and also output a 2-channel stereo rendition to the DAC.

- Crsytals can easily be desoldered. The logic is driven directly by
these two oscillators, so if you want to experiment with unusual
frequencies or wire up an aftermarket clock source, you can.

- 96Khz should be doable with the xtals we have, maybe 192.

- All the s/pdif data is under our control. We can pretend to be
AES/EBU, lie about what kind of device we are (DAT player etc), shut
off the s/pdif in order to tell an amp or receiver that we're not
active, etc etc.

- There are some vendor-specific/proprietary tricks that some guys are
doing with s/pdif. In particular, I believe somebody has a receiver +
s/pdif speaker setup that sends volume commands over the s/pdif. We
could support things like this - probably they would be trivial to
reverse-engineer, but we'd prefer to get cooperation.

- The geekport can potentially do some pretty crazy things - high speed
RS232 for example, auxiliary s/pdif output, house sync (word clock)
input, maybe even s/pdif INPUT, i2c, dallas 1-wire - damn near anything
you can do on two wires + ground. The only geekport feature we're
aiming to finish by ship date is IR blasting. This will allow
Squeezebox2 to power on your receiver and set it to the right input,
and later power it off automatically when you're done listening. The IR
blaster has a variable current driver so it can be set up to drive a
single LED dimly up to multiple LEDs brightly. It could also deliver
enough current to drive a small external voltage regular eg for a
microcontroller which would communicate with the SB2 over dallas
1-wire.




On Mar 9, 2005, at 11:44 AM, Steinar Bjaerum wrote:

> What PCM formats are the DAC in the SB2 capable of delivering to the
> analog
> output?
> All the way up to 96kHz/24bits?
>
> What PCM formats are SB2 capable of passing through to the S/PDIF
> digital
> out?
>
> I am interested in knowing both the current status and the
> possibilities
> with future software upgrades.
>
> Steinar
>
>
>

Torgeir Veimo
2005-03-09, 14:14
On Wed, 2005-03-09 at 13:10 -0800, Sean Adams wrote:
>
> The only geekport feature we're
> aiming to finish by ship date is IR blasting.

Does the IR support in the sb2 cover RC-5 remotes through xpl?

--
Torgeir Veimo <torgeir (AT) pobox (DOT) com>

seanadams
2005-03-09, 14:28
Certainly there will be a slimserver hook if that's what you're asking
- I haven't fiddled with xpl yet; i'm just working on the firmware
right now.

In terms of format support I am making it very generic. The server will
specify the low-level timing and the SB2 will just blast it out.


On Mar 9, 2005, at 1:14 PM, Torgeir Veimo wrote:

> On Wed, 2005-03-09 at 13:10 -0800, Sean Adams wrote:
>>
>> The only geekport feature we're
>> aiming to finish by ship date is IR blasting.
>
> Does the IR support in the sb2 cover RC-5 remotes through xpl?
>
> --
> Torgeir Veimo <torgeir (AT) pobox (DOT) com>
>
>

Torgeir Veimo
2005-03-09, 14:30
On Wed, 2005-03-09 at 13:28 -0800, Sean Adams wrote:
>
> Certainly there will be a slimserver hook if that's what you're asking
> - I haven't fiddled with xpl yet; i'm just working on the firmware
> right now.
>
> In terms of format support I am making it very generic. The server will
> specify the low-level timing and the SB2 will just blast it out.

Ok, was more thinking about input, ie using the sb2 as a remote sensor,
ref bug http://bugs.slimdevices.com/show_bug.cgi?id=658.

Apparently it only requires a slightly different IR code parser than the
current one.

--
Torgeir Veimo <torgeir (AT) pobox (DOT) com>

Mike Hartley
2005-03-09, 14:31
Sean,
I guess the only thing I have to say is......wow. And I thought the last
version was geek driven ;-)
Mike
----- Original Message -----
From: "Sean Adams" <sadams (AT) slimdevices (DOT) com>
To: "Slim Devices Discussion" <discuss (AT) lists (DOT) slimdevices.com>
Sent: Wednesday, March 09, 2005 4:10 PM
Subject: [slim] SB2 and PCM formats


>
> DISCLAIMER: please be very clear that these are not promises that we're
> going do any particular feature at any particular time, or even at all.
> I will comment *to the best of my knowledge* on what the hardware could
> potentially be made to do, but please don't hold me to it if we find
> some reason later why some particular thing can't or won't be done.
>
> Right now Squeezebox2 does 24 bits (s/pdif and DAC) at 44.1 and 48KHz.
>
> A block diagram is in order:
>
>
> ----------------
> | ip3023 cpu |
> ----------------
> |
> |
> ----------------
> | |----- 11.2896 mhz
> |xc9536xl CPLD |
> ---| |----- 12.2880 mhz
> | | |
> | ----------------
> | | | -------------------
> | | |_________| S/PDIF outputs |
> | | -------------------
> | -------
> | | DAC |
> | -------
> | | -------- ______________
> | +--------| AMP |------| RCA Outputs |
> | | -------- --------------
> | |
> | ---------- --------- --------------
> +----| CMOS |----| AMP |------| Headphone/ |
> | | SWITCH | --------- | geekport |
> | --------- ---------------
> | |
> |------------------------------------|
>
>
>
> The really important thing to note here is that there are NONE of the
> usual "hard-wired" digital audio components that you'd expect to see.
> S/PDIF outputs are usually done using a chip like the CS8405. Also,
> often times there will be some "audio codec" chip in the path, which
> handles gain, mixing, resampling and stuff like that. We are doing ALL
> of this stuff in software, which gives us tremendous flexibility to
> tweak, tune, and improve it.
>
> The other important point is that the digital logic which handles the
> s/pdif outputs and the feeding of data to the DAC is all done in a
> Xilinx gate array. If you're not familiar with CPLDs or FPGAs,
> basically the idea is that instead of hard-wiring a bunch of individual
> logic chips together or making a custom integrated circuit, these
> programmable gate arrays allow you to create your own custom chip by
> writing code. The _really_ killer thing about them is that you can
> reprogram them later, which in terms of standard logic chips, is the
> equivalent of making a whole new circuit board in "software". In
> squeezebox2 this Xilinx chip is configured by the CPU, so we have the
> ability to completely "rewire" the digital output path just about any
> way we want, at any time. Hence there are some extremely interesting
> possibilities for future features....
>
> Finally, notice the geekport. Squeezebox1 had a geekport too, but it
> was not really accessible because you had to open the case and solder
> stuff onto the board. In Squeezebox2, the geekport is the headphone
> jack! The headphone jack can be reconfigured for other modes, including
> bidirectional data and IR blasting. These features are not done yet but
> the hardware support is there.
>
> Everything below this line is a ** POSSIBLE MAYBE SOMETIME DOWN THE
> ROAD **.
> --------------------
>
> - The hardware has SEPARATE DATA PATHS for s/pdif and DAC outputs. We
> are not using this capability now (both are fed the same data), but it
> could be used perhaps for some interesting multi-channel applications.
> For example, we could output the encoded digital stream to a surround
> receiver, and also output a 2-channel stereo rendition to the DAC.
>
> - Crsytals can easily be desoldered. The logic is driven directly by
> these two oscillators, so if you want to experiment with unusual
> frequencies or wire up an aftermarket clock source, you can.
>
> - 96Khz should be doable with the xtals we have, maybe 192.
>
> - All the s/pdif data is under our control. We can pretend to be
> AES/EBU, lie about what kind of device we are (DAT player etc), shut
> off the s/pdif in order to tell an amp or receiver that we're not
> active, etc etc.
>
> - There are some vendor-specific/proprietary tricks that some guys are
> doing with s/pdif. In particular, I believe somebody has a receiver +
> s/pdif speaker setup that sends volume commands over the s/pdif. We
> could support things like this - probably they would be trivial to
> reverse-engineer, but we'd prefer to get cooperation.
>
> - The geekport can potentially do some pretty crazy things - high speed
> RS232 for example, auxiliary s/pdif output, house sync (word clock)
> input, maybe even s/pdif INPUT, i2c, dallas 1-wire - damn near anything
> you can do on two wires + ground. The only geekport feature we're
> aiming to finish by ship date is IR blasting. This will allow
> Squeezebox2 to power on your receiver and set it to the right input,
> and later power it off automatically when you're done listening. The IR
> blaster has a variable current driver so it can be set up to drive a
> single LED dimly up to multiple LEDs brightly. It could also deliver
> enough current to drive a small external voltage regular eg for a
> microcontroller which would communicate with the SB2 over dallas
> 1-wire.
>
>
>
>
> On Mar 9, 2005, at 11:44 AM, Steinar Bjaerum wrote:
>
> > What PCM formats are the DAC in the SB2 capable of delivering to the
> > analog
> > output?
> > All the way up to 96kHz/24bits?
> >
> > What PCM formats are SB2 capable of passing through to the S/PDIF
> > digital
> > out?
> >
> > I am interested in knowing both the current status and the
> > possibilities
> > with future software upgrades.
> >
> > Steinar
> >
> >
> >

seanadams
2005-03-09, 14:32
>
> Ok, was more thinking about input, ie using the sb2 as a remote sensor,
> ref bug http://bugs.slimdevices.com/show_bug.cgi?id=658.
>
> Apparently it only requires a slightly different IR code parser than
> the
> current one.

Sure, it's doable (would not require geekport - the built-in IR sensor
could do this).

Ben Coombs
2005-03-10, 13:25
Hi,

Firstly, can i add my congratulations the creation of a great new
product, i'm going to be buying one soon.

I have two thoughts, the Sonos player has an input as well, it can be
used to stream any music source to other players, could the geekport
be redesigned to do this? people may be impressed with that.

Secondly, with the audio processing done in the closed source
firmware, if Apple were to licence it, how difficult would it be to
release an update to play protected aac, or Napster to go files. I'm
not personally a fan of protected or subscription music, but if
there's a market, it would be good to know Slimdevices could cater for
it.

Cheers,

Ben


On Wed, 9 Mar 2005 13:10:26 -0800, Sean Adams <sadams (AT) slimdevices (DOT) com> wrote:
>
> DISCLAIMER: please be very clear that these are not promises that we're
> going do any particular feature at any particular time, or even at all.
> I will comment *to the best of my knowledge* on what the hardware could
> potentially be made to do, but please don't hold me to it if we find
> some reason later why some particular thing can't or won't be done.
>
> Right now Squeezebox2 does 24 bits (s/pdif and DAC) at 44.1 and 48KHz.
>
> A block diagram is in order:
>
> ----------------
> | ip3023 cpu |
> ----------------
> |
> |
> ----------------
> | |----- 11.2896 mhz
> |xc9536xl CPLD |
> ---| |----- 12.2880 mhz
> | | |
> | ----------------
> | | | -------------------
> | | |_________| S/PDIF outputs |
> | | -------------------
> | -------
> | | DAC |
> | -------
> | | -------- ______________
> | +--------| AMP |------| RCA Outputs |
> | | -------- --------------
> | |
> | ---------- --------- --------------
> +----| CMOS |----| AMP |------| Headphone/ |
> | | SWITCH | --------- | geekport |
> | --------- ---------------
> | |
> |------------------------------------|
>
> The really important thing to note here is that there are NONE of the
> usual "hard-wired" digital audio components that you'd expect to see.
> S/PDIF outputs are usually done using a chip like the CS8405. Also,
> often times there will be some "audio codec" chip in the path, which
> handles gain, mixing, resampling and stuff like that. We are doing ALL
> of this stuff in software, which gives us tremendous flexibility to
> tweak, tune, and improve it.
>
> The other important point is that the digital logic which handles the
> s/pdif outputs and the feeding of data to the DAC is all done in a
> Xilinx gate array. If you're not familiar with CPLDs or FPGAs,
> basically the idea is that instead of hard-wiring a bunch of individual
> logic chips together or making a custom integrated circuit, these
> programmable gate arrays allow you to create your own custom chip by
> writing code. The _really_ killer thing about them is that you can
> reprogram them later, which in terms of standard logic chips, is the
> equivalent of making a whole new circuit board in "software". In
> squeezebox2 this Xilinx chip is configured by the CPU, so we have the
> ability to completely "rewire" the digital output path just about any
> way we want, at any time. Hence there are some extremely interesting
> possibilities for future features....
>
> Finally, notice the geekport. Squeezebox1 had a geekport too, but it
> was not really accessible because you had to open the case and solder
> stuff onto the board. In Squeezebox2, the geekport is the headphone
> jack! The headphone jack can be reconfigured for other modes, including
> bidirectional data and IR blasting. These features are not done yet but
> the hardware support is there.
>
> Everything below this line is a ** POSSIBLE MAYBE SOMETIME DOWN THE
> ROAD **.
> --------------------
>
> - The hardware has SEPARATE DATA PATHS for s/pdif and DAC outputs. We
> are not using this capability now (both are fed the same data), but it
> could be used perhaps for some interesting multi-channel applications.
> For example, we could output the encoded digital stream to a surround
> receiver, and also output a 2-channel stereo rendition to the DAC.
>
> - Crsytals can easily be desoldered. The logic is driven directly by
> these two oscillators, so if you want to experiment with unusual
> frequencies or wire up an aftermarket clock source, you can.
>
> - 96Khz should be doable with the xtals we have, maybe 192.
>
> - All the s/pdif data is under our control. We can pretend to be
> AES/EBU, lie about what kind of device we are (DAT player etc), shut
> off the s/pdif in order to tell an amp or receiver that we're not
> active, etc etc.
>
> - There are some vendor-specific/proprietary tricks that some guys are
> doing with s/pdif. In particular, I believe somebody has a receiver +
> s/pdif speaker setup that sends volume commands over the s/pdif. We
> could support things like this - probably they would be trivial to
> reverse-engineer, but we'd prefer to get cooperation.
>
> - The geekport can potentially do some pretty crazy things - high speed
> RS232 for example, auxiliary s/pdif output, house sync (word clock)
> input, maybe even s/pdif INPUT, i2c, dallas 1-wire - damn near anything
> you can do on two wires + ground. The only geekport feature we're
> aiming to finish by ship date is IR blasting. This will allow
> Squeezebox2 to power on your receiver and set it to the right input,
> and later power it off automatically when you're done listening. The IR
> blaster has a variable current driver so it can be set up to drive a
> single LED dimly up to multiple LEDs brightly. It could also deliver
> enough current to drive a small external voltage regular eg for a
> microcontroller which would communicate with the SB2 over dallas
> 1-wire.
>
>
> On Mar 9, 2005, at 11:44 AM, Steinar Bjaerum wrote:
>
> > What PCM formats are the DAC in the SB2 capable of delivering to the
> > analog
> > output?
> > All the way up to 96kHz/24bits?
> >
> > What PCM formats are SB2 capable of passing through to the S/PDIF
> > digital
> > out?
> >
> > I am interested in knowing both the current status and the
> > possibilities
> > with future software upgrades.
> >
> > Steinar
> >
> >
> >