BA662 vs BA6110 thread, again

Started by Dimitree, December 17, 2013, 07:36:27 AM

Previous topic - Next topic

Dimitree

Hi everyone
I have a Boss CS2 compressor that uses the famous and rare BA662 chip.
I'd like to clone the pedal using the BA6110 chip that is pretty similar, but not totally.
Many attemped to do this, in other projects, for example, Roland analog drum machines, Boss vibrato pedal, and other gear, but I haven't seen anyone getting good results on a CS2.
And so I tried to swap the BA662 in my CS2 and I put there the BA6110: the sound was really different, output volume dropped, no compression audible, and distortion at high "sustain" values.

Here is a CS2 schematic:


some prerequisites about the chip:
- the BA662 and BA6110 both come in SIL packages but have different pinout arrangment for the first 4 pins.
- the BA662 buffer is not used on the actual CS2, even if it is on the schematic, on the actual pedal (and I've seen some other too) pins 7 and 8 are not connected with the rest of the circuit.
- the BA662 datasheet is impossible to find, we only got the BA6110 datasheet.

and some links:

http://www.ladyada.net/make/x0xb0x/
Here the BA6110 is used with a current mirror (actually two?) in order to replicate the BA662

http://www.subatomicglue.com/x0xl0g/ba662a-analysis/
Here we learn that the BA6110 has a lower output of about 3-7dB compared to the BA662 (and they use the current mirror above too)

http://www.firstpr.com.au/rwi/dfish/TT-303/click-fix/
Here there is a technical analysis of the current mirror above, with the conclusion that this is not an optimal solution (why?), and we discover that BA662 control current pin must be at 0.6V for current to flow while BA6110 control pin threshold is about 1.15V.

http://wiki.openmusiclabs.com/wiki/x0xb0x
Here there is an attemp to clone the BA662 using its internal wiring but based on suppositions.

So, looks like the differences (except the pinout) are mainly 2: output volume and control pin threshold.
Any suggestions in order to fix those diffences?

Dimitri

PRR

Despite the Roland part-numbers.....

One is the '3080 which has a single-junction Iabc input. 

The other is the LM3700 which has a two-junction Iabc input.

Pinouts will be different. Roland may not have used the dual-OTA mask. But they are surely the same parts.
  • SUPPORTER

Dimitree

which one is which?
BA662 -> '3080 and BA6110 -> LM3700 ?
unfortunately I don't know almost nothing about those OTA, so what's single-junction Iabc input and two-junction Iabc input?
so you think that I could change the BA662 with one of those 2 simply by checking the pinouts and without changes in the circuit?

armdnrdy

I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

g_u_e_s_t

i did the ba662 reverse engineering on the openmusiclabs site.  i fed in currents and test voltages to figure out the arrangement of transistors inside.  although i cant say definitively, im pretty sure the schematic there is accurate.

if pins 7 and 8 are not used, is pin 4 used?  id guess not.  if that is the case, then a 3080 would be a good substitute, except for the dip package part.  the ba6110 has the 1.2V input voltage drop, which makes it not so good.  the current mirrors fixed this for the x0x, and would probably do the same here.  the output volume is dropping because of the 1.2V, and the fact that the current being fed into this pin is coming from a resistor and emitter follower.  you could try raising the base of q7 up.  put a voltage divider from its current postion to Vcc.

i have it on my backburner to make a drop in replacement for the ba662 out of discrete transistors.

Dimitree

thank you :)
I would try discrete transistor replacement but I've got no parts to breadboard it..
For the moment I'm trying with a 3080. Pin 4 is actually connected as in the schematic, but if 7 and 8 are not, maybe it is not needed?
The only doubt about 3080 is that once I've read that the BA662 is sonically superior to the 3080, post #5 by Mark Hammer:
http://www.diystompboxes.com/smfforum/index.php?topic=28369.0

armdnrdy

Quote from: Dimitree on December 17, 2013, 07:36:27 AM

http://www.subatomicglue.com/x0xl0g/ba662a-analysis/
Here we learn that the BA6110 has a lower output of about 3-7dB compared to the BA662 (and they use the current mirror above too)


Reread the information in the link that you posted. The BA6110 has a higher output of about 3-7dB compared to the BA662.
I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

g_u_e_s_t

Quote from: armdnrdy on December 18, 2013, 12:48:39 PM
Quote from: Dimitree on December 17, 2013, 07:36:27 AM

http://www.subatomicglue.com/x0xl0g/ba662a-analysis/
Here we learn that the BA6110 has a lower output of about 3-7dB compared to the BA662 (and they use the current mirror above too)


Reread the information in the link that you posted. The BA6110 has a higher output of about 3-7dB compared to the BA662.

i wouldn't put too much stock in that comparison.  not that the tests weren't done well, but that is a ba6110 + current mirror versus the ba662.  as robin whittle pointed out, the current mirror in the x0x does not use matched pairs, so the current being fed into the control pin will not be an exact match.  it was probably the case that the current mirror amplified the control current a fair bit on that x0x.

as far as sonic quality of one OTA versus another, there are 3 things to consider: 1. transistor noise, 2. Vbe matching, 3. frequency response.  note that transistor beta isnt a big concern.  for both current mirrors and differential amplifiers (the 2 transistor topologies used in an OTA) beta doesnt matter nearly as much as Vbe matching.  as the 3080 is a pretty old chip, id assume its a bit more noisey, and has worse Vbe matching than something newer.  the frequency response of any of them is probaby more than enough for any audio application.

another possible solution to the 1.2V problem, would to be putting a PNP emitter follower after q7, to bump all the voltages there up .6V.  or replace q7 with a rail to rail opamp follower, thus eliminating its .6V.

