So my 2 input (XLR) 8 output (phono/RCA) box had been giving me some worries over the past couple of months, and in fact I gave up on it for a few weeks, But I plugged it all back in last night and... it just works.
Stupidity was the main cause for issue. My output phono sockets on the back actually are ordered as "4 5 6 7 0 1 2 3" to match up with the Sigma Studio output channels. As the ribbon connectors on the buffer PCB and DAC PCB are aligned in the same orientation to the edges of the PCB, when they are put together they are "opposite" and the ribbon cable has to twist 180 degrees to fit. Pretty dumb not to notice it but there we are, humanities flaws being shown in their finest hour.
Simple waveform generator (ancient noisy thing) on the Right channel XLR input, mapped to channel 1 output. And it works (and it works with any other channel combo as well). Nothing special but it's a start, adding crossovers in is just done in the DSP now. Although it won't boot from the EEPROM at the moment, assume I actually put an EEPROM chip in the socket.... maybe I should go check that....
Oh and my maximum output from the buffer board with the dac at 0dB output is 5Vpp, so I need to change a few resistors on the buffer board or some amps will get fried.
The DAC chip I have been using, the ADAU1966, no longer seems to be stocked in Farnell. There is also a new variant the ADAU1966A which looks compatible, and there is some limited stock at Digikey/Mouser. RS have stock of the ADAU1966 but the price is much higher (over double) than I last paid for a few. Both parts are shown as production parts so unsure what has changed.
Cirrus Logic offer a range of 8 Channel DACs that support TDM data modes. They have less channels than the ADAU1966, but may be usable. I need to check master clock requirements and other details but will need a new design. They also seem to be in stock at a number of places.
Reworking PCB redesigns and unraveling all the interwoven tracking and component placement without destroying the whole design is hard. Sometimes it is just easier to start again!
As I have been reviewing all the designs I have slowly been making lots of small changes, and lots of small changes leads to lots of PCB rework. This is fine but I am becoming more and more busy with life these days so it will take some time. And in fact just starting from scratch on several PCB layouts may be quicker than trying to work out what I did last time.
Also now looking at ADC options. The TI PCM4202 is a nice spec ADC chip but seems to have fragile I/O pins. One wrong setting or connection on the I2S interface can cause permanent damage. It would be good to have something a little more robust in it's place. Again this would be another new PCB layout, or several if other revisions are needed to fix any issues.
We will get there eventually!
Still working on design updates. Looking to use common parts across all designs. Also looking at making CoreOne simpler and easier to hand build. I had made it all single sided SMD components. This was mainly an experiment to see how tight it could be without making it impossible to hand build. It is rather cramped but it can be built by hand. However I will move a number of parts to the bottom side, especially optional components which are not fitted by default. It will make life easier! Also I am removing a few options that are not really needed for now.
So I am starting to work through all designs again. Specifically looking to rationalize the power supply regulators and reset circuits across all boards. And also to look for cheaper parts where possible.
The ADAU1966 DAC PCB may have an issues with the reset circuit. I used a 2.5V reset circuit (as the 2.5V rail is critical) which feeds the 2.5V output to the ADAU1966 reset pin. On several boards I have this works fine. The "trip" point should be 2.3V so some margin. However I have one ADAU1966 that is being a little fussy.
Some hindsight would have been good as a couple of transistors would have pulled the reset pin up to 3.3V. However now would seem like a good time to look for some cheaper/more universal reset supervisors (with open-drain outputs).
So I could not get any version of SigmaStudio to write to the EEPROM properly on Windows 10. Then it stopped communicating completely. I ran out of ideas at this point until I I thought about using Windows 7.
Luckily I have an old PC knocking around I was going to get rid of or re-purpose. Having found my spare copy of Windows 7 I installed this as a 32 bit version - although by accident having noticed I put the wrong CD in too late!
Anyway, SigmaStudio 3.14/3.14.1 beta don't seem to work properly for the EEPROM writing but communicate fine with the DSP. However SigmaStudio 3.12 seems to work just fine; I can write to the DSP and write to the EEPROM. When I selected self boot from EEPROM on the PCB jumper it starts up just fine.
Just have to remeber to have the jumper on the PCB shorted and "reset"/power cycle the DSP before writing to the EEPROM with I2C/SPI. You should also power up the DSP with the I2C/SPI USB adapter unplugged; and plug it in once powered. Also must remeber to set SigmaStudio to the correct EEPROM size.
I am also not seeing any random errors in the PANIC CODE section anymore which is good as I figured that all the DSP boards are unlikely to have issues.
So in short; Get Windows 7 (cheap keys on ebay?); install SigmaStudio 3.12; power up DSP board in the right mode; set up EEPROM size correctly and win!
So the first CoreOne PCB was going well initially; PSU section worked fine, reset circuit fine with a minor modification, clock generator was alive.
And then the first XEF216-512-C20 chip I fitted went out of alignment when soldering the large pad - and it took a lot of heat to get it back off. The second chip went on fine - apart from a couple of stubborn solder bridges. This is partly because the pads extend to far back under the device - which I can fix with a layout change.
However after some checks and a power up something was very wrong! I tracked it down to 1V0 being connected to 3V3 through approx 0.9Ohms resistance - this would increase if you heated the XMOS chip up. No obvious solder bridges (which would give 0 ohms in any case).
So seems chip number 2 was dead from the start; not sure why, if it was my soldering. I tried to be reasonably gentle - I can not see a soldering spec in the datasheet. Trying to remove this from the PCB resulted in damaged to the board writing it off.
The XE216-512 and XEF216-512 variants are expensive, and I can not find stock of the XE216-256 or XEF216-256 chips which are half the price. Farnell says mid June for these.
In the mean time I may respin CoreOne with the pads adjusted and the reset circuit fixed. I may also spin a CoreTwo with less I2S and only 1 clock gen just to make life easier. I don't mind wasting a little money; but I don't want to keep burning through £15 ICs without getting anything out of them.
Oh well, onwards and upwards!
So even my test box that was in my wardrobe doesn't work for EEPROM programming. In fact the latest SigmaStudio gives an error message the instant you click "Write Latest Compilation through DSP". Must be a setting I am missing on the ADAU145x Register Controls, but no idea what.
If anyone has looked closely at the boards I have designed so far, and the different versions of something like the ADUA1966 DAC, you will have noted some changes to the I2C or SPI connectors. Or more specifically the fact that the ADAU1966 board has I2C on Rev 1 and SPI on Rev 2! This is deliberate; because I am still not sure what I really want as I have not used these yet.
CoreOne has some better pin outs for I2C and SPI and I will look to standardize these across the other PCBs where needed. Trying to use a common I2C bus across everything would look "neat" in the first instance; but when you consider the capacitance limits on the lines it can turn into a headache quite quickly.
Speaking of CoreOne, it's no where near finished yet but I am working on it:
I have done very little on the project over the past week, hence the salvation as I have been unable to brake anything else! My old test box is still in the wardrobe but I am building up my first CoreOne PCB. Only resistors and capacitors so far so nothing to major, unless all the values are wrong...
This week I am hoping to try and get to the bottom of these stupid EEPROMs that magically won't work program/boot ADAU145x chips anymore.
Having played endlessly with pin congfurations on several of my DSP PCBs (both previously working fine) and 4 different versions of SigmaStudio, I have managed to get the SPI_MOSI to do it's thing with data to the EEPROM, but it still doesn't work properly.
No idea. Answers on a postcard please....
I shall dig out my original test rig that is in my wardrobe and if that doesn't work; having not been used for a year since it worked flawlessly; then I give up!
An electronics engineer and a long term electronics hobbyist. I like tinkering with stuff and making things.