My DSP/DAC Build

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Well...
I was racking my brain last night how I'm gonna split the signal and deal with signal routing, while I can still have lots of processing power and signal flexibility.
And that when it hit me...
Why not just add another DSP and run a pyramid configuration!!!
DSPLayout_zpsa4a725a8.jpg

DSP1 will handle ALL signal Input, Routing and ASRC functions.
DSP2 and3 will only handle signal processing and routing across DSP2- DSP3 for a flexible matrix. At this point I'm might even consider removing DAC's to a separate board, but that's still up in the air and it's highly unlikely as I would want to keep it as a complete package, At a later date I might make a DSP Trio only board for those that might want one that they can use with any DAC they might have in mind
 
Keep going

We're watching with interest

I'm going the way of the dodo LOL :)

The thread had lots of views, so I'm sure there is some interest over this, which is not my main concern.

My take on this is simple...
The DSP's and the DAC's are freebies from Analog as samples which is available to everyone.
Both DSP and DAC chips offer you multiple cconfigurations:
DSP
- ADAU1442
- ADAU1445
- ADAU1446

DAC
- ADAU1966
- ADAU1966A


I think almost everyone can take advantage of this build a nice setup even multi way / multi channel is possible !

Board is going to be a 4 layer with gold plated pads and black silk screen the part and port designators are going to be white lettering. Beside the 1.8V core supply all power sources are going to be off board with separate power feeds the analog and digital sections. The output section on my own unit will be loosely based on the IVY as I have mentioned earlier but in a multi channel configuration as well as simultaneous balanced and single ended outputs.

Some may argue this seems a bit bloated but i will argue it until the bitter end as future proof with unlimited expansion possibilities!

BTW...
DS2 and DSP3 has a unused serial data out that will be pulled to the edge of the board that can later be routed to a Post DSP output which again if you dont want to use the on board DAC's you can route to your own.
 
Respect...!

Hi Adrian,

Wow...Great project!
Loads of potential and flexibility.

May I just add my own wish list...Please?!
I am building a series of active on wall loudspeakers and I am looking for a very high quality digital solution.
One board or split over modular mother / daughter boards with the following features:

(1) Fully balanced DAC with DSP ability ie Crossover and Eq
(2) Ideal if it has switchable or easily configurable mono or stereo option.
(3) Option of Power supplies ie external battery or on board or daughter board.
(4) Well implemented remote digital volume control.
(5) Small physical size...Happy with full surface mount.
(6) Good selection of digital inputs with option of digital outs as well ( I see you have this already...)

I suspect you already have all these bases covered but I just wanted to check!

Thanks for all your time and effort.
Cheers
Derek.
 
Hi Derek,

The whole build is modular...
Power supply, Digital Input, Main Board, Digital Output, Analog Output Section are all broken up on separate boards so the end user can "build" it to their needs.
You can power the board as you wish and used any combination of inputs and outputs as you wish and that's why I'm making it so flexible. I'm trying to squeeze as much stuff as i can on the main board, but then again 3 DSP's and 2 DAC's on a Single 4" x 5.5" board.

Using a Balanced output DAC instead of a Single Ended unit makes life easier for those that want balanced signals plus a few other key points that make it so attractive...
- Its easier to dowmix a balanced signal than it is to take a single ended output and try and turn it into Balanced as amplifying a weak or distorted signal will give you just that.
- Balanced signals are less susceptible to noise than single ended as the driving voltages are higher.

Volume control will be implemented via a local rotary encoder and IR as well as i will have a expansion port for extenders ( remote of choice is going to be the so ever so popular aluminum apple one ).
The ADAU1966 has a separate volume control registers for each output channel!
Between the 2 DAC's that's 32 individual channels that volume can be set as well as master volume control. Also the steps are pretty fine at 0.375db.
Also it has soft mute feature as well
Take a look at the Datasheets I have posted earlier.


The micro-controller will be off board and its really your choice what you want to use.
Myself...
For starters I'm going to use a 5" TFT with touch function over a LCD Shield for now as in its "prototype" stage. Later on I will be making my own board and the SAM3X8E processor will be on the same board as the display and all of the controls will be on this board. The LCD controller I have in mind is a RAiO RA8875
 
Well... another change

Originally the audio output from the DAC was going to be 32x 3 pin XHP plugs.
However, having a friend that is an EE, he suggested a slightly different and "different" route using 3M 1700 Series Flat Twisted Pair Ribbon Cable.
My only concern with this is cross talk, but then again the pins are just as close and un-insulated. Full scale differential output of the ADAU1966 is rated at 3V RMS or 8.5V peak to peak, so I don't think noise is going to be an issue.

Also, I'm still debating the power supply as SMPS or Standard one... maybe both.
Lambda makes a off the shelf regulated unit 5V dc/7A 3.3V dc/10A but its an SMPS.
At the same time, I can use SMPS for the digital section and use a separate dedicated analog supply for the DAC feed and output stage.

Decisions, decisions...
 
