Gummel Poon

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 49

Departamento de Electrónica

Facultad de Ciencias Exactas, Ingeniería y Agrimensura

U. N. R.

Proyecto de Ingeniería

Programa Estimador De Parámetros


de Transistores Bipolares y
de Efecto de Campo de Juntura

Carrera: Ingeniería Electrónica

Alumno: Carlos E. Christoffersen Legajo: C-2357/4

Directora de Proyecto: Ing. María Isabel Schiavon

Asignatura: A-365

- Marzo 1993 -
Resumen: El trabajo consistió en el desarrollo del Programa
Estimador de Parámetros (ProEsP), que es una herramienta para calcular
parámetros de transistores bipolares y de efecto de campo de juntura.
Luego de la introducción hacemos una descripción general del programa
desde el punto de vista del usuario, seguida por los fundamentos teóricos
que hicieron posible la realización del programa y cuyo conocimiento
permite un mejor aprovechamiento del mismo. A continuación repasamos los
algoritmos para la determinación de raíces de funciones usados en el
programa para luego describir su estructura interna. En en final damos
detalles, sugerencias y observaciones acerca de la utilización del
programa.
Contenido
1. Introducción ..................................................... 1
2. Descripción general del sistema .................................. 2
2.1. Esquema de funcionamiento................................. 2
2.2. Requerimientos del sistema................................ 5
3. Fundamentos Teóricos ............................................. 6
3.1. Transistor Bipolar........................................ 6
3.1.1. Descripción del Modelo de Gummel-Poon ........... 6
3.1.2. El modelo de Gummel-Poon modificado en
SPICE2G.1 ............................................... 11
3.1.3. Cálculo de IS y nF .............................. 16
3.1.4. Cálculo de VAf: ................................. 18
3.1.5. Cálculo de Bf, IKf, ISE y nE: ................... 18
3.1.6. Cálculo de rB y rBm: ............................ 21
3.1.7. Cálculo de ISC, Br y rC: ........................ 22
3.1.8. Cálculo de CjE, VjE, mjE, CjC, VjC y mjC: ....... 24
3.1.9. Cálculo de Tf: .................................. 25
3.1.10. Cálculo de Tr: .................................. 26
3.2. Transistor de efecto de campo de juntura.................. 26
3.2.1. Cálculo de λ: ................................... 28
3.2.2. Cálculo de β: ................................... 29
3.2.3. Cálculo de las capacidades CGD0 y CGS0: ......... 30
4. Algoritmos ....................................................... 33
4.1. Método Dicotómico......................................... 33
4.1.1. Características generales: ...................... 33
4.1.2. Diagrama del algoritmo: ......................... 34
4.2. Método de Newton-Raphson.................................. 34
4.2.1. Características Generales: ...................... 34
4.2.2. Diagrama del algoritmo: ......................... 35
5. Implementación ................................................... 36
5.1. Lenguaje de programación utilizado........................ 36
5.2. Estructura interna........................................ 36
5.2.1. PRINC.C ......................................... 37
5.2.2. GRAF.C .......................................... 40
5.2.3. Subrutina de grupo general ...................... 41
5.2.4. IFORWARD.C ...................................... 42
5.2.5. VAF.C ........................................... 42
5.2.6. HFE.C ........................................... 42
5.2.7. RBASE.C ......................................... 42
5.2.8. BREV.C .......................................... 42
5.2.9. CAPBJT.C ........................................ 42
5.2.10. TFOR.C .......................................... 43
5.2.11. TREV.C .......................................... 43
5.2.12. LAMBDFET.C ...................................... 43
5.2.13. BETAFET.C ....................................... 43
5.2.14. CAPFET.C ........................................ 43
5.3. Códigos fuente y ejecutable............................... 43
6. Manual del Usuario ............................................... 44
6.1. Ejemplo................................................... 44
6.2. Resumen de comandos....................................... 51
6.3. Observaciones y Recomendaciones........................... 51
7. Bibliografía ..................................................... 53
1

1. Introducción
En los programas de simulación de circuitos como por ejemplo el
SPICE, se presentan frecuentemente problemas cuando los circuitos a
simular contienen elementos activos y no se dispone de los valores de los
parámetros de sus modelos. Aún contando con una biblioteca de modelos
para el simulador, no siempre podemos estar seguros que los parámetros
contenidos en esta son adecuados para nuestro problema en particular.

Para realizar una simulación de un circuito electrónico es necesario


conocer, al menos en forma superficial, los modelos que representan a los
elementos que lo componen y los métodos de resolución empleados por el
simulador para poder analizar si los resultados son válidos o no, ya que
por mejor que sea el simulador, existen siempre limitaciones que pueden
eventualmente invalidar los resultados.

El Programa Estimador de Parámetros (ProEsP) permite determinar los


parámetros para transistores bipolares y de efecto de campo de juntura,
partiendo de datos que se encuentran normalmente en manuales de
componentes. El ProEsP también permite, si ya se dispone del modelo (por
ejemplo de una biblioteca incluída con el simulador), trazar las curvas
del elemento y eventualmente modificar los parámetros si fuera necesario,
observando los efectos que eso ocasiona en las características del mismo.

Para poder utilizar el ProEsP, no es necesario conocer los modelos


de los elementos ni los métodos para determinar sus parámetros, ya que el
mismo ofrece las indicaciones necesarias de cómo proceder en cada caso.
No obstante para sacar la máxima utilidad (y obtener mayor seguridad) es
recomendable tener cierta noción de lo que se está calculando.
2

2. Descripción general del sistema

2.1. Esquema de funcionamiento

La función principal del programa es calcular parámetros de modelos


de transistores bipolares o de efecto de campo de juntura para permitir
la simulación eléctrica de circuitos que contengan a estos elementos.
Para lograr esto, el programa utiliza los datos del manual del fabricante
correspondiente. Veamos el funcionamiento en forma general desde el punto
de vista del usuario. Comencemos con el diagrama de flujo del mismo en la
fig. 1.

Inicio

Presentación
General

Elección:
Fin
BJT, JFET,
Info, Fin

Fin
JFET Info
BJT

Menú:
Salir
Grupo parámetros,
Grabar, Salir
Grupos 1 ... n

Grabar
Grupo 1
Muestra Info
Graba
Grupo n
Modelo

Figura 1

Al cargar el programa nos encontramos con una pantalla de


presentación en la que se ofrecen 4 opciones: la primera y la segunda son
calcular parámetros del transistor bipolar y del transistor efecto de
campo de juntura respectivamente, la tercera es mostrar información
acerca del programa y la última es salir al sistema operativo. En el
diagrama de la fig. 1 las dos primeras opciones están consideradas en una
sola rama porque su funcionamiento es similar desde el punto de vista que
consideramos ahora.

Cuando elegimos calcular parámetros, ya sean del BJT o del JFET,


tenemos otra pantalla en la que debemos elejir el grupo de parámetros a
calcular, o grabar el modelo con los parámetros calculados hasta el
momento, o volver al menú (menú, en el diagrama) principal. Aquí
entenderemos por grupo de parámetros un subconjunto del total de
3

parámetros de un modelo (BJT o JFET), cuyos elementos son calculados en


una sola pantalla del programa.

Cuando entramos en el cálculo de parámetros del grupo i (i=1...n),


se nos presenta la pantalla de cálculo de este grupo y ya es posible
comenzar la estimación. Para cambiar de grupo (dentro de los
pertenecientes a un tipo de transistor, i.e., BJT o JFET) no es necesario
volver al menú sino que es posible ir 'deslizándose' entre las pantallas
de los distintos grupos como se muestra en la fig. 2. Como vemos es
posible ir al grupo anterior, al grupo siguiente o volver al menú del
tipo de transistor que corresponda.

Grupo 1 Grupo 2 Grupo n


...

Menú
BJT o FET

Figura 2

Pasemos ahora a ver las distintas secciones de la pantalla de


cálculo para cada grupo mediante el ejemplo de la fig. 3. Aunque tienen
pequeñas diferencias entre sí, todas siguen el mismo esquema general.

Nombre del Grupo Curva característica

Historia de datos ingresados y resultados

Entrada de datos Comandos dIsponibles e indicaciones

Figura 3

En el nombre del grupo figuran los parámetros que permite estimar


esta pantalla (en este caso Nc, Ise, etc.). En la parte inferior tenemos
una linea de comandos e indicaciones, en este caso hay comandos (letra N:
ir al próximo grupo, ESC: salir, etc), pero podría haber indicaciones
respecto al rango o el orden magnitud de los parámetros a ingresar, o
preguntas acerca de los datos que disponemos. Cuando es necesaria la
entrada de datos numéricos el cursor se sitúa en la zona entrada de
datos. Estos datos numéricos pueden ser datos del manual o también los
parámetros a estimar, ya que es posible asignarle valores arbitrarios
mediante el comando P. A medida que estos números se van entrando quedan
4

registrados en el sector historia de datos ingresados y resultados,


seguidos de los resultados correspondientes. Además, cuando se ingresan
puntos pertenecientes a la curva característica, estos se marcan con una
’x’, para poder compararlos con la curva calculada en base a los
parámetros estimados (esta gráfica se actualiza automáticamente con
cualquier cambio en los parámetros o en los puntos dato).

Con respecto al orden de los grupos hay que destacar que por regla
general los parámetros calculados en el grupo i intervienen en el cálculo
del grupo j, con i<j. Esto significa que si por ejemplo estimamos los
parámetros del grupo 3 y luego modificamos los del grupo 1, la curva del
grupo 3 puede alejarse de manera significativa de los datos
correspondientes. En ese caso puede ser necesario forzar un nuevo cálculo
en el grupo 3 (esto se hace con la opción D). Considerando lo anterior,
en principio es conveniente comenzar por el grupo 1 y luego ir avanzando
siempre hacia adelante. Los usuarios más experimentados podrán podrán
alterar esa secuencia, ya que hay veces que eso agiliza el trabajo.

