2.1 Carga: Passiva vs Ativa

É comum em cursos introdutórios de Eletrônica começar-se com amplificadores simples, isto é, amplificadores com apenas um transistor. Importante dizer que apenas um transistor amplificador, não um transistor ao todo. Esse amplificador além de ter apenas um transistor também tinha um resistor como carga. Também é comum que se use um divisor resistivo para fornecer a tensão de polarização na entrada do amplificador. E, por fim, também é comum esse use capacitores para acoplar o circuito a fonte de sinal e à carga a qual alimentará.

O interesse aqui é que façamos um “enxugamento” do circuito: não mais usaremos os capacitores de acoplamento e faremos a substituição da carga resistiva por um transistor. Sim, usaremos um transistor como carga no lugar de um resistor. A motivação principal para essas mudanças vendo fato de que componentes passivos são muito grandes dentro de um circuito integrado. Isto é, a área que ocupam é muito maior que a área ocupada por diversos transistores.

Outro motivo muito importante para a troca do resistor de carga por um transistor é aumentar o ganho do circuito mantendo ou diminuindo pouco a faixa de passagem. Com a utilização de um transistor como carga também pode-se fazer um controle maior das impedâncias de entrada e saída do amplificador. Como já visto em cursos anteriores os transistores são componentes ativos e, por isso, chamaremos de carga ativa o transistor que substituirá o resistor como carga do amplificador.

O exemplo a seguir ilustra a diferença no comportamento de um amplificador simples com uma carga resistiva e com uma carga ativa. No exemplo temos um transistor amplificador em NMOS na configuração fonte comum. As Figuras 2.1 e 2.2 contêm o esquemático de cada um dos tipos de amplificador. Nos dois casos os transistores amplificadores terão o mesmo tamanho e serão submetidos a mesma tensão de polarização de porta. A mesma tensão dreno-fonte, \(V_{DS}\) (\(V_{DD}\)), será aplicada em ambos os circuitos. Como é apenas um exemplo ilustrativo a preocupação com dissipação térmica e densidade de corrente nos dispositivos não será observada aqui. O transistor amplificador possui \(L=0,\!6\ \mu m\) e \(W=48\ \mu m\) está polarizado com \(V_{GS}=0,\!794\ V\).

Amplificador fonte comum NMOS com carga resistiva.

Figura 2.1: Amplificador fonte comum NMOS com carga resistiva.

Amplificador fonte comum NMOS com carga ativa.

Figura 2.2: Amplificador fonte comum NMOS com carga ativa.

Importante notar que como transistor de carga, \(M_{2}\) precisa de uma tensão de polarização também (\(V_{B}\)). Mais à frente veremos que o transistor nessa condição está operando como uma fonte de corrente. Para que a comparação seja feita, dois códigos de simulação8 foram elaborados e os resultados estão nas Figuras 2.3 a 2.11. As simulações usadas no exemplo estão após os resultados. A primeira simulação se refere a um amplificador com carga resistiva em que apenas a carga \(R_{D}\) será variada em torno de \(70\ k\Omega\) (\(40-100\ k\Omega\)) para que possamos avaliar a evolução do ganho do amplificador em função da carga. Ou seja, com a exceção da carga, todas as demais condições influentes no circuito serão mantidas constantes: polarização de porta, tensão de alimentação, temperatura de operação e o tamanho do dispositivo. Os resultados selecionados se referem a: ganho, corrente dreno-fonte, transcondutância e resistência de saída do transistor amplificador.

Conforme já esperado com o aumento da resistência de carga a corrente irá cair e com ela também a transcondutância. Como o ganho é diretamente proporcional à resistência de carga e à transcondutância, o aumento de um provoca a diminuição do outro e a curva de ganho é tal como se pode ver na Figura 2.3. Era esperado que \({r_{o}}\) também aumentasse com a diminuição de \(I_{DS}\), contudo, a tensão \(V_{DS}\) também diminui (maior queda de tensão em \({r_{o}}\)), mantendo a tendência de queda em \({r_{o}}\). O ganho final para \(R_{D}=70\ k\Omega\) foi \(|A_{v_{R}}|=57,\!9\ V/V\). Lembrando que o ganho de um fonte comum é aproximado por:

\[\begin{equation} A_{v_{fc}}\ =\ -{g_{m}}({r_{o_1}}||R_{D}) \tag{2.1} \end{equation}\]

Ganho - fonte comum NMOS com carga resistiva.

Figura 2.3: Ganho - fonte comum NMOS com carga resistiva.

$\IDS$ - fonte comum NMOS com carga resistiva.

Figura 2.4: \(I_{DS}\) - fonte comum NMOS com carga resistiva.

$\gm$ - fonte comum NMOS com carga resistiva.

