Open Source DSP XOs

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I'm looking to implement an active xover for a multi-channel (home theatre) system, to replace a stack of noisy DCXs. Has anyone looked at using the ADS1278 as an input for such processing? It seems simpler than stacking up a whole pile of stereo ADCs.

The ADS family of converters are designed to be used for data acquisition, not for audio. PCM4204 is TI's best multi-channel audio ADC, but only a 4-channel, so you will need two of those for 8-channel input.
 
twest: OK, so it can be interfaced to DSPs with SGPIO systems. Not a problem.

mhelin: I see that in the datasheet, but it seems to be more of a market-segmentation thing and maybe an artefact of them assuming no one wants an 8-in audio ADC. Is there anything in the design or performance of the ADC that makes it unsuitable for audio in any particular way?
 
twest: OK, so it can be interfaced to DSPs with SGPIO systems. Not a problem.

mhelin: I see that in the datasheet, but it seems to be more of a market-segmentation thing and maybe an artefact of them assuming no one wants an 8-in audio ADC. Is there anything in the design or performance of the ADC that makes it unsuitable for audio in any particular way?

Might be, for an example there might not be that well implemented antialiasing filter and no DC filter. Group delay might be bigger than with audio ADC. Biggest difference is obviously the interface (multiple I2S or TDM multichannel for audio parts is quite a standard). If you have to use two different clock domains one for ADCs and another for DACs the it makes your system more expensive.

However, it may be possible that some part can be used for sampling audio signal without any issues. You have to compare them before selecting one anyway.
 
Is there anything in the design or performance of the ADC that makes it unsuitable for audio in any particular way?

In some aspects the 'not-designed-for-audio' part is better specified. Note the conspicuous absence of FFTs at -0.5dBfs stimulus signal level in the PCM4204 DS. Too embarrassing to reveal perhaps? On the ADS, the spreading of the 1kHz stimulus tone is very evident, an effect akin to jitter. Better the devil you know I reckon. For 48kHz and below the high resolution mode of the ADS looks to have the better numbers.
 