Well, today I did some shopping...
5x IR receivers
10x Rotary Encoders ( push function for mute )
100x XH-3P Connector Kits ( Pin Header + Terminal + Housing 3 pin )
100x KF2510-4P Connector Kits ( Pin Header + Terminal + Housing (Right-Angle))
60" Flat Ribbon Cable - 40 conductor ( 20 twisted pairs ) 28Ga
1x TDK Lambda power supply ( 5V 7A, 3.3V 10A )

All that for under $125 :D
Thank you eBay LOL
1x 7" TFT Display with Capacitive touch, 800x480, 64MBit Flash, supports 8080, 6800, 8-bit,16-bit parallel,3-wire,4-wire,I2C, Serial or SPI Interfaces.
 
Well, today I did some shopping...
5x IR receivers
10x Rotary Encoders ( push function for mute )
100x XH-3P Connector Kits ( Pin Header + Terminal + Housing 3 pin )
100x KF2510-4P Connector Kits ( Pin Header + Terminal + Housing (Right-Angle))
60" Flat Ribbon Cable - 40 conductor ( 20 twisted pairs ) 28Ga
1x TDK Lambda power supply ( 5V 7A, 3.3V 10A )
1x 7" TFT Display with Capacitive touch, 800x480, 64MBit Flash, supports 8080, 6800, 8-bit,16-bit parallel,3-wire,4-wire,I2C, Serial or SPI Interfaces.

All that for under $125 :D
Thank you eBay LOL

Fixed it...
 
I started some of the code last night...
The it will be based on the JOS and Hifiduino ported over to the DUE.

I have to say im a bit rusty at coding.
When i compiled i get A LOT of errors but slowly working my way down.
I'm in the process of generating the filed for the DSP and DAC controls in Sigma Studio.
 
Quick schematic upgrade :

FINALDSP-DAC_zps094c2443.jpg


As mentioned earlier...

DSP1 will handle ASRC and signal routing to the other 2 DSP's
As you can see all DSP's have 4 data lines tied to each other for easy signal routing to each DAC. This way the DSP1 can generate clocks for all subsequent chips and and only 1 crystal is required this way.

