Hello all,
My good friend Mauro and others have pointed me towards the Cirrus CS3310 as a likely candidate for a very good preamp. This seems ideal as the specs are very impressive, and it is easy to interface.
The only thing I thought needed augmenting was the output current, as the CS3310 is limited to 25ma. So, I thought it a good idea to buffer the output with a good opamp that has low noise and good output current while still being fast and in general very good. I have come to really like the AD8620 for all those reasons, especially low noise.
So here I present my fist attempt at a PCB for my design. It is 2 sided, but pretty small. I would like to get some made, but I wanted to get some feedback from the folks here first.
The circuit is designed to be controlled by a single PIC 12Fxxx microcontroller. I am using a 12F683, but I think just about any of the 12F would work fine. Actually I think the 12F675 is probably ideal.
There is no pot in the signal path, the pot to the PIC is only used to feed an adjustable voltage to the PIC ADC to get a value for the volume control. I am trying to keep it very simple. No display, no complex interface, just a single linear pot.
This little amp would drive enough current for almost all headphones, and the output impedance is quite low making it exceptional for driving GCs, both inverting and non-inverting.
This is my first microcontroller project, so I will be asking for a lot of help.
Thanks for looking.
Cheers!
Russ
My good friend Mauro and others have pointed me towards the Cirrus CS3310 as a likely candidate for a very good preamp. This seems ideal as the specs are very impressive, and it is easy to interface.
The only thing I thought needed augmenting was the output current, as the CS3310 is limited to 25ma. So, I thought it a good idea to buffer the output with a good opamp that has low noise and good output current while still being fast and in general very good. I have come to really like the AD8620 for all those reasons, especially low noise.
So here I present my fist attempt at a PCB for my design. It is 2 sided, but pretty small. I would like to get some made, but I wanted to get some feedback from the folks here first.
The circuit is designed to be controlled by a single PIC 12Fxxx microcontroller. I am using a 12F683, but I think just about any of the 12F would work fine. Actually I think the 12F675 is probably ideal.
There is no pot in the signal path, the pot to the PIC is only used to feed an adjustable voltage to the PIC ADC to get a value for the volume control. I am trying to keep it very simple. No display, no complex interface, just a single linear pot.
This little amp would drive enough current for almost all headphones, and the output impedance is quite low making it exceptional for driving GCs, both inverting and non-inverting.
This is my first microcontroller project, so I will be asking for a lot of help.
Thanks for looking.
Cheers!
Russ
Attachments
Re: Seriously Off-Topic
I consider it my job to keep you swamped.
Cheers!
Russ
GeWa said:Jeeez Russ! You are designing stuff faster than I can build it.
I consider it my job to keep you swamped.
Cheers!
Russ
I consider it my job to keep you swamped.
Ooh, thank you but if you don't mind I already have such a person in my life; this person is called "MY BOSS"
tobias_svensk said:
If I remember correctly the PGA2310/11 is pincompatible with the CS3310? as it has better specs, but if it's better I don't know.
Hi Tobias.
Hah! See you learn something every day! I had actually looked at that device once (I actually think I have some samples), but I did not know it was pin compatible! Great tip! Thanks!
Cheers!
Russ
1) all micro-controllers like to generate clock noise
2) the microcontroller control lines should be decoupled with a resistor.
3) the microcontroller should be turned 90 degrees counter-clockwise -- makes the layout a bit more rational.
4) if you are using decoupling caps, and mixing SMT with through-hole -- use SMT decoupling caps.
5) use a separate digital ground and analog ground
You will get there -- your enthusiasm demonstrates it.
2) the microcontroller control lines should be decoupled with a resistor.
3) the microcontroller should be turned 90 degrees counter-clockwise -- makes the layout a bit more rational.
4) if you are using decoupling caps, and mixing SMT with through-hole -- use SMT decoupling caps.
5) use a separate digital ground and analog ground
You will get there -- your enthusiasm demonstrates it.
Blazing a trail
Russ,
Have you seen the preamp thread in the chip amp forum or my posts on Headwize? May give you ideas as those designs from a microcontroller and digital volume control perspective, are the same.
Cheers -ALBQ
My PGA2310 design - thread on Headwize
http://mywebpages.comcast.net/gillespie147/Junk/PGA2310-REV2.jpg
Russ,
Have you seen the preamp thread in the chip amp forum or my posts on Headwize? May give you ideas as those designs from a microcontroller and digital volume control perspective, are the same.
Cheers -ALBQ
My PGA2310 design - thread on Headwize
http://mywebpages.comcast.net/gillespie147/Junk/PGA2310-REV2.jpg
Ok, now where I need help. The controller is the PIC12F83 (which is what I have on hand) which has the necessary ADC. I just can't figure out how to write the code to send the serial data to the PGA2311.
Can someone please help me with the code?
This is my first PIC project and I am a total MCU n00ber.
I have the PICC Lite compiler and MPLAB, which is what I would prefer to use, but ASM code for MPASM is fine too.
Please help me figure this out.
Cheers!
Russ
Can someone please help me with the code?
This is my first PIC project and I am a total MCU n00ber.
I have the PICC Lite compiler and MPLAB, which is what I would prefer to use, but ASM code for MPASM is fine too.
Please help me figure this out.
Cheers!
Russ
I bet it's a PIC12F683 that you have on hand.
Microchip has resources (assembler etc.) which you can download from their site for programming this device -- but first you have to flowchart what you want the device to do. They also have code which you can cut and paste.
Frankly, I find that it is easier to use MELABs PicBasic Pro -- on their website www.melabs.com you can view the manual.
there is plenty of discussion to help you get started at http://www.picbasic.co.uk/forum/
Microchip has resources (assembler etc.) which you can download from their site for programming this device -- but first you have to flowchart what you want the device to do. They also have code which you can cut and paste.
Frankly, I find that it is easier to use MELABs PicBasic Pro -- on their website www.melabs.com you can view the manual.
there is plenty of discussion to help you get started at http://www.picbasic.co.uk/forum/
Development approach
The program would be simple
1) Read 8bit from ADC to correspond to the voltage divider of the pot.
2) Apply the value to the volume control on both channels.
Here is some lame pseudo code
main() {
while(true) // loop forever
{
int potValue = readADC(potPin);
setVolume(potValue);
wait(100);// wait 100ms
}
}
The program would be simple
1) Read 8bit from ADC to correspond to the voltage divider of the pot.
2) Apply the value to the volume control on both channels.
Here is some lame pseudo code
main() {
while(true) // loop forever
{
int potValue = readADC(potPin);
setVolume(potValue);
wait(100);// wait 100ms
}
}
- Status
- This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
- Home
- Amplifiers
- Headphone Systems
- Digitally controlled preamp/headphone amp