Discrete headphone buffer - 'Buffalito'
Posted 20th October 2015 at 07:49 AM by abraxalito
Updated 26th October 2015 at 01:42 PM by abraxalito
Updated 26th October 2015 at 01:42 PM by abraxalito
Nowadays with discrete transistors as affordable as they are, the most cost-effective solution for a particular audio application may well be a discrete one when SQ (rather than numbers) is uppermost. Audiophile faddishness about discretes aside.
Here's a case in point - my pic shows a headphone buffer where the design aims were lowest cost, smallest size and lowest battery drain, while maintaining acceptable SQ. There are 28 transistors which go for 0.04rmb each on Taobao. That's 1.12rmb. OK so you can also buy 2 NJM4556s for that, but how do they sound? In my experience of building an O2-alike, not so great. They're also going to take 15mA at 7V whereas this design takes 6.5mA at 3.6V input. So an integrated design will be more than 4X as power hungry. With a 2600mAh single cell LiIon this could run for 400hrs - over two weeks continuous if played at low level.
The power supply is created by an LM2662 which inverts the 3.6V positive input for a -3.6V rail. It switches at 75kHz so doesn't need as large capacitors as the ICL7660 and its output impedance is very low (3 ohms or so). I need to have a wide voltage swing available because I lose a fair amount in my cascoded output stage.
Last night I had a listen and its very addictive - had not realized that a smartphone could be a source which drew me in as much as it did. Now I'm wondering how to get the size down as far as possible, which means munging on the supply caps. Those bulky 470uF/10V lytics are there to filter out LM2662 noise as well as decouple the rails, but I wonder how low I can do before something sounds bad? At present I also have no output offset control, just relying on some degree of matching of the input transistors to get it down. However it does drift with time, perhaps a servo would be the best solution. Output capacitors would be bulky - to get decent response into 16R (the lowest load I'm considering) I think would call for at least 1000uF (-3dB @ 10Hz) and that should be bipolar, meaning in practice two 2000uF in series. Which calls for 8 470uFs per channel. Doable for sure but very bulky. And with the offset drifting it'll mean some loss of headroom is inevitable. A servo would maximize that.
To do a servo means selecting a low input current, low offset opamp. Preferably a low power and low cost one too. I have some FAN4174 which work at 3.6V and say 6mV worst case (@2.7V) so those are promising. But the output offset might be negative so I should check their input CM voltage range. LMC662 looks another reasonable choice and it can handle the full supply.
I've now created a MOSFET bias supply from pin2 of the LM2662. A voltage doubler (using schottky diodes and a cap) generates a 7V bias which is plenty to turn on a couple of back to back FETs (Infineon BSS316). The FETs are a lot more expensive than the cooking grade transistors here - it'd be nice to have a solution using cheaper parts, but for now the FETs'll do. They need to be driven from a window comparator connected to the servo opamp - only when the servo's in range will the FETs be turned on. Probably an LM393 will work.
Update - I decided against the servo in the end and have gone to darlington transistors where I had previously just a single NPN or PNP. This has upped the component count but barely impacted the cost. Having the darlingtons means the input offset's gone down. I'm also using caps on the output which is cheaper protection than FETs. First gash prototype pic attached now atop a CD case. No on-off switch as yet, I do plan to detect when a jack's plugged in and use that to power the amp up, but for now its on all the time to see how long the battery'll last in practice. I checked the current consumption when playing fairly loud and it was roughly double the quiescent level so battery life doesn't look to be any kind of problem.
Here's a case in point - my pic shows a headphone buffer where the design aims were lowest cost, smallest size and lowest battery drain, while maintaining acceptable SQ. There are 28 transistors which go for 0.04rmb each on Taobao. That's 1.12rmb. OK so you can also buy 2 NJM4556s for that, but how do they sound? In my experience of building an O2-alike, not so great. They're also going to take 15mA at 7V whereas this design takes 6.5mA at 3.6V input. So an integrated design will be more than 4X as power hungry. With a 2600mAh single cell LiIon this could run for 400hrs - over two weeks continuous if played at low level.
The power supply is created by an LM2662 which inverts the 3.6V positive input for a -3.6V rail. It switches at 75kHz so doesn't need as large capacitors as the ICL7660 and its output impedance is very low (3 ohms or so). I need to have a wide voltage swing available because I lose a fair amount in my cascoded output stage.
Last night I had a listen and its very addictive - had not realized that a smartphone could be a source which drew me in as much as it did. Now I'm wondering how to get the size down as far as possible, which means munging on the supply caps. Those bulky 470uF/10V lytics are there to filter out LM2662 noise as well as decouple the rails, but I wonder how low I can do before something sounds bad? At present I also have no output offset control, just relying on some degree of matching of the input transistors to get it down. However it does drift with time, perhaps a servo would be the best solution. Output capacitors would be bulky - to get decent response into 16R (the lowest load I'm considering) I think would call for at least 1000uF (-3dB @ 10Hz) and that should be bipolar, meaning in practice two 2000uF in series. Which calls for 8 470uFs per channel. Doable for sure but very bulky. And with the offset drifting it'll mean some loss of headroom is inevitable. A servo would maximize that.
To do a servo means selecting a low input current, low offset opamp. Preferably a low power and low cost one too. I have some FAN4174 which work at 3.6V and say 6mV worst case (@2.7V) so those are promising. But the output offset might be negative so I should check their input CM voltage range. LMC662 looks another reasonable choice and it can handle the full supply.
I've now created a MOSFET bias supply from pin2 of the LM2662. A voltage doubler (using schottky diodes and a cap) generates a 7V bias which is plenty to turn on a couple of back to back FETs (Infineon BSS316). The FETs are a lot more expensive than the cooking grade transistors here - it'd be nice to have a solution using cheaper parts, but for now the FETs'll do. They need to be driven from a window comparator connected to the servo opamp - only when the servo's in range will the FETs be turned on. Probably an LM393 will work.
Update - I decided against the servo in the end and have gone to darlington transistors where I had previously just a single NPN or PNP. This has upped the component count but barely impacted the cost. Having the darlingtons means the input offset's gone down. I'm also using caps on the output which is cheaper protection than FETs. First gash prototype pic attached now atop a CD case. No on-off switch as yet, I do plan to detect when a jack's plugged in and use that to power the amp up, but for now its on all the time to see how long the battery'll last in practice. I checked the current consumption when playing fairly loud and it was roughly double the quiescent level so battery life doesn't look to be any kind of problem.
Total Comments 0