8 channel adat ADC...which chip? ?

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
dustbro said:
Hey guys!
I have an 8 channel preamp that i wanna add adat out to.  Any advice on where to start?

This all depends on your expertise.

XMOS has a chip with code and examples and a great toolset. You will have to spend the time to learn the architecture of their chips, which are hybrid of sequential-execution processors and FPGAs, as well as their tools. It will take you quite some time.

An ADAT transmit interface in an FPGA is actually fairly straightforward and will fit into a small Lattice MACH XO2 device. You need to know VHDL (or Verilog) and of course sequential digital logic design. (I thought I had code for this, but I can't seem to find it.)

I think the Wavefront chips one used to be able to use for this are obsolete.
 
Why not just getting something like  this

https://www.ebay.com/itm/Alesis-adat-AI3-Analog-Optical-Interface/202066091721?hash=item2f0c13dec9:g:GcwAAOSwLiJZyr39
 
dustbro said:
Hey guys!
I have an 8 channel preamp that i wanna add adat out to.  Any advice on where to start?

A forum member is selling his RME ADI-8 AE on the Black Market.
Definitely better than Alesis AI-3 which has limited sample rates (44.1K/48K)
RME use switching power supplies with a wide range AC main voltage input, so it'll work with US main voltages.

You should check it out.
 
http://www.proaudiostar.com/rme-adc-module-for-octamic.html

Various manufacturer have these sort of modules too.
 
One very cheap:
https://www.ebay.com/itm/SM-Pro-Audio-SMADAT-ADAT-Option-Card/253276859727?hash=item3af87a2d4f:g:4LcAAOSw6GJaGOod

Behringer/CoolAudio makes the V1401 chip you can get from Cabintech

http://www.coolaudio.com/docs/COOLAUDIO_V1401_DATASHEET.pdf

Buy some PCM4222 EVM:s and a master clock module and build the datasheet circuit.



 
What really annoys me about most interfaces is you have some cheap and cheerfull mic/line preamp ahead of the convertors ,I wired directly to the convertors in my Behringer ada8000,I removed the preamp section board altogether ,eased the strain on the supply ,which is a tad short of balls for the job its doing ,and you have a +17 dbu for 0 db digital input , a handfull of db's attenuation and your into the 'pleasure zone' of something like a neve ba 283 output stage .
 
Another ADA8000 mod involves using input transformer.

Regarding DIY solution CoolAudio has also a new 8-channel A/D converter chip called Midas M8000 which is also quite  inexpensive. Should be available in short time.

http://www.coolaudio.com/features-page.php?product=M8000

Now who could design a PCB with that ADC chip, the V1401 ADAT encoder and some nice input buffer circuit. How about using OPA1679 quads (  http://www.ti.com/product/OPA1679 )? Anyone listened to these low-noise alternatives for TL074 opamps used on many commercial products like ADA8000?
 
A few years back, I tried to DIY a complete 8 channel ADAT encoder & decoder in which I used a Spartan 6 FPGA, four pairs of AKM stereo 24 bit 192k ADC & DAC, and a bunch of MC33079D low noise quad op-amps.

I abandoned the project because I couldn't get the SMUX receiver & transmitter to work correctly.
I knew I needed a FIFO because reading and writing the audio bits are on two different master clock speeds, but yea, even with one generated by Xilinx IP Core Generator I just couldn't get the damn thing to work. I had buffer over-runs and under-runs, etc. In the end it was too much of a headache.
 
For SMUX XMOS is the one to use. Another thing is why should we track at FS > 48 kHz anyway. Using higher FS (oversampling) is  only good when mixing in the box, and good plugins can do oversampling internally.
 
mhelin said:
For SMUX XMOS is the one to use. Another thing is why should we track at FS > 48 kHz anyway. Using higher FS (oversampling) is  only good when mixing in the box, and good plugins can do oversampling internally.

It's not about tracking vs mixing at higher sample rates. It's for educational purpose and to do what the Wavefront chips can't do. Otherwise, what's the point of DIY a product which you can buy commercially from other manufacturers?
 
metalb00b00 said:
I knew I needed a FIFO because reading and writing the audio bits are on two different master clock speeds, but yea, even with one generated by Xilinx IP Core Generator I just couldn't get the damn thing to work. I had buffer over-runs and under-runs, etc. In the end it was too much of a headache.

Yeah, those FIFOs don't work.

I thought I had a complete ADAT transmit and receive path coded up, but I can't find it, or even the ADAT spec, on my computer. WEIRD.
 
Andy Peters said:
Yeah, those FIFOs don't work.

I thought I had a complete ADAT transmit and receive path coded up, but I can't find it, or even the ADAT spec, on my computer. WEIRD.

The ADAT receiver code I used was from OpenCores. Made for Altera, so I modified it a bit to make it synthesize-able with Xilinx tool. It requires a 100 MHz clock; when locked to the incoming ADAT bit stream, it puts out a word clock, the ADAT user bits, and 8 channel of 24 bit serial audio data.

As for the I2S transmitter, I2S receiver, and ADAT transmitter, I wrote them myself.
 
There is also Verilog implementation available for the ADAT i/o in Github, https://github.com/bendyer/adat-verilog
It looks like it's never run on actual hardware.

I guess the configuration for splitting 96 kHz I2S or TDM stream into two (or eight in case of TDM) 48 kHz I2S streams could be easily run on CPLD or (Cypress) PSoC device if you used combination of Wavefront/CoolAudio chips and programmable logic.

On the other hand you can get a basic Altera FPGA board from China for less that $/EUR 15:
https://www.ebay.co.uk/itm/ALTERA-FPGA-Cyslonell-EP2C5T144-Minimum-System-Learning-Development-Board-AS/292042601272https://www.ebay.co.uk/itm/ALTERA-FPGA-Cyslonell-EP2C5T144-Minimum-System-Learning-Development-Board-AS/292042601272
 
mhelin said:
On the other hand you can get a basic Altera FPGA board from China for less that $/EUR 15:
https://www.ebay.co.uk/itm/ALTERA-FPGA-Cyslonell-EP2C5T144-Minimum-System-Learning-Development-Board-AS/292042601272https://www.ebay.co.uk/itm/ALTERA-FPGA-Cyslonell-EP2C5T144-Minimum-System-Learning-Development-Board-AS/292042601272

I have Numato Mimas V1, which is a basic Xilinx Spartan 6 FPGA development module.

I guess the configuration for splitting 96 kHz I2S or TDM stream into two (or eight in case of TDM) 48 kHz I2S streams could be easily run on CPLD or (Cypress) PSoC device if you used combination of Wavefront/CoolAudio chips and programmable logic.

I use either I2S or Left Justified serial audio format. Both are supported by almost audio ADC and DAC chips on the market.

Last night, I worked on an implementation of using the FPGA as a SMUX bridge between the Wavefront receiver and PCM5102A DAC. It passed synthesis but not tested in the real world yet. I don't have ADAT hardware at home or in the studio.

I'm holding off the idea to start a new thread to get more people to help and contribute because this project is not DIY friendly at all (my board design will have tiny SMD components mounted on top and bottom)
 
The Behringer ada8000 does Smux ,it  locks to 96khz Wc input ,channel count is halved though.Ive never been able to test this out as the adat inputs I run it into dont handle smux. at all.
 
Tubetec said:
The Behringer ada8000 does Smux ,it  locks to 96khz Wc input ,channel count is halved though.Ive never been able to test this out as the adat inputs I run it into dont handle smux. at all.

EDIT:
I read that to make it "supposedly" work in SMUX mode, its sync mode has to be set to ADAT IN and connected to the ADAT out of your audio interface.

But looking at the ADA8000 digital I/O schematic, the ADAT receiver chip has all the user bits output pin floating, and the transmitter chip has all of them tied to ground.

Therefore, the SMUX flag is never carried from the receiver side to the transmitter side. It remains false permanently the entire time the unit is on.

The ADC chips are only capable of 32kHz, 44.1kHz and 48kHz sample rates. All of them hardwired to the mic/line channels.
 
Tubetec said:
The Behringer ada8000 does Smux ,it  locks to 96khz Wc input ,channel count is halved though.Ive never been able to test this out as the adat inputs I run it into dont handle smux. at all.

Test it. It doesn't do smux properly. It just looks like it's muxing, but the data is just doubled up or something.

At least, that's what my older units do. But I believe it's true for the newer ones too.
 
metalb00b00 said:
EDIT:

Looking at the ADA8000 digital I/O schematic, the ADAT receiver chip has all the user bits output pin floating, and the transmitter chip has all of them tied to ground.

Therefore, the SMUX flag is never carried from the receiver side to the transmitter side. It remains false permanently the entire time the unit is on.

The ADC chips are only capable of 32kHz, 44.1kHz and 48kHz sample rates. All of them hardwired to the mic/line channels.

I have a MOTU 828 mk 2 which can do ADAT in and out. If set to 88.2 or 96 kHz it goes into SMUX mode. This assumes that the receive device for the transmit side is SMUX capable, and the same for the receive side.

Over the holiday break I’ll gin up ADAT I/O in an FPGA and test it.

Transmit is easy: provide a master clock at 22.5792 or 24.576 MHz and ADC-to-ADAT just goes, all synchronous to the master clock.

Receive is the hard part. You want to use a master clock at a high multiple of the sample rate, so you need to try to do rate detection before  you try to do data recovery. (Yes, a chicken/egg problem). Because of the line coding, you are guaranteed transitions on the data line, and because the input signal is generated by a reliable clock, you should be able to count the time between transitions and if the count matches what you expect, you’ve chosen the right master clock. Otherwise, switch to the other one.  This requires two oscillators, or perhaps one of those neat-o dual oscillators from SiLabs which have a pin for output frequency select.

Once you have the correct master clock you should be able to decode the frame data (over sample, look for transitions, undo the NRZI, load into a frame register) and extract a word clock from it. The word clock you recover here is really just a framing mechanism, synchronous to the master clock (which is a nice integer multiple of the word clock, because of your choice of master clock frequency). And that master clock also drives the DAC’s modulator clock (very important). Once you have the complete data frame you run eight serializers (again on the master clock) in parallel, generating the necessary LRCLK for converter framing and BCLK which the converter uses for a shift clock.

I don’t think a PLL is necessary as you don’t use the “word clock” recovered from the data as anything but a framing mechanism. If you were to use a 100 MHz clock like that one core suggests, what you end up with are data frames synchronous to a clock wholly unrelated to the audio sample rate, and then you have to manage the transition to the audio clock domain, which is ugly.

Of course I could be wrong.
 
Here's my attempt to add SMUX support to Wavefront/CoolAudio 1402 ADAT receiver chip (OptoRec)

It passed synthesis, but not tested. I don't have ADAT hardware at home or in the studio.
 

Attachments

  • optorec_smux_bridge.vhd.txt
    9.9 KB · Views: 44

Latest posts

Back
Top