Figura 2.5: \({g_{m}}\) - fonte comum NMOS com carga resistiva.

$\ro$ - fonte comum NMOS com carga resistiva.

Figura 2.6: \({r_{o}}\) - fonte comum NMOS com carga resistiva.

Continuando o exemplo temos o amplificador com carga ativa e, com ele, percebemos que o transistor consegue trabalhar como fonte de corrente mantendo-a no circuito enquanto provê uma impedância de saída muito alta. E, por causa disso, o amplificador com carga ativa consegue atingir ganhos maiores com o mesmo transistor amplificador nas mesmas condições de polarização. É fato que o ganho maior depende de uma escolha adequada para o comprimento (\(L\)) e a largura (\(W\)) do transistor de carga ativa (\(V_{B}\)). Outra questão que aparece com a carga ativa é que agora é necessário que se tenha uma fonte adicional para polarização do transistor de carga. E, além da necessidade de implementação de uma segunda fonte de polarização é preciso também um trabalho adicional para ajuste dessa tensão de polarização. Contudo, os resultados obtidos valem o esforço: o ganho final do amplificador com carga ativa foi \(|A_{v_{CA}}|=271,\!1\ V/V\). Nesse momento não analisaremos outras figuras de mérito de interesse: impedâncias de entrada/saída, faixa de passagem, frequência de ganho unitário e tensão de flutuação CC na saída, por exemplo.

Importante ressaltar que o valor da resistência de saída do transistor de carga ativa, \({r_{o_2}}\approx750\ k\Omega\) é muito maior do que os \(70\ k\Omega\) do amplificador com carga resistiva, o que pode ser verificado na Figura 2.11. E esses valores são alcançados com a corrente e transcondutância em valores muito próximos tanto no caso quanto no outro. Essa é a evidência definitiva de que o transistor atuando como fonte de corrente mantém a transcondutância enquanto provê uma resistência de saída maior. Lembrando do ganho do fonte comum na Equação (2.1), trocando-se \(R_{D}\) por \({r_{o_2}}\), mantendo-se a transcondutância em valores muito próximos, fechamos a explicação de por que o ganho com carga ativa é maior que obtido com carga resistiva.

Nas seções seguintes os detalhes do transistor funcionando como fonte de corrente serão fornecidos, principalmente na análise de pequenos sinais. Para finalizar, dentro da faixa de variação das cargas respectivamente para cada amplificador, traçou-se um histograma para o ganho em cada caso. Ambos os histogramas estão na Figura 2.7.

Figura 2.7: Histogramas para o ganho: carga passiva e carga ativa.

Os histogramas foram traçados a partir dos mesmos dados de simulação que geraram os gráficos das Figuras 2.3 e 2.8. Isto é, a Figura 2.7 é apenas uma forma diferente de se verificar os dados mostrados. E, de uma maneira clara, percebe-se as possibilidades de ganho para cada caso, lembrando que o transistor amplificador e a polarização são os mesmos, apenas a carga foi mudada.

Ganho - fonte comum NMOS com carga ativa.

Figura 2.8: Ganho - fonte comum NMOS com carga ativa.

$\IDS$ - fonte comum NMOS com carga ativa.

Figura 2.9: \(I_{DS}\) - fonte comum NMOS com carga ativa.

$\gm$ - fonte comum NMOS com carga ativa.

Figura 2.10: \({g_{m}}\) - fonte comum NMOS com carga ativa.

$\ro$ - fonte comum NMOS com carga ativa.

Figura 2.11: \({r_{o}}\) - fonte comum NMOS com carga ativa.

2.1.1 Código de Simulação: fonte comum com carga resistiva

Código de simulação do fonte comum com carga resistiva, para NGSpice, usado para obtenção dos resultdos mostrados no exemplo anterior.

*** Fonte Comum com carga resistiva
*** Estudo preliminar para comparacao
*** com o FC com carga ativa
.global gnd vdd vss
.options savecurrents
.options filetype=ascii
.options wnflag=1
.options numdgt=10
.options measdgt=10

*** Circuito completo do Amplificador
** Transistor amplificador: nome dreno porta fonte corpo modelo L= W=
M1 vo vin gnd gnd N_1u L=0.6u W=48u
** Resistor no coletor, com valor de resistencia dado pela variavel .param rd=70k
Rd vdd vo {rd}

*** Definicao de parametros e inclusao de arquivos
.include "..\..\modelos\cmosedu_models.txt" ; precisa ser modificado para o seu computador
.param offset=0.794 ; flutuacao continua da senoide de entrada
.param amp=1m ; define a amplitude da senoide de entrada
.param rd=70k ;define o valor da carga resistiva
.param vd=5 ;valor de Vdd

