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
Seriously Off-Topic
Jeeez Russ! You are designing stuff faster than I can build it. Still haven't found the time to finish my Free- and Yardbird amps.
Cheers
Jeeez Russ! You are designing stuff faster than I can build it. Still haven't found the time to finish my Free- and Yardbird amps.

Cheers
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"😀
😀
Nice Russ, you could start like your own weekly online-magazine with new stuff 🙂
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.
Nice Russ, you could start like your own weekly online-magazine with new stuff 🙂
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.
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
Hehe Russ 🙂
I see that the PGA2320 also is compatible, a quick look shows that the THD is 0.0003 (PGA2310 0.0004 😀 ) and the voltageswing is 1V higher, otherwise they seen the same?
Had'nt seen the 2320 before, must be quite new
Ch33rs
I see that the PGA2320 also is compatible, a quick look shows that the THD is 0.0003 (PGA2310 0.0004 😀 ) and the voltageswing is 1V higher, otherwise they seen the same?
Had'nt seen the 2320 before, must be quite new

Ch33rs
Cool just ordered a few of those. 🙂
I am working on a single side board now since you can get the BB parts in DIP.
I am working on a single side board now since you can get the BB parts in DIP.
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/
Yes, my mistake, its a PIC12F683. 🙂 Thanks.
Well the program flow is pretty simple.
I am not a programming noob, just a PIC noob. 🙂
So, I don't mind using C or ASM, its just finding a clear example has been a challenge so far. 🙂
Thanks for your pointers.
Well the program flow is pretty simple.
I am not a programming noob, just a PIC noob. 🙂
So, I don't mind using C or ASM, its just finding a clear example has been a challenge so far. 🙂
Thanks for your pointers.
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
}
}
Hi Russ,
If you could post here the bus speed of the PGA2311; mebbe i can have a look see...
~M.
If you could post here the bus speed of the PGA2311; mebbe i can have a look see...
~M.
- Status
- Not open for further replies.
- Home
- Amplifiers
- Headphone Systems
- Digitally controlled preamp/headphone amp