Observación: todas las referencias a corrientes y tensiones en las


pantallas de cálculo están tomadas considerando que el transistor es NPN
si es bipolar, o canal N si es JFET. Si el transistor es PNP o canal P no
es necesario considerar el signo en la entrada de datos (el programa
tomará solo el valor absoluto) y algunas gráficas quedarán con valores
positivos donde (estrictamente) deberían ir negativos; esto es coherente
con la entrada del valor absoluto de los datos: se corresponden las
posiciones de las 'x' y la curva. Los parámetros serán calculados
correctamente en todos los casos.

Volviendo al diagrama de la fig. 1, la opción grabar permite crear


archivos ASCII con extensión .MOD que pueden ser utilizados como elemento
de biblioteca por cualquier simulador eléctrico del tipo SPICE. Estos
archivos creados ya contienen las instrucciones necesarias para el
simulador, por lo que solo hay que incluirlos en la descripción del
circuito a simular. Al seleccionar esta opción se nos pregunta el nombre
del transistor (igual al nombre del archivo sin extensión) y el tipo,
luego de lo cual se graba el modelo en el directorio actual.

Las opciones mostrar información acerca del programa, y salir (en el


diagrama de la fig. 1) son muy simples por lo que no las comentamos.

Para finalizar una observación sobre la permanencia de los datos y


resultados (i.e., los parámetros estimados): estos se mantienen hasta que
el usuario los cambie explícitamente o salga del programa. Esto permite
por ejemplo calcular el modelo de un transistor, grabarlo en un archivo,
luego modificar solo algunos parámetros y grabar el nuevo modelo con otro
nombre (¡si no se sobreescribe al archivo anterior!), lo que es práctico
para transistores que difieren solo en la serie, por ej: BC547-A, BC547-
B, etc.

2.2. Requerimientos del sistema

• Corre en cualquier PC IBM compatible bajo DOS 3.0 o mejor.

• Memoria libre mínima requerida: aproximadamente 100 K.

• Soporte display: CGA, EGA, VGA, Hércules.

• Coprocesador matemático: recomendado pero no imprescindible.


5

3. Fundamentos Teóricos
Describiremos brevemente los modelos que utiliza SPICE tanto para el
trasistor bipolar como para el de efecto de campo de juntura, para luego
ver los métodos para determinar los parámetros más relevantes y las
condiciones en las que estos métodos son válidos.

3.1. Transistor Bipolar

3.1.1. Descripción del Modelo de Gummel-Poon

El modelo de Gummel-Poon se puede considerar como una 'extensión'


del modelo de Ebers-Moll. Una de las ventajas del modelo de Gummel-Poon
es su amplio rango de validez: están contemplados tanto los efectos de
baja como de alta corriente. La siguiente descripción es para un
transistor NPN. El punto de partida es la corriente de base, que está
compuesta por dos componentes: una de continua (iBE+iBC), y otra que
representa las variaciones de la carga de base con el tiempo (dqB/dt).

d qB
i B = i BE + i BC + (q1)
dt
Analizamos primero las componentes de continua, iBE e iBC. En la
componente base-emisor (iBE) pueden considerarse dos contribuciones:
iBE1, que representa la corriente a través de un diodo ideal y describe
la recombinación de los huecos de la corriente de base en la zona del
emisor, e iBE2, que contempla la corriente a través de un diodo no ideal:

iBE = iBE1 + iBE 2 = (q2)

  v BE     vBE  

= I s1 e
 Vt 
− 1 + I sE e E t − 1 ,
  n ⋅V 

   
   
análogamente, para iBC;

iBC = iBC1 + iBC 2 = (q3)

  v BC     v BC  
= I s 3 e − 1 + I sC e  C t  − 1
 Vt  n ⋅V

   
   

con Vt = kT/q ≈ 25 mV a 300K.

Para tensiones base-emisor medias y grandes predomina la parte


ideal. El diodo no ideal modela los efectos predominantes con pequeñas
tensiones. A esa división se debe el decrecimiento de la ganancia de
corriente β = iC/iB del transistor en el modelado de pequeñas corrientes
de colector (fig. q1).
6

3
10

Influencia del diodo BE no ideal


2
10
Efecto Webster

1
10

0
10
-6 -4 -2 0 i
C
10 10 10 10

Figura q1

Se puede hacer el mismo análisis para la corriente iBC en


funcionamiento inverso, con lo cual la distribución de las componentes de
las corrientes en funcionamiento directo e inverso es parecida en la
forma de operar a la del conoocido modelo de Ebers-Moll.

Para la carga de la base vale:

qB = QB 0 + qC + qE + B. Tf . I f + Tr . Ir (q4)

Aquí QB0 es la carga de la base cuando no se aplica tensión directa.


Las qC y qE describen las cargas de transición de las junturas BC y BE.

qC = ∫ CSBC (v BC ) ⋅ dv BC (q5)

Con esto se tiene en cuenta en el modelo de Gummel-Poon la


influencia de uBC en la carga de la base, i.e., el efecto Early (fig.
q2).

iC

-VAf = QB0 / CjE VCE

Figura q2

La carga de transición qE es análoga a qC en funcionamiento inverso


y modela el efecto Early para ese caso:

qE = ∫ CSBE (vBE ) ⋅ dvBE (q6)

La capacidad CSBE está definida bajo la suposición de una tensión en


la juntura menor que la tensión de difusión VJE (VJC):

C JC
CSBC = (q7)
(1 − u BC VJC ) m JC
7

CJE
CSBE = (q8)
(1 − u BE VJE ) mJE

El comportamiento de la capacidad de transición CSBC (CSBE) frente a la


tensión uBC (uBE) se muestra en la figura q3.

Cs

Cj

-Vj Vjuntura

Figura q3

Los dos últimos términos en la ec. q4 describen los efectos de


difusión. Allí las corrientes if e ir son componentes de la corriente
principal:

iCE = i f − ir (q9)

Resultan:

Q   v BE  
i f = IS B 0 e VT  − 1 (q10)
qB  
 

QB 0   VT  
 v BC 

ir = I S e − 1 (q11)
qB  
 
en las cuales Is (del orden de 10-15A) corresponde a la intersección de
la asíntota de iC(uBE) con el eje de las ordenadas en una gráfica
semilogarítmica (mirar más adelante, fig. q6). El término Tfif describe
el incremento de la carga de la base con el aumento de la corriente de
colector y con esto el decrecimiento de β (efecto de Webster). El factor
de proporcionalidad B representa el cociente al cuadrado del ancho
eléctrico (eficaz) de la base (Weff) y el ancho geométrico (WB):

2
 Weff 
B=  (q12)
 WB 

El término TrIr tiene influencia en el caso de saturación del transistor


y representa el consiguiente aumento de la carga de la base.

Si se normaliza la carga de la base qB de la eq. 4 sobre QB0, se


obtiene:

qB
N qB = = (q13)
QB 0
8

qC qE 1   v BE   1   vBC  
= 1+ + + B ⋅ Tf ⋅ I S e  Vt  − 1 + Tr ⋅ I s e  Vt  − 1 =
QB 0 QB 0 N qB ⋅ QB 0   N qB ⋅ QB 0  
   

q2
= q1 + (q14)
NqB

qC q
q1 = 1 + + E
QB 0 QB 0

1   v BE   1   vBC  
q2 = B ⋅ T f ⋅ I S e  Vt  − 1 + Tr ⋅ I s e  Vt  − 1
N qB ⋅ QB 0   N qB ⋅ QB 0  
   
en donde q1 representa la carga almacenada y las de transición
normalizadas y q2 las capacidades de difusión normalizadas. De la ec. q4
obtenemos:

2
NqB = 1 +  1  + q2
q q
(q15)
2  2

Operando con las ecuaciones 1 a 11:

iB = −iC − iE = (q16)

= CSBE ⋅ v&BE + CSBC ⋅ v&BC + B ⋅ Tf ⋅ i&f + Tr ⋅ i&r + iBE + iBC + (i f − i f ) + (ir − ir )

Esta se divide de la misma manera que en el modelo de Ebers-Moll en las


dos corrientes restantes del transistor:

 v& BE 
B ⋅ T f I s  Vt 

iE = −i f + ir − iBE − CSBE ⋅ v& BE + e v& BE (q17)
Vt N qB

 v BC 
T I  
+ r s e
Vt 
iB = i f − ir − iBC − CSBC ⋅ v& BC v& BC (q18)
Vt N qB

Si además se consideran las resistencias extrínsecas rB, rC y rE,


entonces los nodos anteriores B, E y C se transforman en B', E' y C', así
se obtiene el diagrama de la fig. q4.
9

iE rE if ir rC iC

E E’ C’ C
ir if

iB’E’ iB’C’

VB’E’ VB’C’

CsB’E’ CsB’C’

CdB’E’ CdB’C’
B’
(rB - rBm) / NqB

rBm

iB
B

Figura q4

El circuito se comporta (ec. q17) de la siguiente manera: if es la


corriente a través de un diodo entre E' y C' (ec. q10), mientras que ir
circula conforme al modelo de Ebers-Moll a través del diodo B'C', cuya
corriente viene de la fuente entre E' y B'. iB'E' es la corriente de la
base resultante en comportamiento directo y circula a través de los
diodos que tienen distintas corrientes de saturación y exponentes de la
ec. q2.

La expresión CSB'E'duB'E' es la corriente a través de la capacidad


