long pause on this project, lol
but here's some progress on proto board:
a lot more wiring left (all the craziness is underneath the board; and its a ground-plane board, too) but the digital/controller side is working.
the idea is to 'glue' an arduino (or one like it; but this board is using an actual arduino 328p chip) to the vendor vol control chip and make it easier to interface to, from the outside world. the arduino presents a serial port and the user can 'login' to that, type commands and get/set values to cause the 8ch attenuator chip to do its thing. this means that the processor is taking in human-like commands and translating to vendor specific chip commands. for a PGA, there's a pga software plugin; for the d1 style relays; a plugin and for this cirrus, a plugin. the interface to the controller will be simple and non-gui, and this allows a lot more of the arduino to be used for carry protocol plugins as well as being a smarter cache interface to the various chips. the serial protocol will be lean enough so that even wireless RF xbees can bridge the link.
the board has an opto isolator to match levels (the cirrus is a 3.3v chip) and also give 100% isolation if you want to wire things this way. I plan to see how things compare when you use a common psu and gnd vs totally separate ones for the cirrus and the rest of the controller stuff. the isolator chip is a dollar part and you treat it as 4 optos on a 16pin chip. I needed 4 wires (spi-data, spi-clock, reset, chip-select) and so this worked out well.
you can power the arduino side from the 5v of the download cable or the local 7805 psu.
I hope to do a first power-on sometime over the next week or so.