Okay, this is an exercise in... a lot of things. But then, I could use the exercise.
First, I learned gschem and created the circuit there.
Then I learned KiCad and did it all over again. I'm still trying to track down the proper footprints for all of the components to try PCB layout and routing.
Then I heard of CircuitLab.com. What the Hell. Third time's the charm.
CL's incredibly limited, but it's easier for sharing than sticking my .sch file somewhere.
So, here's my idea, build an AMP9 and add an 8x2 female header to the interface pads into which the board I'm trying to design would be plugged. The resultant completed system could do 4-channel surround for a single room, 2-channel stereo for two rooms, or mono audio to four rooms in my house. Actually, I plan to double up on the AMP9-HVs and these boards in a single case with an AMP11-HV being fed from the cross-over of all cross-overs for an 8.1 surround sound system for my living room, but one must keep other use cases in mind during the design phase.
Here's the link to the schematic as it stands now (Rev 0.1).
Here's the summary from that page:
"Allows for any control system with an I2C interface to control up to 4 separate AMP9s through a PCF8574 I2C 8-bit I/O chip and control the volume of the audio being sent to the AMP9 through an AD5254 I2C quad digital pot, and enabling monitoring of the audio sent to the AMP9 through an AD7417 I2C quad ADC chip for automatic volume control and vu meter feedback. It also features two 4PDT signal relays to enable selection of audio source through the PCF8574. External audio can be supplied through a set of panel mounted 1/8" phono jacks or a panel mounted 4x2 IDC header.
An on-board 4x2 IDC header accepts audio input from an internal source. A set of hardware driven LEDs provides feedback about the modes and status of the AMP9. The I2C attached controller can also toggle the external power supply to the AMP9, which, after power-up, maintains its own power. Changing of the AM Mode line on the AMP9 while the AMP9 is powered is prevented by a latch. The board may be used with external power control and without I2C control in Dumb mode."
As yet, I do not believe it to be ready for PCB layout, routing, and production. That is why I'm putting it up on CL and creating this thread. I want anyone and everyone's opinions and insights that they would choose to give. I haven't added any decoupling capacitors between the power rails. I'm not 100% confident in the fidelity with which these chips, relays, and interconnects would pass 20-20kHz audio signals, or indeed the 0-48kHz spectrum my ears would prefer.
Some of the other issues I foresee:
The AMP9 documentation says the FAULT line is not used. Is that just for wont of components populating the board to link the pad to the TAA4100A properly, or is there another reason why my usage of the FAULT line in this circuit is in vain?
I want maximum power efficiency in this project, and I'm not certain that the chips, relays, and logic that I have here can be driven variously from the +5VDC power supplied by the AMP9's regulator or from a +5VDC regulator on any given controller board *cough*Arduino*cough*. And, my use of diodes for a sort of wired-OR logic can't possibly be the most efficient.
I want to fit this whole thing in about 50x50 mm... please stop laughing... This board is intended to have an 8x2 set of male 0.100" pins on one end for plugging directly into the AMP9. I'm pretty confident that it will need a double-sided PCB. Between the flip-flops and inverters, not to mention diodes and transistors, I'm not familiar enough with 7400 logic to be able to even guess as to what actual chips will achieve this design in the required form factor.
Can the chips I have selected drive the LEDs as I have described them in the way I have them on the schematic?
Does the 555 astable LED flasher circuit work as I have set it up, with variable resistances switched in and out by transistors whose bases are driven by signal lines? Is there a better way than a SPDT relay switching between the 555 flasher circuit and ground to make the blue Status LED do what I described? Is there a more efficient way to achieve my Status LED behaviour than the monstrosity I have wrought?
Since the quad dig pot can have its pots set independently of each other, things such as balance and fade can be easily effected by the controller, but for automatic volume control, the controller will have to be pulling in a lot of samples from the quad ADC. What kind of lag might I have to endure between the volume of the outgoing audio and the collection of enough audio samples via a slow I2C bus for a controller to figure out that it needs to turn the pots down? Assume an infinitely powerful controller and O(1) algorithm calculating the relative pot settings. I'm just concerned about the audio samples swamping the I2C bus with enough of these on a single I2C segment. Granted, the ADC chip is designed to have up to 8 on the bus. I just haven't gotten into the software side of things yet, having not settled on a controller board. ATM, leaning toward a Raspberry Pi Model B.
Speaking of the dig pots, did I wire them up right? A to audio ground, B to input signal, W to the signal output to the amp?
I've designed this circuit so that as much as possible, the chips are operating with open drain signalling. I don't think I managed all that well. Somethings may have been lost in translation between the KiCad rendition and the CL rendition.
My idealized use case would be to get some high quality 1/8" phono plugs and hack a color-coded set into a wiring harness that would bridge from the audio outputs on my motherboard to an IDC connector which would plug into the back of my dual AMP9 case. Each controller would only be responsible for its half of that 8x2 IDC header. This will leave the 1/8" phono jacks free to plug something in temporarily which overrides any audio sent from the computer on those channels.
I'm also trying to find a high quality USB sound "card" I can cram into the AMP9 case as well and just expose a USB-B socket on the back and let the DAC and AMP reside in the same housing. That's what the internal connector is really for. Also, wondering about multiple TOSlink inputs that the controller could switch going into that internal sound card. Ditto for multiple HDMI inputs with an HDMI passthrough to the TV.
Apropos of nothing, anyone know if the Raspberry Pi can easily drive the PSP LCDs from Sparkfun?