de transición de la ec. q8. El término restante en la ec. q17 representa
la dependencia de la corriente de la capacidad de difusión de la juntura
B'E':

 v B ’E ’ 
B ⋅ T f I s  Vt 

CDB’E’ = e (q19)
Vt N qB

 v B’C ’ 
T I  
= r s e
Vt 
CDB’C’ (q20)
Vt N qB

La resistencia de la base está dividida para tener en cuenta la


modulación de la conductancia con altas corrientes:

rBB’ = rBm +
( rB − rBm ) (q21)
N qB

donde rBm representa la parte óhmica lineal. El segundo término disminuye


para tensiones crecientes, i.e., aumenta NqB, como veremos más adelante.

3.1.2. El modelo de Gummel-Poon modificado en SPICE2G.1

A la vista de las ecuaciones características de la corriente de base


iB y la carga de base normalizada NqB, debe deducirse la relación entre
el modelo en SPICE y el modelo de Gummel-Poon.

Las dos ecuaciones esenciales en SPICE resultan:


10

d qB
iB = iBE + iBC + = (q22)
dt

  v BE     v BE   I   v BC     v BC   d q
I s   n f ⋅Vt  
− 1 + I sE e − 1 + e − 1 + I sC e  C t  − 1 + E
 n E ⋅Vt   nr⋅Vt  n ⋅V
= e s

Bf     Br     dt
       
v BC v BE
1 du 1 du
N qB = 1 +
VAf ∫  u 
m JC +
VAr ∫  u 
m JE +
1 − 1 −
0 0
 
 VJC   VJE 

  v BE     v BC  
1 I s   n f ⋅Vt   1 I s
+ e −1 + e  nr ⋅Vt  − 1 (q23)
I Kf N qB   I Kr N qB  
   

Pero estas ecuaciones serán utilizadas solo en DC, como veremos luego.

La comparación de la ec. q22 con las 1, 2 y 3 muestra la


concordancia directa del modelado de la corriente iB en ambos casos.
Solamente que en SPICE los factores exponenciales de los diodos fueron
modelados de forma más flexible. La relación entre los coeficientes Is,
Bf y Br con Is1 e Is2 se muestra en la tabla 1. Ahí se pueden interpretar
Bf y Br como ganancias de corriente ideales para comportamiento directo e
inverso respectivamente. Esto se aplica en especial cuando queremos
modelar β independiente de la corriente como en el modelo de Ebers-Moll.
Para eso hay que tomar ISE=0 (se desprecia el efecto de baja corriente) y
NqB=1 (se desprecia el efecto de alta corriente). Lo último significa
tomar IKf→ ∞. Los parámetros ISE e IKf tienen ese valor por defecto.

Gummel-Poon Tabla 1 SPICE

Is1 Corriente de saturación del diodo ideal BE Is/Bf

Is3 Corriente de saturación del diodo ideal BC Is/Br

QB0/CJC Tensión Early en funcionamiento inverso VAr

QB0/CJE Tensión Early en funcionamiento directo VAf

QB0/B.Tf Corriente de codo directa IKf

QB0/Tr Corriente de codo inversa IKr

- Factor de correción para ajustar la curva del nf ≈ 1


diodo BE ideal

- Idem para el diodo BC nr ≈ 1

Para comparar con NqB de Gummel-Poon:


11

v BC v BE
q C du C du
N qB = B = 1 + JC
QB 0 QB 0 ∫  u 
m JC + JE
QB 0 ∫  u 
m JE +
1 − 1 −
0 0
 
 VJC   VJE 

B ⋅ Tf I s   v BE     v BC  
+ e  n f ⋅Vt  − 1 + Tr I s e  nr ⋅Vt  − 1 (q24)
QB 0 N qB   QB 0 N qB  
   

También aquí se ve la diferencia entre los coeficientes que se muestra en


la tabla 1.

La descripción del transistor bipolar en SPICE se divide también en


un modelo para el ensayo de continua y otro para el de alterna. Mientras
que, como dijimos, para DC se emplea la NqB de la ec. q23, en el caso de
AC se emplean las capacidades de la ec. q24. Con eso se invierte el
problema, hay que determinar la carga de la base en el caso DC. Para esto
son suficientes los 4 parámetros explicados en la tabla 1, VAf , VAr ,
IKf e IKr , que son relativamente simples de determinar.

Las ecuaciones necesarias para la corriente iC en gran señal resulta


de las ec. q18, 10, 11 y 13, pero con los cambios de la tabla 1:

iC = i f − ir − iBC = (q25)

  v BE   v BC     v BC  
Is   nr ⋅Vt  
 v BC 
Is   n f ⋅Vt   
 nr ⋅Vt  
− e − 1 − I SC e  C t  − 1
n ⋅V
= e −e
N qB   Br    
     

La carga NqB se obtiene de resolver la ec. q23 para NqB en forma análoga
a la ecuación q15:

NqB =
q1s
2
q q
(
+ 1s + q2 s ≈ 1s 1 + 1 + 4 ⋅ q2 s = NqBSPICE
4 2
) (q26)

De la ec. q14:

  v BE  
I s   n f ⋅Vt   I s   nr ⋅Vt  
 v BC 

q2 s = e −1 + e − 1 (q27)
I Kf   I Kr  
   

Operando con las ec. q14, 5 y 6 se obtiene:

1
q1s = (q28)
v v
1 − BE − BC
VAr VAf

El punto de partida para describir el transistor en AC es la ec. q24. Si


se toman las cargas de difusión y transición, sin normalizar, juntas se
obtiene:
12

  v BE   − m JE
I s   n f ⋅Vt    u 
v BE

q Eges = Bs ⋅ T f e − 1 + C JE ∫ 1 −  du (q29)
N qB   0 
VJE 
 

I   v BC   v BC
 u 
− m JC

qCges = Tr s e  nr ⋅Vt  − 1 + C JE ∫ 1 −  du (q30)


N qB   0 
VJC 
 
Derivando las ecuaciones 29 y 30 se obtienen las capacidades de difusión
y transición del modelo en SPICE:

 v BE 
d q Eges Bs ⋅ T f I s  n f ⋅Vt  CJE
CBEges = = e + m JE = C DBE + CSBE (q31)
d u BE n f ⋅ Vt N qB  v BE 
1 − 
 VJE 

 v BC 
d qCges T I s  nr ⋅Vt  CJC
CBCges = = r e + m JC = CDBC + CSBC (q32)
d u BC nr ⋅ Vt N qB  v BC 
1 − 
 VJC 

Las ecuaciones 31 y 32 muestran la conformidad del modelo en SPICE con el


de Gummel-Poon.

El factor de proporcionalidad Bs , análogo a B de la descripción


anterior, que representa el crecimiento de Tf con la polarización (i.e.,
uBE y uBC), es en SPICE:

2  v 
 i f   1.44BC⋅VTf 
Bs = 1 + XTf   e (q33a)
 i f + ITf 

  v BE  
i f = Is e f t − 1
 n ⋅V 
con (q33b)
 
 
Esto explica la particularidad del modelo SPICE, en el que están
considerados el efecto Webster (fig. q1), la caída de β = iC/iB para
grandes corrientes de colector a través de IKf , y en AC el decrecimiento
de la fT y también el aumento del tiempo de tránsición Tf , en forma
separada.

Una posibilidad complementaria del modelo de Gummel-Poon en el SPICE


es dividir la capacidad BC de la ec. q32 en dos partes. Una parte queda
entre B' y C' y la otra entre B y C' (fig. q4). Además se puede modelar
la resistencia de base de una manera más complicada que en la ecuación
q21, así como también la capacidad con el sustrato necesaria para el
modelado de ICs.

En la fig. q5 se muestra el circuito linealizado para el análisis de


AC con XJC = 1.
13

rC

rBB’ Cmu Css


B

Gpi Cpi gm Go

rE

Figura q5

Ese circuito se determina a partir del punto de trabajo del


transistor que fue calculado previamente mediante un análisis de
continua.

∂iB ∂i ∂i
G pi = , G0 = C + B ,
∂v BE ∂v BC ∂v BC

∂iC ∂i ∂i
gm = + C + B ,
∂v BE ∂v BC ∂v BC

C pi = CBEges , Cmu = CBCges

Para finalizar digamos que en el caso de un transistor PNP, todos los


parámetros ingresados en la instrucción .MODEL de SPICE tienen el mismo
signo y la corrección se efectúa internamente en el simulador.

Pasemos a ver ahora los fundamentos del cálculo de cada uno de los
siguientes grupos de parámetros.

IS: corriente de saturación.


nf: coeficiente de emisión de I directa.

VAf: Tensión de Early directa.

Bf: β máximo ideal directo.


IKf: corriente de decaimiento de β con alta I (efecto Webster).
ISE: corriente de saturación de la pérdida B-E.
nE: coeficiente de emisión de la pérdida B-E.

rB: resistencia de la base sin polarización.


rBm: mínima resistencia de base.

ISC: corriente de saturación de la pérdida B-C.


Br: β máximo ideal inverso.
rC: resistencia óhmica de colector.

CjE: Capacidad de deplexión B-E sin polarización.


VjE: potencial interno B-E.
mjE: factor exponencial P-N de la juntura B-E.

CjC: Capacidad de deplexión B-C sin polarización.


VjC: potencial interno B-C.
mjC: factor exponencial P-N de la juntura B-C.
14

Tf: tiempo de tránsito directo ideal.

Tr: tiempo de tránsito inverso ideal.

3.1.3. Cálculo de IS y nF

El siguiente razonamiento es de [1] y [4]. Por ahora, vamos a