*** Definicao das fontes do circuito
** Fonte CC de alimentacao do circuito
vdd vdd gnd dc {vd}
** Fonte de sinal aplicada a entrada
v1 vin gnd sine ({offset} {amp} 10k) AC 1

.end

.control
set color0=white ; cor de fundo dos graficos = branco
set color1=black ; cor da grade dos graficos = preto

let start=40k
let stop=100.5k
let passo=0.5k
let total=(stop-start)/passo
let resistencia=start
let i=0
let ganho = unitvec(total)
let rd = unitvec(total)
let vom = unitvec(total)
let gm = unitvec(total)
let ro = unitvec(total)
let rt = unitvec(total)
let id = unitvec(total)

* Cria arquivo para armazenar os dados
echo rd ganho gm ro id vom > fc_nmos_res_cmosedu.txt

while resistencia <= stop
  * Altera o valor de Rd no circuito
  *alter rd resistencia ;ou alternativamente
  alter @rd[resistance] = resistencia
  tran 0.1u 0.4m ; executa a analise transitoria
  meas tran vo_medio avg v(vo) from=50u to=150u ; mede valor medio na saida
  meas tran vopp pp v(vo) from=50u to=150u ; mede pico-a-pico na saida
  meas tran vipp pp v(vin) from=50u to=150u ; mede pico-a-pico na entrada
  meas tran id_medio avg @m1[id] from=50u to=150u ; mede valor medio da corrente dreno-fonte
  let g=vopp/vipp ; calculo do ganho dessa rodada de simulacao 
  let ganho[i]=$&g ; armazena ganho no vetor
  let gm1 = @m1[gm] ; transcondutancia dessa rodada
  let gm[i] = $&gm1 ; armazena transcondutancia dessa rodada
  let ro1 = 1/@m1[gds] ; resistencia de saida dessa rodada
  let ro[i] = $&ro1 ; armazena resistencia de saida dessa rodada
  let id[i] = $&id_medio ; armazena corrente dreno-fonte dessa rodada
  let vom[i]=$&vo_medio ; armazena o valor medio de saida da rodada
  let rd[i]=$&resistencia ; armazena o valor da resistencia da rodada
  let rt[i]= $&resistencia*$&ro1/($&resistencia+$&ro1) ; calcula a resistencia de saida do amplificador

  * Incrementa o arquivo com os dados da rodada
  echo $&resistencia $&g $&gm1 $&ro1 $&id_medio $&vo_medio >> fc_nmos_res_cmosedu.txt

  * Incrementa a rodada e continua
  let i = i + 1
  let resistencia = resistencia + passo
end

plot ganho vs rd
plot ro vs rd
plot gm vs rd
plot id vs rd
plot vom vs rd
plot ganho vs rd gm*rt vs rd

** Exportar os graficos para arquivo
set hcopypscolor=1 ; ajusta fundo branco para figuras salvas
* Salva em formato EPS os graficos gerados
* observe que apos nome do arquivo a chamada e identica
* a chamada anterior com o comando 'plot'
hardcopy fc_nmos_res_ganho_vs_rd.eps ganho vs rd
hardcopy fc_nmos_res_ro_vs_rd.eps ro vs rd
hardcopy fc_nmos_res_gm_vs_rd.eps gm vs rd
hardcopy fc_nmos_res_id_vs_rd.eps id vs rd
hardcopy fc_nmos_res_compara_ganhos.eps ganho vs rd gm*rt vs rd
hardcopy fc_nmos_ca_vom_vs_rd.eps vom vs rd

* Mostra as variaveis calculadas
display

.endc

2.1.2 Código de Simulação: fonte comum com carga ativa

Código de simulação do fonte comum com carga ativa, para NGSpice, usado para obtenção dos resultdos mostrados no exemplo anterior.

*** Fonte Comum com carga resistiva
*** Estudo preliminar para comparacao
*** com o FC com carga ativa
.global gnd vdd vss
.options savecurrents
.options filetype=ascii
.options wnflag=1
.options numdgt=10
.options measdgt=10

*** Circuito completo do Amplificador
** Transistor amplificador: nome dreno porta fonte corpo modelo L= W=
M1 vo vin gnd gnd N_1u L=0.6u W=48u
** Transistor de carga ativa
M2 vo vb vdd vdd P_1u L=2.4u W=24u ;L=1.0u W=12u

*** Definicao de parametros e inclusao de arquivos
.include "..\..\modelos\cmosedu_models.txt" ; precisa ser modificado para o seu computador
.param offset=0.794 ; flutuacao continua da senoide de entrada
.param amp=1m ; define a amplitude da senoide de entrada
.param vd=5 ;valor de Vdd
.param vb=3.443 ; polarizacao da carga ativa para ganho maximo

