Author Topic: Where to find a 4channel Audio ADC  (Read 2428 times)

0 Members and 1 Guest are viewing this topic.

Offline Electric OceanTopic starter

  • Newbie
  • Posts: 1
  • Country: de
Where to find a 4channel Audio ADC
« on: September 02, 2022, 08:11:26 am »
Heya,
I'm new to this forum, so hello y'all!

Recently I started to work on a project where I want to record eight audio channels simultaneously (4 stereo channels) with a teensy 4.1. Since the Teensy has 3 I2C Ports, I'm searching for a ADC (analogue-digital-coverter) that is able to support 44.1khz, 16bit, on four channels with an I2C connection. But so far I haven't found an adc that meets all my requirements.
Does anyone know where I can find such an adc?

Summary of my requirements:
- ADC
- 44.1kHz
- 16bit
- 4 channels
- I2C port

Best regards,
Electric Ocean
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6201
  • Country: ro
Re: Where to find a 4channel Audio ADC
« Reply #1 on: September 02, 2022, 08:20:57 am »
Welcome.  You may want to consider looking for audio CODEC, too, not only for ADC.  For example, first search result for 4 channels CODEC returned this one:  https://www.ti.com/lit/ds/symlink/tlv320aic34.pdf, other CODEC chips might be better, or even have 8 or more channels on a single chip.  Also, a CODEC has DAC channels, too, volume control, audio routing (analog switches to select between multiple audio sources), etc.

Usually the data stream in a CODEC is I2S, which is the proper way to transfer digital audio data.
« Last Edit: September 02, 2022, 08:28:20 am by RoGeorge »
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5021
  • Country: ro
  • .
Re: Where to find a 4channel Audio ADC
« Reply #2 on: September 02, 2022, 08:39:42 am »
What's your budget?

Like RoGeorge says, look at CODECS ... for example see Digikey's selection here (put filter to show only results with 4 ADC or more) : https://www.digikey.com/short/09hrn9tn

For example AK4619VN is there at $4.3 each and it's 8 kHz to 192 kHz 24 bit 4 ch adc , 4 ch dac with i2c and i2s support : https://www.akm.com/content/dam/documents/products/audio/audio-codec/ak4619vn/ak4619vn-en-datasheet.pdf

there's more expensive things like for example PCM3168A  with 6 adc, 8 dac but they're 11$ on digikey : https://www.ti.com/lit/ds/symlink/pcm3168a.pdf
 

Offline hans

  • Super Contributor
  • ***
  • Posts: 1638
  • Country: nl
Re: Where to find a 4channel Audio ADC
« Reply #3 on: September 02, 2022, 09:45:54 am »
I2C or I2S?

A codec may have I2C to configure some registers like gain etc. The audio stream will typically go often over I2S, which is a very different protocol.
Some micro's may combine I2S with SPI peripherals, as they look similar (a master clock, serial bit clock, serial data, and a left-right channel select which is often mapped to some dedicated I2S master clock output pin, and SPI's  SCK, MOSI, and CS, respectively)

However some ADCs or DACs don't have I2C at all, e.g. no gain control, mute control, left/right swap (maybe these last 2 via input pins), etc.

I2C bus itself is not fast enough to transfer any representative audio formats. Even if you would be happy with 8kHz @ 16-bit stereo, that's 256kbit/s, which is close to maxing out a typical 400kbit/s I2C bus.
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14462
  • Country: fr
Re: Where to find a 4channel Audio ADC
« Reply #4 on: September 02, 2022, 07:13:17 pm »
The OP probably meant I2S. I2C would just be for controlling some ADC parameters.

I have a hard time figuring out how they could not find a 4-channel audio ADC. They are literally everywhere. Unless maybe they strictly looked for a 16-bit ADC and nothing else. Yeah, these days 16-bit audio ADCs are becoming less common. Just look for a 24-bit, entry-level one. You don't need to use the 8 extra bits if you don't want to, just discard them.

For instance: https://www.ti.com/product/TLV320ADC3140
Yeah, it appears way beyond your requirements in terms of specs, but it's cheap, has very good performance, and can absolutely be used at 44.1 kHz, 16-bit (configurable through the control interface, which is I2C btw, in case the OP really meant an *I2C* control interface, but it of course supports I2S for the audio streaming.)
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5021
  • Country: ro
  • .
Re: Where to find a 4channel Audio ADC
« Reply #5 on: September 02, 2022, 09:00:16 pm »
A bit sideways, but depending on requirements another option could probably  using 4  VLSI VS1063  chips, which have built in hardware mp3 and ogg vorbis encoders.

They're expensive though, at 22$ each (7$ each if you buy 500) : https://www.tme.eu/en/details/vs1063a-l/drivers-integrated-circuits/vlsi/

If you configure them to hardware encode at 128-160 kbps, you could probably use one or two hardware uart or i2c  to download chunks of encoded audio and dump to storage.
 

