08/01/2015 at 01:37 •
So its working with the AIC3101 controling two channels of the codec output volume. The codec is noisey becasue seperate grounds are needed.
The next stage will be to use an 8 channel DAC and have each knob control each channel output.
I have a cirrus logic DAC and have soldered it to a proto board. will update here.
This time I will use proper seperatae power supply ground planes and keep audio clean.
08/27/2015 at 06:27 •
Quite exited now the 8 channel DAC is soldered up on a 48pin proto board.
was scepticle that I could solder 0.5mm pitch but seamed to go fine ! we will see.
I'm using 2 low noise Liner Technology LT1763 DC - DC ldo's for the 5volt and the 2.5 digital voltage supply. the I2S interface will run on the arduino's 3.3v and the I2C interface will run on the arduino 5v supply making the codec 5v arduino interface freinedly.
I just have to program the ardiuino to send the usbMidi data over i2c ro control each volume register :)
If this works I'm going to bring on the 8 channel ADC !!!
Interestingly I found one that I can just hook up with TDM , 8 channels of audio down 1 wire?? sounds amazing if it works !! kind of inter Codec IC 8 channel interface , wow, did'nt know it about that, thought I was going to have to hooke up 4 stereo I2S connects.
more news soon !
08/30/2015 at 16:00 •
OK, here we go again, I2C trouble..
On the AIC3101 it took me a while to realise the supposed I2C compatable logic level
converter was not so compatable !!
This time I have hooked up 5v VLC logic level supply on the DAC and hooked up SDA and SCL, done a I2C scan with a arduino sketch..
well there seams to be some voltage switching going on as I switch on the UNO ( around 2volts on the I2C data line. not sure thats enough voltage to achieve any switching on the DAC.
I tried disabling the on chip pullups in the wire library in code and adding 2.2k resistors for pullups connected to 5v.
nothing ... !
I have no scope so can't really see whats going on.. Think I'll try SPI next and see if I get any luck with that. I wanted to use I2C since I can read back registers and check the accuracy of the USBmidi controls as I did with the TI AIC3101 codec.
more news soon. . . .
in the mean time, can anyone recomend a reasnable priced scope for this kind problem solving?
08/31/2015 at 13:41 •
OK !!! hooray !!! Fixed the I2C communication for the CS4385 DAC using my trusty state of the art volt meter :)
I had used a pullup resistor to try to make to reset pin high that was too large.
not enough voltage to pass threshold on Reset pin to power up DAC !!!
I also added 2 x 4.7k pullups ro the I2C bus. the voltages where around the 3v mark which seamed a fraction too low.. now there nearer 4v when high.
I have no idea if thats the correct thing to do !
can't remember where i got my volt meter from, maybe a christmas cracker ?
I really need an Osciloscope, was looking at the Agilent 2000 series, but a lot of money for me really and not even sure I really would need something that powerful.. although the cheaper Rigol stuff looks like a strange toy !!!
. can anyone surgest what a good one would be for looking at multiple SPI I2C port communications etc ?
anyway, I have 8 channels of DAC volume control and theres no noise at all !! must have got the sepperate digital / analouge grounds right this time. Amazing :) :)
Think its time to order that 8 channel ADC and hook it up to the 8 channel TDM !!!
I'll tidy up the code and make a video of this DAC mixing a couple of I2S audio sources as soon as I get time..
09/03/2015 at 16:17 •
So the DAC is working and it sounds great ! I have a 8 Volume controls !!
But there is always a BUT in electronics design !!
mixing down to 2 channels ?
EDIT [ OK, just noticed there are 4 registers for these tables ] maybe I can make this work somehow . I think there are 4 stereo pairs. so if I add another DAC could I have 8 stereo pairs ? then I could have balance faders for each channel ? scratching my caveman brain here ]
I speed read a lot of data sheets trying to find an 8 channel DAC to use as a digital mixer.
I found the CS4385 had 8 channels of IO I2S input and 8 channels differntial output .. tick.
then noticed an ATAPI routing matrix chart thing and thought,, oh nice , I can mix the tracks to any given output.. HAHA !!! I think I am experiencing the beginer trap here !! see pictures below..
It appears like you can mix A channels and B channels to ??? so confusing..
essentially I'm probebly looking at changing the DAC for some kind of DSP that can route / mix incoming I2S channels to and from anywhere to anywhere.. but which one !! and they are so complicated.
also , are they power efficiant ? I am trying to make a low power simple flexible USBmidi mixer here !!! should I be using FPGA !! ?
09/06/2015 at 10:54 •
I found an 8 channel audio processor IC from TI that can do mixer routing from SD I2S lines. I'm thinking of doubling each mono I2S input and allowing PAN between the stereo pairs 1/2 3/4 5/6 7/8 then having 1,3,5,7 channel output to LEFT SDout ( I2S ) and 2,4,6,8 channel output to RIGHT SDout ( I2S )
but, I'd need 3 TAS5558's to do digital mixing for 8 - 2 channels and possibly a final 2 or 4 channel DAC to output the 2 or 4 channels of analogue balanced audio.
Also looking the FPGA or DSP route but have no idea how to setup simple audio channel routing and mixing this way without writing channel mixing coefficients from scratch ! and I am a total beginner at all this !!! if anyone can point me in the right direction for audio mixing in FPGA or DSP I would much appreciate it !!
09/09/2015 at 05:58 •
OK, time for a compromise :(
I am going to settle for 2 x 8 - 1 analouge mix downs for the 2 channel output.
I'm going to try using a THAT1606 OPAMP differential line driver for the XLR outputs
some specs that sold me where
"Balanced, transformer-like floating output
Stable driving long cables and capacitive loads
High output: 18Vrms into 600Ω
Low noise: -101 dBu
Low distortion: 0.0007% @ 1kHz"
At some point mixer has to go Analouge for the outputs so I thought It may as well be here.
I have to use +/-15v ( approx ) clean power supply for the THAT1606 so I went for the new
I can use 2 x DACS for a repat of the 8 inputs and balance by incrase / decrease the copied channel.
BUT, how can I make a master volume control ? or a headphone monitor ?
say2 x LM1972 digatally controlled attenuators or 4 channel PGA4311. but there both single ended !! ahhhh !!!! audio needs to stay differential all the way out !!! I'll work that one out later !!
well, i ordered the 2 x THAT1606 and power supply. I have no idea what resistors to use to devide the 8 outputs ( 16 differential resistors per channel output ) down to normal level. I guess I'm dividing equally by 8 so they should all be the same but what value resistor to use?
DAC outputs are;
09/11/2015 at 16:42 •
done more reading, on analogue mixing circuits...
turns out that professional analogue mixers, ( mega expensive mixing desks from the 70's in large studios etc ) use balanced mix buses. they don't go near single ended passive mixing ( a bunch of resistors dividing the input channels up equally and pulled back up to the normal level with an op amp...this passive mixing idea seams to be everywhere on the internet and passed off as THE mixer example and yet it was never really used in any mixing desks ( even the cheap rubbish ones !! )
why? because its really really rubbish !!! turns out the input mix effects the overall output volume.. if you had 8 channels and suddenly mixed down channels 2 - 7 then channel 1 gets louder on its own !!! rubbish :) why ? because the resistors just divide the voltages up and the OPAMP is at a fixed recovery gain..
So, I need to use an active mixer design with a virtual earth or even better a BALANCED MIX BUSS !! since i'm trying to make
a high quality mixer then easy , download a schematic of a balanced mix bus from the 70's and make it again with better new parts?
BUT , i can't find one !! and a virtual earth mixer in a +/-15v opamp with balanced audio ? how does that work ?
I have some +/- 15v power supplies in the post and some really nice differential line driver op amps.
I will need these regardless for professional balanced inputs / output
starting to think the 8 - 1 mix down in analogue was a BAD idea !! I feel like I'm trying to re-invent the steam engine and theirs nobody left alive that knows how they were built. or more likely, I'm just not clever enough to know where to start !
further reading here ! http://sound.westhost.com/articles/audio-mixing.htm#s3
09/14/2015 at 17:34 •
Ordered 5 x PGA2500 digitally controlled TI preamp IC's today and some Low noise +/-5v bipolar power LTC3260 dual power supplys.
The PGA2500 Mic PreAmp PGA's look good. There used in a fair bit of pro audio gear RME and others so they should be ok for thiis mixer.. they are balanced inputs and the IC attenuates form 10db to 65db of gain wirh Total Harmonic Distortion plus Noise(THD+N) with Gain = 30dB: 0.0004%.. should be ok !
I also ordered 1 x 8 channel ADC CS5386 should work well with the CS4385 DAC I have wired up.
I started work on the schematics in CircuitMaker ( Altium designer hobby version for makers etc ) Its really strange to work with since its in the cloud.. so its quite clunky, at least it is here in Japan , perhaps i'm a long way from the server or something. ) I'm just on the basic internet package which is 65mbps down / 45 mbps up real world speed.. so can't be me I think :)
anyway, soon as I get the parts I will solder the whole lot up and do a demo video of the Pre amp with MIDIusb surface control opperating the gains and channel volume controls.
If I get really carried away I'll throw in the master / heaphone control volumes too :)
the week area I feel is the 8 : 2 summing part. no routing just balance and going single ended for master volume control and headphone cotrol just seams booring..
ADC and DACs all differential... think I need to change that master control volume !! I thought of using two digitally ganged together, one for each phase, but I think that could introduce phase probelms since there not locked together with a clock since there analouge at this point ..
I'm hoping the copied 8 channels in the 2 DACS will be locked together since they will share the same I2S master clock from the 1 ADC.
I need to learn what 48volt phantom power actually is and how you make it :) I am assuming its a very low power 48v bias current, but how does that flow over a differential audio connection ? better I don't assume anything ...
ok, off to read more..
09/17/2015 at 05:28 •
made a second DAC 8 channel module. Looks like I will need to use two 8 channel DACS to be able to balance left to right ..chanel 1 or 2 output.
heres a pic, I used some nice wire terminals for the balanced audio outputs, so I can connect up to the next module ( stage ) of the mixer.
I just plugged in the I2C pullup resistors into headers since I'll need to change the values when I add the second module. same with the RST line from the arduino.
The analouge ground and digital grounds are sperate :)
next I'll make a 4 channel pre amp based on the PGA2500 with +/-5v low noise power supply (s)
also ordered the 8 channel ADC, so will wire that up and post pictures soon as I get the chip.
need to do more research on how to decide on the i2C pullups when all 3 devices are added to the arduino I2C lines. or do the values stay the same ?