Audio Project Amplifier Speaker Loudspeaker Kit
diyAudio.com diyAudio Forums Archive > Top > Amplifiers > Class D
 
Turn on/off transients - Click HERE for Original Thread
Pierre
Hello all.

There is something that most builders of Class-D amplifiers may have suffered: turn on/off ticks/pops.

I am currently using a IR2113 for gate driving, using the SD pin for turn on/off. There is always an annoying click at the speaker, specially at turn on. First I used a relay to turn on/off several modules at the same time, shorting that pin to GND or driver's VCC, and I thought that the transient was due to the relay bouncing. But now I have done it with a transistor that has no bounce and it still remains the same.

I have measured it and consist of a dirty and damped oscillation that reachs around 20Vpp for 1 cycle or two, and its shape seems to depend on the load nature.

I think that the main cause is the LC filter transient response, and perhaps bootstrap circuit estabilisation. I am sure that some designs don't suffer from that, but can anyone point to a way of avoiding that? (apart from the obvious solution of using relays)

Thanks!
alfsch
could you show the circuit?
i assume a prob with the loop.
Pierre
Yes, of course!
Please give me some time in order to sort it and draw a figure.
Meanwhile, a little description:

- Clock (triangle) based design, oscillating at 250KHz.
- Output filter: 20uH and 440nF, with 18 ohm + 120nF zobel in parallel with the output.
- Error amplifier: inverting configuration: 2k input resistor, 180k local feedback resistor. 6k8+330pF in parallel with that resistor. Feedback is taken AFTER output filter, through a 100k || 47pF network.
- Error amplifier is a NE5532 fed at +/-6V
- Output stage: IR2113, 10uF tantalum bootstrap capacitor.
- Gate resistors: 6.8 ohm in antiparallel with schottky.

That should give an idea of the circuit.

Anyway, I will do some test in open-loop (increasing the 2k resistor to something like 47K to reduce gain), to see if the click still happens.

Best regards,
Pierre.
IVX
Try to keep bootstrap precharged
phase_accurate
What happens with a smaller bootstrap cap (e.g. 0.1 uF) ?

Regards

Charles
Pierre
The thing is that I haven't tried with a smaller cap.

My fear is that, when the amp clips (i.e. one of the mosfets is always on while the other is always off), the behaviour won't be as good as now as the bootstrap cap will eventually discharge.
But take for granted that I will test as there is margin for a reduction.

IVX: How can I get it pre-charged? That won't be easy to achieve practically, is it?
phase_accurate
I am not suggesting to leave it like that but as a trial. If it helps with the startup problem then I'd have another ace in the pocket for the clipping problem.

BTW: How does your amp perform otherwise (reliability, sound ... ) ?

Regards

Charles
Pierre
Thanks. I am all ears...
The amp is performing quite well, sound is very nice and seems also quite reliable (playing for some months at several parties with volume at full power during 7-10 hours). It is now using IRF640N mosfets. They did make the difference in my opinion.
But this "click" is quite annoying... let's see if we can fix it together ;-)

I will post an sch as soon as I have cleaned and updated it!

Best regards,
Pierre
IVX
Pierre,
I saw in the UcD400 33kOhm to +Rail, and 12v zener to overvoltage preventing.
phase_accurate
quote:
I saw in the UcD400 33kOhm to +Rail, and 12v zener to overvoltage preventing.

IMO it is indeed a good idea to pre-charge the bootstrap cap. But I think you will also need a resistor to the negative rail - otherwise no charge-current will flow into the bootstrap cap.

Regards

Charles
alfsch
#phase_accurate
if load (speaker) present, charge flow is ++ 33k zf12 output.
i had this idea also to keep upper driver in working state and get better startup condition..
phase_accurate
:xeye:

You are indeed right !!!

Regards

Charles
Pierre
Mmmm. Interesting, I will also try. Let's see if it is related to bootstrap cap charge or if there is another problem (like control loop as suggested). I will post my results as soon as I have done some tests tomorrow.
Pierre
I had 10uF tantalum in parallel with 100nF ceramic capacitors as bootstrap ones.
I have removed the 10uF one, leaving only 100nF, as suggested by Charles, and the turn on transient is definitely smaller (around 10Vpp max. instead of 20Vpp). However, as expected, the operation is not correct with a 20Hz clipping sine. I have then added 1uF ceramic (instead of 10uF) and the transient is almost the same (aroun 12Vpp) and it also works properly at clipping.