despreciar la influencia de las resistencias, lo que hará posible el
cálculo. Para que esto sea válido deberemos considerar corrientes
pequeñas. En zona activa, para lo cual vale lo siguiente, es vBE≅ 0,6V<<
VAR y vBC<<VAF, vBC<0V. Con eso se. simplifican las ec. q22 , 25 y 26 a:

 v BE   v BE 
I  n ⋅V  
n ⋅V

iB = S e  f T  + I SE ⋅ e  E T  (q34)
Bf

 v BE 
 
i n ⋅V 
iC = S e  f T  (q35)
N qB

  v BE  
1 IS  n f ⋅VT  
NqB = 1 + 1 + 4 ⋅ e  (q36)
2 IKf
 

La fig. q6 muestra el comportamiento esquemático de las 2 corrientes


en escala semilogarímica. De las ec. q35 y 36:

iC
NqB = 1 + (q37)
I Kf

para iC<< IKf ( <100 µA típica) se puede suponer NqB≅ 1 (de la ec. q26).
De ahí sigue de la ec. q35:

 v BE 
 
 n f ⋅VT 
iC = I S ⋅ e (q38)

iC, iB
iB
Valores Típicos

iC
Pendiente 1 / (2*2,3*nF*
-2 IKf
10

Pendiente 1 / (2,3*nF*VT)

-13 ISE
10
Pendiente 1 / (2,3*nE*VT)
-16 IS
10
-18
10 IS / Bf

VBE
0,7 V

Figura q6
15

Tomando dos pares de valores para la zona en la que iC es pequeña,


se obtiene (fig. q6):

vBE1 − vBE 2
nF = (q39)
i 
VT ⋅ ln C1 
 iC 2 

con eso se tiene :

 v BE 1 
− 
 n F ⋅VT 
I S = iC1 ⋅ e (q40)

Recordemos entonces que para que lo anterior lleve a buenos


resultados debemos utilizar dos puntos en los que iC sea pequeña (< 1mA a
los fines prácticos).

3.1.4. Cálculo de VAf:

Se puede determinar a partir de la fig. q2 y se debe elegir iC


cercana al punto de trabajo propuesto. En la ecuación siguiente hemos
supuesto VAf » vCE:

iC i
VAf ≈ = C (q41)
∂iC hOE
∂vCE

3.1.5. Cálculo de Bf, IKf, ISE y nE:

El método que sigue fue extraído de [1]. Para la ganancia de


corriente = iC/iB se obtiene de la ecuación q34

iC
β=  v BE   v BE 
(q42)
IS    
 n F ⋅VT   n E ⋅VT 
e + I SE ⋅ e
Bf

de las ec. q35 y 37 se obtiene vBE= f(iC) y reemplazando en la ec. q42


resulta:

nF

1 1  i  I i  i   nE
= 1 + C  + SE  C 1 + C   (q43)
β (iC ) B f  I Kf  iC  iS  I Kf  

La fig. q7 muestra el comportamiento de β con el log(iC):


16

β
max

β
2

β
1
Pendiente m2

IC1 IC2 ICM IKf


i
C
10 µA

Figura q7

En la figura 7 podemos observar el comportamiento cuasilineal de β para


corrientes pequeñas (iC << IKf).De ahí resulta:

nF
1 1 ISE  iC  nE
= +   (q44)
β (iC ) Bf iC  IS 

Con los valores de un transistor típico, se puede estimar:

nF
1 ISE  iC  nE
<   para iC > 0.5µA
Bf iC  IS  ≈

Con eso resulta de la ec. q44:

 I nn F  
log( β ) = log S E  + 1 − nF  ⋅ log(iC ) , 0,5µA < iC < IKf (q45)
 ISE   nE 
 

el valor:

nF log(β 2 ) − log(β 1 )  Década 


m2 = 1 − =   (q46)
nE log( IC 2 ) − log( IC1 )  Década 

es la pendiente resultante en la fig. q7. Leyendo m2 de la curva de la


hoja de datos se determina nE:

nF
nE = (q47)
1 − m2

iC debe estar por lo tanto en el entorno antes mencionado: 10 ... 100µA.

Ahora Bf: para esto hallamos el máximo de la ec. q43:

∂β (iC )
=0
∂ iC i =i (β )=I
C C max CM

se obtiene:
17

ICM
1+
nF

ISE I  I  nE
1 IKF
 CM 1 + CM   = (q48)
ICM  IS  IKf   Bf  I 
m2  2 + Kf  − 1
 ICM 

El miembro de la izquierda en la ec. q48 es el de la derecha de la ec.


q42 para iC= ICM, β= β max. Reemplazando, de la ec. q43 se obtiene el
coeficiente Bf buscado:

 
  
ICM   1 
B f = β max 1 +  1+ (q49)
 I Kf 
  I  
 m2  2 +  − 1
Kf

  ICM  

La corriente IKf necesaria aquí se puede obtener de la fig. q7 solamente


en forma muy inexacta. Tampoco determinándola a partir de la
interpretación de la fig. q6 se obtiene un valor suficientemente exacto.
De ahí la siguiente aproximación: los parámetros SPICE Bf e IKf deben ser
mayores que cero. Eso impone un límite para IKf en la ec. q49:

 1 
IKf >  − 2 ⋅ ICM = IKf min (q50)
 m2 

En la ecuación anterior se supuso m2< 1/3 y es: IKf> ICM> 0

En primer lugar se hace IKf=iKf min+ε; ε≈ 0, y se determina Bf de la


ec. q49 Entonces se puede separar de la ec. q44 con la ec. q46:

 1 1 nF
IKf >  −  ⋅ IC1m2 ⋅ IS nE (q51)
 β 1 Bf 

Así, se determinan los parámetros nE, Bf e ISE para β(iC) (ec. q43).
Solo debe estimarse IKf min de la ec. q50. Luego hay que aumentar iKf
hasta obtener el juego de parámetros que más se aproxime a la curva del
hFE, utilizando por ejemplo el criterio del error cuadrático medio entre
puntos de la curva del modelo y del manual.

Como generalmente la medición de los dos puntos para determinar la


pendiente (m2) suele tener bastante error, debemos considerar además un
coeficiente (k) que multiplique a m2 con el objeto de compensar el efecto
de ese error. La idea es calcular los parámetros utilizando el valor de
m2 'ponderado' por distintos valores de k hasta encontrar el juego de
parámetros que mejor se ajuste a la curva de datos. Por ejemplo,
comenzamos con k=0,80; calculamos los parámetros y el error cuadrático
medio correspondiente a ellos. Luego hacemos lo mismo para k=0,81 y así
sucesivamente hasta encontrar el juego de parámetros (para un cierto k)
que tenga el mínimo error.

Finalmente para compensar en parte el efecto de haber despreciado


VAf, debemos disminuir Bf mediante la siguiente fórmula:

Bf
B fcorregido =
1 + vcb VAf
18

3.1.6. Cálculo de rB y rBm:

Si ahora consideramos la gráfica iC en función de vBE pero para


corrientes de colector grandes (figura q8), la influencia de la
resistencia de base será importante.

iC
Recta correspondiente a vB’E (rBB’=0)
-1
10
2

-2
10 Caída (iB2 . rBB'2)=delta vC
1

-3
10

~ 0,6V vCE

Figura q8

Como el transistor sigue estando en la zona activa, las ecuaciones


que gobiernan la recta para rBB'=0 (en la gráfica con escala
semilogarítmica de la fig. q8) son la 35 para la corriente de colector,
en la que reemplazamos vBE por vB'E porque consideramos la rC, y para NqB
tenemos:

 v B ’E 
I  n ⋅V 
1 + 1 + 4 ⋅ S e F T 
IKf
NqB = , (q52)
 v −v 
21 − B’E CE 
 VAf 

ya que en este caso no despreciamos VAf.

Si tomamos dos puntos como en la fig. q8, podemos calcular


numéricamente vB'E para cada par, lo que nos permite a su vez determinar
iB1 e iB2 reemplazando a vBE en la ecuación q34. Luego observando el
circuito de la fig. q4, la gráfica de la fig. q8, y la ecuación q21,
obtenemos el siguiente sistema de ecuaciones cuyas soluciones son los
parámetros buscados, i.e. rB y rBm:

 ∆vCE1 (r − r )
= rBm + B Bm

 iB1 N qB1

 ∆vCE 2 = r + ( rB − rBm )
, (q53)

 iB 2 Bm
N qB2

en donde los subíndices 1 y 2 corresponden a los puntos considerados.

3.1.7. Cálculo de ISC, Br y rC:

En este caso usaremos curvas con el transistor en saturación (estos


parámetros no son relevantes en la zona activa), por lo que tendremos que
considerar algunas hipótesis adicionales. Partimos de la expresión para
NqB en la ec. q26. Para nr y nc tomaremos los valores por defecto en
19

SPICE (esto es, nr=1 y nC=2), y si vBC es cercano a 0,5 V, podemos


despreciar el segundo término de la ec. q27, lo que es equivalente a
tomar IKr= ∞ que también es el valor predefinido en SPICE. Por lo demás,
seguimos despreciando a VAr como lo veníamos haciendo hasta ahora ,lo
cual es perfectamente válido mientras el transistor no esté en la zona
inversa. Además, para simplificar las expresiones siguientes vamos a usar
las componentes de las ec. q2 y q3:

  v B’E     v B’E  
= I S  e  F T  − 1 = I SE  e  E T  − 1 ,
n ⋅V n ⋅V
I BE1 , I BE 2
   
   
(q54)
  v B’C ’     v B’C’  
= I S  e  R T  − 1 = I SC  e  C T  − 1
n ⋅V n ⋅V
I BC1 , I BC 2
   
   

Así las cosas, tenemos las expresiones para NqB, iC e iB


sustituyendo en las ecuaciones q22, q25 y q26, y además aplicando las
hipótesis mencionadas:

IBE1
1+ 1+ 4⋅
IKf
NqB = (q55)
 v −v 
21 − B’E CE 
 VAf 

IBE1 I BC1 IBC1


iC = − − − IBC 2 (q56)
NqB NqB Br

IBE1 I
IB = + IBE 2 + BC1 + I BC 2 (q57)
NqB Br

Operando con estas ecuaciones, podemos encontrar una expresión para i C


independiente de IBC2 y Br:

I BE1 I BE1 − I BC1


I BE 2 + +
Bf NqB
iC = (q58)
i
1+ B
iC

en donde suponemos conocida la relación iB/iC.

Consideremos ahora dos puntos de la gráfica vCEsat en función de


iC(figura q9) en los que iC no sea muy grande, digamos del orden de 1 mA,
como los puntos 1 y 2. En ese caso podremos despreciar momentáneamente la
resistencia de colector, lo que implica C ≡ C'.
20

vCEsat
hFEsat=cte

~ 300 mV
3
1
2

log iC
-3 -2 IC3 -1
10 10 10

Figura q9

De esos 2 puntos conocemos iC y vCEsat. Además, conocemos hFEsat, por lo


que es muy simple calcular iB para cada par ya que hFEsat= iC/iB. Si
obsevamos la ec. q58 solo tenemos todos los datos necesarios para
calcular numéricamente vB'E (recordemos que como despreciamos rC,
vB'C'=VB'C=vB'E-vCE en las ec. q54). Luego solo nos queda resolver el
siguiente sistema de ecuaciones derivado de las ec. q54 y q57 para
obtener Br e ISC:

 IBE11 I BC1
