EESchema
Rubriques:
Un schéma peut être représenté sur une seule feuille, mais la plupart du temps nécessitera plusieurs feuilles.
Un schéma représenté sur plusieurs feuilles sera dit alors hiérarchique, et l'ensemble de ces feuilles (chacune représentée par un fichier propre) constitue pour EESchema un projet.
Le projet est constitué du schéma principal, appelé schéma « racine » (ou « root »), et des sous schémas constituant la hiérarchie.
De façon à ce que EESchema puisse, à partir du schéma racine, retrouver tous les autres fichiers du projet, on devra suivre des règles de dessin qui seront développées par la suite.
Par la suite on parlera de projet, aussi bien pour les schémas réduits à une seule feuille, que pour les schémas multi feuilles en hiérarchie.
Par ailleurs un chapitre spécial développe l'utilisation de la hiérarchie et ses particularités.
Un schéma réalisé grâce à EESchema est plus qu'une simple représentation graphique d'un montage électronique.
C'est normalement le point d'entrée d'une chaîne de développement qui permet :
Un contrôle des règles électrique (contrôle E.RC.) permettant souvent de déceler automatiquement des erreurs ou des oublis sur le schéma.
La génération automatique de la liste des composants
La génération de « netlistes » pour la simulation de fonctionnement grâce aux logiciels de simulation comme Pspice.
La génération de « netlistes » pour la réalisation de circuits imprimés (PCBNEW). Le contrôle de cohérence entre le schéma et le circuit imprimé est alors automatique et instantané
De façon à pouvoir profiter de toutes ces possibilités, on devra respecter certaines contraintes et conventions, pour éviter les mauvaises surprises et les erreurs.
Un schéma est principalement constitué de composants, de fils de connexion ou « wires », de labels, jonctions, bus et alimentations.
Pour plus de clarté dans le schéma, on pourra y placer des éléments purement graphiques comme les entrées de bus, des textes de commentaires, et des traits pointillés pour encadrer des sous ensembles.
Le logiciel de schématique travaille à partir de librairies de composants.
Outre les fichiers de tracé, le fichier netliste est tout particulièrement important car c'est lui que les autres logiciels utilisent.
Un fichier netliste donne la liste des composants et la liste des connexions issues du schéma.
Il existe (malheureusement pour l'utilisateur) un grand nombre de formats de netliste, dont certains sont plus connus. C'est le cas du format Spice par exemple.
Pour charger un
composant, utiliser l'outil
Pour placer un nouveau composant, cliquer à la position voulue pour ce placement.
Une fenêtre d'affichage permet d'entrer le nom du module à charger.
La fenêtre d'historique affiche les derniers éléments chargés et permet de sélectionner immédiatement l'un d'eux.
Si l'on entre uniquement *, ou si on sélectionne le bouton « liste tous », EESchema affichera alors la liste des librairies, puis des composants disponibles.
On peut aussi lister une sélection: par exemple si on entre LM2*, tous les composants don le nom commence par LM2 seront listés
On peut aussi sélectionner les composants par mot clé.
Si l'on entre le symbole = suivi de mots clés, , EESchema affichera alors la liste des composants disponibles, restreinte aux modules comportant dans leur liste de mots clés tous les mots clés entrés.
Ou rentrer le mot clé et utiliser le bouton « Chercher mot clé »
On peut aussi utiliser le visualisateur de librairies pour sélectionner un composant.
Le composant sélectionné apparaîtra à l'écran, en mode déplacement.
On pourra avant de le placer en position désirée (cliquer sur le bouton gauche de la souris), le faire tourner de 90 degrés (et par rotations successives de 180 et 270 degrés), de le mettre en miroir selon l'axe X ou Y ou sélectionner sa représentation convertie (cliquer sur le bouton droit de la souris pour appeler le menu « Pop up » d'édition rapide).
On pourra évidemment le faire tout aussi facilement après placement.
Si le composant exactement désiré n'existe pas, penser que l'on peut la plupart du temps charger un composant analogue et modifier après coup sa valeur : si l'on veut un 54LS00 on peut fort bien charger un 74LS00 et éditer la valeur 74LS00 en 54LS00.
Voici un composant en cours de placement :
Un symbole d'alimentation est un composant (Les symboles sont regroupés dans la librairie « power »).
On peut utiliser donc la commande précédente.
Mais comme ces placements sont
fréquents; on dispose de l'outil
Cet outil est analogue au précédent, mais la recherche se fait directement dans la librairie power, d' où gain de temps.
Il y a deux type d'édition.
La modification (position, orientation, sélection de la représentation ou de la part) du composant lui même.
La modification d'un des champs ( Référence, valeur, ou autres ) du composant.
Lorsqu'un composant vient d'être placé, il faudra peut être modifier sa valeur ( particulièrement pour les résistances, condensateurs...), mais il est inutile de vouloir lui attribuer immédiatement un numéro de référence, ou sélectionner la part (pour les composants à parts multiples comme le 7400).
Ceci pourra avantageusement être fait automatiquement par la fonction d'annotation automatique.
Positionner le curseur souris sur le composant (ne pas se positionner sur un champ). On peut alors :
Cliquer 2 fois par le bouton de gauche de la souris pour ouvrir la fenêtre d'édition complète du composant.
Cliquer par le bouton de droite de la souris pour ouvrir le menu « Pop Up », et utiliser l'une des commandes affichées(Move, Orient, Edit, Delete).
On peut pour chaque champ (il y a au moins valeur et référence), modifier le contenu, la position, l'orientation la taille et la visibilité du champ.
Pour les éditions simples, positionner le curseur souris sur le texte du composant et (au choix):
Cliquer 2 fois par le bouton de gauche de la souris pour ouvrir la fenêtre de modification du texte.
Cliquer par le bouton de droite de la souris pour ouvrir le menu « Pop Up », et utiliser l'une des commandes affichées(Move, Rot, Edit, Delete (si ce n'est pas le champ valeur ou référence).
Pour des éditions plus complètes ou des créations de champ il faut éditer le composant correspondant. En voici le menu:
Chaque champ peut alors être édité:
Chaque champ peut être visible ou non et être horizontal ou vertical.
La position affichée (et modifiable) est toujours indiquée pour un composant affiché normalement (pas de rotation ou de miroir) et est relative au point d'ancrage du composant.
Tous les autres éléments de dessin peuvent être placés grâce également aux outils spécifiques du toolbar vertical droit.
Ces éléments de dessin sont :
Les fils de connexion (Wires) pour les connexions usuelles.
Les bus (qui ne servent à connecter que des labels de bus, et à l'esthétique du dessin)
Les traits pointillés, pour du graphisme de présentation.
Les jonctions, pour la connexion forcée de fils ou de bus se croisant.
Les entrées de bus, type wire/bus ou bus/bus, pour l'esthétique du dessin.
Les labels pour des connexions usuelles.
Les labels globaux, pour les connexions entre feuilles de hiérarchie.
Les textes de commentaire.
Les « NoConnect » (symboles de Non Connexion)
Les feuilles de hiérarchie, et leurs pins de connexions.
Il existe deux moyens pour établir des connexion :
Tracer des fils ( Wires ) de pin à pin.
Utiliser des Labels.
La figure suivante montre les deux méthodes :
Remarque 1 :
Le point de « contact » (ou d'ancrage)d'un label est le coin bas gauche de la première lettre du label.
Ce point doit donc être en contact avec un fil, ou être superposé au point de contact d'une pin pour que ce label soit pris en compte.
Remarque 2 :
Pour établir une connexion, un segment de fil doit être connecté par ses extrémités à une extrémité d'un autre segment ou à celle d'une pin.
S'il y a chevauchement (si un fil passe sur une pin, mais sans y être connecté par une extrémité), il n'y a pas de liaison.
Cependant, un label sera connecté à un fil quelle que soit la position du point d'ancrage du label, sur ce fil.
Remarque 3 :
Si un fil doit être connecté à un autre fil, autrement que par leurs extrémités, il faudra placer une jonction (commande Place/Jonction) au point de croisement.
La figure précédente ( sur le fil connecté à U1B pin 6) montre un tel cas de connexion utilisant une jonction.
Remarque 4 :
Si deux labels différents sont placés sur le même fil, ils sont connectés entre eux et deviennent équivalents : tous les autres éléments connectés à l'un ou l'autre des deux labels sont alors connectés entre eux.
Considérons le schéma suivant :
De nombreuses pins (composants U1 et BUS1 en particulier) sont connectées à des bus.
A strictement parler, du point de vue schématique, un bus est un ensemble de signaux, ayant un nom commençant par préfixe commun, et terminé par un nombre.
Ce n'est pas donc tout à fait la notion de bus telle que celui d'un microprocesseur.
Chacun des signaux est un membre du bus.
PCA0, PCA1, PCA2, sont ainsi des membres du bus PCA.
Le bus complet est noté PCA[n..m], où n et m sont le premier et le dernier numéro de membre de ce bus.
Ainsi si PCA a 20 membres de 0 à 19, le bus complet est noté PCA[0..19].
Mais un ensemble de signaux comme PCA0, PCA1, PCA2, WRITE, READ ne peuvent pas être regroupés en bus.
Les connexions entre pins reliées à un même membre de bus doivent se faire par labels.
En effet, relier directement une pin à un bus n'a aucun sens, puisque un bus est un ensemble de signaux, et cette connexion est du reste ignorée par EESchema.
Dans l'exemple ci-dessus, les connexions sont faites par les labels placés sur les fils reliés aux pins.
Les connexions par l'intermédiaire d'entrées de bus (segments de fils à 45 degrés) aux fils type bus n'ont qu'une valeur esthétique, et ne sont pas nécessaires sur le plan purement schématique.
En pratique, grâce à la commande de répétition (touche Inser), les connexions seront très vite mises en place de la façon suivante, si les pins du composant sont alignées dans l'ordre des membres (cas très courant en pratique sur les composants tels que mémoires, microprocesseurs...) :
Placer le premier label (par exemple PCA0)
Utiliser la commande de répétition autant de fois qu'il y a de membres à placer. EESchema créera automatiquement les autres labels (PCA1, PCA2...) alignés verticalement, en principe au niveau des autres pins.
Dessiner le fil sous le premier label. Puis utiliser la commande de répétition pour placer automatiquement les autres fils sous les autres label.
Si désiré, placer les entrées de bus de la même façon (Placer la première entrée, puis la commande de répétition).
Remarque :
Dans le menu Preferences/Options on peut régler les paramètres de répétition :
Pas vertical
Pas horizontal
Incrémentation du label (qui peut donc être incrémenté par 2, 3.. ou être décrémenté).
On peut vouloir faire des connexions entre bus, soit pour réunir deux bus de nom différents, soit dans le cas de hiérarchie, pour établir les connexions entre feuilles différentes.
On peut faire globalement ces connexions de la façon suivante.
Les bus PCA[0..15], ADRL[0..7] et BUS[5..10] sont connectés ( remarquer ici la jonction puisque le fil de bus vertical arrive au milieu du segment bus horizontal).
Plus précisément, les membres de poids correspondants sont connectés ensemble.
PCA0, ADRL0 sont reliés, ( de même que PCA1 et ADRL1 ... PCA7 et ADRL7).
De plus PCA5, BUS5 et ADRL5 sont reliés ( de même que PCA6, BUS6 et ADRL6 ainsi que PCA7, BUS7 et ADRL7).
PCA8 et BUS8 sont également reliés (de même que PCA9 et BUS9, PCA10 et BUS10)
Par contre on ne peut relier ainsi globalement des membres de poids différents.
Si l'on veut relier des membres de poids différents de deux bus différents, il faudra le faire membre à membre comme deux labels usuels, en les plaçant sur un même fil (type Wire).
Lorsque les pins d'alimentation des composants sont visibles, elles doivent être reliées entre elles, comme pour n'importe quel autre signal.
La difficulté vient des composants (tels que portes et bascules) pour lesquels les pins d'alimentation sont normalement invisibles (pins « power invisibles »).
La difficulté est double car :
- On ne peut y connecter des fils, du fait de leur invisibilité.
- On ne connaît pas non plus leur nom.
Et pas ailleurs, il serait une mauvaise idée de les rendre visibles et de les connecter comme les autres pins, car le schéma deviendrait lourd et non conforme aux conventions usuelles.
Remarque :
Si l'on veut
forcer l'affichage de ces pins « power invisibles »,
activer dans le menu Option du menu principal, l'option ShowPins
UnV, ou l'icône
du toolbar gauche (toolbar d'options)
EESchema utilise donc une technique de connexion automatique des pins d'alimentations invisibles :
Toutes les pins « power invisible » de même nom sont connectées automatiquement entre elles même en l'absence de toute autre connexion..
Cependant cette connexion automatique doit être complétée :
- Par les connexions aux autres pins visibles, connectées à ces alimentations.
- Eventuellement par les connexions entre groupe de pins invisibles, mais de nom différents (par exemple, les pins de masse sont usuellement appelées « GND » en TTL et « VSS » en MOS, et elles doivent être reliées ensembles.).
Pour ces connexions, on doit utiliser des symboles d'alimentation (composants spécialement conçus pour cela, créables et modifiables par l'éditeur de librairie).
Ces symboles sont constitués d'une pin « power invisible » associée au graphique voulu.
Ne pas utiliser de labels, qui n'ont qu'un pouvoir de connexion « local », et qui ne connecteraient pas les pins « power invisibles ». (Voir les notions sur la hiérarchie pour plus de détails).
Voici un exemple de connexions d'alimentations.
Dans cet exemple, la masse (GND) est reliée à l'alimentation VSS, et l'alimentation VCC est reliée à VDD.
Par ailleurs la pin 2 de LED1 et la pin 2 de C7 (pins standards visibles) sont reliées à GND, par un symbole de masse.
On remarquera les deux symboles PWR_FLAG. Ils signalent que les deux alimentations VCC et GND sont bien connectées à une source d'alimentation.
Sans ces flags, l'outil ERC Donnerait un diagnostic: Warning: alimentations non pilotées.
Tous ces symboles sont des composants faisant partie des librairies schématiques utilisées.
Ces symboles sont très utiles pour la fonction de contrôle automatique des règles électriques (Fonction dite E.R.C.).
Ce contrôle signale toutes les pins non connectées.
Si des pins doivent
donc réellement rester non connectées, il faut placer
un symbole de non connexion (outil
)
sur ces pins, de façon à ce que la fonction E.R.C. ne
génère pas inutilement d'erreurs.
La présence ou l'absence de ces symboles n'a cependant aucune influence sur les netlistes générées.
Il peut être bon (pour la bonne compréhension du schéma) de placer des indications telles que légendes, encadrement de sous ensembles.
Pour cela on doit
utiliser des textes (outil
)
et des lignes pointillées (outil
),
et non des labels et des fils, qui sont des éléments de
connexion.
Voici un élément de présentation :
Le cartouche est
initialisé grâce à l'outil
:
Le cartouche complet est alors :
La date et le numéro de feuille (Sheet nn) sont mis à jour automatiquement :
Pour la date, à chaque modification du schéma.
Pour le numéro de feuille (utile en hiérarchie), lors des fonctions d'annotation.
L'organisation d'un schéma un peu important en hiérarchie est généralement une bonne solution.
Si l'on veut réaliser un schéma d'une certaine importance, il faudra :
- Soit le réaliser sur une feuille de grandes dimensions, ce qui posera des problèmes pratiques de tracé, copie et manutention.
- Soit le réaliser sur plusieurs feuilles différentes, ce qui conduit à la structure en hiérarchie.
Le schéma complet est alors constitué du schéma principal, appelé schéma « racine » (ou « root »), et des sous schémas constituant la hiérarchie.
En outre, une découpe habile du schéma général en feuilles séparées permet souvent d'en améliorer la lisibilité.
A partir de la racine, on doit pouvoir retrouver tous les sous schémas complémentaires.
EESchema permet une
gestion très facile d'une hiérarchie, grâce à
un « navigateur » de hiérarchie intégré
(bouton
du toolbar horizontal ou vertical, détaillé plus loin).
En fait, il existe deux types de hiérarchie (pouvant exister simultanément) :
La première est celle qui vient d'être évoquée et est d'usage général.
La deuxième consiste à créer en librairie des composants qui apparaissent en schématique comme des composants classiques, mais qui en réalité, correspondent à un schéma qui décrit leur structure interne.
Ce deuxième type est plutôt utilisé lorsque l'on développe des circuits intégrés, car dans ce cas on est amené à utiliser des bibliothèques de fonctions dans le schéma que l'on construit.
EESchema ne traite pas actuellement ce deuxième cas.
La création d'une hiérarchie est simple, et l'ensemble de la hiérarchie se manipule à partir du schéma racine, comme s'il n'y avait un seul schéma.
Les deux points à connaître sont :
Comment créer un sous schéma.
Comment établir les liaisons électriques entre les schémas constituant la hiérarchie.
Elle se fait très
simplement gràce au navigateur (outil
du toolbar horizontal) En voici un exemple :
On peut accéder directement à chaque feuille, en cliquant sur le nom de cette feuille.
Navigation rapide:
Positionner le curseur souris sur une feuille de hiérarchie, puis soit:
Activer le bouton droit et choisir enter sheet (Entrer dans feuille)
Double – clicker (bouton gauche).
On peut aussi
rapidement accéder à la feuille mère, ou à
une feuille fille grâce à l'outil
du toolbar vertical.
Après sélection de l'outil:
Cliquer sur un symbole de feuille pointée par la souris = sélection de cette feuille.
Cliquer ailleurs: = sélection de la feuille mère.
On doit :
Placer dans la feuille de schéma courante, qui sera la feuille mère (initialement la feuille racine) un symbole de hiérarchie appelé « sheet ».
Grâce au navigateur de hiérarchie, se placer dans le nouveau schéma (schéma fils) et le dessiner, comme un schéma classique.
Etablir les liens électriques entre les deux schémas en plaçant dans le nouveau schéma des Labels Globaux (Glabels), et dans la feuille mère des labels dits SheetLabels de même nom. Ces SheetLabels seront connectés dans la feuille mère aux autres éléments du schéma comme des pins d'un composant standard.
Il faut dessiner un rectangle défini par deux points diagonaux symbolisant la feuille dite feuille fille ( ou schéma fils).
La taille de ce rectangle doit permettre le placement ultérieur de labels particuliers type pins de hiérarchie, qui correspondent dans la feuille fille aux labels globaux (Glabels).
Ces labels jouent le même rôle que les pins d'un composant usuel.
Sélectionner
l'outil
.
Cliquer à l'emplacement de premier point du rectangle.
La taille du rectangle est réglée à la souris.
Cliquer à l'emplacement du deuxième point pour valider la création de cette feuille.
Voici un exemple :
Lors de la validation, un nom du fichier de sauvegarde du fichier schématique correspondant et un nom de symbole (pour pourvoir accéder au schéma correspondant à l'aide du navigateur de hiérarchie) seront demandés.
Il faut donner au moins un nom de fichier. Si il n'y a pas de nom de symbole, c'est le nom du fichier qui sera pris comme nom de symbole (façon usuelle de faire).
On va ici créer des points de connexion (pins hiérarchiques) pour le symbole qui vient d'être créé.
Ces points de connexion sont analogues à des pins pour un composant normal, avec toutefois la possibilité de connecter un bus complet avec un seul point de connexion.
Il y a deux façons de faire:
Placer les différentes pins avant de réaliser le schéma correspondant de la sous feuille (placement manuel).
Placer les différentes pins après avoir réalisé le schéma correspondant de la sous feuille et dessiné les labels globaux (placement semi-automatique).
Il est bien préférable de choisir la deuxième solution, chaque fois que ce sera possible.
Placement manuel:
- Sélectionner l'outil
.
- Cliquer sur le symbole de hiérarchie où l'on veut placer cette pin.
Voici comme exemple la création de la pin hiérarchique « CONNEXION ».
Ensuite on peut définir son graphisme, sa taille (commande Edit, par le menu PopUp activé en cliquant sur le bouton droit de la souris) :
Les différents graphismes du symbole sont :
- Input
- OutPut
- BiDi
- TriState
- NoSpecified
Le choix ne joue que sur l'aspect graphique, et n'a aucune importance par ailleurs.
Placement automatique:
Sélectionner l'outil
.
Cliquer sur le symbole de hiérarchie où l'on veut importer les pins à partir des labels globaux placés dans le shéma correspondant. Une pin hiérarchique doit apparaitre, s'il en existe un label global nouveau, c'est à dire ne correspondant pas à une pin déjà placée.
Cliquer à l'endroit ou l'on veut placer cette pin.
Toutes les pins nécessaires peuvent ainsi être placées rapidement et sans erreur. Leur forme correspondront aux labels globaux correspondants.
A chaque pin du symbole hiérarchique qui vient d'être créé, doit correspondre un label dit Label Global ou GLabel dans le schéma fils.
Un GLabel a un rôle analogue à un label, mais il assure la connexion entre la feuille fille et feuille mère.
Le graphisme des deux labels complémentaires (pin et GLabel) est analogue.
La création
dans un shéma d'un GLabel est faite par l'outil
.
Voici un exemple de feuille mère :
Remarquer les deux pins TRANSF1 et TRANSF2, par ailleurs connectés à un composant.
Voici la connexion complémentaire dans la feuille fille :
On retrouve dans ce schéma, les deux Glabels correspondants, qui assurent donc la connexion entre les deux feuilles hiérarchiques.
Remarque : On peut utiliser des GLabels et des pins hiérarchiques pour connecter deux bus, selon la syntaxe (BUS[n..m]) décrite précédemment.
Voici quelques compléments sur les particularité des différents moyens de connexion, autres que les connexions par fils (wires).
Les labels simples ont un pouvoir de connexion local, c'est à dire limité à la feuille schématique où il est placé.
Ceci est du au fait que :
Chaque feuille a un numéro de feuille (Sheet Number).
Ce numéro est associé au Label.
Ainsi, si l'on place le label « TOTO » dans la feuille n° 3, le vrai label est en fait TOTO_3.
Si l'on place également un label « TOTO » dans la feuille n° 1 (feuille racine) on place en fait le label TOTO_1, différent de TOTO_3.
Ceci est toujours vrai, même s'il n'y a qu'une feuille.
Ce qui est dit pour les labels simples est aussi vrai pour un label global ou GLabel.
Ainsi dans la même feuille un GLabel « TOTO » est considéré comme connecté à un label local « TOTO », mais n'est pas connecté à un GLabel ou un label de même nom dans une autre feuille.
Cependant un GLabel est considéré comme connecté au symbole SheetLabel qui lui correspond dans le symbole hiérarchique placé dans la feuille mère.
On a vu qu'elles étaient connectées ensembles si elles avaient le même nom.
Ainsi toutes les pins déclarées « Power Invisibles » et de nom VCC sont connectées et forment l'équipotentielle VCC, quelle que soit la feuille de hiérarchie ou elles se trouvent.
Ceci explique que si l'on place dans une feuille de hiérarchie un label VCC, il ne sera pas connecté aux pins VCC, car ce label est en réalité VCC_n, où n est le numéro de feuille.
Si l'on veut que ce label VCC soit réellement connecté à l'équipotentielle VCC, il faudra le connecter explicitement à une pin power invisible, grâce a un symbole d'alimentation VCC.
Chargement
et Sauvegarde des schémas Page 5 -