It is now less audible, but still present.

I have also tried the pre-charge trick (30K resistor from bootstrap positive terminal, with 13V zener in parallel with cap), and I have measured no difference.

Well, it seems that the thing has improved, but I think there must be something more...

BTW: The turn off transient hasn't changed with the cap modification ¿?
Workhorse
Hi Pierre,

I also had a similar problem which i eradicated by implementing a 100MFD/25V capacitor from VDD of IR2110 gate driver to SD[shutdown Pin] and a 5K resistor connected from SD to COM



VDD |
|
---- 100uF
----
|
|
SD Pin
|
\
/
\ 5K
/
|
|
COM

Try This!

regards,
K a n w a r;)
Pierre
Thanks, Workhorse.
However, your suggestions is a delayed start-up in order to allow for the rest of the circuit (specially the modulator and its supplies) to estabilize before allowing switching.
My circuit already has provisions for that, there is a 555 circuit that controls the SD pin and implements a delay of about 2 seconds. Everything is working by that moment, and then switching starts and the "click" is produced.

So I'm afraid that's not the cause of my small problem.
phase_accurate
Salut Pierre

How good is the DC offset of the feedback "integrator" before you enable the driver IC ?

Regards

Charles
Pierre
Charles,
I recall it was quite big when no load is present (so much that its output falls outside the triangle amplitude and hence it doesn't start). That offset was caused by a negative voltage in the mosfets output, not the integrator itself.
With a reasonable load (<500 ohm or so), it starts ok. I will check the exact voltage with my current test load (speaker) before enabling the output, but I guess it is quite small (I am sure that it is below 100mV).

Best regards,
Pierre
Workhorse
Hi Pierre,

Have you checked the Transient response in Open-Loop configuraton, and also try to disngage the error amplifier's output to the comparator's input and then check again for transient, you may aslo try to replace the error amp[NE5532] with some other type....

You can also share your schematic with us , so we can review it and might help you with that....problem

regards,
K a n w a r
Pierre
Of course I will share the schematics. In fact I have described it almost totally along the threads, but please leave some time to redraw it. This week is being hard...
I will also try the open-loop response as soon as I can.

Thanks for your help!
phase_accurate
Without any input signal and no feedback signal (which should be the case when the output stage is disabled) there should be no (or minimal) offset voltage at the output of the feedback amplifier. Especially when its DC gain isn't "infinite" like it is the case with your topology.
Could your Triangle generator be a source of DC offset voltage ? Or is it already AC coupled ?

Regards

Charles
Pierre
No, the offset (with very light or no load) is caused by the output stage itself. With both mosfets off, there is a floating negative voltage of more than -20V at the output, with high impedance, as it was easily nulled with a single potentiometer from +V rail to -V rail, the cursor connected at the mosfets midpoint. There must be some small unbalance in the mosfets off leakage current or perhaps something fed from the negative rail, as the driver, is producing that effect.

That produces a small DC offset at the input and it is amplified by the DC gain of the error opamp.
I traced the "problem" to be there, because as soon as I disconnect the feedback resistor there was no offset at the opamp.

However, this is IMHO not related to the turn on transient, as things are perfectly right when load is connected (I said, with below 500 ohm or so it starts perfect as the offset at the error amp is below the triangle amplitude, and with a "normal" (8 ohm for example), load, there was no appreciable offset at the error amp. output (at least with the o'scope)
phase_accurate
So if there is no offset before enabling the driver and both driver circuits are powered up beforehand then there is only one cause for this transient I could imagine: The settling of the NFB loop. Do you still use the "little trick" that enhances phase-margin ?

But I don't know where the turn-off transient would come from. What is its amplitude ?

Regards

Charles
classd4sure
quote:
Originally posted by Pierre
No, the offset (with very light or no load) is caused by the output stage itself. With both mosfets off, there is a floating negative voltage of more than -20V at the output, with high impedance, as it was easily nulled with a single potentiometer from +V rail to -V rail, the cursor connected at the mosfets midpoint. There must be some small unbalance in the mosfets off leakage current or perhaps something fed from the negative rail, as the driver, is producing that effect.

That produces a small DC offset at the input and it is amplified by the DC gain of the error opamp.
I traced the "problem" to be there, because as soon as I disconnect the feedback resistor there was no offset at the opamp.

However, this is IMHO not related to the turn on transient, as things are perfectly right when load is connected (I said, with below 500 ohm or so it starts perfect as the offset at the error amp is below the triangle amplitude, and with a "normal" (8 ohm for example), load, there was no appreciable offset at the error amp. output (at least with the o'scope)


The 20 volts seen on the output is usually the difference between the negative rail and driver supply voltage. I trust you have something clamping the output to that level. I usually attach the high impedance pull down resistor to the lower driver's supply.

Have you made any changes yet? Still drawing the circuit out?

You NEED to precharge the bootstrap cap. The resistor and zener is good, worth doing a little researching on different ways of precharging, it gets a good mention in slup169 too. Nobody mentioned the extra diode. Bypass the zener with the 10n or whatever smaller value bootstrap bypass cap. Don't worry about bypassing the bootstrap cap itself.

If you add both resistors on either side of cap it will also shift the output voltage accordingly. You'll hear a little "thick" when you first plug it in with load attached if the precharge resistor value is too high.

You'll have to balance it all out with what works best, keept the resistors as high a value as you can get away and still have them do their job in the alloted time.

I really would change your error amp, if the 5532 has too much input offset to be DC coupled in the input stage of the Hypex modules I can't see how it would be any better for your application as an error amp, a wideband, low offset, precision op amp would serve best. DC offset will be compounded by unequal impedances at signal frequencies as well :)

You could try a 1pF cap across the inputs of it and see what happens?


Regards,
Chris
Pierre
The schematics, as promised.

If something is clamping the output voltage down, it has high impedance. The only things I can think of are D3 or D4... but IMHO they shouldn't.

About precharge... I agree in that it should improve things, but it really didn't when I tried. I guess 1uF is low enough to have an almost unnoticeable effect as compared to other causes of the turn on "click".
phase_accurate
Nice circuit !

My imagination tells me that a high-side driver that is not ready (i.e. unpowered) at startup must lead to turn-on clicks, but my imagination might also be wrong.

One question: Why do you use a double comparator ? You could as well use one comparator and "phase-split" the drive signal just before your deadtime circuit (or use one of these sexy comparators with inverting and nonoinverting outputs).

Regards

Charles
Pierre
Your imagination is, at least, logical.
If you are referring to the pre-charge circuit for the bootstrap capacitor, well, it seems to have something to do, as the "click" was reduced noticeably as soon as I reduced it from 10.1uF to 1.1uF (tantalum+ceramic caps).
But it is also true, as I have said, that adding a 30K resistor to VCC + zener in parallel) produced no improvement.

The delay from turn-on of the 12v_bias supply until the IR2113 SD pin is released is around 4 seconds (measured). (I think that the RC values shown are not correc now that I see it, it must be something like 100uF + 100k), so all should be estable by that moment, including the bootstrap cap charge.

Perhaps something related to the NFB network???
phase_accurate
Hi Pierre

It looks as if your carrier is approx 6V p-p and 330 kHz. Your unity-gain frequency seems to be around 210 kHz from a short guess. This is too high. Didn't we once discuss this ? This could make your NFB loop settle less fast than optimal but it is not easy to predict how this would be perceived aurally.

Maybe the above is wrong and I would have to recalculate again.

Regards

Charles
Pierre
Yes, Charles, you are right. In fact, sw freq. is around 290KHz.
In fact, I started with your recommended values, but then I played a bit experimentally and found best results with shown values. But perhaps I should rearrange it in order to have it theoretically correct: what mods do you suggest in order to low unity gain point?
Workhorse
Hi Pierre ,

I think you have Left Out one important thing that is : you haven't referenced the NON-inverting + pin of error amp with variable potential divider from bothrails to set the exact midpoint at output not simply an earth reference GND.
The rails should be from the Mosfet side that is + rail & - rail not + - 6.3 V types. This insures a small DC error correction always presented to the error amp....

Both SERGIO's as well as LT schematic Crest amp features this...
and I also have implemeted this...




The Complementary Comparator Scheme ,
I have implemented it before,
Charles you do remember this scheme which i proposed in one of my earlier threads and you helped me by giving your precious suggestions on using Differential Comparator LM360 instead , Thanks Once again Sir Charles Layman



regards,
K a n w a r:)
Pierre
I have also tried that, Workhorse.
In fact, adding a small DC correction at the input can lead to offset cancellation and hence make it start ok with very light loads. But as soon as you connect your real speaker, the DC correction needed produce an unnaceptable output offset (like 3V or so).
So unless you are right about the convenience of that adjustment, it doesn't help in this case.
classd4sure
Hi,

Kanwar that's a good tip, but you neglected to mention doing it for all op amp ground references as well, why not, they should all be common.

I'd run all those grounds to a single point I'm sure Pierre did anyway.

Pierre are Q1 and Q6 matched? How about their respected bias resistors? I could see a delay in one here possibly creating a DC offset once oscillation starts.

How about offset of the 319's? A read a small cap across the inputs can help with offset by making the noise common mode but am now sure how well that would work here.

I found window comparators were too sloppy for this kind of thing, but maybe you can couple your PWM outputs together and force them to keep up by linking them with a small cap or High value resistor, an RC snubber to control the slopes between the two could possibly be even better, they'll have to track the same slope you see? They're high impedance outputs so you should get away with it just fine.

Take Charles up on his advice and you can tighten up the slop from this area, think your problem will be solved.

Regards,
Chris
Pierre
Charles...
I have just simulated my NFB scheme with the values shown in the posted schematics.
I am measuring open-loop response. Please tell me if I am doing it right: measure output/test_signal, where output is at speaker terminal, with 4-8 ohm load, and test_signal is a sine inserted just into the 1k resistor (R45), that is not connected to the mosfets anymore. Input terminal is shorted to GND.

Gain of the PWM stage is modelled by a fixed 19 V/V gain, calculated as the ration between supply rail and triangle peak amplitude (65V/3.5V, as a worst case, highest gain).

In that conditions, I obtain a 0dB loop gain point at 120KHz (8ohm load) and 98KHz (4ohm load). The initial phase is shown as 180degs, phase starts decreasing and at 0dB gain, phase is phase margin = 67 or 91º.

Is this procedure correct? (I attach curves for 4 ohm)
Pierre
...an this is the schematics of my model:
Workhorse
Hi Pierre,

The Level Shifter has something annoying criteria with it, you implement CE stage, but IMHO CB stage will perform better than it and of course it would be a little bit faster too and eradicate the delay problem associated with CE...
Have you tried to replace error amp with JFET input type TL072 opamp??
Since you have already inserted the deadtime before the gate driver IC then what is the purpose of again inserting at the gate drive of mosfets at the output, shouldn't it would increase T.H.D.


....
quote:
Kanwar that's a good tip, but you neglected to mention doing it for all op amp ground references as well, why not, they should all be common.

Hi Chris,

I think the Error opamp is the one who controls the offset upto maximum extent than another device in this circuit...
Secondly ,The Window Comparators inturn causes some Deadtime between complementary PWM outputs, this may be adjusted by using simple resistors at input of Comparators and also the triangle input should be well isolated with a capacitor to eliminate any DC offset entering the Window Comparators...

regards,
K a n w a r
Pierre
Thanks for all the tips!
- I did try with a TL082 (jfet input) with exactly the same results.
- About level shifting, in fact I also tried CB configuration and noticed no improvement in speed, in fact these are working quite well and fast ;-)
- About dead-time: perhaps there is a bit too much deadtime resulting from the addition of the input caps (I think it works equally well with them removed, IR2113's input capacitance being enough) and the diode in the gates. However, that diode also helps in speeding turn-off up.
- About the comparator: I also tried AD8561 and TL3016 with no improvement in speed (in fact very small improvement, totally voided by the level shifters) so I decided to use LM319 for cost reasons.

- About offset: in fact, the circuit, as it is now, produces very low output offset, I would say less than 50mV, with no correction. I am quite happy with that!

Chris, I am not sure if I understand you very well when you talk about coupling comparators outputs together . What's the purpose and expected improvement?

Thanks!
classd4sure
quote:
Originally posted by Workhorse
Hi Pierre,

The Level Shifter has something annoying criteria with it, you implement CE stage, but IMHO CB stage will perform better than it and of course it would be a little bit faster too and eradicate the delay problem associated with CE...
Have you tried to replace error amp with JFET input type TL072 opamp??
Since you have already inserted the deadtime before the gate driver IC then what is the purpose of again inserting at the gate drive of mosfets at the output, shouldn't it would increase T.H.D.


....

Hi Chris,

I think the Error opamp is the one who controls the offset upto maximum extent than another device in this circuit...
Secondly ,The Window Comparators inturn causes some Deadtime between complementary PWM outputs, this may be adjusted by using simple resistors at input of Comparators and also the triangle input should be well isolated with a capacitor to eliminate any DC offset entering the Window Comparators...

regards,
K a n w a r


It does but in his design the reference is not AC coupled like you're saying so it's critical all those grounds are common and tight, precision components etc, referenced to the rails virtually like you're saying. AC coupling is easier and a good idea.

I'm not sure is resistors is at the comp. inputs and AC coupling the reference signal will be enough to cure this given the independant pwm outputs.

With drift and component variation while a resistor at the input may adjust the deadtime statically it won't do much to ensure that Q1 and 6 work in tandem and stay that way.

The gate resistor is a requirement to decouple it from the driver. This will help the driver by sharing power consumption and dampen parasitic ringing. Could also help limit EMI by slowing turn on and in extending the Vds slope to allow for recombination in the body diode. It could either hurt THD or help it, the right value shouldnt' hurt it.

Regards,
Chris
phase_accurate
Salut Pierre

Your open-loop bode plot doesn't look bad indeed. I'd leave it like that - even more when these are TRIED values.

My gut feeling is still that it must be some sort of offset that needs to stabilise. As Chris and Kanwar mentioned we should not forget inaccuracy in the time-domain as a possible source of offset.

Since you use two comparators, one could also implement some kind of soft-start.

Regards

Charles
Pierre
Thanks, Charles.
I am glad that the open-loop response looks good to you, but is the model and the way of measuring it correct? I would like to settle this solidly so I (and others) can have a good tool to analyse the feedback networks.

Mmmm. Your idea about soft-start is good and I have also though about that if you mean that the volume (gain) increases slowly when the circuit starts.
But the problem is... how can I implement that? I really don't see it easy using the comparators, do you have any particular idea that want to share with us?

One test that is very easy for me is AC coupling the triangle to the comparators. When I have done it I will tell you the results.

Best regards,
Pierre
classd4sure
Pierre the very small valued cap across comp. inputs is said to neutralize the DC offset/drift by keeping fast acting transients/noise common to both pins so that the op amp /comparator may reject it. I've only seen a few pico used her, nothing more. It's a bandaid. I'm just throwing ideas your way though.

Here's another one I forgot to mention earlier. Still picking on Q1 and 6. Those are high voltage/current medium power video amplifier/switches.

They work, but I don't think best. Consider trying a low voltage small signal with high Beta and Ft. Something like a 2N3904 is a good candidate IMHO. I think you'll get cleaner and faster signals to your driver that way.

Regards,
Chris
Pierre
Thanks for the transistors suggestion.
I first thought on something more "usual" like 2n3904, but unfortunately their Vce rating is only 40V. I need something like 70-100V (Vcc modulator + (-Vrail max) + some margin)
classd4sure
quote:
Originally posted by Pierre
Thanks for the transistors suggestion.
I first thought on something more "usual" like 2n3904, but unfortunately their Vce rating is only 40V. I need something like 70-100V (Vcc modulator + (-Vrail max) + some margin)

My mistake you're right, I thought that 6.3 was referenced to the negative rail as well... sorry :)

BTW I like your decoupling.
Pierre
Chris,
Now that you mention it, I forgot to include the main rails supply decoupling in the posted sch: it consists on a 220uF/100V/105ºC capacitor in parallel with a ceramic 100nF/100V SMD capacitor for each rail to GND, very near the mosfets.
Pierre
Charles, about NFB:
The response looks quite good experimentally. With resistive loads, there is no trace of inestability at any point of the signal. Sound is very good for my taste also. The only hint observed is some HF oscillation at certain high amplitudes with my test loads (JBL TR225 2x15"+tweeter), perhaps they are too complex.
Is that normal/acceptable?
phase_accurate
Salut Pierre

Do you have any possibility to use a dummy load that shows about the same impedance as the speaker box above the audible range ? This would be convenient for testing of loop stability.

Regarding the level shift transistors: They can be operated faster if used as common base - but this would make more changes to the circuit necessary.

The soft start solution I was talking of would also need quite some circuit effort in your case.
It could be implemented easier whith a topology that uses two comparators to achieve tuneable dead-time (i.e. window comparator) like Kanwar uses. One would just begin with infinite dead-time and gradually reduce it to the final value upon startup - this would mean the same as gradually changeing from a class-BD to a class-AD amp.

Regards

Charles
Pierre
The problem here is to model the impedance of the box. Anyway, the test load should be representative of a typical load, it makes no sense to optimize the amp. for a single type of speaker.
alfsch
to test amps, i made a little box with some switches parallel .:
-- 8 ohm
-- 8 ohm
-- 1uf + 0,5 r
-- 0,3 mh + 2 ohm

this makes test simple: no load, 8, 4 ohm or kap or ind. load, like a speaker chassis.
Pierre
Very valuable suggestion, alfsch, Thanks!

From your experience, what is the typical situation for a typical box? all switches activated? (or all except one of the 8 ohm resistors for 8 ohm loads). I suppose that model doesn't include the typical crossover effects, right?

I will recalculate the simulations to see how phase margin is affected with these loads.


Best regards
Pierre
With the dummy load model proposed, 8 ohm resistance, the simulations show that phase margin is reduced to around 25º.
That's quite small, so I decided to change the feedback cap from 33pF to 56pF, and that seems to improve things a lot and produce a phase margin of around 42º.
I have to test that change in the real amplifier, and then I will tell you...
alfsch
imho typical box impedance is not useful.
more difficult for amps is cap. or ind. load, as i wrote;
cap is about like using a el.static speaker,
ind. like a bass-chassis only .
so you see r..real load (never real for real speakers ;)
cap / ind or both :att'n: : load with +/- phase for current.
if a amp has no problem with any combination, you can assume, it will be stable with most or maybe all speakers.
the ind. load i use is more complex :
it simulates a bass-speaker with typical resonance...
Workhorse
Hi Pierre,

Try this, Short the output of Error amp i.e. input of window comparator to GND and then check for any output DC Transient offset at startup.....

What are the results after AC coupling the Triangle to Comp. input???

regards,
K a n w a r
Pierre
Kanwar. Your proposal is welcome.
Unfortunately, I won't be doing the tests until Monday, but the last one you have proposed really worths the pain, as it will tell me to what extent the effect is due to output stage + filter estabilization or if control (NFB or offset) is the culprit.

Best regards,
Pierre
ekaerin
Hi Pierre,

I once had problem with the IR2113 device when its
different supplies did not come up in the right sequence.

I think that the logic supply must come up first otherwise
it may show erratic operation during power up, regardless
the state on the SD pin.

Just an idea.

/ Mattias
Pierre
Mmmm. Perhaps, but if the SD pin is enabled for a couple of seconds, you give enough time for it to estabilize, then you disable the SD pin and then (when the supplies are all ok, except bootstrap), when the click is heard.
ekaerin
Pierre,
OK, I see. Sorry I didn't get that. Usually when designing powersupplies
I just tie the SD pin to GND.

Keep searching / cheers / Mattias
Workhorse
Hi Pierre,

You haven't told about your problem Status...[turn-on/off transients]

Is it solved or not, if yes what type of changes have you made in your design, it would be very good for all of us to see your nice updated schematic..... and it would be quite also helpfull for diyer's knowledge bank....

cheers,
K a n w a r;)
Pierre
I didn't make any changes by the moment, that's why I haven't posted anything.
The biggest improvement was made by reducing the bootstrap capacitor from 10uF to 1uF. The turn-on click is much lower now. The turn-off one is almost the same, but not very annoying.
jbimbane
Question, is there any reason for a groundloop isolator to create this type of reaction to a B / D amplifier?
Pierre
Could you please detail what are you refering to as a "groundloop isolator"?
Workhorse
Salut Pierre,

Any updates on schematics??

Aren't these good for forum Health..:D ;)

K a n w a r
Workhorse
Hi Pierre,

Any updates so far of your project....

regards,
K a n w a r

Page generated in 0.12902998924255 seconds with 17 queries,
spending 0.00978398 doing MySQL queries and 0.11924601 doing PHP things.

Powered by: Search Engine Indexer and vBulletin
Copyright ©1999-2008 diyAudio.com

Please support our sponsor.