iB1 = B + I BE 21 + B + ISC ⋅ sum1
 f r
 I BE12 I BC2
iB2 = + IBE 2 2 + + ISC ⋅ sum2 (q59)
 Bf Br
  v B’C j 
 
sum = e nC ⋅VT  − 1
 j

Como tenemos dos ecuaciones independientes con dos incógnitas (sumj es


conocido) podemos obtener así los valores de Br e ISC.

Para calcular rC, consideremos el punto 3 de la fig. q9. Como aquí


la corriente iC provoca una caída de tensión no despreciable en rC,
tendremos que una diferencia entre ta tensión vCE prevista por el modelo
para IC3 y la real correspondiente al punto 3. El valor de rC será:

vCE 3 − vCEmodelo sin rC


rC = (q60)
IC 3

La vCEmodelo sin rC se calcula en forma numérica usando las ecuaciones de


q54 a q57, considerando rC= 0, i.e. C ≡ C'.

3.1.8. Cálculo de CjE, VjE, mjE, CjC, VjC y mjC:

Este método está en [1]. Tomaremos una capacidad de transición que


puede ser la de la juntura de colector o la de emisor. El punto de
partida son las ec. q31 y 32. Ellas describen las capacidades de las
junturas P-N. Para una juntura en general, tenemos:

− m ji
 v 
CSBi = C ji 1 − Bi  , i = E, C (q61)
 Vji 

 v 
ln(CSBi ) = ln(C ji ) − m ji ⋅ ln1 − Bi 
 Vji 
21

La sustitución por :

 v 
Y = ln(CSBi ) , X = ln 1 − Bi  ,
 Vji  (q62)

A = ln(C ji ) , B = − m ji

resulta en la relación lineal:

Y = A + B⋅ X (q63)

Con la ayuda de regresión lineal se ajustan N pares de valores de la


curva de la hoja de datos CiB= f(viB); i= E,C. Así, resulta:

N
1 N N

∑x y k k − ∑ xk ∑ yk
N k =1 k =1
B= k =1
2 (q64)
N
1 N 

k =1
x k −
2
 ∑ xk 
N  k =1 

1 N N

A= ∑ k y − B ∑ xk  (q65)
N  k =1 k =1 

El hasta ahora todavía libre parámetro Vji> 0 debe adoptarse de tal


manera que sea óptima la calidad de la adaptación, esto es r2 de la ec.
q66 debe ser máximo (0< r≤ 1):

2
N
1 N 

k =1
x k −2
 ∑ xk 
N  k =1 
r 2 = B2 2 (q66)
N
1 N 

k =1
yk
2
−  ∑ yk 
N  k =1 

Los valores típicos de Vji son cercanos a 0,5 V (tensión de difusión).

Sustituyendo en forma inversa se obtienen los coeficientes buscados


a partir de A y B :

m ji = − B, C ji = e A ; i = E, C (q67)

3.1.9. Cálculo de Tf:

El tiempo de tránsito directo (consultar [1] y [2]) Tf se puede


determinar a partir de la fig. q10:
22

log fT 1 / fT

fT1
1 / fT2
fT2

Ic2 < ICM 1 / fT1

1 / fT0
Ic1 Ic2 1 / Ic2 1 / Ic1
log iC 1 / iC

Figura q10
Haciendo eso:

I C1 − I C 2
fT 0 = fT 2 ⋅ fT 1 (q68)
fT 1 ⋅ IC 2 − fT 2 ⋅ IC1

1
Tf = − C jC ⋅ rC (q69)
2π ⋅ fT 0

3.1.10. Cálculo de Tr:

Podemos utilizar la fórmula q70. Este parámetro es casi directamente


proporcional al tiempo de almacenamiento del transistor, en la
conmutación. En la zona activa su efecto es despreciable.

Los datos necesarios podemos obtenerlos a partir de ts (el tiempo de


almacenamiento), la corriente de colector iC y el hFEsat para los cuales
se hizo el ensayo, datos comunes para los transistores de commutación.

ts
Tr = (q70)
 2 ⋅ iC 
Br ⋅ ln  
h (
 FEsat ⋅ iBa + iC hFEsat ) 

En la fórmula, iBa es la corriente de base que tendría el transistor si


estuviera en la zona activa con la misma corriente de colector,i.e., es
igual a iC dividida por el hFE de la zona activa.

Con los parámetros que hemos calculado hasta ahora es suficiente


para modelar el transistor bipolar en las zonas de corte, activa y
saturación. El resto puede dejarse en general con los valores por defecto
en SPICE.

3.2. Transistor de efecto de campo de juntura

El modelo para el JFET es mucho más simple que el del transistor


bipolar, por lo que lo describiremos en forma más resumida. Analizaremos
un transistor canal N, igual que en el caso del transistor bipolar, los
parámetros incluídos en la instrucción .MODEL se ingresan siempre con el
mismo signo, i.e., el correspondiente al tipo canal N, y la correción se
realiza internamente.

Como punto de partida consideremos el circuito del modelo en la fig


1. Las dos resistencias rd y rs tienen en cuenta la resistencia óhmica
del drenaje y la fuente respectivamente, de forma análoga a las
resistencias del modelo del BJT que analizamos anteriormente.
23

rD
CGS

IGD

G VGD
ID vDS
VGS

IGS

CGS
rS

Figura j1

La corriente en la compuerta es la suma de la corriente por los dos


diodos (GD y GS):

  VGS’     VGS’  
= I s e t − 1 + e t − 1
 V   V 
IG = IGS’ + IGD’ (j1)
   
   
La corriente en los otros terminales es:

I D = − Idrain − IGD’ (j2)

IS = Idrain − IGS’ (j3)

con Idrain conforme al modelo cuadrático (para VD'S'>0):

β ⋅ (1 + λ ⋅ VD’S’ ) ⋅ ( VGS’ − VTO ) 2 , si 0 ≤ VGS’ − VTO ≤ VD’S’



I drain = β ⋅ (1 + λ ⋅ VD’S’ ) ⋅ VD’S’ ⋅ ( 2( VGS’ − VTO ) − VD’S’ ) , si VD’S’ < VGS’ − VTO (j4)
0 , si V − V < 0
 GS’ TO

Restan las capacidades que son las correspondientes a los dos diodos del
modelo. Notemos que en el transistor efecto de campo de juntura no hay
capacidades de difusión ya que no hay junturas polarizadas directamente
(en funcionamiento normal).

CGS 0
CGS’ = M (j5)
 VGS’ 
1 − 
 PB 

CGD0
CGD’ = M (j6)
 VGD’ 
1 − 
 PB 
24

Este modelo de las capacidades está bastante más limitado que en el caso
de las capacidades de transición del transistor bipolar, ya que M es fijo
igual a 0.5 y PB es común a las dos capacidades, pero hay que tener en
cuenta que en realidad en el transistor de efecto de campo de juntura hay
una sola juntura.

El modelo en señal usado para el ensayo de AC en SPICE es el de la


fig. j2. Las derivadas se determinan en el punto de operación del
elemento.

CGD

gGD rD
G D
gm vGS

gGS CGS gDS

rS

Figura j2

∂ ID ∂I
gm = , gDS = D ,
∂ VGS ∂ VDS
(j7)
∂I ∂I
gGS = GS , gGD = GD
∂ VGS ∂ VDS

Determinaremos los siguientes parámetros:

λ: modulación del largo del canal.

β: coeficiente de transconductancia.

CGD0: capacidad P-N entre G y D sin polarización.

CGS0: capacidad P-N entre G y S sin polarización.

3.2.1. Cálculo de λ:

λ se determina a partir de la pendiente de la zona de saturación de


la familia de curvas de salida en la figura j3. Como siempre, es
conveniente elegir los puntos cercanos a la zona de trabajo del elemento.

ID Pendiente proporcional a La

VGS=0

ID2
ID1

VDS
VDS1 VDS2

Figura j3
25