Offline Simon

  • Global Moderator
  • *****
  • Posts: 17814
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Where to find a 4channel Audio ADC
« Reply #6 on: September 10, 2022, 05:45:15 pm »
I'm no analogue expert, my small searches for external ADC's turned up 10 bit ADC's that cost more than a full blown microcontroller. is a microcontroller out of the question? For example the SAMC has 2 ADC's capable of 1MS/s, so that is 250kS/s across 4 channels each in 12 bit, this is not fast enough to do the required oversampling for 16 bit which it can do in hardware, so more than one micro?

16 bit will be costly and still those last few bits will be unreliable so you will want to average some samples anyway.
 

Offline peter-h

  • Super Contributor
  • ***
  • Posts: 3694
  • Country: gb
  • Doing electronics since the 1960s...
Re: Where to find a 4channel Audio ADC
« Reply #7 on: September 11, 2022, 07:03:29 am »
ADC inside micros tend to be incredibly noisy, and you can't do much about it because there is a CPU right next to it :)

A 10 bit ADC is probably 8 bits and 2 bits of noise.

It is ok if you can take 100 readings, add them up and divide by 10. That gets you ~ 3 bits of noise improvement - assuming the noise is random. A lot of the time one can do that. But I would think probably not with audio.

Z80 Z180 Z280 Z8 S8 8031 8051 H8/300 H8/500 80x86 90S1200 32F417
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: Where to find a 4channel Audio ADC
« Reply #8 on: September 11, 2022, 07:58:04 am »
I'm no analogue expert, my small searches for external ADC's turned up 10 bit ADC's that cost more than a full blown microcontroller. is a microcontroller out of the question? For example the SAMC has 2 ADC's capable of 1MS/s, so that is 250kS/s across 4 channels each in 12 bit, this is not fast enough to do the required oversampling for 16 bit which it can do in hardware, so more than one micro?

16 bit will be costly and still those last few bits will be unreliable so you will want to average some samples anyway.

audio codecs are reeeeeeeally cheap, compared to a regular ADC. but they are "audio", i.e.: crap DC performance and just enough bandwidth for audio
 

Offline Simon

  • Global Moderator
  • *****
  • Posts: 17814
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Where to find a 4channel Audio ADC
« Reply #9 on: September 11, 2022, 08:01:05 am »
Yes MCU ADC's will have noise from the digital stuff, but as for "audio" uh, 44 kHz per channel and whatever resolution you want with minimum noise, what is the difference for any other ADC?
 

Offline peter-h

  • Super Contributor
  • ***
  • Posts: 3694
  • Country: gb
  • Doing electronics since the 1960s...
Re: Where to find a 4channel Audio ADC
« Reply #10 on: September 11, 2022, 02:41:28 pm »
Well, the 32F417 "12 bit" ADC will convert in something like 1us if fed from a low-Z source, so for 50kHz sampling you could take 20 samples and average them. You could configure a DMA+timer to shove the values into a circular buffer with no software involved other than to add up the buffer when you want a reading.

I have done a vast amount of hifi design, before valves, gold plated phono leads and gold plated mains plugs caused the bottom to fall out of the market - because the CD with its 16 bit linear sampling objectively utterly destroyed the quest for fidelity. I used to build 2x400W or 1x800W power amps with 0.01% THD at max power (10x2N5239 output stages, LM318 on input)). And pre-amps with passive RIAA equalisation (MAT100 input stage) and noise so low you had to stick your ear inside the cone of a speaker with the 400W amp wired to it, volume on max. And I reckon nobody could tell the difference, in a blind experiment, between you doing the above, and using a fancy audio ADC :)
Z80 Z180 Z280 Z8 S8 8031 8051 H8/300 H8/500 80x86 90S1200 32F417
 

Offline Simon

  • Global Moderator
  • *****
  • Posts: 17814
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Where to find a 4channel Audio ADC
« Reply #11 on: September 11, 2022, 04:47:42 pm »
How accurate is the human ear in the first place?
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Where to find a 4channel Audio ADC
« Reply #12 on: September 11, 2022, 09:02:08 pm »
I second the suggestion to use an audio coded. But I doubt the I2S interface is useful; this typically is only stereo. What is needed is a DSP-style serial data transfer interface. On some microcontrollers the SPI interface supports a continous clocked mode with some form of framing. On the codec side you can simply daisy chain the codecs. Many codecs support daisy chaining. The only limit is the maximum clock rate of the SPI peripheral.

Forget about using I2C. Way too slow for this purpose.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6253
  • Country: fi
    • My home page and email address
Re: Where to find a 4channel Audio ADC
« Reply #13 on: September 12, 2022, 02:38:36 am »
Actual analog audio electronics stuff is way outside my experience, but as I've played with various Teensies quite a bit, and lurk and occasionally participate at the PJRC forums, here is my understanding about the issue, with hopefully useful links and references.