Dimitree

many thanks again, you are really helping a lot.
so I hope I understood well (I'm don't speak english so am I trying..).
the solutions could be:

1) using the BA6110 + a current mirror that uses matched pairs of transistor (any suggestion about which transistors to use?)
2) using a 3080, but only if pin 4 of BA662 is not actually used
3) using a less-noisy replacement for the 3080
4) using an opamp follower to replace Q7 instead of the current mirror (but what "rail to rail" means here?)
5) using your BA662 replacement made of discrete transistors (ideal solution but not easy to achieve)

did I understand well? which one would you choose?

g_u_e_s_t

im assuming pin4 shouldnt matter, as pins 7 and 8 are not used.  so the 3080 would be the easiest option, if you can find a 3080.  otherwise if you have matched pair transistors (any one should work) the ba6110+current mirror would be good.

you might want to replicate the pin4 connection, as it could pull the bias down on q5.  it probabaly doesnt matter much, as its a 50 input resistance (and the other resistors are smaller) but who knows?  a 50k + 1n4148 to ground from that connection would replicate the pin4 impedance.  im guessing it wont matter too much.

Dimitree

great, yes I have a 3080 here, so I try this.
To match transistors I need to match the hFE for the 2 NPNs and then the 2 PNPs?

The most elegant solutions looks the opamp buffer, should I hook it like this perhaps?

g_u_e_s_t

yes, that opamp configuration i correct, but it will need to be rail-to-rail, which means one that can swing its input and output voltages all the way to the voltage supply rails. something like the MCP6002 should be fine.  but i would try the 3080 first and see how that sounds.

Dimitree

yes of course I will try the 3080 option first..in the meanwhile I will breadboard the opamp option too.. I should have some MCP6002 (actually MCP6001, single opamp), but its supply voltage is 6V max if I'm not wrong..it is ok too or should I find a rail to rail opamp that can handle 9V? if it's ok 6V, I can supply it using one of the voltage divider in the circuit for VDD and 0V-GND for the VSS?

g_u_e_s_t

Quote from: Dimitree on December 18, 2013, 05:10:10 PM
yes of course I will try the 3080 option first..in the meanwhile I will breadboard the opamp option too.. I should have some MCP6002 (actually MCP6001, single opamp), but its supply voltage is 6V max if I'm not wrong..it is ok too or should I find a rail to rail opamp that can handle 9V? if it's ok 6V, I can supply it using one of the voltage divider in the circuit for VDD and 0V-GND for the VSS?

good catch!  sorry about that, i forgot the mcp series only does 6V.  you will need something higher.  the TLV2372 is good, or the LMC6482.  maybe TS922 or TS912?

Dimitree

ok I will try to get some TLV2372 then :)
I'm breadboarding a 4x transistor current mirror too.. should I match them at 2 by 2 or all 4 should be matched togheter? for the matching, I only need to check the hFE with my multimeter?

Dimitree

btw..about your discrete transistors replacement for the BA662, do you have any suggestion about what transistor parts to use? I mean, do you know any easy to find dual NPN and dual PNP in small SMD packages (like SO23 or similar) that could be used?

g_u_e_s_t

for the current mirror, it only needs to be matched 2 x 2, one set pnp, the other npn.

there are some really good SMT matched pairs these days.  the ones i used were the PMP4201/5201.  they are really small, though, smaller than SOT-23.  they have good characteristics, and very good matching.  the BCM62 come in SOT-23 style packaging, but only have 10% match, and are only current mirror configuration.  otherwise there are the the SOIC versions from THAT corporation.  the eagle schematic is up on the openmusiclabs wiki if you want to use the PMP4201.

PRR

> the ba6110 has the 1.2V input voltage drop

As does the LM3700.

The '3080 Iabc input is simple, the '3700 Iabc input is more precise at extremes (which may not matter here, as long as we work to the higher voltage).

There's really not much else can be different. In most chips the bias currents and resistors set the gain, here there are no resistors and the current can be anything (up to the smoke-point).

There are marketing differences. '3080 is single, '3700 is dual. '3700 includes emitter-follower buffers which are often useful, and there's two types '3600 and '3700. It appears this BOSS uses the 1.2V version but only needs a single; using '3700 is "a waste" but gets the job done better than a discrete lash-up.
  • SUPPORTER

armdnrdy

@ g_u_e_s_t

You have mentioned "if pins 7 and 8 are not used, is pin 4 used?  id guess not"
but in the CS-2 circuit the buffer is used and pin 4 is biased from the R10, R12, R9 divider.

What do you suggest for that?

It seems as if the 6110 buffer would not be used, and a discreet solution similar to your drawing of the 662 would have to be implemented. Buffer and current mirror.

Thoughts?
I just designed a new fuzz circuit! It almost sounds a little different than the last fifty fuzz circuits I designed! ;)

g_u_e_s_t

Quote from: armdnrdy on December 19, 2013, 01:14:24 AM
@ g_u_e_s_t

You have mentioned "if pins 7 and 8 are not used, is pin 4 used?  id guess not"
but in the CS-2 circuit the buffer is used and pin 4 is biased from the R10, R12, R9 divider.

What do you suggest for that?

It seems as if the 6110 buffer would not be used, and a discreet solution similar to your drawing of the 662 would have to be implemented. Buffer and current mirror.

Thoughts?

the ba6110 buffer is identical to the ba662 buffer, which is why its a good substitute for a lot of applications.  the only difference is that the ba6110 doesnt have the bias control pin, which shouldnt matter too much.  if it does cause issues, a discrete solution is the only other way.