IDS 2 − I DS1
λ= , (j8)
I DS1 ⋅ VDS 2 − IDS 2 ⋅ VDS1

ecuación obtenida de la 4 para la zona de saturación.

3.2.2. Cálculo de β :

El único parámetro de continua que nos resta calcular es β, ya que


despreciaremos las resistencias y VTO lo tenemos como dato en los
manuales (es igual a Vp). Para eso tenemos dos posiblilidades, según los
datos que disponemos. Veamos la primera:

log ID
IDSS

IDS1
VDS=cte (15V)

VGS1 VGS

Figura j4

Si disponemos de una gráfica como la de la fig. j4 (o también si


solo disponemos de iDSS), podremos utilizar la siguente fómula, que se
puede deducir a partir de la ec. j4:

I DS1
β= (j9)
( VTO − VGS1 ) 2 (1 + λ ⋅ VDS )
Si en cambio tenemos datos referentes de rDSon= 1/gDS de la ec. j7 con
VDS= 0 (figura j5), hacemos el cálculo de β de la siguiente forma:

1
β=
2( VGS1 − VTO ) ⋅ ron1
(j10)

log rDSon

rDSon1
VDS=0

VGS1 VGS

Figura j5
26

3.2.3. Cálculo de las capacidades CGD0 y CGS0:

Esta estimación se realiza a partir de las curvas de Cis y Crs, ya


que estas son las que se encuentran en los manuales porque son los
valores medibles. Veamos las definiciones:

Capacidad de entrada Cis: es la capacidad medida entre compuerta y fuente


con el drenaje y la fuente cortocircuitados en señal, con una
polarización y a una frecuencia determinadas.

Capacidad de transferencia inversa Crs: es la capacidad medida entre


drenaje y compuerta con la fuente conectada a tierra e iguales
especificaciones.

Como consecuencia de estas definiciones, valen las siguientes


relaciones, en donde todas las capacidades intervinientes son variables
con la polarización:

CGD ≅ Crs
 ; (j11)
CGS = Cis − Crs
lo que implica que primero deberemos calcular CGD0 para poder luego
obtener valores de CGS a partir de los datos (Cis), como veremos luego.

Trataremos de encontrar los valores de CGD0 y CGS0 que ajusten lo


mejor posible las curvas de Cis y Crs. Comencemos con CGD0, para poder
calcularlo en forma independiente de CGS0 debemos tomar fijo el valor de
PB. El valor por defecto en SPICE es PB=1. Aplicando logaritmo a la ec.
j6 nos queda:

 V 
log(CGD ) = log(CGD0 ) − M ⋅ log1 − GD  , (j12)
 PB 

que es la ecuación de una recta y procediendo de forma similar al caso


del transistor bipolar:

Y = A + B⋅ X ;
 V  (j13)
Y = log(CGD ) , X = log1 − GD  , A = log(CGD 0 ) , B = − M
 PB 

Ahora bien, en la figura j6 tenemos la gráfica de Crs como se


encuentra en los manuales:

Crs
VGS=cte.

VDS

Figura j6
Tomaremos N puntos de esta gráfica. Surge entonces el problema que Crs=
CGD está en función de VDS y no de VGD como necesitamos, por lo que
deberemos calcular esta última para cada punto, lo cual es posible porque
27

conocemos VGS que es constante para toda la gráfica. Entonces VGDi= VGS-
VDSi; i=1... N.

Volvamos a la ec. j13, tenemos los N pares (X,Y) y además la


pendiente de la recta (B) es fija igual a -0,5 (recordemos que PB=1).
Resta ajustar la intersección de la recta con el eje Y, i.e. el valor de
A, tomamos el que más se aproxima a los datos:

N N

∑ Y − B∑ X
A= k =1 k =1
(j14)
N
El valor de CGD0 surge inmediatamente de la ec. j13.

Para la determinación de CGS0 disponemos en los manuales de la curva


de Cis (fig. j7), que está en función de VGS como necesitamos.

Cis
VDS=cte.

VGS

Figura j7

Para cada punto calculamos CGS mediante la siguiente fórmula


derivada del sistema de ec. j11 y la ec. j6:

CGD0
CGS = Cis − M (j15)
 VGS − VDS 
1 − 
 PB 

Desde acá en adelante podemos proceder como en el caso anterior


utilizando la ec. j5 en lugar de la j6, determinando así a CGS0.

Podemos dejar el resto de los parámetros de JFET con sus valores


predefinidos en SPICE.

Como observación final general (tanto para el BJT como para el


JFET), siempre habrá diferencias entre las curvas en los manuales y las
resultantes de los modelos, pero estas diferencias serán en general
menores que las existentes entre componentes del mismo tipo debidas a la
dispersión.
28

4. Algoritmos
En esta sección haremos un breve repaso de los algoritmos utilizados
en el ProEsP para encontrar las raíces de funciones. Estos algoritmos son
dos: el método dicotómico y el de Newton-Raphson.

Para describir los métodos consideremos una función f definida sobre


el conjunto de los números reales o sobre un intervalo del mismo. Estos
métodos permiten calcular las raíces o ceros (z) de la ecuación f(x)=0.
En principio esto parecería una limitación, pero no lo es ya que podemos
encontrar la solución de la ecuación g(x)=c definiendo f(x)=g(x)-c.

4.1. Método Dicotómico

4.1.1. Características generales:

El método consiste en dividir sucesivamente por la mitad el


intervalo en el cual se sabe existe una (única) raíz. Se supone la
función continua y que asume valores de signos distintos en los extremos
del intervalo.

Entonces, si f tiene tiene una sola raíz en el intervalo (a, b), y


en ambos extremos asume valores de signo diferente, existirá un punto
intermedio en el cual f se anulará.

Este es el principio que permitirá iterar el proceso hasta hallar un


punto intermedio en el cual f=0 , o encontrarse con un subintervalo de
trabajo suficientemente pequeño. En cada interacción la longitud del
intervalo será la mitad de la del obtenido en la iteración anterior.

La convergencia de este método es lenta (lineal), pero tiene la


ventaja de ser muy simple y por lo tanto de muy fácil implementación.

4.1.2. Diagrama del algoritmo:

Inicio

a(n)-b(n)<e

Fin

u=(a(n)+b(n))/2

si no
f(a(n))*f(u) < 0

a(n+1)=a(n) a(n+1)=u
b(n+1)=u b(n+1)=b(n)

n=n+1

a, b: extremos del intervalo


n: número de iteración
29

u: aproximación a la solución (z)


e: acotación del error
4.2. Método de Newton-Raphson

4.2.1. Características Generales:

Consiste en reemplazar la curva por su tangente. Partiendo de un


punto inicial x0 (valor de arranque) y trazando la tangente a la curva en
(x0, f(x0)), y luego prolongando esta se obtiene el punto x1 que bajo
ciertas condiciones será una mejor aproximación al valor z que el x 0 (ver
figura).

f(x0)

x
z x1 x0

En general se tiene que:

f ( xn )
xn + 1 = xn −
f ’( xn )

Se puede demostrar que siendo f’ y f" continuas, f" de igual signo


en todo el intervalo, y f’ no nula en él, entonces si se toma como valor
de arranque un punto en el cual el valor de la f tenga igual signo que
f", este método resulta convergente.

La convergencia de este método es más rápida que la del anterior (es


cuadrática), pero hay más dificultades en su implementación.

4.2.2. Diagrama del algoritmo:

Inicio

x(n+1)=x(n)-f(x(n)) / f’(x(n))

si
| x(n+1)-x(n) | < e

no Fin

n=n+1

n: número de iteración
e: acotación del error
30

5. Implementación
En este punto consideramos la estructura interna del ProEsP, así
como también la elección del lenguaje para su implementación.

5.1. Lenguaje de programación utilizado

En principio podríamos haber usado cualquier lenguaje, pero hay


ciertos factores que llevaron a elegir al C. El mismo es un lenguaje de
nivel medio que soporta programación estructurada y el código objeto
generado por el compilador es más rápido y compacto que el
correspondiente a otros lenguajes de más alto nivel. Es uno de los más
utilizados en los últimos tiempos para la realización de todo tipo de
aplicaciones, convirtiéndose casi en un estándard, por lo tanto su uso
permite una mayor probabilidad de reutilización de rutinas e inclusión de
partes del programa en sistemas más complejos que puedan realizarse.
Además hay que mencionar su portabilidad, esto es, se puede transladar el
código fuente entre distintas plataformas (cada una con su propio
compilador C) casi sin realizar modificaciones.

El programa se desarrolló para IBM-PC compatibles por ser la


plataforma más difundida en la actualidad y además puede realizar sin
demoras excesivas el volumen de cálculo necesario. El compilador elegido
es el Turbo C 2.0 (de Borland), que viene con un entorno de desarrollo
que incluye entre otras cosas un editor del código fuente, un debugger y
ayuda on-line. Además cuenta con una biblioteca de funciones muy completa
que facilita la tarea de programación y algunas facilidades como por
ejemplo la autodetección y uso del coprocesador matemático si este se
halla presente o su emulación en caso contrario.

Nota: Con respecto a la portabilidad, el programa utiliza funciones para


el manejo de pantalla en modo gráfico que probablemente no estén
disponibles en los compiladores para otras plataformas distintas de la
IBM PC compatible. No obstante preferimos esto a realizar un programa con
presentaciones solo texto pero totalmente portable ya que este último
sería mucho menos interactivo y más limitado al no poder dibujar
gráficas.

5.2. Estructura interna

Para implementar el programa se recurrió a dividirlo en módulos,


