ARM/DSP based open source Hi-Fi

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi,

I've been working hard creating a quad SDPIF output cape for the BeagleBone for use with my Meridian DSP speakers. That should be available by the end of Feb after I have sorted out the software side of things.

I now have bigger aspirations! So I am about to embark upon a fairly huge project and would like the input of my fellow DIY'ers.

I want to design a open source AV computer based on the Texas Instruments Davinci series of DSPs, in particular the DM8148.

The AV computer would have

1). HD video expansion slots for HD input and output (HDMI, SDI etc)
2). Five audio expansion slots (access to 4 or 5 stereo i2s channels).
3). PCIe x4 slot (x1 electrical for DVB tuners etc).
4). USB, SATA, LAN and Firewire

The broader community could design and build enclosures and expansion boards for use in the computer such as pre/power amps, DACs, inputs, outputs, crossovers etc.

Something along the lines of...


An externally hosted image should be here but it was not working when we last tested it.



I welcome your thoughts and ideas.

David.
 
The six McASP units on the DM8148 are very flexible. Each unit has its own transmit and receive clock that can be independently programed. You can synchronize with a system wide internal master clock or high quality external and divided down.

For example McASP0 could use the internal master clock with McASP1-5 configured as slave and sharing the clock. Or alternatively a high quality external clock that can be divided down depending on the transmit/receive requirements.

Whether or not TI have the software finished to do all this is another matter entirely. Community users would have to submit patches to get McASP working, I think.
 
Last edited:
Not wishing to throw any cold water in your direction but one of the greatest challenges to getting a really clean hi-end sound is freedom from RF noise - your proposed computer does seem to have the potential to be almost as noisy as a current Intel-based PC. Which might be fine if its purely a digital device - so do you intend to have analog outputs?
 
No need for the cold water, it's raining here! RF is our nightmare but somewhere along the line you have to compromise on noise. The audio is digital up to the expansion connectors. The onus would be on the expansion board designers to keep their noise down if they chose to go analogue in any way.

We would have to come up with the expansion specification with as clean power as we can provide (within reason). This is something for PCB designers to lose sleep over. :)
 
Expansion board makers could chose to use the clock generated by the main board PLL or if they wish they can create a master clock themselves and send that clock to the McASP module. For example if you wanted 8-ch ADC inputs you could have a PCM4220 with a high quality master clock and slave 3 more PCM4220 and also slave the McASP. The same could be done for DAC outputs, I think. There are definitely some options in terms of cystal use as opposed to the on chip PLL. I will check a few things with a TI technician.
 
Expansion board makers could chose to use the clock generated by the main board PLL or if they wish they can create a master clock themselves and send that clock to the McASP module. For example if you wanted 8-ch ADC inputs you could have a PCM4220 with a high quality master clock and slave 3 more PCM4220 and also slave the McASP. The same could be done for DAC outputs, I think. There are definitely some options in terms of cystal use as opposed to the on chip PLL. I will check a few things with a TI technician.

Sounds good
 
Layout would be fun, especially as its an 0.8mm pitch BGA, so it will require a few layers. Nearest I have done is a VC5510 feading 8 codecs (TLV320AIC33) with FPGA controller, 3 gnd/pwr pairs for all core voltages etc, 4 sig/gnd pairs for most signals, and top and bottom layers (had other bits and pieces on board as well). On reflection it would have been cheaper and better electronicly as a HDI PCB layout.
Another interesting aspect will be the mechanical aspect of the daughter boards and type of connectors used. Will certanly be an interesting design.
 
Layout would be fun, especially as its an 0.8mm pitch BGA, so it will require a few layers. Nearest I have done is a VC5510 feading 8 codecs (TLV320AIC33) with FPGA controller, 3 gnd/pwr pairs for all core voltages etc, 4 sig/gnd pairs for most signals, and top and bottom layers (had other bits and pieces on board as well). On reflection it would have been cheaper and better electronicly as a HDI PCB layout.
Another interesting aspect will be the mechanical aspect of the daughter boards and type of connectors used. Will certanly be an interesting design.

I was considering reversed PCIe x1 slots for audio expansion and reversed x4 slots for the video/audio expansion. Each slot would carry clocks, data and power and various buses.
 
Last edited:
I believe McASP can be used like this but will be checking it with TI.

image.png
 
Last edited:
I'm off sick at the moment so dont have access to my full data bases, but just recently we have done a lot of work on clocks (especialy the JTAG clock (25Mhz so similar frequency) that gets distributed to quite a few devices, 5+) using Cadstar SIV (signal integrity verify), the results confirmed with actual boards. We used a bespoke clock driver IC's, CDCV304PWR and CDC2351Q with both a series source resistor and AC parallel termination at the reciever (resitor with a small value cap). The values where chosen using the simulation software to match the actual physical layout. This is quite time consuming but we now simulate ALL cloaks and critical nets as its quicker less error prone than guesswork. I also have some notes from our boundry scan equipement providers on clock distribution, again I wont be able to get to them for a week.
The device you have chosen again should work, but on a motherboard based design such as this I would look at simulating the clock from the source, through the motherboard traces, through any chosen connector system to the actual daughter board. In Cadstar SIV you can model connectors and interconnects as well as the on board traces. As both the clock and other signals to the daughterboards are going to be critical as part of the design spec, providing a basic daughterboard design with a bus interface would be benefitial, as any daughterboards added will have the same front end. Again similar to other bus systems, giving the advantage of knowing the effect of added daugter boards on the systems operation, and making it easier for others to create their own addon boards.
The other problem with a motherboard based system is also the mechanical support of the the daughterboards. Using a 19" rack system would be overkill and rather expensive for DIY, but got back to thinking about PCi and small form factor PC cases, these are quite cheap thesedays and all the dimensions are well specified. Again the only caveat is that the PCB's tend to be a bit dearer as you have to have the PCIe fingers hard gold plated. A look through SCAN and CPC, RS at cases to find a cost effective and easily implemented solution for home construction, and a look through connectors like Samtec and Molex is a good idea. I have been looking at quite a few connection solutions recently (fed up off the things) as we do a similar thing, but our first choice of connector failed ballistic shock tests, not a problem for home use unless you have ballistic kids running round. Some of my favorites for good signal integrity are the ones with an integral solid ground. Again for home design through hole would be easier and more rugged, though we are using surface mount down to 0.5mm pitch in harsh situations, but soldering has to be spot on as this is the only mechanical fixing for these types of connector, and the boards do require other mechaical support.
Sorry rambling on, just thinking as I write:D
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.