Text preview for : introduction.pdf part of Xrelais 3.1 X relais 3.1 Xrelais 3.1 loucozener
Back to : XRELAIS_3_1_COMP.part01.r | Home
L a
p h y s i q u e
A p p l i q u é e
p a r
l a
s i m u l a t i o n :
Introduction a La simulation avec WinECAD/Winschem.
1.1 Généralités Un projet de simulation requiert les étapes suivantes: 1. L'entrée de la description du circuit 2 La spécification et le parametrage des différentes analyses à effectuer 3 L'exécution de la simulation 4 La visualisation des résultats WinECAD est prévu pour fonctionner de paire avec WINSCHEM qui lui fournit la description du circuit sous forme de fichier texte (netlist). L'intervention de WINSCHEM se situe à l'étape 1 et éventuellement a l'étape 2 de la procédure indiquée ci-dessus. Les autres étapes sont effectuées dans l'environnement intégré de WinECAD. La dernière étape est effectuée par le visualiseur de graphiques intégré. Au travers de cinq exemples complets, nous étudierons pas à pas les différentes étapes pour accomplir une tâche de simulation. 1.1.1 Exemple 1 : Détermination du point de repos d'un circuit. Loi d'Ohm. L'analyse du point de fonctionnement en continu pourra permettre de déterminer la polarisation d'un circuit et le calcul de la consommation statique de puissance. On considère le circuit suivant:
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.1. Circuit diviseur de tension. chap1-ex1.wh5
Pour simuler ce circuit, on devra informer le simulateur sur les éléments constituant le circuit ainsi que la manière dont ceux ci sont connectés électriquement entre eux (topologie). Le texte résultant de cette analyse est le suivant: R1 N1 N2 1k R2 N2 0 2k V1 N1 0 10v Remarque importante: Dans toute simulation de type Spice, la présence du noeud de référence 0, est obligatoire. Cette règle sera revue dans les notions élémentaires pour la définition d'un circuit. 1.1.1.1 Edition du schéma Etape 1: Saisie du schéma Saisir le schéma. Tous les symboles sont dans les dossiers préfixés WinECAD. Etape 2: Définir les valeurs Spice des symboles. Exemple: R1 C1 31.6K 10nF
3
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
X1 LM324 Les circuits intégrés sont désignés par X, ce qui indique à WinECAD d'utiliser le modèle LM324, qui doit se trouver dans la bibliothèque de modèles fournie avec WinECAD. Etape 3: Placer les labels Pour placer les labels utiliser la commande "Placer un label". Les labels permettent de nommer les équipotentiels. La définition du potentiel 0 (masse) est obligatoire. Un label "0" doit exister. Les tensions calculées le seront par rapport à ce potentiel 0. A noter: Il existe une alternative à l'utilisation des labels pour le problème de la masse. L'utilisation du composant WinECAD GND permet de générer automatiquement le label "0" pour tous les composants attachés à GND. Cette démarche étant plus intuitive.
Etape 4: Placer les commandes Spice Pour placer les commandes Spice, utiliser la commande "Placer un texte". Il s'agit de texte commençant par le caractère " | " ( touche AltGr + 6 ) Les commandes Spice permettent une description de la simulation. Ces textes seront insérés dans le fichier CIR. Par exemple: |.ic v(aa) = 8V". |.tran 1u 4m" Analyse transitoire de 0 à 4ms, par pas de 1µs.
A noter: WinECAD prend en compte automatiquement toutes les commandes présentes dans un fichier circuit texte. Si aucune commande n'est présente dans le fichier, la simulation ne peut être autorisée que si l'utilisateur entre les paramètres de simulation (Analyses et propriétés des analyses) en mode interactif. Voir comme paramétrer les analyses dans WinECAD. 1.1.1.2 Transfert vers winecad. 1. 2. Cocher l'option Générer les fichiers CIR au format WinECAD. Menu Transfert - Transfert vers
4
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
WinECAD est prêt a exécuter les analyses que nous lui spécifierons. Il suffit pour cela de configurer les différentes analyses. Pour ce premier exemple nous allons seulement calculer les valeurs du point de repos. 1.1.1.3 parametrage de l'analyse dans WinECAD. 1. 2. 3. Cliquez dans le menu Analyses sur Parametrage des analyses. Dans la boîte de dialogue Parametrage des analyses, cliquez sur point de fonctionnement. La case à cocher correspondante est marquée. Pour que le parametrage soit enregistrée, cliquez sur OK.
WinECAD est maintenant renseigné sur ce que vous voulez faire de ce circuit. Il suffira de lancer la simulation. A noter: Il existe sur la barre d'outils un bouton pour la commande Parametrage des analyses. Essayer le aussi. 1.1.1.4 Exécution de l'analyse dans WinECAD. 1. 2. 3. Cliquez dans le menu Analyses sur Lancer la simulation. La simulation s'effectue comme l'indique la barre de progression. Dans la boîte de dialogue Ajouter signaux, cliquez sur les signaux de votre choix. Cliquez sur OK.
WinECAD affiche les résultats de cette simulation sous forme de liste de données. Il a en effet calculé le point de repos de circuit diviseur de tension A noter: Il existe sur la barre d'outils un bouton pour la commande Lancer la simulation. Essayer le aussi. A noter: La liste des données est affichée automatiquement pour les analyses suivantes: .op (point de fonctionnement).pz (pôles et zéros).tf (fonction de transfert en continu.noise (pour la partie intégrale du bruit). Sens(analyse de sensibilité). Les autres analyses s'afficheront sous forme de courbes de valeurs. .
5
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
A noter: On peut afficher toute expression mathématique sur les vecteurs de sorties obtenues exemple v(n2)+v(n1) WinECAD archive tous les résultats de simulation et donne un fichier de sortie récapitulatif. 1.1.1.5 Visualisation des résultats. 1. 2. 3. Cliquez dans le bas de la fenêtre de projet (à gauche) sur menu Fichiers. Développez l'arborescence du projet en cliquant sur le (+) Dans le dossier résultats de la simulation, double cliquez sur le fichier à extension.out
On obtient par exemple : ********************************************************** * * *WinECAD Version 2.1 *(C) Mai 2003 Micrelec* * 11/05/03 15:51:55 * ********************************************************** * WINSCHEM - chap1-ex1 Temperature de fonctionnement = 27 Temperature nominale = 27 ********* *Listing: ********* * WINSCHEM - chap1-ex1 * Fichier simulation CIR * Destination: WinEcad * Date de création: 10/05/03 à 16:32:49 * c:\chapitre1\circuits-exemples\chap1-ex1.cir * V1 N1 0 10
6
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
R1 0 N2 1K R2 N2 N1 1K *.print all .end ******** *Modèles ******** Resistor models (Simple linear resistor) model R rsh 0 narrow 0 tc1 0 tc2 0 defw 1e-005 ************ *Composants: ************ Resistor: Simple linear resistor device r2 r1 model R R resistance 1e+003 1e+003 i -0.005 -0.005 p 0.025 0.025 Vsource: Independent voltage source device v1 dc 10 acmag 0 i -0.005 p 0.05 ********* *Analyses ********* ************************************* *Point de polarisation petits signaux
7
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
************************************* ---Noeuds---Potentiels----------------------n1 n2 ---Source--------------i(v1) 10V 5V --Courants-------------0.005A
Dans ce fichier de sortie au format texte, on trouve des informations telle que la température a laquelle la simulation a été effectuée, le listing développé, les modèles de composants avec les valeurs de paramètres effectivement utilisées. Les informations données par ce fichier peuvent être contrôlées par les options d'analyses et de contrôle des sorties. 1.1.1.6 Modification des options de simulation et de contrôle des sorties. 1. 2. 3. 4 5 Cliquez dans le menu Analyses sur Parametrage des analyses. Dans la boîte de dialogue Parametrage des analyses, cliquez sur Options Cliquez sur l'onglet Options de type booléen. Cochez ou décochez la case désirée. par exemple décochez LIST Cliquez sur OK
Cette manipulation permet d'exclure l'affichage du listing du fichier de sortie. A noter: Il faut que la fenêtre active soit votre texte source. Les options seront relatives à celui-ci. Il faudra re-effectuer le simulation pour voir le changement de le fichier de sortie. De même pour ne pas afficher les modèles, il suffira de cocher l'option NOMOD. Ce fichier de sortie a l'extension .out est très important car il constitue la sortie pour toutes les commandes .print. Lorsqu'une analyse de type
8
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
.op (calcul du point de fonctionnement) ou .tf (calcul de la fonction de transfert) est spécifiée, les résultats sont écrits dans ce fichier. Pour les autres analyses, il faut donner une commande .print avec les noeuds a observer pour que les résultats apparaissent dans le fichier de sortie.
9
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.1.2 Exemple 2 : Réponse temporelle d'un circuit. Amplificateur opérationnel. L'analyse temporelle non-linéaire est utilisée pour étudier le comportement du circuit au cours du temps lorsque celui ci est soumis à des changements de grandes amplitudes. L'exemple qui suit retrace les différentes étapes depuis la conception du schéma jusqu'à l'obtention des résultats de simulation en utilisant l'outil de saisie de schéma Winschem. Les étapes à suivre sont: 1. Ouverture du fichier schéma. 2. Modification d la valeur d'un composant 3. Exportation vers WinECAD. 4. Vérification du circuit 5 Exécution de l'analyse 6. Edition des résultats. On considère le circuit suivant:
Figure 1.2. Ail inverseur
10
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.1.2.1 Ouverture du schéma dans Winchem . 1. 2. 3. Cliquez dans le menu Fichier sur Ouvrir. Sélectionner le fichier chap1-ex2.wsh Cliquez sur Ouvrir
Figure 1.3. Ail inverseur. chap1-ex2.wh5
On désire modifier les paramètres de la source de tension sinusoïdale afin d'avoir une tension max. de 0.5V. 1.1.2.2 Modification des paramètres d'un composant WinECAD. 1. 2. 3. 4. Dans Winschem, cliquer sur l'icône Modifier un objet. Cliquer sur la source V3. Sélectionner l'onglet WinECAD. Cliquer sur la case Valeur du paramètre 2 (%va)
11
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
5. 6
Changer la valeur 0.3 précédente en 0.5 Cliquer sur OK pour valider le changement.
Figure 1.4. Dialogue Modifier un symbole.
Le principe est le même pour le changement des paramètres de simulation des autres composants. Remarque importante: Tous les composants présents dans la librairie de Winschem ne sont pas mis à jour pour permettre une modification des paramètres de simulation. Seuls ceux qui sont dans le répertoire de symboles WinECAD ont été mis à jour. Ce sont aussi ces composants qui sont présents dans la librairie de modèles WinECAD.lib. L'utilisateur peut toutefois créer ses propres composants à l'aide de Xsymbol ou mettre à jour d'autres composants présents dans les répertoires de Winschem. Il devra aussi s'assurer lui même de la présence des modèles de simulation Spice. Ces modèles peuvent être ajoutés dans le fichier netlist généré par Winschem ou introduits à l'aide d'une commande de type .lib malibrairie.lib dans le netlist ou dans Winschem. Avec malibrairie.lib qui est la librairie proposé par l'utilisateur. Sur le site de WinECAD des liens pour télécharger des librairies de composants vous sont proposés. Voir aussi l'aide de Winschem pour l'ajout des commandes Spice) Une fois que toutes les modifications jugées utiles sont faites on peut demander la génération du fichier texte du circuit et son exportation vers WinECAD.
12
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.1.2.3 Exporter un fichier de circuit vers WinECAD. 1. 2. Dans Winschem, cliquer dans le menu Transfert sur Transfert vers WinECAD. En cas d'erreurs dans la génération du fichier circuit le journal de Winschem signale l'incident. En cas de succès, WinECAD est immédiatement lancé et s'ouvre avec le fichier généré ail inverseur.cir dans l'éditeur de texte. Le fichier automatiquement généré par Winschem est montré ci dessous.
3
* WINSCHEM - chap1-ex2 * Fichier simulation CIR * Destination: WinEcad * Date de création: 11/05/03 à 16:08:33 * c:\book_project\book1\chapitre1\circuits-exemples\chap1-ex2.cir * .tran 10u 1m .probe v(E) v(S) V3 E 0 SIN (0 0.3 1000 0 0) Vcc Vcc 0 +12V Vdd Vdd 0 -12V R1 Vtest- E 1k R2 S Vtest- 10k X1 Vtest- 0 Vcc Vdd S XUA741 .end On remarque la présence de la ligne de commande .tran 10u 1m qui a été ajouté par l'utilisateur. Le noeud d'entrée de signal est E et celui de sortie de signal est S. Ce sont ces deux signaux que nous observerons.
1.1.2.4 Vérifier la syntaxe du fichier de circuit. 1. Cliquez dans le menu Analyses sur Vérifier circuit. Ou cliquer sur l'icône Vérifier circuit. de la barre d'outils.
13
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
2.
Après vérification, le journal s'ouvre et indique les résultats de l'analyse. Cliquer sur OK
Figure 1.5. Journal WinECAD.
La syntaxe étant bonne, la simulation peut commencer. 1.1.2.5 Exécuter la simulation. 1. Cliquez dans le menu Analyses sur Lancer la simulation. ou cliquer sur l'icône Lancer la simulation de la barre d'outils.
14
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
2.
Une barre de progression s'affiche pour montrer l'état d'avancement de l'analyse.
Apres l'exécution de la simulation les résultats sont automatiquement stockés sur le disque. Les tensions et courants désirés peuvent être tracés à l'aide du visualiseur de graphes. Lorsqu'aucune information de tracé n'est présente dans le fichier circuit la boîte de dialogue ajouter signaux s'ouvre automatiquement afin de permettre à l'utilisateur de sélectionner les signaux à visualiser. C'est ce qui se fera à l'étape suivante. 1.1.2.7 Visualiser les résultats de la simulation. 1. Si aucune trace à observer n'a été défini dans le fichier circuit (comme c'est le cas ici) la boîte de dialogue Ajouter signaux s'ouvre automatiquement à la fin de la simulation pour permettre à l'utilisateur de sélectionner les signaux qu'il veut visualiser. Dans la liste Vecteurs Sélectionner v(E) 2. 3. Cliquer sur l'icône > n1 apparaît dans la deuxième fenêtre Vecteurs. Dans la première liste, double cliquer sur v(S) Ceci représente la deuxième façon d'ajouter un signal à la liste des signaux à observer Cliquer sur OK
15
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.6. Dialogue Ajouter signaux.
A noter: Le panneau a gauche filtre les signaux disponibles. Si on clique sur Sous-Circuits, on constate la présence d'un grand nombre de signaux alors que le nombre de noeuds apparents dans le circuit est faible. La présence de ces signaux est dû à la présence du macro-composant XUA741. En effet sa structure interne est complexe et tous les potentiels internes et tous les courants des sources internes sont disponibles après la simulation. Une nouvelle fenêtre s'active et affiche le graphe demandé. Le graphe à obtenir est le suivant :
16
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.7. Affichage graphe de simulation.
Nous envisageons maintenant de changer certains paramètres du tracé. Par exemple changer le label de l'axe des abscisses en "Temps de simulation" au lieu de "time".
17
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.8. Dialogue Propriétés du graphique.
1. 2. 3. 4.
Cliquer dans le menu Format sur Propriétés du graphe ou doublecliquer sur le graphe directement Cliquer sur Paramètres axe des abscisses. Dans la boîte d'édition Titre changer time en Temps de simulation. Cliquer sur OK pour valider le changement
A noter: Pour les titres, les espaces sont permis contrairement aux premieres versions de WinECAD. 1.1.3 Exemple 3 Détermination de la caractéristique statique Amplificateur différentiel. d'un circuit.
L'analyse (par balayage) en continu permet de déterminer des caractéristiques de transfert en continu. Mise en oeuvre sur un composant elle permettra de tracer sa caractéristique statique.
18
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.9. Paire différentielle. chap1-ex3.wh5
Le schéma comporte le modèle des transistors, les commandes de simulation et d'affichage. Il suffira donc une fois dans WinECAD de lancer la simulation pour avoir le résultat suivant s'afficher.
Figure 1.10. Caractéristique statique de la paire différentielle.
La caractéristique obtenue est v(5)=f(vin).
19
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.1.5 Exemple 4 : Détermination d'un réseau de caractéristiques. Transistor MOS. L'analyse (par balayage) en continu permet de déterminer des caractéristiques de transfert en continu. Mise en oeuvre sur un composant elle permettra de tracer sa caractéristique statique.
Figure 1.11. Caractéristiques statiques d'un transistor bipolaire. chap1-ex4.wh5
Le schéma comporte les commandes de simulation et d'affichage, mais cette fois ci exprimés dans le langage interprété WINECADBASIC. Il suffira aussi une fois dans WinECAD de lancer la simulation pour avoir le résultat suivant s'afficher.
20
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.12. Caractéristiques statiques du transistor bipolaire ic=f(vce)
1.1.5 Exemple 5 : Réponse harmonique d'un circuit. (Utilisation d'un projet existant)
Figure 1.13. Circuit RC en régime fréquentiel. chap1-ex5.wh5.
Le schéma comporte toutes les commandes et le résultat est le suivant:
21
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.14. Gain en dB et phase en degré du circuit RC.
1.2 Syntaxe SPICE de définition des circuits et conventions. Un fichier Spice comprend les parties suivantes: ·Les sources indépendantes ·La liste des composants(netlist). Cette liste représente la topologie du réseau à simuler. ·Les commandes: Analyses, contrôle des sorties et options. ·La définition des modèles. ·La définition des macro-composants (sous-circuits) Un fichier Spice peut être décrit dans n'importe qu'elle ordre cependant il a des règles d'écritures. Le circuit à analyser est décrit par un ensemble de lignes qui définissent d'une part la topologie du circuit et la valeur des éléments et d'autre part les définitions des paramètres de modèles, les analyses et le les sorties de données. L'écriture d'un fichier Spice repose sur un format peu contraignant mais obéissant à un minimum de règles. Ce sont les suivantes:
22
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
a. La première ligne est interprétée par Spice comme le nom du circuit à simuler. Elle doit donc contenir le nom du circuit. Cette information est utilisée dans toutes les représentations internes et pour les sorties des résultats(listings, tableaux, graphes etc....) b. Toute ligne comportant une astérisque (*) sera ignorée par Spice. Elle est considérée comme un commentaire. c Les champs sur une même ligne sont séparés par un ou plusieurs espaces, une virgule, le signe "=" ou des parenthèses. Les espaces supplémentaires sont ignorés. d. Les champs numériques respectent les règles d'écriture des nombres. e Toute ligne commençant par un plus(+) est concatenée automatiquement avec la ligne précédente. Cette représentation permet de visualiser une ligne qui serait en principe trop longue pour être vue entièrement sur l'écran en la découpant en plusieurs lignes reliés par des (+) f. La fin de fichier est marquée par la commande .end g. La définition de la topologie du circuit respecte l'écriture de la liste des équipotentielles 1.2.2 Liste des équipotentiels. Cette liste décrit la topologie du circuit en énumérant les composants et en indiquant leurs valeurs et leurs interconnexions. Le premier caractère de la ligne est important. Il détermine le type de composant. Les indications suivantes représentent les noeuds par lesquels le composant est attaché au reste du circuit puis une référence éventuel à un modèle ou à un sous-circuit et enfin des valeurs liées au composant. Exemple de définitions Rbias 2 3 12k Q3 N1 N2 N3 2N2907 X5 1 2 3 5 6 XUA741 Le premier composant est une résistance connectée entre les noeuds 2 et 3 ayant une valeur de 12k Le deuxième est un transistor bipolaire connecté entre les noeuds N1 N2 et N3 avec pour nom de modèle 2N2907.
23
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Le troisième composant est un macro-composant(sous-circuit) XUA741. 1.2.3 Macro-composants. Un macro-composant est une portion de circuit, définie de manière a être réutilisable dans n'importe quelle autre circuit. Les étapes a mettre en oeuvre sont: - La définition - L'appel ou instanciation. 1.2.3.1 La définition Pour définir un macro-composant il faut commencer par topologie et terminer par .ends. Syntaxe: .SUBCKT SUBNAM N1 <{ PARAM1=DVAL1 PARAM2=DVAL2 ..PARAMn=DVALn.} Exemples: .SUBCKT OPAMP 1 2 3 4 .SUBCKT SCKT 1 2 {PO=1 PN=2} Dans la syntaxe générale au dessus, SUBNAM est le nom de définition du macro composant suivi des noms des noeuds externes et éventuellement des paramètres a passer au sous-circuit. La déclaration des paramètres comporte Le nom du paramètre PARAMn et la valeur par défaut de ce paramètre DVALn. Tous les paramètres a passer sont interprétés comme des nombres. WinECAD a introduit une méthode permettant de passer des paramètres de type chaîne de caractère. Cette syntaxe n'est pas compatible avec les autres simulateurs de type spice3. Exemple de définition : .subckt XDIG_SOURCE clk {filename=" " } A4 [clk] Digital_Source .model Digital_Source d_source input_file = {$filename} .ends Pour renseigner WinECAD sur le fait qu'un paramètre est une chaîne il faut que la valeur par défaut contienne deux guillemets (double quotes). De plus pour utiliser le paramètre en interne il faut le précéder par un $. La dernière ligne dans la définition d'un sous circuit est l'instruction .ENDS qui marque la fin de la définition.
24
.subckt décrire la
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Les instructions de contrôle (.tran .plot etc) ne sont pas autorisées dans la définition d'un sous-circuit. cependant La définition d'un sous-circuit peut contenir n'importe quoi d'autre y compris des définitions de sous-circuit des instanciations de sous-circuits (appels) et des définitions de modèles. Erreur! Signet non défini.Remarque importante: Tout modèle de composant ou définition de sous-circuit inclus dans un sous-circuit est strictement local a celui-ci et ne peut être accessible a l'extérieur. Aussi tout noeud non inclus dans les noeuds externes du sous-circuit reste entièrement local au sous-circuit a l'exception du noeud 0 qui est toujours global. 1.2.3.2 L'instanciation. Syntaxe: Xyyyy N1 <{PARAM1=EVAL1 PARAM2=EVAL2 ..PARAMn=EVALn.}> SUBNAM Exemples: X1 N1 N2 N3 N7 OPAMP X2 N1 N7 {PO=0.1 PN=0.3} SCKT X3 N1 N5 {PO=1.5} SCKT L'instanciation (utilisation, appel) se fait en déclarant un élément Spice dont le nom commence par X . La ligne de déclaration se termine par le nom de définition du Macro Composant. En réalité WinECAD insère a cet endroit dans la netlist toute la définition du macro-composant en prenant soin de remplacer les noeuds par les noeuds effectifs et les valeurs par défaut des paramètres par les valeurs passés lors de l'appel. Il n'est pas obligatoire de remettre tous les paramètres lors de l'appel. Les paramètres non présents prennent les valeurs par défaut donnés lors de la définition. 1.2.4 Exemple de netlist Spice. Paire différentielle * Modèles: .model qnl npn(bf=80 rb=100 +ccs=2pf tf=0.3ns tr=6ns cje=3pf cjc=2pf va=50) .model qnr npn(bf=80 rb=100 +ccs=2pf tf=0.3ns tr=6ns cje=3pf cjc=2pf va=50) * * netlist: q1 4 2 6 qnr q2 5 3 6 qnl rs1 11 2 1k
25
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
rs2 3 1 1k rc1 4 8 10k rc2 5 8 10k q3 7 7 9 qnl q4 6 7 9 qnr rbias 7 8 20k * * sources/alimentations: vcm 1 0 dc 0 sin(0 0.1 5meg) ac 1 vdm 1 11 dc 0 sin(0 0.1 5meg) ac 1 vcc 8 0 12 vee 9 0 -12 * * Analyses: .tf v(5) vcm .tf v(5) vdm .sens v(5,4) .options acct list reltol=.005 trtol=8 * .end 1.2.5 Ecriture des nombres. Un champs représentant un nombre peut être un champs d'entiers (12, -44), de réels en virgule flottante (3.14159), aussi bien qu'un entier ou un réel suivi d'un exposant entier (1e-14, 2.65e3), ou un entier ou un réel suivi par les facteurs d'échelle suivants: T = 1012 m = 10-3 G = 109 u = 10-6 Meg = 106 N = 10-9 K = 103 p = 10-12 f = 10-15
Les lettres immédiatement à la suite d'un nombre sans être un facteur d'échelle sont ignorées et les lettres venant à la suite des facteurs d'échelle sont ignorées. Ainsi, 10, 10V, 10Volts, et 10Hz représentent tous le même nombre et M, MA, MSec, et MMhos représentent aussi tous le même facteur d'échelle. A noter que 1000, 1000.0, 1000Hz, 1e3, 1.0e3, 1KHz, et 1K représentent le même nombre. A noter: Il est important de noter la différence entre M(milli) et MEG(méga). 1.2.6 Règles d'interconnexion Le circuit ne peut contenir de boucles de tensions et/ou d'inductances, de coupures comprenant des sources de courants et/ou des condensateurs.
26
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Chaque noeud doit avoir un chemin, pour le courant continu, vers le potentiel de référence (la masse). Ce chemin peut être obtenu si nécessaire par l'insertion de résistances de très forte valeur. Tous les noeuds doivent avoir deux connexions exceptés les lignes de transmission (pour permettre les lignes de transmission sans terminaison) et les noeuds de substrat des MOSFET( qui ont de toute façon deux connections internes). Les courants sont comptés positifs de la borne + vers la borne - à l'intérieur du dipôle. Cette convention SPICE donnera donc des courants négatifs aux générateurs de tensions débitant du courant et des courants positifs aux dipôles absorbant du courant. WinECAD peut parfaitement simuler un circuit ayant des broches en l'air. Cependant toute broche doit avoir un chemin vers la masse. Le non respect de cette disposition entraînera l'impossibilité de simuler le circuit. 1.2.7 Ecriture des noeuds Un nom de noeud (Label pour Winchem) peut être une chaîne arbitraire de caractères. Le noeud de référence (masse) doit quant à lui être nommé "0". A noter la différence suivante entre Spice3F5 ou les noeuds sont traités comme des chaînes de caractères et non évalués comme des nombres et Spice2: les noeuds '0' et '00' sont deux noeuds distincts dans Spice3F5 mais pas dans Spice2. 1.2.8 Expressions Mathématiques 1.2.8.1 Expressions mathématiques Une expression est une formule algébrique utilisant des scalaires et des vecteurs et les opérations suivantes: + - * / ^ %, % est l'opérateur modulo, et l'opérateur virgule a deux significations: S'il est présent dans la liste d'arguments d'une fonction définie par l'utilisateur il sert à séparer les arguments. Sinon le terme x , y est synonyme de x + j(y). Sont aussi disponibles les opérations logiques & (et), | (ou), ! (non), et les opérations relationnelles <, >, >=, <=, =, et <> (différent). S'ils sont utilisé dans des expressions algébriques, ils fonctionnent comme dans le langage C produisant les valeurs 0 ou 1. On peut aussi utiliser les synonymes suivants pour les opérateurs relationnels: gt > lt <
27
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
ge le ne eq and or not
>= <= <> = & | !
Voici quelques exemples: cos(TIME) + db(v(3)) sin(cos(log([1 2 3 4 5 6 7 8 9 10]))) TIME * rnd(v(9)) - 15 * cos(vin#branch) ^ [7.9e5 8] not ((ac3.FREQ[32] & tran1.TIME[10]) gt 3) 1.2.8.2 Fonctions. Les fonctions suivantes sont disponibles: Fonction Description mag(vec) Le résultat est un vecteur de réels dont chaque élément contient le module de élément correspondant dans le vecteur complexe vec. ph(vec) Le élément est un vecteur de élément dont chaque élément contient la phase de élément correspondant dans le vecteur complexe vec. Si la variable units n'est pas définie, la phase est en radians par défaut. Par une commande du type set units=degrees , les angles seront calculés en degrés. j(vec) Multiplie le vecteur complexe vec par le nombre imaginaire pur i. real(vec) Calcule la partie réel du vecteur complexe vec. imag(vec) db(vec) log(vec) log10(vec) ln(vec) exp(vec) abs(vec) sqrt(vec) sin(vec) cos(vec) Calcule la partie imaginaire du vecteur complexe vec. 20 log10(mag(vec)) Calcule le logarithme de base 10 de vec Calcule le logarithme népérien de vec Calcule l'exponentiel de vec Calcule la valeur absolue de vecteur c'est à dire le module identique à . mag(vec). Calcule la racine carré de vec. Calcule le sinus de vec. Calcule le cosinus de vec.
28
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
tan(vec) atan(vec) norm(vec)
Calcule la tangente de vec. Calcule l'arctangente de vec. Calcule le vecteur normalisé à 1( La valeur du plus grand élément est ramené à 1). rnd(vec) Calcule un vecteur composé d'entiers aléatoires dont la valeur est prise entre 0 et la valeur absolue de défaut. Par correspondant dans vec Calcule un scalaire qui est la moyenne des éléments du mean(vec) vecteur vec vector(nomb) Le résultat est un vecteur de taille nomb et dont les éléments sont 0, 1, ... nomb - 1. unitvec(vec) Calcule un vecteur i=vecteur-unité de même taille que vec. length(vec) Calcule un scalaire qui est la taille de vec (en nombre d'éléments) interpolate(plot.vec) Calcule une interpolation de vec en utilisant l'axe des abscisses défini pour plot. deriv(vec) Calcule la dérivé du vecteur. (Ne marche pas correctement)
1.2.8.3. Constantes . Il y a un certain nombre de constantes dans WinECAD qui peuvent être utilisés dans les expressions: Constantes true yes no false pi e c i kelvin echarge boltz planck Description Vaut 1 Vaut 1 Vaut 0 Vaut 0 (3.14159...) la base du logarithme népérien (2.71828...) La célérité de la lumière (299,792,500 m/sec) L'imaginaire pur, racine carré de 1 c'est à dire (0, 1) Température absolue en degrés centigrade (-273.15 °C) La charge de l'électron (1.6021918e-19 C) La constante de Boltzman's (1.3806226e-23) La constante de Planck (h = 6.626200e-34)
29
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.3 Définition des sources. Les sources indépendantes sont les souvent les premiers éléments que l'on utilise pour effectuer une simulation. Il y a 8 symboles de sources de tension définies dans les librairies WinECAD. Pour utiliser ces sources il suffira de modifier les champs adéquats de la source dans la boite de dialogue Modifier un symbole et l'onglet WinECAD. 1.3.1 Source pulsée analogique. La boite de dialogue se présente de la façon suivante:
Figure 1.15. Paramètres Source pulsée analogique.
La syntaxe SPICE dans la netlist est fonction de la chaîne à ajouter : Forme générale: PULSE(V1 V2 TD TR TF PW PER) Exemples: VIN 3 0 PULSE(0.5 2 2NS 1.5NS 5NS 50NS 100NS)
30
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Figure 1.16. Source pulsée analogique.
Paramètre V1 (Valeur initiale) V2 (Amplitude impulsion) TD (Temps de retard) TR (Temps de montée) TF (Temps de descente) PW (Largeur impulsion) PER(période)
Valeur défaut 0.0 TSTEP TSTEP TSTOP TSTOP
par Unités Volts ou Ampères Volts or Ampères secondes secondes secondes secondes secondes
Les valeurs de TSTEP et TSTOP sont liées à la définition de la simulation temporelle .TRAN. La table suivante montre comment spécifier une impulsion unique: Temps Valeur 0 V1 TD V1 TD+TR V2 TD+TR+PW V2 TD+TR+PW+TF V1 TSTOP V1 Les points intermédiaires sont déterminés par interpolation. 1.3.2 Source Sinusoïdale
31
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
La boite de dialogue se présente de la façon suivante:
Figure 1.17. Paramètres Source sinusoïdale.
Forme générale: SIN(VO VA FREQ TD THETA) Exemples: VIN 3 0 SIN(0 1 100MEG 1NS 1E10)
Figure 1.18. Source sinusoïdale . 32
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Paramètre Valeur par défaut Unités VO (Offset) Volts ou Ampères VA (Amplitude) Volts or Ampères FREQ (Fréquence) 1/TSTOP Hz TD (Retard) 0.0 secondes THETA(Facteur 0.0 1/secondes d'amortissement) Les valeurs TSTOP est liée à la définition de la simulation temporelle .TRAN. La table suivante décrit le profil du signal: Temps Valeur 0 à TD VO TD à TSTOP VO + VAe - ( t - TD )THETA sin(2FREQ( t + TD) )
1.3.3 Source Modulée en Fréquence La boite de dialogue se présente de la façon suivante:
Figure 1.19. Paramètre source modulée en fréquence.
Forme générale: SFFM(VO VA FC MDI FS)
33
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
Exemples: V1 12 0 SFFM(0 1M 20K 5 1K) Paramètres VO (Offset) VA (Amplitude) FC (Fréquence porteuse) MDI (Index de modulation) FS (Fréquence du signal) Valeurs par défaut Unités Volts or Ampères Volts or Ampères 1/TSTOP Hz 1/TSTOP Hz
Les valeurs de TSTEP et TSTOP sont liées à la définition de la simulation temporelle .TRAN. Le profil du signal est décrit par l'équation suivante:
V (t ) = V0 + VA sin (2FCt + MDI sin (2FSt ))
1.3.4 Source exponentielle La boite de dialogue se présente de la façon suivante:
Figure 1.20. Paramètres Source exponentielle
Forme générale:
34
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
EXP(V1 V2 TD1 TAU1 TD2 TAU2) Exemples: VIN 3 0 EXP(-4 -1 2NS 30NS 60NS 40NS)
Figure 1.21. Source exponentielle.
Paramètre Valeur de défaut. Unités V1 (Valeur initiale) Volts or Ampères V2 (Valeur de l'impulsion) Volts or Ampères TD1 (Temps de retard à la montée) 0.0 secondes TAU1 (Constante de temps à la montée) TSTEP secondes TD2 (Temps de retard à la descente) TD1+TSTEP secondes TAU2 (Constante de temps à la descente) TSTEP secondes Les valeurs de TSTEP et TSTOP sont liées à la définition de la simulation temporelle .TRAN. La table suivante décrit le profil du signal. Temps Valeur 0 à TD1 V1 - ( t - TD1) TD1 à TD2 V1 + ( V 2 - V1) 1 - e TAU1 TD2 TSTOP à
V1 + ( V 2 - V1) - e
- ( t - TD1) TAU 1
+ ( V1 - V 2) 1 - e
- ( t - TD 2 ) TAU 2
35
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.3.5 Source Linéaire Défini par Morceaux
Figure 1.22. Paramètres source définie par morceaux.
Forme générale: PWL(T1 V1 ) Exemples: VCLOCK 7 5 PWL(0 -7 10NS -7 11NS -3 17NS -3 18NS -7 50NS -7) Chaque paire de valeurs (Ti, Vi) spécifie que la valeur de la source est Vi (en Volts ou Ampères) au temps t=Ti. La valeur de la source aux points intermédiaires est obtenue par interpolation linéaire à partir des valeurs d'entrée.
Figure 1.23. Source définie par morceaux
36
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.3.6 Source Continue
Figure 1.24. Paramètres source continue
Forme générale: Exemples: VCLOCK 7 5 10 On donne directement la valeur de la source. 1.3.7 Source Carrée Pour obtenir une source carrée, ll suffira de modifier les paramètres de la source pulsée de manière a avoir des fronts raides et PW=PER/2 1.3.8 Source AC Il n y a pas de paramètres Winecad a modifier. Le champs valeur constitue l'amplitude efficace . Forme générale: AC Exemples: VAC 7 5 AC 1
37
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
1.4 Commandes d'affichage des résultats. Pour l'affichage des courbes les commandes .graph .plot et .probe peuvent être utilisées indifféremment. Si .plot et .probe sont utilisées WinECAD les traduit de façon interne en .graph Rôle: Affiche les courbes spécifiées avec des paramètres, sur un graphe
Syntaxe: .GRAPH TRAN .GRAPH AC .GRAPH DC .PLOT TRAN .PLOT AC .PLOT DC .PROBE TRAN .PROBE AC .PROBE DC Exemples .GRAPH TRAN v(1) v(2) title="test du 741" .PROBE v(5) .PROBE AC vdb(3) Arguments et options. Attention : Lorsque le type d'analyse AC DC ou TRAN est omis, TRAN est pris par défaut. .graph +[xvector=] +[drawtitle=] +[drawlegend=] +[drawboundary=]
38
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
+[drawgrid=] +[enableshadow=] +[xorigin=] +[yorigin=] +[gridtype=] +[gridcolor=] +[gridlinesize=] +[gridlinestyle=] +[tickcolor=] +[titlecolor=] +[xlabelcolor=] +[ylabelcolor=] +[xlabelfont=] +[ylabelfont=] +[titlefont=] +[legendfont=] +[backcolor=] +[boundarycolor=] +[boundarysize=] +[xdecimalnumber=] +[xmax=] +[xmin=] +[xlabel=] +[ylabel=] +[ylabel2=] +[ymin1=] +[ymin2=] +[ymax1=] +[ymax2=] +[title= ] + Ces paramètres correspondent aux données de la boite de dialogue propriété du graphe.
Types des valeurs : valeur_chaine est une chaîne de caractères. Exemple "Gain en dB". Ne pas oublier les guillemets entourant la chaîne. valeur_booléenne est nombre entier valant 1 pour vrai ou 0 pour faux. Par exemple si l'on désire dessiner le titre on mettra drawtitle=1
39
L a
s i m u l a t i o n
d e s
c i r c u i t s
é l e c t r o n i q u e s
a v e c
W i n e c a d / W i n s c h e m
valeur_entière est un nombre entier. valeur réelle est un nombre réelle. La spécification des couleurs répond à la méthode Windows de gestion des couleurs. Le nombre entier qui représente la couleur est une combinaison des 3 valeurs codées sur 8 bits "rouge", "vert " et "bleu", valeur RGB. Pour obtenir les 16 couleurs pures du VGA standard utilisez le tableau suivant : Rouge 0 0 0 0 255 255 255 255 0 0 0 128 128 128 128 192 Vert 0 0 255 255 0 0 255 255 0 128 128 0 0 128 128 192 Bleu 0 255 0 255 0 255 0 255 128 0 128 0 128 0 128 192 Couleur noir bleu vert cyan rouge magenta jaune blanc bleu foncé vert foncé cyan foncé rouge foncé magenta foncé jaune foncé gris foncé gris clair
40