cada uno con funciones específicas, conforme a la programación top-down.
El criterio para la división fue que las interacciones entre los módulos
fueran las menos posibles y que cada uno realizara una tarea completa,
facilitando de esta manera el diseño de cada uno y el debugging. En la
tabla siguiente se enumeran esos módulos y se comentan los contenidos de
cada uno:

PRINC.C Contiene el programa principal y las funciones necesarias


para la presentación.

GRAF.C Contiene la rutina de detección de tarjeta gráfica, las


funciones de entrada y salida de datos en pantalla
gráfica, y la rutina que realiza la gráfica de funciones.
31

IFORWARD.C Cada uno contiene las funciones necesarias para el


VAF.C control de la pantalla y el cálculo de un grupo de
HFE.C parámetros. Por ejemplo, IFORWARD.C contiene lo necesario
RBASE.C para el grupo Is y Nf del transistor bipolar.
BREV.C
CAPBJT.C
TFOR.C
TREV.C
LAMBDFET
BETAFET.C
CAPFET.C

GLOBAL.H Contiene definiciones comunes a todos los demás módulos.

Describiremos a continuación cada uno de los módulos y las funciones


que los componen en el orden en que se encuentran en la tabla, esto es,
primero los generales, luego los correspondientes a grupos de parámetros
del transistor bipolar y por último los correspondientes a los grupos del
JFET.

5.2.1. PRINC.C

Este módulo contiene lo siguiente:

• Las definiciones y los valores iniciales de todos los parámetros de


los modelos para el BJT y el JFET usados en el ProEsP.

• El programa principal (main), que se ocupa entre otras cosas de la


presentación, la elección del tipo de transistor (BJT o JFET), y la
salida al sistema operativo.

• La función preswindow es la encargada de 'preparar' la pantalla


gráfica para la presentación y los menús.

• La función floatwindow dibuja ventanas 'flotantes' para carteles y


cuadros de diálogo durante la presentación y los menús específicos
de cada transistor.

• La rutina bipolar es la encargada de generar el menú para este tipo


de transistores, llamar a la rutina de cálculo que corresponda y
grabar el modelo cuando el usuario lo solicite.

• La rutina jfet realiza las funciones de la anterior pero para


transistores de efecto de campo de juntura.

Veamos ahora un diagrama de flujo simplificado de las rutinas más


importantes dentro de PRINC.C.

En las rutinas bipolar y jfet hay un cuadro redondeado que indica la


subrutina llamada según el número elegido, por ejemplo si en bipolar
elegimos 3 se ejecutará hfe. El cuadro de decisión 'analiza el código de
retorno de la subrutina' decide si hay que volver a presentar el menú e
ingresar una opción o pasar a ejecutar directamente otra subrutina en
función de un código que retorna la última subrutina llamada, por ejemplo
este código puede indicar ejecute la próxima subrutina de la lista sin
pasar por el menú, o puede indicar presentar el menú e interrogar al
usuario.
32

main

preswindow

Presentación y menú

1 Esc
Elección

Fin
Rutina bipolar 2 3

Rutina jfet Información sobre ProEsP

Programa principal
33

bipolar

preswindow

Presentación y menú
de elección de grupo

1... 9 Esc
Elección
Ir a la
rutina que
corresponda G Fin bipolar

1 - iforward Pregunta nombre del trans.


2 - vaforward y graba el modelo
3 - hfe
4 - rbase
5 - reverso
6 y 7 - capbjt
8 - tfor
9 - trev

no pasar por el menú analiza cod. de


retorno sub.

Volver a presentar el menú

Rutina bipolar
34

jfet

preswindow

Presentación y menú
de elección de grupo

1... 4 Esc
Elección
Ir a la
rutina que
corresponda G Fin jfet

1 - lambdfet Pregunta nombre del trans.


y graba el modelo
2 - betafet
3 y 4 - capfet

no pasar por el menú analiza cod. de


retorno sub.

Volver a presentar el menú

Rutina jfet

5.2.2. GRAF.C

Aquí encontramos las siguentes funciones:

• Initialize: inicializa el sistema y reporta cualquier error que


pueda ocurrir.

• MainWindow: prepara la pantalla para que la usen las rutinas de


cálculo de grupos de parámetros (por ej. brev).

• StatusLine: muestra mensajes en una zona especial en la parte


inferior de la pantalla.

• DrawBorder: dibuja el borde de la ventana activa.

• changetextstyle: cambia el tamaño, la orientación y el tipo de


letra con que se presenta el texto en la pantalla gráfica.

• prompt: realiza la entrada de datos desde el teclado con pantalla


en modo gráfico presentando un cursor en la posición indicada y con
la posibilidad de usar teclas de edición como Bs (Back space).

• getdata: igual que prompt pero es específica para entrar números en


representación punto flotante y en zonas definidas de la pantalla.

• print: imprime valores de variables con su correspondiente cartel


en una zona de la pantalla destinada a tal fin.

• plot: realiza la gráfica de una función en el rango que se le


indique con escala lineal o semilogarítmica y autorango en el eje
y, además ubica pares ordenados separados dentro de la gráfica.
35

Todas estas funciones son utilizadas en el resto del programa para


facilitar la entrada y salida de datos. Hay que destacar que se han
utilizado coordenadas relativas con el fin de hacer las funciones
independientes de la resolución de la pantalla en particular que se
utilice. También se tuvo en cuenta si esta es color o monocromática, de
manera que en cualquier caso la presentación es buena.

5.2.3. Subrutina de grupo general

Presentaremos ahora el diagrama de flujo general de una subrutina de


grupo de parámetros. Con este diagrama queremos indicar la filosofía
general que siguen estas subrutinas.

Grupo n

Inicialización
MainWindow

opción no
DóP
si

print( 'parámetros' )
plot( 'función' )

StatusLine( 'opciones' )
Entrar opción

Cualquier otra
Según opción

D P

getdata( 'datos manual' )


getdata( 'valores parám.' )
StatusLine( 'indicaciones' )
Cálculo parámetros StatusLine( 'indicaciones' )

no opción
Esc, N, P

si
Fin Grupo n
Retorna opción

Diagrama general de una rutina de cálculo de grupo

Estas rutinas son en realidad, desde el punto de vista del lenguaje,


funciones enteras que pueden retornar tres valores que son los
correspondientes al código ASCII de los caracteres N, P o Esc. Ellos
serán interpretados por la rutina bipolar o jfet según corresponda. Los
significados atribuídos a estos caracteres son: N, pasar al próximo
grupo; P, pasar al grupo previo y Esc, volver al menú del transistor.

Enumeramos a continuación las funciones contenidas en los módulos


correspondientes a cada grupo de parámetros. Para el cálculo de los
parámetros las distintas funciones utilizan los métodos que describimos.

Comenzamos con los módulos relacionados con el transistor bipolar.


36

5.2.4. IFORWARD.C

• iforward: esta es una subrutina de grupo encargada de los


parámetros del transistor bipolar Is y Nf.

• Vbe: esta es la función que se grafica en la pantalla


correspondiente a iforward.

5.2.5. VAF.C

• vaforward: subrutina de grupo encargada de VAF.

• Icvaf: es la función a graficar en este grupo.

5.2.6. HFE.C

• hfe: subrutina de grupo para Bf, Ise, Ne e Ikf.

• isebf: función de uso interno de hfe.

• hFE: función a graficar del grupo.

5.2.7. RBASE.C

• rbase: subrutina del grupo de rb y rbm.

• VbeRb: es la función que se grafica en este grupo.

5.2.8. BREV.C

• reverso: subrutina de grupo para Br, Isc y Rc.

• tensbe: función de uso interno de reverso.

• Vce: función para graficar del grupo.

5.2.9. CAPBJT.C

• capbjt: subrutina de grupo para Cje, Vje y mje o Cjc, Vjc y mjc;
según los argumentos de entrada.

• Cjbe: función a graficar si se está tratando la juntura de emisor.

• Cjbc: función a graficar si se está tratando la juntura de


colector.

5.2.10. TFOR.C

• tfor: subrutina de grupo para Tf

• fT: función a graficar en el grupo.

5.2.11. TREV.C

• trev: subrutina de grupo para Tr

• iba: función de uso interno de trev.

Observación: la gráfica para este grupo no está implementada en esta


versión del programa.

A continuación los módulos relacionados con el JFET.


37

5.2.12. LAMBDFET.C

• lambdfet: subrutina de grupo para Lambda.

• Iclam: función a graficar en el grupo.

5.2.13. BETAFET.C

• betafet: subrutina de grupo para Beta.

• Vgsid: función para graficar Vgs versus Id.

• Vgsrd: función para graficar Vgs versus rdson.

Nota: La subrutina betafet permite cambiar la gráfica visualizada entre


las dos disponibles a petición del usuario.

5.2.14. CAPFET.C

• capfet: subrutina de grupo para Cgs0 o Cds0, según los argumentos


de entrada.

• Crs: función a graficar si se está determinando Cgd0.

• Cis: función a graficar si se está determinando Cgs0.

5.3. Códigos fuente y ejecutable

Para aquellos que quieran saber mayores detalles acerca de la


implementación se encuentran disponibles en el Laboratorio de
Microelectrónica de la U.N.R. (Av. Pellegrini 250 - 2000 Rosario -
Argentina) todos los módulos con el código fuente.

También quienes tengan interés en utilizar el ProEsP pueden


conseguirlo listo para usar en el mencionado laboratorio. La versión
actual es la 1.10.
38

6. Manual del Usuario


El manejo del programa es bastante intuitivo y en general solo hay
que elegir entre varias opciones disponibles o ingresar los datos
solicitados. Explicaremos el manejo mediante el siguiente ejemplo.

6.1. Ejemplo

Supongamos querer determinar los parámetros de los JFET BC264B y D.