You can use one or two CS42448 codecs (use the automotive -DQZ versions, as the chips tend to get a bit hot; they're available at e.g. Mouser for under 17€ apiece) with Teensy 4.1 using I2S in TDM mode (i.e. SAI1 and SAI2, in the i.MX RT1062 documentation).  Each CS42448 chip provides three stereo inputs and four stereo outputs (6ch in, 8ch out) at 16 bits at 44.1kHz sample rate (per channel) or better, so with two you should be able to get 12ch input (6 stereo inputs) and 16ch output (8 stereo outputs) simultaneously using Teensy Audio Library (which supports TDM).  Since Teensy USB is High Speed/480Mbit/s, USB bandwidth is not a problem, either: a single 32-bit 96kHz audio channel is ~ 3 MBit/s, so ~ 30 channels is less than 100 Mbit/s, which Teensy 4.x can do even with USB Serial, so no problem with USB Audio (using isochronous transfers).  USB Audio also means that if correctly configured on the Teensy end, the built-in USB audio drivers are used in your OS; it is a separate USB type in Teensyduino.

Paul Stoffregen (author of Teensies) created an example board for Teensy 3.5/3.6 in 2017, using a single I2S.  He also has a Hackaday.io project for dual interleaved CS42448.  You do not need to interleave the two CS42448's on Teensy 4.1, though, because it has three I2S buses, two of which can be used for TDM.

Essentially, on each CS42448, you connect MCLK to Teensy MCLKn (pin 23 or 33); ADC_SCLK and DAC_SCLK to Teensy BCLKn (pin 21 or 4); ADC_LRCK and DAC_LRCK to Teensy LRCLKn (pin 20 or 3); DAC_SDIN1 to Teensy OUT1A/OUT2 (pin 7 or 2); and ADC_SDOUT1 to Teensy INn (pin 8 or 5).  If you set the I2C address bits different on each CS42448, you can connect both to the same I2C port (SCL and SDA on pins 19,18 or 16,17 or 24,25).  Note that in this configuration, Teensy does generate both sets of clocks (deriving them from the same master clock), so they should not drift; but they're essentially completely separate I2S devices.

(For exact sync, you could set the first I2S as asynchronous (generating the clocks), and the second I2S as asynchronous (using the clocks), connecting the MCLK, SCLK/BCLK, and LRCLK together, ensuring SAI2 uses the clocks generated by SAI1; and both CS42448s use the exact same clocks.  But note that this is dangerous, because a software misconfiguration or even configuring SAI1/SAI2 in the wrong order, may cause Teensy to drive the two connected pins to different voltages at the same time, essentially shorting 3.3V to GND, which will burn one or both of those Teensy pins.)

Note that the above boards do not include any kind of analog filtering or output amplification. The Cirrus Logic CS42448 datasheet (PDF) section 7.1 suggests analog input filters, and 7.2 output filters.  See figures 2 and 3 for the safe analog output region; without any amplification, the load resistance must be at least 3 kOhm.

(It is also possible to isolate the CS42448 chips, so that they and the analog filters operate with ground not tied to the Teensy or host computer ground, which helps avoid ground loops (but not between the different audio grounds, i.e. between the inputs and/or outputs).  I don't know how useful it would be, but it might make it easier to get a better signal-to-noise ratio and audio frontend circuits, or something like that.)
« Last Edit: September 12, 2022, 02:40:44 am by Nominal Animal »
 

Offline legrady

  • Newbie
  • Posts: 8
  • Country: ca
Re: Where to find a 4channel Audio ADC
« Reply #14 on: September 22, 2022, 07:44:04 pm »
$532.76 Canadian a piece at Mouser, except they, like everyone else, have zero units in stock, so says Octopart.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6253
  • Country: fi
    • My home page and email address
Re: Where to find a 4channel Audio ADC
« Reply #15 on: September 23, 2022, 02:14:05 am »
$532.76 Canadian a piece at Mouser, except they, like everyone else, have zero units in stock, so says Octopart.
Eh?  Mouser.fi says CS42448-DQZ under 17€ in singles in LQFP-64 package with 874 shipping today, as of 2022-09-23 02:11:00 UTC.

(This is the -40° to +105°C variant, which you want, because the chip runs hot.  Mouser says they have 84 in stock of the -10°C to +70°C CS42448-CQZ variant for under 14€ in singles, but I would not use that unless you intend to put a heatsink on it and forced airflow.)
 

Offline analityk

  • Regular Contributor
  • *
  • Posts: 73
  • Country: pl
Re: Where to find a 4channel Audio ADC
« Reply #16 on: October 16, 2022, 10:47:08 am »
Atmel and some other manufacturers put in uCs something like ssc - serial synchronous controller. With that you can build PCM time slot functionality and you can connect few codes into one system on one ssc source. I had been build this with two NAU8822 and same70q21 chip. Data source was from eth. Internally I have build two circular buffer with dma, so core overhead was small.
PCM time slot have one clock signal, strobe/frame select, data in and data out. On start frame one clock fs is driven and next you have up to even 512 or more clock cycles for your data. Look at nau8822 datasheet, there are explained i2s, PCM a, PCM b and PCM time slot timings.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf