06/05/2017 at 17:46 •
I made up this 4 channel back plane , wasn't worth playing around with veroboard, too much work ! you can see the digital sections ground plane partitioned from the analogue on the right side of this pic. I put the new power supply in a plastic case ! 48v phantom can damage things :) there was 2 small errors on the board but managed to cut a trace and bodge wire.
This board is 4 preamp , 4 x balanced line driver and 2 x stereo headphone driver. I'll make an 8 channel version after I get the recorder app wired up and working .
06/05/2017 at 11:32 •
at last !!! I have an 8 channel balanced audio DSP mixer !!!!!! wow its starting to sound really great !
I have the Arm demo record playback audio app code running in the same application code and I'm just starting
to wire up the SAI ports 4 slot 8 channel TDM to and from the DSP :)
I have bluetooth control of the gains and volume controls in the DSP. Also generating test tone and tone sweep for testing.
basically feed test tone sweep from output to input and then use an oscilloscope to check the pramps etc.
A lot more work to do , PFL's routing matrix in the app. compressors and filters in the app from in the DSP.
Looking forward to getting recording finished so I can add timecode. I might just use the onboard sound card on the STM32F769i for now to sync external timecode. Will have to see how acurate the RTC is in the ARM . might need a more accurate one.
Need to make a demo video when I get time of the app and mixer in action !!
04/16/2017 at 11:32 •
ol got these balanced line drivers working really well. AC coupled so I can use them on any DAC I like.
Sound very nice and good for +14dbu running +/-5 rails!! I'll probebly run them at +/-12v though so much more power output..
03/16/2017 at 11:18 •
had another go at the headphone driver card.. ! this time i made it more cimetricle in the hope i will notice any mistakes.. in some ways wasted space , but i need it to work :) hopfuly will rememebr to add the current ilmiting resistors on the output this time also !
03/16/2017 at 06:46 •
So after the success of the PreAmp card , I was thinking , great , easy !!! never think that :)
I soldered the componants onto the card, channel one working , nothing on channel 2.
I checked the gerber files as there seamed to be no trace from pins 3 & 4 to the 2nd 1632 OPAMP and
this is what I had.
pins 3 & 4 should go to U2 opamp. the more I looked at the layout the more channel2 seam totally messed up! R10 should be an input
resistor to the 2nd opamp and not parraleled with R20 ! I thought maybe I can run a few bodge wires but more problems croped up !
Althought , channel 1 does work.
Another problem with this design I had already realised before the board arrived was that U4 OP134 used to correct the bias from the DAC ( 2.5v ) was pointless. OPA1632 Vcom pin left floating allows the OPAMP to center around the +/- rails ! So why did I include the bias buffer when I did'nt need it and I'm not planning on running the headphone amp on single supply rail.
All right !!! enough problems , I'm going to label this one a FAIL and toss it in the bin ! shame because it looked nice !
the scarey thing is that the DRC passed in circuit maker and did not detect any unrouted pins.. mmm
I'm not going to blame my tools here though.. I think its just me getting clever and rushing out a design and not checking
over the board enough before making it !!
At least I can test the one channel while I'm waiting for the next card !
I made this card at seedstudio fusion like the preamp card. no problems at all with there work !!! all the mistakes were mine !
on a side note , has anyone used seeedstudio for 3d printing ? https://www.seeedstudio.com/fusion-3d-printing.html
I'm thinking of eventually making a box although a long way off.. no idea if 3d printing is the way to do it ?
also thought about making a stencil here https://www.seeedstudio.com/stencil.html for the next DSP board , its 10cm x 10cm and really is hard work to manually place paste with the injection needle I have... can anyone recomend it ? or is it more for if your making lots of boards ?
03/10/2017 at 10:37 •
I've just finished assembling a PGA2500 Pre Amp Card. It made more sense to make single channel cards for testing differnt switching filters attenuation etc. My original idea of making 8 or 4 channel on one card was well over ambitious ! I've learned its much better to proove something works before you make multichannel anything. Find something that works and repeat !
This card is 66mm x 28mm and includes a dual channel Cform-A PhotoRelay. The Photomos relay switches the 48v phantom power from on to ground to discharge the DC blocking caps when in off position. Its about as thick as the blocking caps and AC coupling caps.
I go this board made at Seedstudio Fusion The board was really cheap , 9$ for 10 ! The board was finished pretty well for the price and the smaller Via I made had no issues. The vias had a hole size of 20mils and looked cleam. The 2 layer board looked similar to others I have made but one massive advantage I found with seeedstudio fusion was the Gerber layer checker online app ! I have MCN viewer on OSX and it does'nt always show the drill hols correctly. This was more of a problem on the headphone driver card ad headphone socket drill holes were not showing up. submitted Gerbers to Fusion and the viewerr correctly showed the layers !!!
I have to say it was a pain manualy changing every via size in Circuit<aker though , there is no way to select all via's and change size , at least as far as I know of ? anyone know if thats possible in CircuitMaker ?
Most of the parts are 1206 or 0805 appart from some ferrite beads ( anti RF , mobuile phone RF etc ) filters.
After testing this board I will shrink it all down to 0603 parts where possible. I may need to add some potentiometers to the pads so decided to keep the pads large for now..
The header pins will be bent over so the card can fit into a backplane, or right angle headers will be used later. for now i'll be just testing the one card.
The AC coupling caps for the ADC are over sized I think. I only need to AC couple -600mv biased oututs to +2.5v ADC inputs on the DSP board so I don't think I need 47uf ( perhaps 10Uf ) and 63WV is overkill also ! I'll be changing those and checking on the scope / multimeter.
The U attenuation on the output is a bit cramped for pots , so I'll just use the values I already calculated there to attenuate the output to the neccesary voltage swing for the ADC.
The jumper is Vcom to ground. The Vcom from the PGA2500 is broken out to pin also in case i need to bias the chip.
OVR pin for possible input compressor and GPIO's are broken out.
The digital side of the ChanStrip card groundplane is partitioned and the Analouge and Digital grounds will be connected somwhere on the back plane so there is only one common point for the return path. This help prevent digital noise from getting to the preamp.
There will be SPI isolator on the backplane also.
Well I have'nt plugged in in yet and I'm fairly tired after soldering this board ! stay tuned and I'll try and make a video of the results.
I also made a LineDriver card and professional quality Headphone card at seedstudio and I'll post here with pics of those 2 when I have go them made up.
The backplane should be fun , I'm going to make that out of Vero board for testing before I make a factory PCB !
< update ! >
The board is working really well. I have'nt plugged into any kind of backplane yet , just hooked up jumper wires to it. I added the TDK RF beads that should filter out any mobile phone / HF interferance. I tried calling out from my mobile and theere was no noise , but have'nt any real test with long cable runs etc.
Started on the headphone driver but that did'nt work out well at all :) will add that to the next log.
02/12/2017 at 16:31 •
+/-5v dual rail power 1amp per rail ! 20uV noise per rail.
phantom power 48v 50ma ( no filter yet working on it )
<edit> I tried all kinds of filters with inductors large capacitors etc , basically the ripple is a bit to agressive to be smoothed with a simple filter I think. its nearly 1vpp !! I think I will just add a 48v capable ultra low noise LDO on the next revision. looking like it will be LT3012 with 100 microVolts noise. :)
It looks like the large decoupling caps in the middle of the board can be replaced with ceramic 47uf 25v or so.
& +5v 500ma digi power 20uV noise
phantom power has 120mV ripple and filter needs work but room for a large thru hole capacitor if needed.
tested 800ma per +- rail and it does'nt get hot at all.
it will run on 5.5 - 25v input
it can be configured for +-18v +-15v +-12v etc but need +/-5v for PGA2500's
rev 2 will have smaller inductor pads and I think I can swap electro caps for ceramic in middle of board. I need about 35uf in total there.
Not sure about large input caps yet , might need them to protect LDO's from inrush voltage / current so ceramic would'nt work there.
I'm thinking of adding a variable oscilator and syncing the chips, not sure if its worth the trouble.
12/31/2016 at 03:44 •
App controlling preamp PGA2500's and phantom power switching.
working now on mix routing , main mix and Channel fx screen for DSP
I'm sending serial data ro the arduino in 1 - 4 bytes. I'm using a basic mapping system
so the arduino knows where to send what data.
1st byte decides which void() in the code , so if its 01 the the void(gain) runs, 02 then void(dsp) and so on
the 2nd byte determins what channel where talking about.
3rd byte is control value.
4th byte more control values if needed and ignored if not.
This is probebly a completely inificiant way of doing things ! I probebly should have just used
one number for which function and which channel?
I think I also need to work on acknolledge bytes so the App can be sure the device has recieved the instructions.
Does anyone know if Bluetooth serial with HC-05 module has acknollagement built in? meaning the data does'nt appear to go if there is an ACK ? I don't want to build ACK functionality if its already being done at a hardware level !
12/27/2016 at 11:56 •
I attenuated the 9vpp swing of the PGA2500 output to 4.5vpp for the ADC with one balanced U attenuator ( 3 x resistors ) 2 in series and one bridge resistor follow them.
I used oversized 47uhf 63WV capacitors ( same as DC blocking capacitors ) for the AC coupling capacitors. I'm sure they are overkill for the 2.5v DC bias on the ADC side but don't know how to calculate the proper value yet.
I already had ceramic AC coupling capacitors on the output of the PreAmp as PGA2500 is DC -650mv biased. so it went ...
Preamp output - 10uf 25v ceramic caps - U attenuation ( divide by 2 ) - 47 63WV electrolite caps.
Well for testing this worked out fine.
Top = 48v phantom power
left = 4 channel PGA2500 pre amp. ( only one channel populated and running for now )
Top Midlle = arduino Uno R3
middle midlle = I2C logic level translator 5v - 3.3v
bottom middle = USBi ad DSP programmer
right = 8 channel ADC / DSP / 8 channel DAC
bottom right = breadboard with single channel balanced U attenuation and AC coupling caps for ADC
There was very low noise , none from phantom power supply. The noise was more detectible if I used large compression in the DSP but still it was very low ! The next versions of trhe boards will include proper split ground planes and I2C / SPI isolator IC's
I need to decide if there is any point in using buffers to connect the preamp's to the ADC or if the AC coupling caps and resistor attenuation is enough. the Cirrus logic multichannel ADC has anti-aliasing filter in the IC.
12/23/2016 at 17:12 •
great , finally the ADC DSP DAC is working. all channels working and tested I2S clocks up to 196khz 24bit and no clitches , jitter etc. fanout buffer working well. Eprom memory working in selfboot mode.
Its using about 350ma of power with all 8 differntial channels busy with on effect or other.
mix routing compression reverb eq's filters etc
The PGA2500 preamps work best without the ADC's 2.5v DC bias becasue of the lack of headroom at +-5v preamp rails so DC filtering capacitors are needed between preamp outputs and ADC inputs. I also have some resistors to attenuate the preamp's 8vpp to 5vpp of the ADC inputs. I think the ADC can handle 5.5vpp but don't want to blow the channels.
I'm not sure if I will work on hooking up the midi knob controller first or just make a blue tooth app to control the preamp GAIN / DSP functions / DAC output levels.
That would be a lot of knobs and buttons without a screen / menu. but adding rotary encoders and a cheap screen would be what all mixer recorders do already?
well there is a ton of work to do already with programing the mixer / microcontroller. I'm still just using an arduino ! I tried the edison but the I2C bus looked very week at 3.3v on my scope. I'm not sure if thats becasue there are 5 devices on the bus , I tried differnt value pullups and nothing really helped. Main reason for edison was idea I could record 8 channel TDM to SD card. Maybe this was a bad idea anyway. I prefer the idea all the code is just in the arduino IDE and would be even better if I could do the multichannel audio recording in arduino Due or Zero. Unlikely but worth looking at.
would be greatful if anyone can sugest a simple way to record either serial I2S or TDM audio to WAV files on SD card or SSD with just a simpe low power microcontoller ( pref without a full blown OS )
I suppose recording to a formatted card or drive woud require an OS of some kind?