Lo primero que debemos hacer es conseguir los datos del manual para estos
transistores. Una vez hecho esto, corremos el programa tipeando PROESP en
el prompt del DOS. Aparecerá la siguiente presentación:

Figura m1

Como nuestros transistores son JFET, oprimimos el número '2' en el


teclado para elegir esta opción. Al hacer esto, aparece el menú
específico para el JFET:

Figura m2
39

Ahora debemos elegir el grupo de parámetros a calcular. En el menú


de la figura m2 tenemos primero una lista de los grupos de parámetros del
JFET, a cada uno le corresponde una gráfica que es la que contiene los
datos necesarios. La tecla que sirve para seleccionar cada item se
encuentra indicada a la izquierda del mismo. Elegimos la opción '1'
porque en general los parámetros calculados en un grupo son necesarios
para el cálculo de los parámetros de los grupos siguientes. Al hacerlo
pasamos a la pantalla de cálculo de lambda:

Figura m3

Aquí encontramos en el recuadro de la derecha el valor actual de


lambda (valor por defecto). En ese recuadro figuran siempre los valores
de los parámetros correspondientes a la pantalla y además los datos que
vayamos ingresando. Los valores se van escribiendo formando una lista por
orden cronológico, cuando se acabe el lugar en el cuadro la lista
comienza a desplazarse hacia arriba. En la gráfica podemos ver la
pendiente de la curva de ID en función de VDS para el valor actual de
lambda. Abajo tenemos los comandos posibles: oprimimos la tecla 'D' para
ingresar datos del manual. Cuando hacemos esto nos aparece la variable
que debemos ingresar seguida de su unidad entre corchetes, un signo
igual, su valor actual (en este caso el valor predefinido) y un cursor en
la ventana destinada a la entrada de datos y una indicación en la ventana
inferior. En este ejemplo sería: Vds1 [V]= 10_ . Como en este caso
ingresamos pares ordenados, los dos valores que lo componen quedan uno al
lado del otro en la ventana de entrada de datos. Mientras tecleamos los
valores podemos utilizar la tecla Bs para borrar si nos equivocamos.
40

Figura m4

En la figura m4 vemos el estado luego de haber ingresado un par


ordenado completo y estamos a punto de terminar de ingresar el segundo.
Podemos observar que los valores ya confirmados van quedando en el cuadro
de la derecha, y la gráfica no ha cambiado. Recién al entrar el último
dato se presenta el nuevo valor de lambda y se actualiza la gráfica, que
en este caso es siempre una recta con distinta pendiente. Luego de esto,
tenemos nuevamente las opciones de la fig. m3 pasamos al grupo de
parámetros siguiente con la tecla 'N'.

Figura m5

Estamos ahora en una situación similar que al principio de la


pantalla anterior. Elegimos la opción 'D' e ingresamos lo que se nos
pide.
41

Figura m6

Aquí (en la fig m6) encontramos que luego de ingresar Vp debemos


elegir entre ingresar datos relacionados con ID o con rDSon (recordar que
en el menú de la fig. m2 había 2 gráficas posibles). Supongamos tener
datos referentes a ID. Apretamos 'I'.

Figura m7

En la ventana inferior se nos indica que si solo disponemos de IDSS


podemos ingresar ese valor como ID, entrando luego cuando se pida VGS=0.
Luego de entrar VGS (que es el último dato), sucede lo siguiente:
42

Figura m8

Tenemos los nuevos valores para los parámetros (los últimos en la


lista) y la gráfica ha sido actualizada, además hay una 'x' representando
el punto ingresado (5 mA, 0V). En la parte superior de la gráfica se nos
indica que en el eje horizontal está ID en escala logarítmica y que la
gráfica está hecha para VDS= 15V. A la derecha de la gráfica vemos que el
eje vertical corresponde a VGS. Pasamos ahora al próximo grupo.

Figura m9
43

Figura m10

En las figuras m9 y m10 vemos las pantallas correspondientes a las


capacidades del JFET. Las cruces en las gráficas se corresponden con los
puntos ingresados, como siempre.

En estas dos últimas pantallas el parámetro PB no es modificado por


el programa, pero si por alguna razón nosotros quisiéramos hacerlo,
utilizaríamos el comando 'P'. Al oprimir esta tecla (cuando está
disponible en la ventana inferior de la pantalla) el programa nos va
pidiendo los valores de los parámetros de la misma forma que con el
comando 'D'.

Como ya calculamos todos los parámetros necesarios apretamos Esc


desde cualquier pantalla de grupo y volvemos al menú de la fig. m2.
debemos grabar el modelo que acabamos de generar si queremos utilizarlo,
y lo hacemos oprimiendo la 'G', después de lo cual se abrirá una ventana
en la que escribimos el nombre del modelo y el tipo de transistor (fig
m11).

Figura m11
44

Si recibimos un Ok como respuesta, nuestro modelo ya está grabado en


el disco y podemos continuar el trabajo. Si por alguna razón el programa
no puede grabar el modelo nos lo dirá con un mensaje de error, esto puede
ocurrir si por ejemplo estamos trabajando en un disco protegido contra
escritura (¡la solución es sacar la protección para poder grabar!). Luego
de esto presionando cualquier tecla volvemos a la situación de la figura
m2. Hagamos un pequeño paréntesis en la explicación para ver que es lo
que grabamos.

El archivo que acabamos de generar es el BC264B.MOD y su contenido


es:

* Modelo creado por el ProEsP *


.MODEL BC264B NJF( LAMBDA=0.003226
+ VTO=-2V BETA=0.001192
+ CGS=4.028PF CGD=4.235PF PB=1V
+ )
Este archivo ya está listo para ser usado incluyéndolo con el
archivo de entrada al simulador o como elemento de biblioteca.

Nos queda ahora determinar los parámetros para el BC264D. Para ello
entramos, en el menú de la fig m2, directamente en la opción '2' porque
vemos en el manual que en lo único que se diferencian el BC264B y D es en
las carácterísticas correspondientes a este grupo.

Figura m12

En este caso hicimos el cálculo a partir de rDSon, y en la figura


podemos ver la gráfica correspondiente, pero podemos ver la gráfica ID-
VGS (como en la fig. m5) pero actualizada de acuerdo a los nuevos valores
de los parámetros simplemente apretando la tecla 'T'. Con esa tecla
conmutamos entre las dos gráficas.

Solo nos resta volver al menú del JFET (fig. m2) y grabar el nuevo
modelo, cambiando el nombre BC264D, por ejemplo. Luego oprimiendo Esc
volvemos al menú principal (fig m1). Aquí podríamos entrar en la parte
para transistor bipolar si fuera necesario, ver información sobre el
programa, volver al menú del JFET, o volver al sistema operativo
volviendo a oprimir Esc y confirmando afirmativamente a la pregunta si
queremos salir que nos hará el programa.
45

6.2. Resumen de comandos

La siguiente lista contiene los comandos disponibles en todas las


pantallas de cálculo y su efecto (cuando están disponibles se muestran en
la barra de estado como en la figura m3):

D (Datos): permite ingresar datos del manual.

P (Parámetros): es para asignar valores arbitrarios a los parámetros.

N (Next): es para avanzar a la próxima siguiente pantalla de grupo.

P (Previus): igual a N pero a la pantalla anterior

Esc (Escape): permite volver al nivel inmediato superior.

6.3. Observaciones y Recomendaciones

• Los datos ingresados y los valores de los parámetros se mantienen


inalterados hasta que se salga del ProEsP o se reemplacen por
nuevos valores en la pantalla de cálculo correspondiente. Esto
permite 'navegar' a través de los menús y pantallas sin miedo a
perder el trabajo ya realizado.

• Recordar, no obstante lo anterior, que si cambiamos los parámetros


de un grupo esto puede alterar las gráficas correspondientes a los
grupos siguientes en el menú del transistor, obligándonos quizás a
recalcular estos últimos.

• Para recalcular un grupo de parámetros sin cambiar los datos del


manual lo más sencillo es elegir la opción 'D' y confirmar todos
los valores de los datos que van apareciendo (oprimiendo Enter).

• En general, tratar de elegir los datos cercanos a la zona de


trabajo esperada del elemento.

• No siempre es necesario calcular todos los parámetros que el


programa permite, por ejemplo si vamos a realizar un ensayo DC no
es necesario calcular las capacidades, o si vamos a usar un
transistor bipolar en zona activa no tiene objeto calcular los
parámetros que intervienen en la saturación.

• Si utiliza el programa, el autor agradecería el envío de


comentarios y sugerencias.
46

7. Bibliografía
[1] Franz Sischka, Eine Methode zur Bestimmung der SPICE-Parameter für
Bipolare Transistoren. AEÜ, Band 39 [1985], Heft 4.

[2] Paolo Antognetti, Giuseppe Massobrio, Semiconductor Modelling with


SPICE, McGraw-Hill Book Company, 1988.

[3] MicroSim Corporation, PSpice User's Guide, 1986.

[4] Intusoft, PRE_Spice Manual, 1986.

[5] Millman y Taub, Circuitos de Pulsos, Digitales y de Conmutación,


McGraw-Hill Book Company, 1980.

[6] Borland International, Turbo C User's Guide, 1987.

[7] Brian Kernighan, Dennis Ritchie, C Programming, Prentice-Hall


International, 1978.

[8] Lessons in C, P.J.Ponzo, Dpt. of Applied Math., Univ. of Waterloo


(software).

[9] Philips, Field Effect Transistors, Eindhoven, 1982

[10] Philips, Small-Signal Transistors, Eindhoven, 1982

[11] Siemens, Discrete Semiconductors for Surface Mounting Data Book,


1987/88.

También podría gustarte