Estoy tratando de simular el siguiente circuito en Altium antes de ir a la ruta de PCB:
Pero obtengo los siguientes errores de pin:
Encontré el modelo SPICE y traté de asignarlos a esta huella:
Así es como vinculo el archivo .ckt:
Así es como hice las asignaciones de pines:
el resto de tareas:
Y finalmente aquí está el código del archivo SPICE ckt:
*
*
* (DUAL) RETRIGGERABLE MONOSTABLE MULTIVIBRATOR
* Pulse Width Tw = 0.5 * R * C
* tpd R,A,B->Q 30n
* Tpulse 75n, C=0, Rext=5k
.SUBCKT 74HC123 A B CLR CGND RC Q QN VCC VGND vcc1={vcc} speed1={speed} tripdt1={tripdt}
.param egain=1/{vcc1}
.param td5=1e-9*(5)*4.0/({vcc1}-0.5)*{speed1}
.param td2=1e-9*(2)*4.0/({vcc1}-0.5)*{speed1}
*
XINA A Ai VCC VGND 74HC_IN_1 vcc2={vcc1} speed2={speed1} tripdt2={tripdt1}
XINB B Bi VCC VGND 74HC_IN_1 vcc2={vcc1} speed2={speed1} tripdt2={tripdt1}
XINCLR CLR CLRi VCC VGND 74HC_IN_1 vcc2={vcc1} speed2={speed1} tripdt2={tripdt1}
XINRC1 RC RCi VCC VGND 74HC_IN_0 vcc2={vcc1} speed2={speed1} tripdt2={tripdt1}
*
* Model of a 74HC123 derived from SGS-Thomson data sheet.
* Helmut Sennewald, 13.9.2002
A4 DHIGH 0 N014 0 N004 N006 N005 0 DFLOP tripdt={tripdt1} td={td5}
A3 0 N015 N016 N023 0 N014 0 0 OR tripdt={tripdt1} td={td5}
A1 Ai 0 0 0 0 0 N015 0 SCHMITT Vt=0.46 Vh=0.02 tripdt={tripdt1} td={td5}
A2 Bi 0 0 0 0 N016 0 0 SCHMITT Vt=0.46 Vh=0.02 tripdt={tripdt1} td={td5}
A6 0 N008 0 N006 0 N007 0 0 AND tripdt={tripdt1} td={td5}
A5 0 N009 0 N007 0 N008 0 0 AND tripdt={tripdt1} td={td5}
A14 0 N003 0 N021 0 N004 0 0 AND tripdt={tripdt1} td={td2}
A13 0 N003 0 N005 0 0 N030 0 AND tripdt={tripdt1} td={td5}
A12 N005 0 0 0 0 N012 0 0 BUF tripdt={tripdt1} td={td5}
A21 0 N010 0 N011 0 0 N009 0 OR tripdt={tripdt1} td={td5}
A22 0 N005 0 N007 0 N010 0 0 OR tripdt={tripdt1} td={td5}
A11 0 N013 0 N012 0 0 N003 0 OR tripdt={tripdt1} td={td5}
A7 0 N007 0 N018 0 QNi Qi 0 AND tripdt={tripdt1} td={td5}
A20 RCi 0 0 0 0 N011 0 0 SCHMITT tripdt={tripdt1} td={td5} Vt=0.44 Vh=0.2m
A10 RCi 0 0 0 0 0 N013 0 SCHMITT tripdt={tripdt1} td={td5} Vt=0.1 Vh=0.2m
A32 0 N006 0 N021 0 N022 0 0 OR tripdt={tripdt1} td={td5}
A31 0 N022 0 N023 0 N021 0 0 OR tripdt={tripdt1} td={td2}
A33 N021 0 0 0 0 N019 0 0 BUF tripdt={tripdt1} td={td5}
A30 CLRi 0 0 0 0 N023 0 0 BUF tripdt={tripdt1} td={td5}
A34 0 N007 0 N006 0 N020 0 0 AND tripdt={tripdt1} td={td5}
A35 0 N020 0 N018 0 N017 0 0 OR tripdt={tripdt1} td={td5}
A36 0 N017 0 N019 0 N018 0 0 OR tripdt={tripdt1} td={td5}
M10 RC N001 VGND VGND NMOS1
M30 RC N024 VCC VCC PMOS1
D1 RC VCC DIO1
D2 VGND RC DIO1
R10 N001 N002 100
R30 N024 N029 100
R3 CGND VGND 1
E4 RCi 0 RC VGND {egain}
E7 N029 VCC N018 0 {vcc1}
E8 N002 VGND N030 0 {vcc1}
V1 DHIGH 0 DC 1
.MODEL NMOS1 NMOS ( LEVEL=3 W=500e-6 L=1E-6 VTO=1
+ VMAX=1E6 RS=10 RD=10 CJ=0.002 MJ=0.4
+THETA=1E-6 ETA=0.01 KAPPA=2.2)
.MODEL PMOS1 PMOS ( LEVEL=3 W=500e-6 L=1E-6 VTO=-1
+ VMAX=1E6 RS=10 RD=10 CJ=0.002 MJ=0.4
+THETA=1E-6 ETA=0.01 KAPPA=2.2)
.MODEL DIO1 D (IS=10p RS=10 N=1.75 M=0.4 Cjo=6p TT=20n)
*
XOUT0 Qi Q VCC VGND 74HC_OUT_1X vcc2={vcc1} speed2={speed1} tripdt2={tripdt1}
XOUT1 QNi QN VCC VGND 74HC_OUT_1X vcc2={vcc1} speed2={speed1} tripdt2={tripdt1}
.ends
*
*
*
No pude averiguar dónde estoy haciendo mal. ¿Qué puedo hacer para solucionar este problema?
El modelo solo tiene estas entradas, que es solo una sección de las entradas para el T-flip flop. Su modelo tiene dos, su subcircuito solo tiene uno.
.SUBCKT 74HC123 AB CLR CGND RC Q QN VCC VGND
Por lo general, los archivos de especias no tienen partes duales dentro de ellos, ya que se pueden duplicar fuera de la parte. Será necesario duplicar el código para ambas mitades de la pieza.
Hay algunas opciones para corregir esto: 1) duplicar el archivo de la biblioteca y escribir uno nuevo que tenga dos de los subcircuitos 74HC123.
2) Cambiar la parte gráfica para que solo tenga un flop, no dos. (que probablemente no quiera hacer para combinar el esquema del mundo real)
3) Esto podría resolverse en la lista de conexiones haciendo algo como esto (pero no lo he probado)
El SN74123 parece ser un monoestable dual. Sin embargo, el modelo sim parece ser solo para una sola instancia.
El esquema indica que también está interesado en el funcionamiento de una sola instancia.
Para que esto funcione, no intente mapear los pines de la (segunda) instancia no utilizada (siempre he tenido problemas con Altium y los componentes de varias partes con sim). Simplemente asigne los pines para la parte A.
Su declaración de tipo de modelo debe terminar con solo 9 parámetros (como se enumeran en el archivo del circuito sim:
@DISEÑADOR %1 %2 %3 %4 %5 %6 %7 %8 %9 @MODELO
con %1 correspondiente a "A", %2 a "B", y así sucesivamente:
.SUBCKT 74HC123 AB CLR CGND RC Q QN VCC VGND
Por ejemplo, aquí hay una declaración para la Parte A de un amplificador dual:
vcc1={vcc} velocidad1={velocidad} tripdt1={tripdt}
¿Tal vez necesitará definir estos valores como parámetros globales en la configuración de su sim? ¿O tal vez puede definirlos como constantes en la línea del modelo? No sé. Prueba y descubre...
DerStrom8