Each data line is configured TDM4 ( 4x TDM4 nets me 16 channels which is what I'm for each DAC ). Input to DAC1 is setup with 4 input data lines with their corresponding MCKL and LRCLK's and each input is set as Flexible TDM Mode.

The extra inputs are just there just in case i would like to add either a CobraNet processor, USB audio or just another DIX9211 to handle those extra inputs and add the on as a second channel.

With I2C, I can easily set up a input switch and use I2C to switch between the 2 chips.

Just an example:
Chip1 - Input 1 - Coax SPDIF
Chip1 - Input 2 - Coax SPDIF
Chip1 - Input 3 - TOSLINK
Chip1 - Input 4 - TOSLINK
Chip1 - Input 5 - USB Audio
Chip2 - Input 6 - AES/EBU
Chip2 - Input 7 - AES/EBU
Chip2 - Input 8 - TOSLINK
Chip2 - Input 9 - TOSLINK
Chip2 - Input 10 - CobraNet

This way switching is controlled by MCU and it's all in the code while the physical layer is not switched, DSP1 will switch between the 4 inputs as directed by code written to the MCU.
 
I think I may have stumbled across my OP Amp of choice for the output section...
LME49724 seems to fit the bill quite nicely!

Some of its "highlights" :
- ultra-low distortion
- low noise
- high slew rate
- fully-differential
- THD+N (0.00003%)
- high slew rate of ±18V/μs
- output current capability of ±80mA
- Capable of driving 600Ω loads to 52VP-P while operating on a ±15V
- CMRR (102dB)
- PSRR (125dB)
- VOS (0.2mV)

Also has a wide supply range of ±2.5V to ±18V which can easily be implemented.
This alone should reduce the parts count for the "buffer" section.

I'm still want more feedback from you guys that like rolling opamps ( which in this case might get expensive LOL )
 
Interesting and ambitious project, looks like something I was investing in, left it for later this year, I still need to make up my mind do I go SHARC DSP or SIGMA ADAU1452, cost concerns around the SHARC JTAG emulator hardware is very expensive including the Visual DSP++ IDE, looking for a clone though.

Anyway..

Why did you not go with the ADAU1452 it was revealed this year CES as the most powerful DSP core of the sigma series hitting 300MHZ with powerful multiplexing matrix for multichannel support.
https://www.youtube.com/watch?v=tBn7lo7RdkM

good literature and performance benchmarks around this.
SigmaDSP: Analog Devices Upgrades the Product Line Significantly | www.bdti.com


Im sure the guys at miniDSP are rubbing their chins with ideas around this dsp core.
 
Last edited:
Hi Reactance,

The ADAU1442 and ADAU1445 family is basically the same and interchangeable...

Analog Devices said:
The ADAU1442, ADAU1445, and ADAU1446 differ only in ASRC functionality and packaging. The ADAU1442/ADAU1445 contain 16 channels of ASRCs and are packaged in TQFP packages, whereas the ADAU1446 contains no ASRCs and is packaged in an LQFP. The ADAU1442 can handle nine clock domains, the ADAU1445 can handle three clock domains, and the ADAU1446 can handle one clock domain.

As far as I'm concerned...
I'm aiming this at the DIY market as a DIY product.
Also I'm not looking to get rich but wouldn't mind some input from perspective buyers.
The reason behind the "MyDSP" name is that it can be built by the end user to suit their needs and to suit their setup.
the use of an Arduino based MCU makes programing simple and the code for the DSP can be generated inside Sigma Studio ( which is free ) to match your setup! Once done you can upload your changes to the MCU and your set.

Here's an example on AD's EE archives... its fairly straight forward. I worked it out in a way so you won't need to bother with a I2C/SPI dongle every time you want to change your setup but instead add a EEPROM and have 4 presets. this way you can change your setup on the fly or update register info on the fly.

Having 3 DSP's on board is a bit overkill, but having them run dual precision ( 56 Bit Mode ) doesn't run out of steam while trying to perform ASRC, and other functions. In my book its always better to have more and not use it than wish you had more when you need it. Here's where the idea of "future proof" idea comes in, as in our age and time technology really grows at an exponential rate and today "state of art" is tomorrow's deafcto standard.

If one can meet these expectations you have a product that isn't headed from the production line into the trash can.
Here's my thread in AD's EE forum:
HERE
 
Last edited:
Today 2 more boxes of samples showed up...
1 from Cirrus Logic CS181022-CQZ and Cypress CY7C68014A-100AXC

As you can guess the Cirrus chip is for CobraNet and the Cypress chip is going to be a debug tool based on the Analog Devices USBi Tool giving me access to I2C and SPI over USB which is great for debugging code when you can tap into the bus and overlook communications.

Nonetheless it's being drip fed to you since everything is laid out for you and its a great tool to have regardless on what project your working on that has serial communication at the heart of it.
 
Hi Reactance,

The ADAU1442 and ADAU1445 family is basically the same and interchangeable...



As far as I'm concerned...
I'm aiming this at the DIY market as a DIY product.
Also I'm not looking to get rich but wouldn't mind some input from perspective buyers.
The reason behind the "MyDSP" name is that it can be built by the end user to suit their needs and to suit their setup.
the use of an Arduino based MCU makes programing simple and the code for the DSP can be generated inside Sigma Studio ( which is free ) to match your setup! Once done you can upload your changes to the MCU and your set.

Here's an example on AD's EE archives... its fairly straight forward. I worked it out in a way so you won't need to bother with a I2C/SPI dongle every time you want to change your setup but instead add a EEPROM and have 4 presets. this way you can change your setup on the fly or update register info on the fly.

Having 3 DSP's on board is a bit overkill, but having them run dual precision ( 56 Bit Mode ) doesn't run out of steam while trying to perform ASRC, and other functions. In my book its always better to have more and not use it than wish you had more when you need it. Here's where the idea of "future proof" idea comes in, as in our age and time technology really grows at an exponential rate and today "state of art" is tomorrow's deafcto standard.

If one can meet these expectations you have a product that isn't headed from the production line into the trash can.
Here's my thread in AD's EE forum:
HERE

Sorry Reactance, it was a long day and I thought you were talking about the ADAU1442.

Someone in the EEZone over at Analog's forum pointed it out.
After looking into it further I would still have to say no go for now as on a hobbyist level without any hot air station it would be hard to get the components on board with an iron. TQFP's and SMD is fairly easy with a bit of practice even with small components ( including 0603 ). The other reason is the number of I/O's.
Also keeping in mind that one way or another your running serial processing and the "workload" is split across 2 DSP's for each DAC!
Keep in mind also that the DSP core runs at 172MHz and is capable of churning out almost 3600 instructions per sample at 48KHz...
Plenty of muscle for any crazy setup you can think of, even when running double precision mode ( 56 Bit ).

With 2 processors running in series, 56 Bit Mode would still net you around the same instruction or even more as the you have to take into account that there multiple cores doing the works and your not constrained to a single DSP trying to crunch all that data alone with a single core. Think of it as a symmetric multi core processing. The data itself enters the the first DSP, and goes through the ASRC and then into the Routing Matrix.
Data laving DSP1 is 192Khz / 24 Bit DSP2/DSP3 are your main filter DSP's.

In my setup DSP1 will also have a soft limiter added. The EQ section and Crossovers are for DSP2/DSP3.
 
2DACLayout_zps30576a5b.jpg


DSPdecouplingandoscilator_zpsa86b909f.jpg


PS: Added an option for 2 EEPROMS on board ties into the I2C bus ( based on Atmel AT24 series EEPROMS ) addressed and ready to roll including the self boot header. This way you can boot from a micro controller or from EEPROM by changing a jumper around. GPIO's and ADC's Available from DSP1. Also as you can see there is 2 I2C headers and might add a 3rd that way everything can be daisy chained ( spare port for in circuit programmer )

2 sided it is...
I can easily route all connections manually on a 2 layer board!
As you can see I had to stick with the 0603 as it gets pretty tight around the pins and local decoupling of the supplies is needed. Larger polarized caps are 0806.
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.