*** Definicao das fontes do circuito
** Fonte CC de alimentacao do circuito
vdd vdd gnd dc {vd}
** Fonte de sinal aplicada a entrada
v1 vin gnd sine ({offset} {amp} 10k) AC 1
** Fonte CC para polarizacao da carga ativa
vb vb gnd dc {vb}
.end

.control
set color0=white ; cor de fundo dos graficos = branco
set color1=black ; cor da grade dos graficos = preto

let start=3.4 ; 3.4
let stop=3.61 ; 3.601
let passo=10m
let total=(stop-start)/passo
let bias=start
let i=0
let vbias = unitvec(total)
let ganho = unitvec(total)
let vom = unitvec(total)
let gm = unitvec(total)
let ron = unitvec(total)
let rop = unitvec(total)
let rt = unitvec(total)
let id = unitvec(total)
let vdsatn = unitvec(total)
let vdsatp = unitvec(total)
let vgsn = unitvec(total)
let vgsp = unitvec(total)


* Cria arquivo para armazenar os dados
echo vb ganho gm ro1 ro2 id vom > fc_nmos_ca_cmosedu.txt

while bias <= stop
  * Altera a tensao de polarizacao e simula
  alter @vb[dc] = bias
  tran 0.1u 0.4m ; executa a analise transitoria
  meas tran vo_medio avg v(vo) from=50u to=150u ; mede valor medio na saida
  meas tran vopp pp v(vo) from=50u to=150u ; mede pico-a-pico na saida
  meas tran vipp pp v(vin) from=50u to=150u ; mede pico-a-pico na entrada
  meas tran id_medio avg @m1[id] from=50u to=150u ; mede valor medio da corrente dreno-fonte
  let g=vopp/vipp ; calculo do ganho dessa rodada de simulacao 
  let ganho[i]=$&g ; armazena ganho no vetor
  let gm1 = @m1[gm] ; transcondutancia dessa rodada
  let gm[i] = $&gm1 ; armazena transcondutancia dessa rodada
  let roa = 1/@m1[gds] ; resistencia de saida NMOS dessa rodada
  let ron[i] = $&roa ; armazena resistencia de saida NMOS dessa rodada
  let rob = 1/@m2[gds] ; resistencia de saida PMOS dessa rodada
  let rop[i] = $&rob ; armazena resistencia de saida PMOS dessa rodada
  let id[i] = $&id_medio ; armazena corrente dreno-fonte dessa rodada
  let vom[i]=$&vo_medio ; armazena o valor medio de saida da rodada
  let rt[i]= $&roa*$&rob/($&roa+$&rob) ; calcula a resistencia de saida do amplificador
  let vdsatn[i] = @m1[vdsat] ; armazena tensao de saturacao NMOS dessa rodada
  let vdsatp[i] = @m2[vdsat] ; armazena tensao de saturacao NMOS dessa rodada
  let vbias[i]= $&bias ; armazena o valor da polarizacao dessa rodada da carga ativa 

  * Incrementa o arquivo com os dados da rodada
  echo $&bias $&g $&gm1 $&roa $&rob $&id_medio $&vo_medio >> fc_nmos_ca_cmosedu.txt

  * Incrementa a rodada e continua
  let i = i + 1
  let bias = bias + passo
end

plot ganho vs vbias
plot ron vs vbias
plot rop vs vbias
plot ron vs vbias rop vs vbias ylog
plot gm vs vbias
plot id vs vbias
plot vom vs vbias
plot vdsatn vs vbias
plot vdsatp vs vbias
plot ganho vs vbias gm*rt vs vbias

** Exportar os graficos para arquivo
set hcopypscolor=1 ; ajusta fundo branco para figuras salvas
* Salva em formato EPS os graficos gerados
* observe que apos nome do arquivo a chamada e identica
* a chamada anterior com o comando 'plot'
hardcopy fc_nmos_ca_ganho_vs_vb.eps ganho vs vbias
hardcopy fc_nmos_ca_ron_vs_vb.eps ron vs vbias
hardcopy fc_nmos_ca_rop_vs_vb.eps rop vs vbias
hardcopy fc_nmos_ca_ron_rop_vs_vb.eps ron vs vbias rop vs vbias ylog
hardcopy fc_nmos_ca_gm_vs_vb.eps gm vs vbias
hardcopy fc_nmos_ca_id_vs_vb.eps id vs vbias
hardcopy fc_nmos_ca_compara_ganhos.eps ganho vs vbias gm*rt vs vbias
hardcopy fc_nmos_ca_vom_vs_vb.eps vom vs vbias

* Mostra as variaveis calculadas
display

.endc

  1. Os códigos são para o NGSpice, visto que esse simulador permite que se acesse os parâmetros internos dos mosfets em quaisquer simlações.↩︎