Well, it certainly records DC and accurately (specified as having a low offset drift), but I don't see that as an inherent failing - it's up to me to put in a blocking cap or do the right thing in my DSP. The AA filter is described in the datasheet and the headline numbers look OK to me - 0.005dB passband ripple from DC to 0.45*Fs with linear phase (it's FIR of course). The datasheet headline claims that it combines the DC accuracy of an "industrial" ADC with the broad usable bandwidth of an audio ADC.

Output supports TDM but not I2S and while it's not very flexible in its clocking (MCLK=256*Fs), that ratio is compatible with every DAC I've looked at.

So I think you'd be pretty constrained in a design using one of these, but the numbers look to me like they add up OK. THD (-108dB) isn't as good as the very best 24bit devices, it's middle of the pack.

The only thing that concerns me so far is the ringing seen in the step response (Figure 66) due to the AA filter, and I think it's because it's got a narrow transition band seemingly designed for use at 44.1kHz. Do "audio" ADCs designed for higher sample rates have wider transition bands that can avoid this behaviour?

While I'd theoretically like to compare multiple devices, I honestly do not have the time, money or test equipment to do that. If I build my own xover, I'll need to do it just once. Using this eval board looks to me like a cheap, low-risk (someone else has done the board design) input solution that saves me a whole bunch of design+test effort... unless there's a show-stopper I've not spotted.

Edit since apparently I type slow: abraxalito: do you mean the spreading in the main peak of Figure 1? I guess you're right that Figure 5 (high precision mode, lower Fs) is narrower.
 
Last edited:
I was eyeballing the difference in the width of the skirts of the peak between -20dBfs and -0.5dBfs. This effect is most likely present in at least the same degree and perhaps even greater on the PCM4204. Corroborating this with the THD+N and THD overlaid plots I'd say that the modulator is getting close to instability as the broadband noise level rises significantly above -10dBfs or so. The PCM4204 almost certainly won't perform any better.

The ADS would be my choice over the PCM4204 if I were to design an S-D ADC (which is purely hypothetical as I can't see myself not choosing an SAR ADC for my own projects). The ringing you note is indicative of a linear phase filter as pre-ringing is evident. The FR plots show all the internal digital filters to be half-band ones (-6dB at Nyquist) which is very common (almost universal, cost/complexity reasons) but highly undesirable for audio as its a violation of the sampling theorem to permit aliasing. No AAF that I've seen on an ADC has zero ringing - it would call for a gaussian response which wouldn't be steep enough to use without a very high degree of oversampling.
 
Last edited:
Seems like you missed the eight channel ADC suggestion, however, as the part in question addresses the concerns you've raised with the ADS1278.

Thanks and you're right, I did miss the CS5368. It looks like a reasonable option from the headline numbers but I don't see any FFT outputs. The LPF is better though, I agree.

Incredibly cheap part ($25?) but the eval board is too expensive for me ($500). Looks like I'll have to brush up on my mixed-signal PCB layout skills as it's been quite a long time since I did any of that.
 
I have made simple DLMS using STM32F4 discovery board (overclocked 200MHz) + 2 uda1830 codec module (ebay part no 251043491316)
specs :
1. 2 analog input.
2. 4 analog output
3. digital processing for each output-
- Crossover filter (IIR)
- Parametric EQ 6 channel
- Audio Compressor
- Audio delay
- Level control
4. Code written on full C language
I'm not really satisfied with the result, the uProcessor only able to handle 2 output channel, may be caused by code not well written.
so sorry for my bad English.
 
I might be a bit late cottoning on here but Infineon now has a fairly comprehensive list up, with pricing of both its M0 and M4 offerings. The M0s (32MHz) start at 57 eurocents (1k) and the M4s, 2.7 euro. The 80MHz M4s come with some rather cool hires PWM generators (150pS nominal resolution) - they might be a great basis for a PWM DAC without need of noise shaping since at 44k1 that's equivalent to around 17bits. They all support what looks to be 4 channels of I2S.

32-bit Industrial Microcontroller based on ARM® Cortex?-M - Infineon Technologies
 
Mouser has the latest ST marketing/dev boards in stock (Nucleo) and the one featuring the STM32F411 looks to me to be a slam-dunk for digital audio XOs with its 5 I2S ports (2 of which are full duplex). I haven't checked yet if all these interfaces are actually pinned-out on the 64pin package fitted to this board but I'm about to....

100MHz operating speed at 13.2mA CPU current - what's not to love?

NUCLEO-F411RE STMicroelectronics | Mouser
 
Having just acquired the cheapest yet Cortex M0 (STM32F030) to play with I went in search of an IDE which supports this relatively new chip. Coocox doesn't yet list it but Keil does. It turned out their 32k limit full IDE (around 300Mb) is available for free download here : https://www.keil.com/demo/eval/arm.htm

Strange that Keil doesn't support STM32F411 yet, though support F429 on the STM32F429I DISCOVERY board (one with the 2.4" touch screen LCD).
 
STM32F411 chips seem to be no-existing, you can get them only with NUCLEO kits. However, also the SMT32F427 (available in LQFP 100 in smallest format) would be another good choice with 2x I2S + SAI interfaces, and it is readily available at least on Farnell (2333369).

For DIY kit you could use the bare MCUCARD PCB from MIKROE - "EasyMx PRO™ v7 for STM32 Empty MCUcard HP 100pin TQFP" (that should support STM32F4 also), MikroElektronika - EasyMx PRO? v7 for STM32 ARM® - MCU Cards supports STM32 microcontrollers

Datasheet for the PCB: http://www.mikroe.com/downloads/get/1844/empty_mcu_stm32_hp_schematics.pdf
 
Last edited:
The Wolfson Audio Card though originally designed for Rasperry Pi actually contains multichannel CODEC which could be easily interfaced with Nucleo or STM32F429DISCOVERY boards (using either I2S or TDM interfaces). Actually the Wolfson codec support also multichannel I2S modes where like four 16-bit channels can be wrapped inside single stereo I2S frame. Don't know if STM Cortex chips support 32-bit mode though.

WOLFSON AUDIO CARD - WOLFSON MICROELECTRONICS - AUDIO CARD, FOR USE WITH RASPBERRY | CPC

In addition to onboard analog converters (ADC 96 dB SNR, DAC SNR is >110 dB) there is a WM8804 S/PDIF transceiver. The analog outputs are line, headphone and speaker outputs (with 2x2W Class-D amplifier, might be usable with some high efficiency tweeters or compression drivers maybe). There is also a DSP with some selfing and parameter EQ's and HPF and LPH filters).

Btw. Cirrus has just acquired Wolfson Microelectronics.
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.