Manuale di riferimento

Questo documento è coperto dal Copyright © 2010-2015 dei suoi autori come elencati in seguito. È possibile distribuirlo e/o modificarlo nei termini sia della GNU General Public License (http://www.gnu.org/licenses/gpl.html), versione 3 o successive, che della Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), versione 3.0 o successive.

Tutti i marchi registrati all’interno di questa guida appartengono ai loro legittimi proprietari.

Collaboratori

Jean-Pierre Charras, Fabrizio Tappero.

Traduzione

Marco Ciampa <ciampix@libero.it>, 2014-2015.

Feedback

Si prega di inviare qualsiasi rapporto bug, suggerimento o nuova versione a:

Data di pubblicazione e versione del software

Pubblicato il 30 maggio, 2015.

Introduzione a Eeschema

Descrizione

Eeschema è un potente software editor di schemi elettrici, distribuito come parte della suite KiCad, e disponibile per i seguenti sistemi operativi:

  • Linux

  • Apple OS X

  • Windows

Indipendentemente dal sistema operativo, tutti i file Eeschema sono 100% compatibili da un sistema all’altro.

Eeschema è un’applicazione integrata dove tutte le funzioni di disegno, controllo, disposizione, gestione librerie e accesso al software di progettazione di circuiti stampati sono svolte all’interno del sistema Eeschema stesso.

Eeschema è stato concepito per lavorare con Pcbnew, che è il programma per la progettazione di circuiti stampati della suite di KiCad. Esso può anche esportare file di netlist, che descrivono le connessioni elettriche dello schema usabili da altri pacchetti.

Eeschema include un editor di componenti simbolici, che può creare e modificate componenti e gestire librerie. Esso integra le seguenti funzioni, aggiuntive ma essenziali, necessarie in ogni moderno software di elaborazione schemi elettrici:

  • Controllo regole di progettazione (ERC) per il controllo automatico di connessioni errate o sconnesse

  • Esportazione di file del disegno dello schema in molti formati (Postscript, PDF, HPGL e SVG).

  • Generazione della distinta materiali (tramite script Python, che consente la conigurazione di molti formati).

Panoramica tecnica

Eeschema è limitato solo dalla disponibilità di memoria. Non c’è perciò praticamente nessun limite al numero di componenti, numero di pin nei componenti, numero di connessioni o fogli. In caso di schemi elettrici formati da più fogli, la rappresentazione è gerarchica.

Eeschema può usare schemi multifoglio di questi tipi:

  • Gerarchie semplici (ogni schema elettrico viene usato solo una volta).

  • Gerarchie complesse (alcuni schemi sono usati più di una volta con istanze multiple).

  • Gerarchie piatte (schemi esplicitamente connessi ad uno schema principale).

Comandi generici Eeschema

Accesso ai comandi Eeschema

È possibile avere accesso ai vari comandi:

  • Facendo clic sulla barra del menu (in cima allo schermo).

  • Facendo clic sulle icone in cima allo schermo (comandi generali).

  • Facendo clic sulle icone sul lato destro dello schermo (comandi particolari o "strumenti").

  • Facendo clic sulle icone sul lato sinistro dello schermo (opzioni di visualizzazione).

  • Premendo i pulsanti del mouse (comandi complementari importanti). In particolare un clic sul pulsante destro apre un menu contestuale che dipende dall’elemento sottostante il puntatore (zoom, griglia e modifica di elementi).

  • Tasti funzione (tasti F1, F2, F3, F4, Ins e spazio). Nello specifico: il tasto "Esc" spesso permette la cancellazione del comando in corso. Il tasto "Ins" permette la duplicazione dell’ultimo elemento creato.

Ecco le varie possibili collocazioni dei comandi:

panoramica comandi

Comandi da mouse

Comandi di base

Pulsante sinistro

  • Clic singolo: mostra nella barra di stato le caratteristiche del componente o del testo sotto il puntatore del mouse.

  • Doppio clic: modifica (se l’elemento è modificabile) il componente o il testo.

Pulsante destro

  • Apre un menu a scomparsa.

Operazioni sui blocchi

È possibile spostare, trascinare, copiare e cancellare aree selezionate in tutti i menu di Eeschema.

Le aree vengono selezionate creando un riquadro attorno ad esse trascinando il mouse col il tasto sinistro premuto.

Mantenendo premuti Maiusc'', Ctrl'', o ``Maiusc + Ctrl'' durante la selezione, esegue rispettivamente copia, trascinamento o cancellazione:

Pulsante sinistro del mouse

Sposta la selezione.

Maiusc + pulsante sinistro del mouse

Copia la selezione.

Ctrl + pulsante sinistro del mouse

Trascina la selezione.

Ctrl + Maiusc + pulsante sinistro del mouse

Cancella la selezione.

Durante il trascinamento o la copia, si può:

  • Fare clic nuovamente per piazzare gli elementi.

  • Fare clic con il pulsante destro per annullare.

Se un comando di spostamento blocco è cominciato, un altro comando può essere selezionato tramite il menu a scomparsa (mouse, tasto destro):

finestra a scomparsa della finestra principale

Comandi da tastiera

  • Il tasto "?" mostra l’elenco corrente dei comandi da tastiera.

  • I comandi da tastiera possono essere gestiti scegliendo "Modifica comandi da tastiera" nel menu delle preferenze.

Ecco l’elenco dei comandi da tastiera predefiniti:

Elenco comandi da tastiera predefiniti

Tutti i comandi da tastiera si possono ridefinire tramite l’editor dei comandi da tastiera:

Finestra di modifica comandi da tastiera

Selezione della dimensione della griglia

In Eeschema, il puntatore si sposta sopra una griglia, che può essere visibile o nascosta. Nei menu di gestione delle librerie la griglia viene sempre visualizzata.

È possibile cambiare la dimensione della griglia attraverso il menu a scomparsa o tramite il menu Preferenze/Opzioni.

La dimensione predefinita della griglia è 50 mils (0.05") o 1,27 millimetri.

Questa è la griglia preferita per piazzare componenti e collegamenti in uno schema elettrico, e per piazzare piedini nella progettazione dei simboli nel’editor dei componenti.

Si può anche lavorare con una griglia più piccola da 25 mil a 10 mil, ma in genere queste sono usate per la creazione dei corpi dei componenti o per posizionare testi e commenti, non per i fili o piedini.

Selezione Zoom

Per cambiare il livello di zoom:

  • Fare clic destro per aprire il menu a scomparsa e selezionare il livello di zoom desiderato.

  • O usare i tasti funzione:

    • F1: Ingrandisce

    • F2: Rimpicciolisce

    • F4 o clic singolo del pulsante centrale del mouse (senza spostare il mouse): centra la vista attorno alla posizione puntatore

  • Zoom finestra:

    • Rotellina del mouse: ingrandisce / rimpicciolisce

    • Maiusc+rotellina del mouse: scorre in su/giù

    • Ctrl+rotellina del mouse: scorre a sinistra/destra

Visualizzazione delle coordinate del puntatore

Le unità mostrate sono in pollici o in millimetri. Comunque, Eeschema lavora sempre internamente in millesimi (mils) di pollice.

Le seguenti informazioni sono mostrate sulla parte in basso a destra della finestra:

  • Fattore di zoom

  • Posizione assoluta del puntatore

  • Posizione relativa del puntatore

Le coordinate relative possono essere azzerate con la barra spazio. È utile per effettuare misure tra due punti.

][alt="barra di stato"

Barra menu in cima

La barra menu in cima permette l’apertura e il salvataggio degli schemi elettrici, la configurazione del programma, e la visualizzazione della documentazione.

barra dei menu

Barra strumenti in alto

Questa barra strumenti dà accesso alle funzioni principali di Eeschema.

Se Eeschema viene eseguito in modalità stand-alone (N.d.T. cioè al di fuori della gestione progetti KiCad), questo è l’insieme degli strumenti a disposizione:

images/toolbar_schedit_standalone.png

Se Eeschema viene eseguito dal gestore progetti (KiCad), questo è l’insieme degli strumenti disponibili:

images/toolbar_schedit.png

Gli strumenti per inizializzare un progetto non sono disponibili, dato che questi sono parte del Gestore progetti.

icona nuovo schema

Crea un nuovo schema elettrico (solo in modalità stand alone).

icona apri schema

Apre uno schema elettrico (solo in modalità stand alone).

icons/save_png

Salva lo schema (gerarchico) completo.

Page Settings icon

Seleziona la dimensione del foglio e modifica il blocco del titolo (cartiglio).

icons/print_button_png

Apre la finestra di dialogo della stampa.

icons/cut_button_png

Rimuove gli elementi selezionati durante lo spostamento di un blocco.

icons/copyblock_png

Copia gli elementi selezionati negli appunti durante lo spostamento di un blocco.

icons/paste_png

Copia l’ultimo elemento o blocco selezionato nel foglio corrente.

icons/undo_png

Annulla: elimina l’ultimo cambiamento effettuato (fino a 10).

icons/redo_png

Ripristina l’ultimo cambiamento annullato (fino a 10).

icona ricerca

Invoca la finestra di dialogo della ricerca dei componenti e testi nello schema elettrico.

search replace icon

Richiama la finestra di dialogo per la ricerca e sostituzione di testo nello schema elettrico.

icons/zoom_in icons/zoom_out

Ingrandimento e rimpicciolimento immagine.

icons/zoom_redraw icons/zoom_fit_in_page_png

Ridisegna lo schermo; ingrandimento perfetto.

icona navigazione nella gerarchia

Visualizza e naviga nell’albero della gerarchia.

icons/leave_sheet

Lascia il foglio corrente e sale nella gerarchia.

icons/libedit_png

Chiama l’editor dei componenti Libedit per visualizzare e modificare librerie e simboli di componenti.

icons/library_browse_png

Mostra le librerie (Viewlib).

icons_annotate_png

Annotazione dei componenti.

ERC icon

ERC (Controllo Regole Elettriche). ERC valida automaticamente le connessioni elettriche.

Netlist icon

Esporta una netlist (Pcbnew, Spice e altri formati).

BOM icon

Genera la distinta materiali (BOM - Bill of Materials).

icona modifica impronta

Modifica impronta.

icona esegui cvpcb

Chiama CvPvb per assegnare impronte a componenti.

icons/pcbnew_png

Richiama Pcbnew per la creazione del circuito stampato.

Import Footprint Names icon

Back-import-azione impronte componenti (selezionate usando CvPcb) nei campi "impronte".

Icone della barra strumenti di destra

Questa barra contiene strumenti per:

  • Piazzare componenti, fili, bus, connessioni, etichette, testi, ecc.

  • Creare sotto-fogli gerarchici e simboli di connessione

images/toolbar_schedit_rightside.png

icons/cursor_png

Annulla il comando o lo strumento attivi.

icons/hierarchy_cursor_png

Navigazione nella gerarchia: questo strumento rende possibile aprire il sottofoglio dello schema mostrato (clic sul simbolo di questo sottofoglio), o di risalire nella gerarchia (clic nell’area libera dello schema).

New Component icon

Mostra il selettore dei componenti.

Add Power icon

Mostra il selettore dei simboli di alimentazione.

icons/add_line_png

Disegna un filo.

icons/add_bus_png

Disegna un bus.

icons/add_line2bus_png

Disegna punti di connessione da filo a bus. Questi elementi sono solo grafici e non creano una connessione, perciò non dovrebbero essere usati per connettere assieme fili.

icons/add_bus2bus_png

Disegna elementi di connessione bus-a-bus.

icons/noconn_png

Inserisce simboli di "Non connessione". Questi devono essere piazzati sui pin dei componenti che non sono connessi. Utile nelle funzioni ERC per verificare se i pin siano stati lasciati intenzionalmente non connessi o se è una svista.

icons/add_junction_png

Inserimento giunzione. Per connettere due fili che si incrociano, o un filo e un pin, in caso di ambiguità (cioè se il capo di un filo o pin non è connesso ad una delle estremità dell’altro filo).

icons/add_line_label_png

Inserimento etichetta locale. Due fili possono essere connessi con etichette identiche nello stesso foglio. Per connessioni tra due fogli differenti, bisogna usare etichette globali o gerarchiche.

Global label icon

Inserimento etichetta globale. Tutte le etichette globali con lo stesso nome sono connesse assieme, anche tra fogli diversi.

icons/add_hierarchical_label_png

Inserimento etichetta gerarchica. Questo rende possibile inserire una connessione tra un foglio e il foglio genitore che lo contiene.

icons/add_hierarchical_subsheet_png

Inserisce un sotto-foglio gerarchico. È necessario specificare il nome del file per questo sotto-foglio.

icons/import_hierarchical_label_png

Importazione etichette gerarchiche da un sotto-foglio. Queste etichette gerarchiche devono già essere inserite nel sotto-foglio. Sono equivalenti ai pin di un componente, e devono essere connesse usando fili.

icons/add_hierar_pin_png

Piazza una etichetta gerarchica in un simbolo di sottofoglio. Viene piazzato per nome e non richiede che etichetta esista già nello stesso sottofoglio.

icons/add_dashed_line_png

Disegna una linea. Queste sono solo grafiche e non connettono alcunché.

icons/add_text_png

Piazza commenti di testo. Questi sono solo elementi grafici.

icons/image_png

Inserisce un’immagine bitmap.

icons/cancel_png

Elimina l’elemento selezionato.

Se vengono selezionati più elementi sovrapposti, la priorità viene data al più piccolo (i priorità decrescenti: giunzione, "Non connesso", filo, bus, testo, componente). Questo si applica ai fogli gerarchici. Nota: la funzione "Ripristina" della barra strumenti generale permette di eliminare le ultime cancellazioni.

Icone barra degli strumenti di sinistra

Questa barra strumenti gestisce le opzioni di visualizzazione:

icons/grid

Mostra/Nascondi la griglia.

icons/unit_inch

Passa a pollici.

icons/unit_mm

Passa a millimetri.

icons/cursor_shape

Scegli la forma del cursore

icons/hidden_pin

Visibilità dei pin "invisibili".

icons/lines90

Orientamento concesso a fili e bus.

Menu a scomparsa e modifiche veloci

Un click destro apre un menu contestuale per l’elemento selezionato. Quest’ultimo contiene:

  • Fattore di zoom.

  • Regolazione della griglia.

  • Parametri modificati comunemente per l’elemento selezionato.

Menu a scomparsa senza elementi selezionati.

eeschema_popup_without_element_png

Modifica di un’etichetta.

eeschema_popup_edit_label_png

Modifica di un componente.

eeschema_popup_edit_component_png

Menu principale in alto

Menu file

Menu file
Nuovo progetto schema Cancella lo schema corrente e ne inizializza uno nuovo

Apri progetto schema

Carica una gerarchia di schemi elettrici

Apri recente

Apre un’elenco di file aperti recentemente

Accoda schema elettrico

Inserisce i contenuti di un altro foglio in quello corrente

Salva schema elettrico

Salva il foglio corrente e tutta la sua gerarchia.

Salva solo il foglio corrente

Salva il foglio corrente, ma non gli altri della gerarchia.

Salva foglio corrente con nome

Salva il foglio corrente con un nuovo nome.

Impostazioni pagina

Configura le dimensioni della pagina e del riquadro iscrizioni.

Stampa

Stampa la gerarchia dello schema (consultare il capitolo Traccia e stampa).

Traccia

Esporta in formato PDF, PostScript, HPGL o SVG (consultare il capitolo Traccia e stampa).

Chiudi

Esce senza salvare.

Menu preferenze

Preferenze

Menu preferenze

Librerie componenti

Seleziona le librerie e i percorsi di ricerca delle librerie.

Imposta lo schema colori

Imposta i colori per lo schermo, la stampa e la tracciatura.

Opzioni editor degli schemi

Opzioni generali (unità, dimensione griglia, nomi campi, ecc.).

Lingua

Seleziona la lingua dell’interfaccia.

Comandi da tastiera

Elenca, modifica, esporta e importa le impostazioni dei comandi da tastiera.

Salva le preferenze

Salva le impostazioni del progetto nel file .pro .

Carica le preferenze

Carica le impostazioni del progetto da un file .pro .

Menu preferenze / Librerie componenti

Impostazioni librerie

Questa finestra di dialogo viene usata per configurare librerie di componenti e percorsi di ricerca. I parametri di configurazione vengono salvati nel file .pro. File di configurazione differenti in cartelle diverse sono consentiti.

Eeschema cerca, nell’ordine:

  1. Il file di configurazione (projectname.pro) nella cartella corrente. Il file di configurazione kicad.pro nella cartella di KiCad. Questo file può perciò essere la configurazione predefinita. I valori predefiniti se nessun file viene trovato. Sarà perciò necessario almeno compilare l’elenco di librerie da caricare, e poi salvare la configurazione.

Il riquadro “Controllo conflitti cache/libreria al caricamento dello schema” viene usato per configurare il comportamento di risoluzione dei conflitti di librerie. Vedere la sezione Recupero componenti nella cache per ulteriori informazioni su questo argomento.

Menu preferenze / Imposta schema colori

Impostazioni di colore

Schemi di colore per vari elementi grafici e selezione del colore di sfondo (bianco o nero).

Menu preferenze / Opzioni editor schemi elettrici

Opzioni editor schemi elettrici

Unità di misura:

Seleziona le unità di misura per lo schermo e le coordinate del puntatore (pollici o millimetri).

Dimensione griglia:

Selezione dimensione griglia.

Si raccomanda di lavorare con una griglia normale (0.050 pollici o 1,27 mm). Griglie più piccole vengono usate solitamente per la creazione di componenti.

Largezza bus predefinita:

Spessore del tratto usato per disegnare i bus.

Larghezza linea predefinita:

Spessore del tratto usato per disegnare oggetti che non hanno uno spessore specificato.

Dimensione testo predefinite:

Usata per la creazione di nuovi elementi testo o etichette

Passo orizzontale per gli elementi ripetuti

Incremento sull’asse X durante la duplicazione dell’elemento (normalmente 0)

(dopo il piazzamento di un elemento come un componente, un’etichetta o un filo, una duplicazione viene effettuata con il tasto Ins)

Passo verticale per gli elementi ripetuti

Incremento sull’asse Y durante la duplicazione dell’elemento (valore normale 0.100 pollici o 2,54 mm)

Incremento delle etichette ripetute

Incremento del valore dell’etichetta durante la duplicazione di testo terminante con un numero, come per esempio i membri di un bus (solitamente 1 o -1).

Intervallo di auto salvataggio

Tempo in minuti tra i salvataggi di backup.

Notazione id parte:

Stile del suffisso usato per denominare le parti del componente (U1A, U1.A, U1-1, ecc.)

Mostra griglia

Se selezionata: mostra la griglia.

Mostra i piedini nascosti

Mostra i piedini invisibili (o nascosti), tipicamente i pin di alimentazione. Se selezionata, permette la visualizzazione dei pin.

Centra e sposta il cursore con lo zoom

Quando si zooma, mantiene la posizione e il puntatore del mouse dove stanno.

Usa il tasto centrale del mouse per il pan

Se abilitata, il foglio può essere trascinato usando il tasto centrale del mouse.

Limita il pan alla dimensione dello scorrimento

Se abilitata, il pulsante centrale del mouse non può spostare l’area del foglio fuori dall’area mostrata.

Pan mentre si sposta un oggetto

Se selezionata, sposta automaticamente la finestra se il puntatore esce dalla finestra durante il disegno o lo spostamento.

Blocca l’orientamento di bus e fili a ortogonale

Se impostata, bus e collegamenti possono essere solo verticali o orizzontali.

Altrimenti, bus e collegamenti possono essere piazzati con qualsiasi orientamento.

Mostra limiti di pagina

Se selezionata, mostra i limiti della pagina sullo schermo.

Preferenze e lingua

Usa la modalità predefinita. Le altre lingue sono disponibili solo a scopo di sviluppo.

Menu di aiuto

Accedere alla guida in linea (questo documento) per un ampio tutorial su KiCad. Usare ``Copia informazioni di versione'' quando si desidera inviare rapporti di difetti per identificare la propria versione ed il proprio sistema.

Barra degli strumenti in alto generale

Gestione del foglio

L’icona di impostazione del foglio, Sheet Settings icon, permette di impostare la dimensione del foglio e il contenuto del riquadro iscrizioni.

Impostazioni di pagina

La numerazione dei fogli è automaticamente aggiornata. È possibile impostare la data ad oggi premendo il pulsante con la freccia a sinistra di "Data versione", visto che questa non viene cambiata automaticamente.

Opzioni dell’editor di schemi elettrici

Opzioni generali

Opzioni editor schemi elettrici

Nomi campi modelli

È possibile definire campi personalizzati che possono esistere in modo predefinito in ogni componente (anche se lasciati vuoti).

Impostazioni dei nomi dei campi modelli

Strumento di ricerca

L’icona Find icon, serve per accedere allo strumento di ricerca.

Finestra di dialogo trova

È possibile cercare un riferimento, un valore o una stringa di testo nel foglio corrente o in tutta la gerarchia. Una volta trovato, il puntatore del mouse verrà posizionato sull’elemento trovato nel sotto-foglio in questione.

Lo strumento netlist

L’icona della netlist, Netlist icon, apre lo strumento di generazione delle netlist.

Il file della netlist che crea descrive tutte le connessioni dell’intera gerarchia.

In una gerarchia multifoglio, ogni etichetta locale è visibile solo dentro il foglio al quale appartiene. Perciò l’etichetta TOTO del foglio 3 è diversa dall’etichetta TOTO del foglio 5 (se non è stata introdotta intenzionalmente una connessione per collegarle). Ciò è dovuto al fatto che il nome del percorso del foglio è associato internamente all’etichetta locale.

Nota 1:

La lunghezza delle etichette non ha limiti in Eeschema, ma il software che userà la netlist generata può avere dei limitati su questo aspetto, perciò sarà meglio tenerne conto.

Nota 2:

Si evitino gli spazi nelle etichette, dato che potrebbero farle sembrare come diverse parole separate. Non è un limite di Eeschema, ma di molti formati di netlist che spesso assumono che un’etichetta non abbia spazi.

Finestra di dialogo netlist

Opzioni:

Formato predefinito:

Imposta per selezionare Pcbnew come formato predefinito.

Si possono generare anche altri formati:

  • Orcad PCB2

  • CadStar

  • Spice, per i simulatori

I plugin esterni possono essere eseguiti per estendere l’elenco dei formati di netlist (qui è stato aggiunto un plugin per PadsPcb).

Strumento di annotazione

L’icona icons_annotate_png permette l’accesso allo strumento di annotazione. Questo strumento permette di assegnare automanticamente i nomi a tutti i componenti nello schema.

Per componenti multiparte (come l’integrato TTL 7400 che contiene 4 porte), viene assegnato anche un suffisso per ogni parte (perciò un TTL 7400 identificato come U3 sarà diviso in U3A, U3B, U3C e U3D).

Si può annotare incondizionatamente tutti i componenti, o solamente quelli nuovi, cioè quelli che non erano stati annotati in precedenza.

annotate-dialog_img

Ambito

Usa lo schema intero. Tutti i fogli verranno ri-annotati (scelta normale).

Usa solo la pagina corrente. Solo il foglio corrente viene ri-annnotato (questa scelta va selezionata solo in casi speciali, per esempio per valutare la quantità di resistenze nel foglio corrente).

Mantieni l’annotazione esistente. Annotazione condizionale, solo i nuovi componenti verranno ri-annotati (scelta normale).

Reimposta l’annotazione esistente. Annotazione incondizionale, tutti i componenti verranno ri-annotati (usare questa scelta quando ci sono riferimenti duplicati).

Reimposta ma non scambiare nessuna parte multipla annotata. Mantiene assieme tutti i gruppi multiunità (per es. U2A, U2B) durante la procedura di ri-annotazione.

Ordine di annotazione

Seleziona l’ordine nel quale i componenti verranno numerati.

Scelte di annotazione

Seleziona il metodo con il quale i numeri verranno selezionati.

Strumento di controllo regole elettriche (ERC)

L’icona ERC icon dà accesso allo strumento di controllo regole elettriche (ERC).

Questo strumento esegue la verifica del progetto ed è particolarmente utile per rilevare connessioni mancanti o senza senso.

All’esecuzione del controllo ERC, Eeschema piazza dei marcatori per evidenziare i problemi rilevati. La diagnosi può essere verificata facendo clic sinistro sul marcatore. È anche possibile generare un file con gli errori rilevati.

La finestra di dialogo ERC principale

Finestra di dialogo ERC

Gli errori vengono mostrati nel riquadro della finestra di dialogo del controllo regole elettriche:

  • Totale errori e avvertimenti.

  • Totale errori.

  • Totale avvertimenti.

Opzioni:

  • Crea il file rapporti ERC: selezionare questa opzione per generare un file di rapporto ERC.

Comandi:

  • Cancella marcatori: per rimuovere tutti i marcatori di errori/avvertimenti ERC.

  • Esegui: per avviare il controllo regole elettriche.

  • Chiudi: per uscire da questa finestra di dialogo.

Nota:

  • Facendo clic su un messaggio di errore si salta sul marcatore corrispondente nello schema elettrico.

Finestra di dialogo delle opzioni ERC

Finestra di dialogo delle opzioni ERC

Questa scheda permette di stabilire delle regole di connettività tra pin; si può scegliere tra 3 opzioni per ogni caso:

  • Nessun errore

  • Attenzione

  • Errore

Ogni riquadro della matrice può essere modificato facendo clic su di esso.

Strumento per la distinta materiali

L’icona BOM icon da accesso al generatore di distinta materiali (N.d.T. in inglese Bill of Materials o BOM). Questo meni permette la generazione di un file elenco di tutti i componenti e connessioni gerarchiche (etichette globali).

Finestra di dialogo della distinta materiali

Il generatore di distinte materiali di Eeschema fa uso di plugin esterni, generalmente in forma di script XSLT o Python. Alcuni di questi sono forniti, e vengono installati, dentro la cartella dei file eseguibili di KiCad.

Un utile insieme di proprietà di componenti da usare per una distinta componenti sono:

  • Value - valore: nome univoco per ogni parte usata.

  • Footprint - Impronta: sia inserita manualmente che per back-annotation (vedere sotto).

  • Field1 - Campo1: nome costruttore.

  • Field2 - Campo2: numero parte del costruttore.

  • Field3 - Campo3: numero parte distributore.

Per esempio:

Finestra di dialogo proprietà componente

Strumento di importazione per assegnazione impronte:

Accesso:

L’icona Icona importazione nomi impronte dà accesso allo strumento di per la back-annotateion.

Questo strumento permette di importare i cambiamenti alle impronte effettuati in PcbNew, tramite i campi impronte, indietro in Eeschema.

Creazione e modifica di schemi elettrici

Introduzione

Uno schema elettrico può essere rappresentato da un foglio singolo ma, se è grande abbastanza, potrà richiedere molti fogli.

Uno schema rappresentato da molti fogli è detto gerarchico, e tutti i fogli di cui è composto (ognuno consistente nel proprio file) costituiscono un progetto Eeschema. La gestione di schemi elettrici gerarchici verrà descritta nel capitolo Schemi elettrici gerarchici.

Considerazioni generali

Uno schema elettrico progettato con Eeschema è più di una semplice rappresentazione grafica di un dispositivo elettronico. Esso normalmente è il punto di ingresso di una catena di sviluppo che permette:

Uno schema elettrico consiste principalmente di componenti, fili, etichette, giunzioni, porte bus e di alimentazione. Per chiarezza, negli schemi elettrici, è possibile inserire elementi puramente grafici come elementi bus, commenti, e polilinee.

La catena di sviluppo

dev-chain_png

I componenti vengono aggiunti allo schema elettrico da librerie di componenti. Dopo che lo schema è stato ultimato, viene generata una netlist, che viene in seguito usara per importare l’insieme delle connessioni e delle impronte in PcbNew.

Modifica e inserimento componenti

Trova e piazza un componente

Per caricare un componente nello schema elettrico si può usare l’icona Icona nuovo componente. Una finestra di dialogo permette di battere il nome del componente da caricare.

Finestra di dialogo di scelta del componente

La finestra di dialogo di scelta del componente filtrerà i componenti per nome, parolechiave, e descrizione secondo quanto si inserirà nel campo di ricerca.

Prima di piazzare il componente nello schema elettrico, è possibile ruotarlo, renderlo speculare e modificarne i campi, sia usando i comandi da tastiera che tramite il menu contestuale che esce con il tasto destro del mouse. Ciò può essere effettuato allo stesso modo anche successivamente al piazzamento.

Ecco un componente durante il piazzamento:

componente durante il piazzamento

Porte di alimentazione

Una porta di alimentazione è un componente (i simboli sono raggruppati nella libreria “power”), in modo tale che possano essere piazzati usando la finestra di selezione dei componenti. Comunque, dato che il piazzamento di questi simboli è frequente, è disponibile anche l’icona strumento Icona piazza porta di alimentazione. Questo strumento è del tutto simile all’inserimento simboli, eccetto per il fatto che la ricerca viene effettuata già direttamente nella libreria “power”.

Modifica di componenti (piazzati)

Ci sono due modi per modificare un componente:

  • La modifica del componente stesso: posizione, orientamento, selezione unità di un componente multiplo.

  • La modifica di uno dei campi del componente: riferimento, valore, impronta, ecc.

Quando un componente è stato appena piazzato, si può doverne modificarne i valori (in particolare per le resistenze, condensatori, ecc.), mentre non serve assegnarne un numero di riferimento direttamente, o selezionarne l’unità (eccetto per componenti con unità bloccate, che devono essere assegnate manualmente). Ciò può essere svolto automaticamente dalla funzione di annotazione.

Modifica di un componente

Per modificare delle caratteristiche di un componente, posizionare il puntatore sul componante e fare:

  • Fare doppio clic sul componente per aprire la finestra di dialogo di modifica.

  • Clic destro per aprire il menu contestuale e usare uno dei comandi: sposta, orienta, Modifica, Cancella, ecc.

Modifiche dei campi di testo

Si possono modificare i riferimenti, valori, posizioni, orientamenti, dimensioni del testo e visibilità dei campi:

  • Doppio clic sul campo testo per modificarlo.

  • Clic destro per aprire il menu contestuale e usare uno de comandi: sposta, ruota, modifica, cancella, ecc.

Per ottenere ulteriori opzioni, o per creare altri campi, doppio clic sul componente per aprire la finestra di dialogo delle proprietà del componente.

Finestra di dialogo proprietà componente

Ogni campo può essere visibile o nascosto, e mostrato orizzontalmente o verticalmente. La posizione mostrata è sempre indicata per un componente mostrato normalmente (nessuna rotazione o ribaltamento speculare) ed è relativa al punto di ancoraggio del componente.

L’opzione “Reimposta ai valori predefiniti di libreria” imposta il componente all’orientamento originale, e reimposta le opzioni, dimensione e posizione di ogni campo. Comunque, i campi testo non vengono modificati dato che in questo modo si potrebbe rovinare lo schema elettrico.

Fili, Bus, Etichette, Porte di alimentazione

Introduzione

Tutti questi elementi di disegno possono essere piazzati anche con gli strumenti presenti nella barra verticale destra.

Questi elementi sono:

  • Fili: le connessioni più usate tra componenti.

  • Bus: per connettere graficamente le etichette di bus

  • Polilinee: per la grafica.

  • Giunzioni: per creare connessioni tra fili o bus che si incrociano.

  • Elementi bus: per mostrare connessioni tra fili e bus. Solo grafiche!

  • Etichette: per etichettare o per creare connessioni.

  • Etichette globali: per le connessioni tra fogli.

  • Testi: per commenti e annotazioni.

  • Segnalazioni "non connesso": per terminare un piedino che non necessita di alcuna connessione.

  • Fogli gerarchici, e i loro piedini di connessione.

Connessioni (fili e etichette)

Ci sono due metodi per instaurare connessioni:

  • Fili tra pin.

  • Etichette.

La figura seguente mostra i due metodi:

Etichette fili

Nota 1:

Il punto di “contatto” di una etichetta è l’angolo in basso a sinistra della prima lettera dell’etichetta. Questo punto viene mostrato con un piccolo quadratino se non connesso.

Questo punto deve perciò essere in contatto con il filo, o essere sovrapposto alla fine di un piedino in modo che l’etichetta venga visualizzata come connessa.

Nota 2:

Per stabilire una connessione, un segmento di filo deve essere connesso ai suoi capi ad un altro segmento o a un piedino.

Se c’è una sofrapposizione (se un filo passa sopra un pin, ma senza essere connesso alla fine del piedino) non c’è connessione.

Nota 3:

I fili che si incrociano non sono implicitamente connessi. È necessario attaccarli assieme con un punto di giunzione se si vuole proprio stabilire una connessione.

La figura precedente (fili connessi al connettore DB25FEMALE, piedini 22, 21, 20, 19) mostra un esempio di connessione usando un simbolo di giunzione.

Nota 4:

Se due diverse etichette vengono piazzate sullo stesso filo, queste vengono connesse assieme e diventano equivalenti: tutti gli altri elementi connessi ad una o l’altra etichetta sono connessi a tutte.

Connessioni (Bus)

Nello schema elettrico seguente, molti piedini sono connessi a dei bus.

Esempio di schema elettrico con bus
Membri di bus

Dal punto di vista dello schema elettrico, un bus è un insieme di segnali che iniziano con un prefisso comune e finiscono con un numero. Per esempio, PCA0, PCA1, e PCA2 sono membri del bus PCA.

Il bus completo si chiama PCA[N..m], dove N e m sono il primo e l’ultimo numero di filo di questo bus. Perciò se PCA possiede 20 membri da 0 a 19, il bus completo è denominato PCA[0..19]. Un inseme di segnali come PCA0, PCA1, PCA2, WRITE, READ non possono essere contenuti in un bus.

Connessioni tra membri di bus

Piedini connessi tra gli stessi membri di un bus devono essere connessi da etichette. Non è possibile connettere un piedino direttamente ad un bus; questo tipo di connessione sarà ignorata da Eeschema.

Nell’esempio sopra, le connessioni vengono effettuate dalle etichette piazzate sui fili connessi ai piedini. Le voci di bus (segmenti di filo a 45 gradi) sono solo elementi grafici, e non sono necessarie per formare connessioni logiche.

In effetti, usando il comando di ripetizione (tasto Ins), le connessioni possono essere eseguite molto velocemente nel modo seguente, se i piedini del componente sono allineati in ordine incrementale (una pratica comune in componenti come memorie, microprocessori, ecc.):

  • Piazzare la prima etichetta (per esempio PCA0)

  • Usando il tasto di ripetizione quanto desidetato per piazzare membri. Eeschema creerà automaticamente le etichette successive (PCA1, PCA2…​) allineate verticalmente, teoricamente nella esatta posizione degli altri piedini.

  • Disegnare il filo sotto la prima etichetta. Usare poi il comando di ripetizione per piazzare gli altri fili sotto le etichette.

  • Se necessario, piazzare le voci di bus allo stesso modo (piazzare la prima voce, poi usare il tasto di ripetizione).

Nel menu Preferenze/Opzioni, è possibile impostare i parametri di ripetizione:

  • Passo verticale per gli elementi ripetuti.

  • Passo orizzontale per gli elementi ripetuti.

  • Incremento delle etichette ripetute (che perciò potranno essere incrementate di 2, 3, …​ o decrementate).

Connessioni globali tra bus

Si potrebbe dover creare delle connessioni tra bus, in modo da collegare due bus con nomi differenti, o nel caso di gerarchie, creare connessioni tra fogli diversi. È possibile creare queste connessioni nel modo seguente.

Esempio di giunzione bus

I bus PCA [0..15], ADR [0..7] e BUS [5..10] sono connessi assieme (si noti la giunzione qui dato che i fili del bus verticale si attaccano nel mezzo del segmento di bus orizzontale).

Più precisamente, i membri corrispondenti sono connessi assieme: PCA0 e ADR0 sono collegati, (così come PCA1 e ADR1 fino a PCA7 e ADR7).

Per di più, PCA5, BUS5 e ADR5 sono connessi (così come PCA6, BUS6 e ADR6 e come PCA7, BUS7 e ADR7).

PCA8 e BUS8 sono anch’essi connessi (così come PCA9 e BUS9, PCA10 e BUS10)

Porte di connessione di alimentazione

Quando i piedini di alimentazione dei componenti sono visibili, devono essere connessi, come ogni altro segnale.

I componenti come le porte e flip-flops possono avere piedini di alimentazione invisibili. Bisogna fare attenzione con questi perché:

  • È impossibile connettere i fili, a causa della loro invisibilità.

  • Non si conoscono i loro nomi.

Ed inoltre, sarebbe una cattiva idea renderli visibili e collegarli come gli altri piedini, dato che lo schema elettrico diverrebbe illeggibile e non in conformità con le usuali convenzioni.

Se si vuole forzare la visualizzazione di questi piedini di alimentazione invisibili, bisogna selezionare l’opzione ``Mostra piedini nascosti'' nella finestra di dialogo Preferenze/Opzioni del menu principale, o tramite l’icona Mostra piedini nascosti presente sulla barra (opzioni) strumenti sulla sinistra.

Eeschema connette automaticamente tutti i piedini di alimentazione nascosti che posseggono stesso nome al collegamento (net) di alimentazione di nome corrispondente. Potrebbe rendersi necessario attaccare assieme collegamenti di alimentazione con nomi diversi (per esempio, "GND" nei componenti TTL e "VSS" in quelli in tecnologia MOS): si usino le porte di alimentazione a questo scopo.

Non è raccomandabile usare le etichette per le connessioni di alimentazione. Queste hanno solo ambito di connessione “locale”, e non connetterebbero i piedini di alimentazione nascosti.

La figura sottostante mostra un esempio di connessioni di porte di alimentazione.

Esempio di porte di alimentazione

In questo esempio, la massa (GND) è connessa alla porta di alimentazione VSS e la porta VCC è connessa a VDD.

Due simboli PWR_FLAG sono visibili. Essi indicano che le due porte di alimentazione VCC e GND sono realmente connesse ad una sorgente di alimentazione. Senza queste due segnalazioni, lo strumento ERC avrebbe diagnosticato: Attenzione: porta di alimentazione non alimentata.

Tutti questi simboli elettrici sono componenti della libreria ``power''.

Indicatore “Non connesso”

Questi simboli sono molto utili per evitare avvertimenti ERC indesiderati. Il controllo regole elettriche assicura che nessuna connessione venga accidentalmente lasciata sconnessa.

Se i piedini devono veramente essere lasciati sconnessi, è necessario piazzare un indicatore di “non connesso” (strumento Icona non connesso su questi piedini. Questi simboli non hanno influenza sulla netlist generata.

Complementi grafici

Commenti testuali

Può essere utile (alla comprensione dello schema elettrico) piazzare annotazioni in forma di campi o riquadri di testo. I campi testo (strumento Piazza testo) e poli-linee (strumento Piazza linea o poligono grafici) servono a questo scopo, al contrario di etichette e fili che sono elementi di connessione.

Ecco un esempio di riquadro con elemento testuale di commento.

Esempio di riquadro con testo

Blocco del titolo del foglio

Il blocco del titolo viene modificato con lo strumento Strumento per le impostazioni pagina.

Finestra di dialogo delle impostazioni pagina
Blocco del titolo

Il numero di foglio (Sheet X/Y) viene aggiornato automaticamente.

Recupero componenti nella cache

Come impostazione predefinita, Eeschema carica i simboli dei componenti dalle librerie, secondo le impostazioni dei percorsi su disco di queste. Ciò può provocare dei problemi durante il caricamento di progetti molto vecchi: se i simboli nella libreria sono cambiati da quando erano stati caricati nel progetto, i simboli presenti nel progetto vengono automaticamente rimpiazzati dalle corrispondenti nuove versioni. Le nuove versioni potrebbero allinearsi correttamente o potrebbero essere orientati diversamente, generando così uno schema errato.

Comunque, quando un progetto viene salvato, viene salvata anche una libreria archivio con esso. Ciò consente di distribuire il progetto senza tutte le librerie. Se si carica un progetto i cui simboli sono presenti in entrambe le librerie, archivio e di sistema, Eeschema scansionerà le librerie per rilevare eventuali conflitti. Se vengono rilevati conflitti questi verranno elencati nella finestra di dialogo seguente:

Finestra di dialogo di conflitti nel recupero

Si può vedere in questo esempio che il progetto in origine aveva usato un diodo con il catodo verso l’alto, ma ora la libreria ne contiene uno con il catodo verso il basso. Questo cambiamento può danneggiare il progetto! Premendo OK qui farà in modo di salvare il vecchio simbolo in una speciale libreria di ``recupero'', e tutti i componenti che usano quel simbolo verranno rinominati per evitare conflitti di nome.

Se si preme annulla, nessun recupero verrà effettuato, perciò Eeschema caricherà i nuovi componenti come impostazione predefinita. Dato che non è stato effettuato nessun cambiamento, è ancora possibile tornare indietro ed eseguire nuovamente la funzione di recupero: scegliere \"Recupera vecchi componenti\" nel menu strumenti per richiamare nuovamente la finestra di dialogo.

Se si preferisce non visualizzare questa finestra di dialogo, è possibile premere ``Non mostrare più''. L’impostazione predefinita non farà nulla e permetterà di caricare i nuovi componenti. Questa opzione può essere ripristinata nelle impostazioni delle preferenze, sezione librerie componenti.

Schemi elettrici gerarchici

Introduzione

Una rappresentazione gerarchica è in genere una buona soluzione al problema dei progetti consistenti in più di qualche foglio. Se si vuole gestire questa tipologia di progetti, è necessario:

  • Usare fogli grandi, con il risultato di avere poi problemi di stampa e di gestione dei fogli.

  • Usare diversi fogli gerarchici, che portano ad una struttura gerarchica.

Lo schema elettrico completo consisterà quindi in un foglio principale, chiamato foglio radice, e dei sotto-fogli costituenti la gerarchia. Inoltre, una attenta suddivisione del progetto in fogli separati migliora la sua leggibilità.

Dal foglio radice, si possono trovare tutti i sottofogli. La gestione gerarchica degli schemi elettrici è molto facile con Eeschema, grazie ad un "esploratore gerarchico" integrato accessibile tramite l’icona icons/hierarchy_nav_png sulla barra strumenti in cima.

Ci sono due tipi di gerarchie che possono esistere simultaneamente: la prima è stata appena menzionata ed è di uso generale. La seconda consiste nella creazione componenti nella libreria che appaiono come componenti tradizionali nello schema, ma che effettivamente consistono a loro volta di uno schema elettrico che descrive la loro struttura interna.

Questo secondo tipo viene usato per sviluppatr circuiti integrati, dato che in questo caso è necessario usare funzioni di libreria nello schema che si sta progettando.

Eeschema attualmente non gestisce questo secondo caso.

Una gerarchia può essere:

  • semplice: un dato foglio è usato solo una volta

  • complessa: un dato foglio viene usato più di una volta (istanze multiple)

  • piatta: che consiste in una gerarchia semplice, ma le connessioni tra fogli non sono disegnate.

Eeschema può gestire tutte queste gerarchie.

La creazione di uno schema elettrico gerarchico è semplice, l’intera gerarchia viene gestita partendo dallo schema radice, come se si trattasse di un unico schema elettrico.

Due passi importanti da comprendere sono:

  • Come creare un sotto-foglio.

  • Come creare delle connessioni elettriche tra sotto-fogli.

Esplorare i sotto-fogli è molto semplice grazie allo strumento di esplorazione accessibile tramite il pulsante icons/hierarchy_nav_png presente sulla barra strumenti in cima.

hierarchy_navigator_dialog_png

Ogni foglio è raggiungibile facendo clic sul suo nome. Per accedere velocemente, clic destro su un nome foglio, e scegliere Accedi al foglio.

È possibile raggiungere velocemente il fglio radice, o un sotto-foglio grazie allo strumento icons/hierarchy_cursor_png della barra strumenti destra. Dopo che lo strumento di navigazione è stato selezionato:

  • Fare clic su un nome foglio per selezionarlo.

  • Fare clic da qualunque altra parte per selezionare il foglio principale.

Locale, etichette gerarchiche e globali

Proprietà

Le etichette locali, strumento icons/add_line_label_png, sono simboli di connessione solo dentro un foglio. Le etichette gerarchiche (strumento icons/add_hierarchical_label_png) sono simboli di connessione solo dentro un foglio ed ad un piedino gerarchico piazzato nel foglio genitore.

Le etichette globali (strumento Global label icon) sono simboli di connessione attraverso tutta la gerarchia. I piedini di potenza (tipo power in e power out) invisibili sono come le etichette globali perché sono visti come connessi tra loro attraverso tutta la gerarchia.

Dentro una gerarchia (semplice o complessa) si può usare sia etichette gerarchiche, assieme o in alternativa a, etichette globali.

Creazione gerarchica di intestazioni

Si deve:

  • Piazzare nel foglio radice un simbolo gerarchico chiamato "simbolo foglio".

  • Inserire nel nuovo schema (sotto-foglio) con il navigatore e disegnarlo, come ogni altro schema elettrico.

  • Disegnare le connessioni elettriche tra due schemi piazzando etichette globali (hlabel) nel nuovo schema (sotto-foglio), ed etichette con lo stesso nome nel foglio radice, conosciute anche come EtichetteFoglio. Queste EtichetteFoglio saranno connesse al simbolo del foglio del foglio radice ad altri elementi dello schema come pin di componenti standard.

Simbolo di foglio

Disegna un rettangolo definito dai due punti diagonali che simboleggiano il sotto-foglio.

La dimensione di questo rettangolo deve consentire di piazzare in seguito etichette particolari, piedini gerarchici, corrispondenti alle etichette globali (hlabel) nel sotto-foglio.

Queste etichette sono simili a normali piedini di componenti. Selezionare lo strumento icons/add_hierarchical_subsheet_png.

Fare clic per piazzare l’angolo sinistro alto del rettangolo. Fare clic nuovamente per piazzare l’angolo destro basso, verificando di creare un rettangolo sufficientemente dimensionato.

Verrà richiesto di inserire un nome file e un nome foglio per questo sotto-foglio (in modo da poter raggiungere lo schema corrispondente, usando il navigatore della gerarchia).

hsheet_properties_1_png

Bisogna per lo meno dare un nome file. Se non c’è un nome foglio, il nome file verrà usato come nome foglio (solitamente si lascia così).

Connessioni - piedini gerarchici

Qui si devono creano i punti di connessione (punti gerarchici) per il simbolo appena creato.

Questi punti di connessione sono simili ai piedini dei componenti normali, ma con la possibilità di connettere un bus completo con solo un punto di connessione.

Ci sono due modi per fare ciò:

  • Piazzare i diversi pin prima di disegnare il sotto-foglio (disposizione manuale).

  • Piazzare i diversi pin dopo aver disegnato il sotto-foglio, e le etichette globali (disposizione semi-automatica).

La seconda soluzione è la preferibile.

Disposizione manuale:

  • Per selezionare lo strumento icons/add_hierar_pin_png.

  • Fare clic sul simbolo gerarchico dove si vuole posizionare questo pin

Vedere di seguito un esempio di creazione del pin gerarchico chiamato "CONNEXION".

eeschema_hierarchical_label_png

Si può definire i suoi attributi grafici e le sue dimensioni in seguito modificando il foglio di questo piedino (clic destro del mouse e poi selezionando "modifica" nel menu a scomparsa).

Vari simboli di piedini sono disponibili:

  • Ingresso

  • Uscita

  • Bidirezionale

  • Tri-State

  • Passivo

Questi simboli di pin sono solo aiuti grafici e non hanno altre funzioni.

Piazzamento automatico:

  • Selezionare lo strumento icons/import_hierarchical_label_png.

  • Fare clic sul simbolo gerarchico da dove si vuole importare i pin corrispondenti alle etichette globali piazzate nello schema corrispondente. Apparirà un pin gerarchico, se esiste una nuova etichetta globale, cioè non corrispondente ad un pin già piazzato.

  • Fare clic dove si vuole piazzare questo piedino.

Tutti i pin necessari possono perciò essere piazzati velocemente e senza errori. Il loro aspetto è in accordo con le etichette globali corrispondenti.

Connessioni - etichette gerarchiche

Ogni pin del simbolo del foglio appena creato, deve corrispondere ad una etichetta chiamata etichetta gerarchica nel sotto-foglio. Le etichette gerarhiche sono simili alle etichette, ma forniscono connessioni tra i sotto-fogli ed il foglio radice. La rappresentazione grafica delle due etichette complementari (pin e etichetta gerarchica) è simile. La creazione delle etichette gerarchiche viene fatta con lo strumento icons/add_hierarchical_label_png.

Di seguito un esempio di foglio radice:

hierarchical_label_root_png

Si noti il pin VCC_PIC, collegato al connettore JP1.

Ecco le connessioni corrispondenti nel sotto-foglio:

hierarchical_label_sub_png

Si troverà ancora, le due corrispondenti etichette gerarchiche, che forniscono connessione tra i due fogli gerarchici.

Si può usare etichette gerarchiche e pin gerarchici per connettere due bus, secondo la sintassi (Bus [N. .m]) descritta in precedenza.

Etichette, etichette gerarchiche, etichette globali e pin di alimentazione invisibili

Ecco alcune note sulle varie modalità di fornire connessioni, a parte le connessioni tramite i semplici fili disegnati.

Etichette semplici

Le etichette semplici hanno una capacità di connessione locale, cioè limitata al foglio dello schema dove sono collocate. Ciò è dovuto al fatto che:

  • Ogni foglio ha un numero di foglio.

  • Questo numero di foglio è associato ad una etichetta.

Perciò, se si piazza l’etichetta "TOTO" nel foglio n° 3, in effetti l’etichetta vera è "TOTO_3". Se si piazza anche un’etichetta "TOTO" nel foglio n° 1 (foglio radice) si piazza in effetti un’etichetta di nome "TOTO_1", differente da "TOTO_3". Ciò si verifica sempre, anche quando c’è un solo foglio.

Etichette gerarchiche

Quanto detto per le etichette semplici risulta vero anche per le etichette gerarchiche.

Perciò nello stesso foglio, un’etichetta gerarchica "TOTO" viene considerata connessa ad un’etichetta locale "TOTO", ma non connessa ad un’etichetta gerarchica o un’etichetta di nome "TOTO" in un altro foglio.

Comunque, un’etichetta gerarchica viene considerata connessa al corrispondente simbolo 'etichetta foglio' nel simbolo gerarchico piazzato nel foglio radice.

Pin di alimentazione invisibili

Si era visto che i piedini di alimentazione invisibili sono connessi assieme se posseggono lo stesso nome. Perciò tutti i piedini di alimentazione dichiarati "Piedini di alimentazione invisibili" e chiamati VCC sono interconnessi e formano la connessione equipotenziale VCC, su qualunque foglio essi siano stati piazzati.

Ciò significa che se si piazza un’etichetta VCC in un sotto-foglio, essa non verrà connessa ai piedini VCC, dato che questa etichetta è in realtà VCC_n, dove n è il numero di foglio.

Se si desidera che questa etichetta VCC sia veramente connessa all’equipotenziale VCC, essa dovrà essere esplicitamente connessa ad un piedino di alimentazione invisibile, grazie ad una porta di alimentazione VCC.

Etichette globali

Le etichette globali che posseggono un nome identico sono connesse attraverso l’intera gerarchia.

(etichette di alimentazione come vcc …​ sono etichette globali)

Gerarchia complessa

Ecco un esempio. Lo stesso schema viene usato due volte (due istanze). I due fogli condividono lo stesso schema perché il nome del file è lo stesso per i due fogli (``other_sheet.sch''). Ma i nomi dei fogli devono essere differenti.

Gerarchia Eeschema complessa

Gerarchia piatta

Si può creare un progetto usando molti fogli, senza creare connessioni tra questi fogli (gerarchia piatta) se le seguenti regole vengono rispettate:

  • Bisogna creare un foglio radice contenente gli altri fogli, che agisce come un collegamento tra gli altri fogli.

  • Non sono necessarie connessioni esplicite.

  • Tutte le connessioni tra fogli useranno etichette globali invece di etichette gerarchiche.

Ecco un esempio di un foglio radice.

Gerarchia Eeschema piatta

Ecco le due pagine, connesse tramite etichette globali.

Ecco il pic_programmer.sch.

Gerarchia Eeschema piatta 1

Ecco il pic_sockets.sch.

Gerarchia Eeschema piatta 2

Guardare le etichette globali.

Gerarchia Eeschema piatta 3

Annotazione classificazione automatica

Introduzione

Lo strumento di annotazione classificazione automatica permette di assegnare automaticamente un riferimento a componenti nello schema. Per componenti multiparte, assegna un suffisso multi-parte per minimizzare il numero di questi pacchetti. Lo strumento di annotazione classificazione automatica è accessibile tramite l’icona icons_annotate_png. Qui si trova sua finestra principale.

annotate-dialog_img

Varie possibilità sono disponibili:

  • Annota tutti i componenti (reimpostando le opzioni di annotazione esistenti)

  • Annota tutti i componenti, ma non scambiare nessuna multiparte annotata precedentemente.

  • Annota solo i nuovi componenti (cioè quelli i cui riferimenti finiscono per ? come IC?) (mantieni le opzioni di annotazione esistenti).

  • Annota l’intera gerarchia (usa l’opzione schema intero).

  • Annota solo il foglio attuale (usa l’opzione solo pagina corrente).

L’opzione ``Reimposta ma non scambiare nessuna parte multipla annotata'' mantiene tutte le associazioni esistenti tra parti multi-unità. In pratica, se si ha U2A e U2B, queste possono essere riannotate rispettivamente a U1A e U1B, ma non saranno mai riannotate a U1A e U2A, né a U2B e U2A. Utile se ci si vuole assicurare che i raggruppamenti di pin vengano mantenuti se si è già deciso che sottounità sia meglio piazzare in una determinata posizione.

La scelta dell’ordine di annotazione fornisce il metodo usato per impostare il numero di riferimento dentro ogni foglio della gerarchia.

Ad eccezione di casi particolari, l’annotazione automatica si applica all’intero progetto (tutti i fogli) e ad i nuovi componenti, se non si vuole modificare le annotazioni precedenti.

La scelta annotazione fornisce il metodo usato per calcolare l’id del riferimento:

  • Usa il primo numero libero nello schema: i componenti vengono annotati da 1 (per ogni prefisso di riferimento). Se esiste una precedente annotazione, verranno usati i numeri non ancora in uso.

  • Comincia dal foglio numero*100 e usa il primo numero libero: l’annotazione comincia da 101 per il foglio numero 1, da 201 per il foglio numero 2, ecc. Se ci sono più di 99 elementi con lo stesso prefisso di riferimento (U, R) nel foglio 1, lo strumento di annotazione usa il numero 200 e più, e l’annotazione per il foglio 2 comincerà dal prossimo numero libero.

  • Comincia dal foglio numero*1000 e usa il primo numero libero. L’annotazione comincia da 1001 per il foglio 1, 2001 per il foglio 2.

Alcuni esempi

Ordine di annotazione

Questo esempio mostra 5 elementi piazzati, ma non annotati.

eeschema_annotation_order_none_png

Dopo che lo strumento di annotazione viene eseguito, viene ottenuto il seguente risultato.

Ordinato per posizione X.

eeschema_annotation_order_x_png

Ordinato per posizione Y.

eeschema_annotation_order_y_png

Si può osservare che quattro porte 74LS00 sono state distribuite nel contenitore U1, e che la quinta 74LS00 è stata assegnata al successivo U2.

Scelte di annotazione

Ecco un’annotazione nel foglio 2 dove è stata impostata l’opzione usa il primo numero libero nello schema.

eeschema_annotation_choice_free_png

L’optione comincia dal foglio numero*100 e usa il prino numero libero produce il seguente risultato.

eeschema_annotation_choice_x100_png

L’opzione comincia dal numero*1000 e usa il primo numero libero produce il seguente risultato.

eeschema_annotation_choice_x1000_png

Verifica della progettazione con il Controllo Regole Elettriche (ERC)

Introduzione

Lo strumento per il controllo regole elettriche (ERC) esegue un controllo automatico dello schema elettrico. L’ERC segnala gli errori presenti nel foglio, come piedini sconnessi, simboli gerarchici sconnessi, uscite in corto-circuito, ecc. Naturalmente, un controllo automatico non è infallibile, ed il software che rende possibile la rilevazione di tutti gli errori di progettazione non è completo al 100%. Un tale controllo è molto utile, perché permette di rilevare molte sviste e piccoli errori.

In pratica tutti gli errori rilevati devono essere controllati e corretti prima di procedere normalmente. La qualità dell’ERC è direttamente associata alla cura presa nel dichiarare le proprietà elettriche dei piedini durante la creazione delle librerie. I risultati dell’ERC vengono riportati come "errori" o "avvertimenti".

Finestra di dialogo ERC

Come usare l’ERC

l’ERC può essere avviato facendo clic sull’icona Icona ERC.

Gli avvertimenti vengono piazzati sugli elementi dello schema elettrico che provocano gli errori ERC (piedini o etichette).

  • In questa finestra di dialogo, facendo clic su un messaggio di errore, si salta direttamente al corrispettivo marcatore sullo schema elettrico.

  • Sullo schema elettrico, facendo clic destro su un marcatore si accedere al corrispondente messaggio diagnostico.

È possibile anche cancellare i marcatori di errore dalla finestra di dialogo.

Esempio di ERC

Puntatori ERC

Qui si può osservare quattro errori:

  • Due uscite sono state erroneamente collegate assieme (freccia rossa).

  • Due ingressi sono stati lasciati sconnessi (freccia verde).

  • C’è un errore su un ingresso di alimentazione invisibile, manca la segnalazione di alimentazione (freccia verde in cima).

Mostrare i messaggi diagnostici

Facendo clic destro su un marcatore si apre un menu che permette di accedere alla finestra diagnostica del marcatore ERC.

Informazioni sui puntatori ERC

e se si fa clic su 'Info errore marcatore' si ottiene una descrizione dell’errore.

erc_pointers_message_png

Piedini e segnalazioni di alimentazione

Succede spesso di avere una segnalazione o un errore su un piedino di alimentazione, anche se sembra tutto normale. Si osservi l’esempio sovrastante. Ciò succede perché, in molti progetti, l’alimentazione viene fornita da connettori che non sono sorgenti di alimentazione (diversamente dall’uscita di un regolatore, che viene dichiarata come sorgente di alimentazione).

L’ERC perciò non individuerà nessun piedino di alimentazione che controlla questo filo e lo dichiarerà non alimentato da nessuna sorgente di alimentazione.

Per evitare questo avvertimento è necessario piazzare un ``PWR_FLAG'' su questa porta. Si osservi il seguente esempio:

eeschema_power_pins_and_flags_png

Il marcatore d’errore allora sparirà.

Il più delle volte, un PWR_FLAG deve essere connesso a GND, dato che normalmente i regolatori hanno uscite dichiarate come uscite di alimentazione ma i piedini di massa non sono mai dichiarati in tal modo (l’attributo normale è invece come ingresso di alimentazione), perciò le masse non appaiono mai connesse ad una sorgente di alimentazione senza un pwr_flag.

Configurazione

Il pannello delle opzioni permette di configurare le regole di connessione per definire le condizioni elettriche per il controllo di errori e avvertimenti.

eeschema_erc_options_png

Le regole possono essere cambiate facendo clic sul riquadro desiderato della matrice, in modo da selezionare la scelta desiderata: normale, avvertimento, errore.

File rapporto ERC

Un file di rapporto ERC può essere generato e salvato selezionando l’opzione “Scrivi rapporto ERC”. L’estensione del file per i file di rapporto ERC è “.erc”. Ecco un esempio di file rapporto ERC:

ERC control (4/1/1997-14:16:4)

***** Sheet 1 (INTERFACE UNIVERSAL)
ERC: Warning Pin input Unconnected @ 8.450, 2.350
ERC: Warning passive Pin Unconnected @ 8.450, 1.950
ERC: Warning: BiDir Pin connected to power Pin (Net 6) @ 10.100, 3.300
ERC: Warning: Power Pin connected to BiDir Pin (Net 6) @ 4.950, 1.400

>> Errors ERC: 4

Creazione di una netlist

Panoramica

Una netlist è un file che descrive le connessioni elettriche tra componenti. Nel file di netlist si possono trovare:

  • L’elenco componenti

  • L’elenco delle connessioni tra componenti, chiamate collegamenti equipotenziali.

Esistono diversi formati di netlist. Alle volte l’elenco componenti e l’elenco equi-potenziale sono due file separati. La netlist è fondamentale per uso di software di progettazione elettronica, dato che la netlist è il collegamento altro software CAD elettronico, come:

  • Software per la progettazione di circuiti stampati.

  • Simulazione di circuiti elettrici e circuiti stampati.

  • Compilatori di CPLD (e di altri chip programmabili).

Eeschema supporta diversi formati di netlist.

  • Formato PCBNEW (circuiti stampati).

  • Formato ORCAD PCB2 (circuiti stampati).

  • Formato CADSTAR (circuiti stampati).

  • Formato Spice, per vari simulatori (di questa famiglia ma il formato Spice viene usato anche da altri simulatori).

Formati di netlist

Selezionare lo strumento Netlist icon per aprire la finestra di dialogo di creazione della netlist.

Selezionato Pcbnew

eeschema_netlist_dialog_pcbnew_png

Selezionato Spice

eeschema_netlist_dialog_spice_png

Usando le diverse schede è possibile selezionare il formato desiderato. Nel formato Spice si può generare netlists sia con nomo equi-potenziali (sono più leggibili) o con numeri di collegamento (le vecchie versioni di Spice accettano solo numeri). Facendo clic sul pulsante Netlist, verrà richiesto un nome file per la netlist.

Con grossi progetti, la generazione della netlist potrebbe impiegare diversi minuti.

Esempi di netlist

In basso si può osservare uno schema che usa la libreria PSPICE:

eeschema_netlist_schematic_png

Esempio di file di netlist PCBNEW:

# Eeschema Netlist Versione 1.0 generato il 21/1/1997-16:51:15
(
(32E35B76 $noname C2 1NF {Lib=C}
(1 0)
(2 VOUT_1)
)
(32CFC454 $noname V2 AC_0.1 {Lib=VSOURCE}
(1 N-000003)
(2 0)
)
(32CFC413 $noname C1 1UF {Lib=C}
(1 INPUT_1)
(2 N-000003)
)
(32CFC337 $noname V1 DC_12V {Lib=VSOURCE}
(1 +12V)
(2 0)
)
(32CFC293 $noname R2 10K {Lib=R}
(1 INPUT_1)
(2 0)
)
(32CFC288 $noname R6 22K {Lib=R}
(1 +12V)
(2 INPUT_1)
)
(32CFC27F $noname R5 22K {Lib=R}
(1 +12V)
(2 N-000008)
)
(32CFC277 $noname R1 10K {Lib=R}
(1 N-000008)
(2 0)
)
(32CFC25A $noname R7 470 {Lib=R}
(1 EMET_1)
(2 0)
)
(32CFC254 $noname R4 1K {Lib=R}
(1 +12V)
(2 VOUT_1)
)
(32CFC24C $noname R3 1K {Lib=R}
(1 +12V)
(2 N-000006)
)
(32CFC230 $noname Q2 Q2N2222 {Lib=NPN}
(1 VOUT_1)
(2 N-000008)
(3 EMET_1)
)
(32CFC227 $noname Q1 Q2N2222 {Lib=NPN}
(1 N-000006)
(2 INPUT_1)
(3 EMET_1)
)
)
# End

In formato PSPICE, la netlist è la seguente:

* Eeschema Netlist Versione 1.1 (formato Spice) data creazione: 18/6/2008-08:38:03

.model Q2N2222 npn (bf=200)
.AC 10 1Meg \*1.2
.DC V1 10 12 0.5


R12   /VOUT N-000003 22K
R11   +12V N-000003 100
L1   N-000003 /VOUT 100mH
R10   N-000005 N-000004 220
C3   N-000005 0 10uF
C2   N-000009 0 1nF
R8   N-000004 0 2.2K
Q3   /VOUT N-000009 N-000004 N-000004 Q2N2222
V2   N-000008 0 AC 0.1
C1   /VIN N-000008 1UF
V1   +12V 0 DC 12V
R2   /VIN 0 10K
R6   +12V /VIN 22K
R5   +12V N-000012 22K
R1   N-000012 0 10K
R7   N-000007 0 470
R4   +12V N-000009 1K
R3   +12V N-000010 1K
Q2   N-000009 N-000012 N-000007 N-000007 Q2N2222
Q1   N-000010 /VIN N-000007 N-000007 Q2N2222

.print ac v(vout)
.plot ac v(nodes) (-1,5)

.end

Note sulla netlist

Precauzioni sul nomi netlist

Molti strumenti software che usano le netlists non accettano spazi nei nomi dei componenti, pins, collegamenti equi-potenziali o altri elementi. Si consiglia di evitare sistematicamente l’uso degli spazi nelle etichette, o nei campi nome o valore dei componenti o dei loro piedini.

Allo stesso modo, i caratteri speciali diversi dalle lettere e numeri possono causare dei problemi. Si noti che questa limitazione non è relativa a Eeschema, ma sui formati di netlist che possono diventare intraducibili verso software che usi i file di netlist.

Netlist PSPICE

Per il simulatore Pspice, è necessario includere alcune linee di comando nella netlist stessa (.PROBE, .AC, ecc.).

Ogni linea di testo inclusa nello schema elettrico che cominci con la parola chiave -pspice o -gnucap sarà inserita (senza la parola chiave) in cima alla netlist.

Ogni linea di testo inclusa nello schema elettrico che cominci con la parola chiave +pspice o +gnucap verrà inserita (senza parola chiave) alla fine della netlist.

Ecco un esempio di testo con molte linee singole e una multilinea:

eeschema_pspice_netlist_png

Per esempio, se si batte il testo seguente (non usate un’etichetta!):

-PSPICE .PROBE

verrà inserita nella netlist una linea .PROBE .

Nell’esempio precedente, tre linee erano state inserite all’inizio della netlist e due alla fine, con questa tecnica.

Se si usano testi multilinea, le parole chiave +pspice o +gnucap sono necessarie solo una volta:

+PSPICE .model NPN NPN
.model PNP PNP
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt
.backanno

crea le quattro linee:

.model NPN NPN
.model PNP PNP
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt
.backanno

Si noti anche che il GND equipotenziale deve essere chiamato 0 (zero) per Pspice.

Altri formati

Per altri formati di netlist si possono aggiungere convertitori di netlist in forma di plugin. Questi convertitori vengono automaticamente eseguiti da Eeschema. Il capitolo 14 contiene alcune spiegazioni ed esempi di convertitori.

Un convertitore è un file di testo (in formato xsl) ma si possono anche usare altri linguaggi come Python. Quando si usa il formato xsl, uno strumento (xsltproc.exe o xsltproc) legge il file intermedio creato da Eeschema, ed il file convertitore per creare il file in uscita. In questo caso, il file convertitore (un foglio di stile) è molto piccolo e facile da scrivere.

La finestra di dialogo di inizializzazione

Per aggiungere un nuovo plugin di netlist si usa il pulsante Aggiungi plugin.

eeschema_netlist_dialog_add_plugin_png

Ecco la finestra di impostazione del plugin PadsPcb:

eeschema_netlist_dialog_padspcb_png

L’impostazione richiederà:

  • Un titolo (per esempio, il nome del formato della netlist).

  • Il plugin la lanciare.

Quando la netlist viene generata:

  1. Eeschema crea un file intermedio *.tmp, per esempio test.tmp.

  2. Eeschema esegue il plugin, il quale legge test.tmp e crea test.net.

Formato a linea di comando

Ecco un esempio, che usa xsltproc.exe come strumento per convertire dei file .xsl, e un file netlist_form_pads-pcb.xsl come foglio di stile di conversione:

f:/kicad/bin/xsltproc.exe -o %O.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl %I

Con:

f:/kicad/bin/xsltproc.exe Uno strumento per leggere e convertire file xsl

-o %O.net

File in uscita: %O definirà il file in uscita.

f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl

Nome file convertitore (un foglio di stile, formato xsl).

%I

Sarà rimpiazzato dal file intermedio creato da Eeschema (*.tmp).

Per lo schema elettrico test.sch, la riga di comando sarà:

f:/kicad/bin/xsltproc.exe -o test.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl test.tmp.

Convertitore e foglio di stie (plugin)

Questo è un software molto semplice, dato che il suo scopo è esclusivamente di convertire un testo in ingresso (il file di testo intermedio) in un altro file di testo. Inoltre, dal file di testo intermedio, è possibile creare una distinta materiali.

Quando si usa xsltproc come strumento di conversione, viene generato solo il foglio di stile.

Formato file netlist intermedio

Consultare il capitolo 14 per ottenere ulteriori informazioni su xslproc, sulle descrizioni del formato file intermedio, e alcuni esempi di fogli di stile per convertitori.

Traccia e stampa

Introduzione

Si accede ai comandi di stampa e di tracciamento (N.d.T. ovvero una stampa esportata in un formato vettoriale) tramite il file menu.

eeschema_file_menu_plot_png

I formati in uscita supportati sono Postscript, PDF, SVG, DXF e HPGL. È anche possibile mandare la stampa direttamente alla stampante.

Comandi di stampa comuni

Traccia pagina corrente

stampa solo un file solo per il foglio corrente.

Traccia tutte le pagine

permette di tracciare l’intera gerarchia (viene generato un file di stampa per ogni foglio).

Traccia in Postscript

Questo comando permette di creare file in formato Postscritp.

eeschema_plot_postscript_png

Il nome file è il nome del foglio con estensione .ps. È possibile disabilitare l’opzione "Traccia squadratura e riquadro iscrizioni". È utile se si vuole creare un file postscript per incapsulato (formato .eps) usato spesso per inserire uno schema per esempio in un programma di videoscrittra. La finestra messaggi mostra i nomi (con i percorsi) dei file creati.

Traccia in PDF

eeschema_plot_pdf.png

Permette di creare file di tracciature usando il formato PDF. Il nome file è in nome del foglio con estensione .pdf .

Traccia in SVG

eeschema_plot_svg_png

Permette di creare file di tracciatura usando il formato SVG. Il nome del file è il nome del foglio con estensione .svg .

Traccia in DXF

eeschema_plot_dxf_png

Permette di creare un file di tracciatura in formato DXF. Il nome del file è il nome del foglio con estensione .dxf .

Traccia in HPGL

Questo comando permette di creare un file HPGL. Per questo formato è possibile impostare:

  • Dimensione pagina.

  • Origine.

  • Dimensione penna (in mm).

La finestra di dialogo di impostazione del plotter appare come questa:

eeschema_plot_hpgl_png

Il nome del file risultante avrà il nome del foglio più estensione .plt .

Selezione dimensione foglio

La dimensione del foglio normalmente viene controllata. In questo caso, verrà usata la dimensione del foglio definita nel menu del blocco del titolo e la scala scelta sarà di 1. Se viene selezionata una diversa dimensione del foglio (A4 con A0, o A con E), la scala viene automaticamente regolata per riempire la pagina.

Regolazioni di posizionamento

Per tutte le dimensioni standard, è possibile regolare la posizione per centrare il più possibile il disegno. Dato che i plotter hanno il punto di origine al centro o nell’angolo in basso a sinistra del foglio, è necessario poter introdurre uno spostamento in maniera tale da permettere una tracciatura regolare.

Parlando in generale:

  • Per plotter con il punto di origine al centro del foglio lo spostamento deve essere negativo e impostato a metà delle dimensioni del foglio.

  • Per plotter con punto di origine nell’angolo in basso a sinistra del foglio lo spostamento deve essere impostato a 0.

Per impostare uno spostamento:

  • Selezionare la dimensione del foglio.

  • Impostare lo spostamento X e Y.

  • Fare clic per accettare lo spostamento.

Questo comando, disponibile tramite l’icona icons/print_button_png, permette di visualizzare e preparare file del progetto per le normali stampanti.

finestra di dialogo stampa

L’opzione “Stampa squadratura e riquadro iscrizioni del foglio" abilita o disabilita la stampa di questi particolari.

L’opzione “Stampa in bianco e nero” imposta la stampante come monocromatica. Questa opzione è in genere necessaria se si usa una stampante laser in bianco e nero, dato che i colori vengono stampati come mezzi-toni e spesso non sono molto leggibili.

Editor dei componenti della libreria

Informazioni generali sui componenti della libreria

Un componente è un elemento dello schema elettrico che contiene una rappresentazione grafica, connessioni elettriche e campi che definiscono il componente stesso. I componenti usati in uno schema elettrico vengono memorizzati nelle librerie di componenti. Eeschema fornisce uno strumento di modifica dei componenti di libreria che permette di creare librerie, aggiungere, eliminare o trasferire componenti tra librerie, esportare componenti su file e importare componenti da file. In breve, lo strumento di modifica delle librerie fornisce un modo semplice per gestire i file delle librerie di componenti.

Panoramica delle librerie di componenti

Una libreria di componenti è composta da uno o più componenti. Generalmente i componenti sono raggruppati per funzione, tipo e/o produttore.

Un componente è composto di:

  • Elementi grafici (linee, cerchi, archi, testo, ecc.) che forniscono la definizione del simbolo.

  • I piedini hanno sia proprietà grafiche (linea, clock, inversione, attivo basso, ecc.) che proprietà elettriche (ingresso, uscita, bidirezionale, ecc.) usate dallo strumento di controllo regole elettriche (ERC).

  • Campi come riferimenti, valori, nomi impronte corrispondenti per la progettazione del circuito stampato, ecc.

  • Alias usati per associare a componenti comuni come un 7400 con tutte le sue derivazioni come 74LS00, 74HC00 e 7437. Tutti questi alias condividono lo stesso componente di libreria.

La corretta progettazione di componenti richiede:

  • Specificare se il componente è formato da più di un’unità.

  • Specificare se il componente possiede uno stile corpo alternativo altrimenti detto rappresentazione De Morgan.

  • La progettazione della sua rappresentazione simbolica usando linee, rettangoli, cerchi, poligoni e testo.

  • L’aggiunta di pin definendo con cura l’elemento grafico di ogni pin, il nome, il numero, e le sue proprietà elettriche (ingresso, uscita, tri-state, alimentazione, ecc.).

  • L’aggiunta di un alias per altri componenti che hanno lo stesso simbolo e piedinatura o la rimozione di uno di questi se il componente è stato creato da un altro componente.

  • L’aggiunta di campi opzionali come il nome dell’impronta usata dal software di progettazione di circuiti stampati e/o la definizione della loro visibilità.

  • La documentazione del componente aggiungendo una stringa di descrizione, collegamenti ai datasheet, ecc.

  • Il salvataggio nella libreria scelta.

Panoramica dell’editor dei componenti di libreria

Di seguito si può osservare la finestra principale dell’editor di librerie componenti. Esso consiste in tre barre degli strumenti che servono a velocizzare l’accesso alle funzioni più comuni, e un’area di visualizzazione/modifica del componente. Sulle barre degli strumenti non sono disponibili tutti comandi, ma quelli che mancano sono comunque accessibili tramite i menu.

libedit_main_window_png

Barra strumenti principale

La barra degli strumenti principale è collocata tipicamente in cima alla finestra principale, come mostrato sotto, e consiste nei comandi di gestione delle librerie, annullamento e ripetizione delle ultime operazioni, zoom e apertura delle finestre di dialogo delle proprietà dei componenti.

images/it/toolbar_libedit.png

icons/save_library_png

Salva la libreria attualmente selezionata. Il pulsante sarà disabilitato se non è attualmente selezionata nessuna libreria o se non sono stati effettuati dei cambiamenti alla libreria attualmente selezionata.

icons/library_png

Seleziona la libreria da modificare.

icons/delete_png

Elimina un componente dalla libreria correntemente selezionata o da qualsiasi libreria definita dal progetto se non ci sono librerie selezionate.

icons/library_browse_png

Apre il browser della libreria componenti per selezionare la libreria e il componente da modificare.

icons/new_component_png

Crea un nuovo componente.

icons/import_cmp_from_lib_png

Carica un componente dalla libreria attualmente selezionata per la modifica.

icons/copycomponent_png

Crea un nuovo componente dal componente attualmente caricato.

icons/save_part_in_mem_png

Salva i cambiamenti del componente corrente in memoria. Il file della libreria non viene modificato.

icons/import_png

Importa un componente da un file.

icons/export_png

Esporta il componente corrente in un file.

icons/new_library_png

Crea un nuvo file libreria contenente il componente corrente. Nota: le nuove librerie non vengono automaticamente aggiunte al progetto.

icons/undo_png

Annulla l’ultima modifica.

icons/redo_png

Annulla l’ultimo annullamento.

icons/part_properties_png

Modifica le proprietà del componente corrente.

icons/add_text_png

Modifica i campi del componente corrente.

icons/erc_png

Controllo nel componente corrente la presenza di errori di progettazione.

zoom in

Zoom in.

zoom out

Zoom out.

zoom redraw

Aggiorna lo schermo.

zoom fit in page

Zoom sul componente della dimensione schermo.

icons/morgan1_png

Seleziona lo stile corpo normale. Il pulsante è disabilitato se il componente corrente non ha uno stile corpo alternativo.

icons/morgan2_png

Seleziona lo stile corpo alternativo. Il pulsante è disabiltato se il componente corrente non ha uno stile corpo alternativo.

icons/datasheet_png

Mostra la documentazione associata. Il pulsante sarà disabilitato se non è stata definita della documentazione per il componente.

images/toolbar_libedit_part.png

Seleziona l’unità da mostrare. Il menu a discesa sarà disabilitato se il componente corrente non deriva da unità multiple.

images/toolbar_libedit_part.png

Seleziona l’alias. Il menu a discesa sarà disabilitato se il componente corrente non ha nessun alias.

icons/pin2pin_png

Modifica pin: modifica indipendente di forma e posizione di pin per componenti composti da unità e simboli multipli.

icons/pin_table_png

Mostra la tabella piedini.

Barra strumenti elementi

La barra verticale collocata tipicamente sulla destra della finestra principale permette di inserire tutti gli elementi richiesti per la progettazione di un componente. La tabella sottostante definisce ogni pulsante della barra.

icons/cursor_png

Strumento di selezione. Facendo clic destro con questo strumento si apre il menu contestuale per l’oggetto sotto il puntatore. Il clic sinistro invece mostra gli attributi dell’oggetto sotto il puntatore in un pannello messaggi in fondo alla finestra principale. Doppio clic sinistro apre la finestra delle proprietà per l’oggetto sotto il puntatore.

icons/pin_png

Strumento pin. Clic sinistro per aggiungere un nuovo pin.

icons/add_text_png

Strumento testo grafico. Clic sinistro per aggiungere un nuovo elemento di testo grafico.

icons/add_rectangle_png

Strumento rettangolo. Clic sinistro per cominciare a disegnare il primo angolo di un rettangolo grafico. Di nuovo clic sinistro per piazzare l’angolo opposto del rettangolo.

icons/add_circle_png

Strumento cerchio. Clic sinistro per cominciare a disegnare un nuovo cerchio grafico dal centro. Di nuovo clic sinistro per definire il raggio del cerchio.

icons/add_arc_png

Strumento arco. Clic sinistro per cominciare a disegnare un nuovo arco grafico dal centro. Di nuovo clic sinistro per definire la prima estremità dell’arco. Ancora clic sinistro per definire la seconda estremità dell’arco.

icons/add_polygon_png

Strumento poligono. Clic sinistro per cominciare a disegnare un nuovo poligono grafico nel componente corrente. Clic sinistro per ogni linea aggiunta al poligono. Doppio clic sinistro per completare il poligono.

icons/anchor_png

Strumento àncora. Clic sinistro per impostar la posizione di ancoraggio del componente.

icons/import_png

Importa un componente da file.

icons/export_png

Esporta il componente corrente in un file.

icons/delete_png

Strumento cancella. Clic sinistro per cancellare un oggetto dal componente corrente.

Barra opzioni

La barra strumenti verticale, tipicamente collocata sul lato sinistro della finestra principale, permette di impostare alcune opzioni di disegno dell’editor. La tabella sottostante descrive ogni pulsante della barra.

icons/grid_png

Abilita/disabilita la visibilità della griglia.

icons/unit_inch_png

Imposta l’unità in pollici.

icons/unit_mm_png

Imposta l’unità in millimetri.

icons/cursor_shape_png

Abilita/disabilia il puntatore a pieno schermo.

Selezione e manutenzione librerie

La selezione della libreria corrente è possibile tramite l’icona icons/library_png che mostra tutte le librerie disponibili e permette di selezionarne una. Quando un componente viene caricato o salvato, viene messo un questa libreria. In nome di libreria del componente è il contenuto del suo campo valore.

  • È necessario caricare una libreria in Eeschema, per avere accesso ai suoi contenuti.

  • Il contenuto della libreria corrente può essere salvato dopo le modifiche, facendo clic sull’icona icons/save_library_png nella barra strumenti principale.

  • Un componente può essere rimosso da qualsiasi libreria facendo clic sul’icona icons/delete_png.

Selezione e salvataggio di un componente

Quando si modifica un componente non si sta veramente lavorando sul componente nella sua libreria ma su una copia di esso nella memoria del computer. Ogni azione di modifica può essere facilmente annullata. Un componente può essere caricato da una libreria locale o da un componente esistente.

Selezione componenti

Facendo clic sull’icona icons/import_cmp_from_lib_png sulla barra strumenti principale viene mostrato l’elenco di tutti i componenti disponibili, pronti per essere selezionati e caricati dalla libreria correntemente selezionata.

Se un componente selezionato è un alias, il nome del componente caricato viene mostrato sulla barra del titolo della finestra al posto dell’alias selezionato. L’elenco degli alias dei componenti viene sempre caricato con ogni componente e può essere modificato. Si può creare un nuovo componente selezionando un alias del componente corrente dal pulsante images/toolbar_libedit_alias.png. Il primo elemento nell’elenco degli alias è il nome radice del componente.
Oppure, facendo clic sull’icona icons/import_png consente di caricare un componente precedentemente salvato tramite il pulsante icons/export_png.
Salvataggio di un componente

Dopo la modifica, un componente può essere salvato nella libreria corrente, in una nuova libreria o esportato su un file di salvataggio.

Per salvare il componente modificato nella libreria corrente, fare clic sull’icona icons/save_part_in_mem_png. Si noti che il comando di salvataggio salva solo i cambiamenti del componente nella memoria locale. In questo modo, si può cambiare idea prima di salvare la libreria.

Per salvare permanentemente i cambiamenti al componente sul file di libreria, fare clic sull’icona icons/save_library_png; sovrascriverà il file di libreria esistente con i cambiamenti del componente.

Se si desidera creare una nuova libreria contenente il componente corrente, fare clic sull’icona icons/new_library_png. Verrà richiesto di inserire il nome per la nuova libreria.

Le nuove librerie non sono automaticamente aggiunte al progetto corrente.

Bisogna aggiungere qualsiasi nuova libreria si desideri usare in uno schema, all’elenco delle librerie del progetto in Eeschema, usando la finestra di dialogo di configurazione del componente.

Library settings

Fare clic sull’icona icons/export_png per creare un file contenente solo il componente corrente. Questo file sarà un file di libreria standard che conterrà solo un componente. Questo file può essere usato per importare il componente in un’altra libreria. I effetti il comando per la creazione di una nuova libreria ed il comando di esportazione sono praticamente identici.

Trasferire componenti ad un’altra libreria

È molto facile copiare un componente da una libreria sorgente in una di destinazione usando i seguenti comandi:

  • Selezionare la libreria sorgente facendo clic su icons/library_png.

  • Carica il componente da trasferire facendo clic su icons/import_cmp_from_lib_png. Il componente verrà mostrato nell’area di modifica.

  • Selezionare la libreria di destinazione facendo clic su icons/library_png.

  • Salvare il componente corrente sulla nuova libreria nella memoria locale facendo clic su icons/save_part_in_mem_png.

  • Salvare il componente nel file della libreria locale corrente facendo clic su icons/save_library_png.

Abbandonare i cambiamenti del componente

Quando si sta lavorando su un componente, il componente modificato è solo una copia di lavoro del componente effettivo nella sua libreria. Ciò significa che fintantoché questo non sia stato salvato, si può ricaricare e annullare tutti cambiamenti effettuati. Se lo si è già aggiornato nella memoria locale e non lo si è salvato nel file di libreria, si può sempre uscire e ricominciare. Eeschema annullerà tutti i cambiamenti.

Creare componenti di libreria

Creare un nuovo componente

Si può creare un nuovo componente facendo clic su icons/new_component_png. Verrà richiesto un nome per il componente (questo nome viene usato come valore predefinito per il campo valore nell’editor degli schemi elettrici), un riferimento (U, IC, R…​), il numero di unità per contenitore (per esempio un 7400 è formato da 4 unità per contenitore) e, se lo si desidera, uno stile di corpo alternativo (alle volte riferito come DeMorgan). Se il campo riferimento viene lasciato vuoto, il valore predefinito sarà "U". Queste proprietà possono essere cambiate anche in seguito, ma è preferibile impostarle correttamente alla creazione del componente.

eeschema_component_properties_png

Un nuovo componente verrà creato usando le proprietà sopraesposte e apparirà nell’editor come mostrato sotto.

eeschema_libedit_new_png

Creare un componente da un altro componente

Spesso, il componente che si vuole creare è simile ad un altro già presente in una libreria componenti. In questo caso risulta più facile caricare e modificare un componente esistente (N.d.T. piuttosto che ricrearne uno nuovo da zero).

  • Caricare il componente che verrà usato come punto di partenza.

  • Fare clic su icons/copycomponent_png o modificarne il nome facendo clic destro sul campo valore modificando il testo. Se si sceglie di duplicare il componente corrente, verrà richiesto di inserire un nuovo nome componente.

  • Se il componente modello possiede degli alias, verrà richiesto di rimuovere gli alias dal nuovo componente che vanno in conflitto con la libreria corrente. Se la risposta è no, la creazione del nuovo componente verrà abortita. Le librerie componnenti non possono avere nomi o alias duplicati.

  • Modifica il nuovo componente come richiesto.

  • Aggiornare il nuovo componente nella libreria corrente facendo clic su icons/save_part_in_mem_png oppure salvare su una nuova libreria facendo clic su icons/new_library_png altrimenti, se si vuole salvare questo nuovo componente in un’altra libreria preesistente, selezionare l’altra libreria facendo clic su icons/library_png e salvare il nuovo componente.

  • Salvare il file di libreria corrente su disco facendo clic su icons/save_library_png.

Proprietà del componente

Le proprietà del componente devono essere impostate accuratamente durante la creazione del componente altrimenti queste vengono ereditate dal componente copiato. Per cambiare le proprietà del componente, fare clic su icons/part_properties_png per mostrare la finestra seguente.

eeschema_properties_for_component_png

È molto importante impostare correttamente i parametri del numero di unità per contenitore e se il componente possiede una rappresentazione simbolica alternativa perché quando i pin vengono modificati o creati vengono creati i pin corrispondenti per ogni unità. Se si cambia il numero di unità per contenitore dopo la creazione e modifica dei pin, ci si creerà del lavoro ulteriore per aggiungere nuovi pin e simboli per unità. Ad ogni modo, è possibile modificare queste proprietà in ogni momento.

Le opzioni grafiche "Mostra numero piedino" e "Mostra nome piedino" definiscono la visibilità del numero piedino e del testo del nome del piedino. Questo testo sarà visibile se le opzioni corrispondenti sono spuntate. L’opzione "Nome piedino interno" imposta la posizione del nome del piedino relativamente al corpo del piedino. Questo testo verrà mostrato all’interno del bordo del componente se l’opzione è spuntata. In questo caso la proprietà "Scostamento nome piedino" definisce lo spostamento del testo dalla fine del corpo del piedino. Valore consigliato da 30 a 40 (in 1/1000 di pollice).

L’esempio sottostante mostra un componente con l’opzione "Nome piedino interno" non selezionata. Si noti la posizione dei nomi e dei numeri di pin.

eeschema_uncheck_pin_name_inside_png

Componenti con simboli alternativi

Se il componente possiede più di una rappresentazione simbolica, sarà necessario selezionare i simboli diversi del componente in modo da modificarli. Per modificare il simbolo normale, fare clic su icons/morgan1_png.

Per modificare il simbolo alternativo fare clic su icons/morgan2_png. Usare images/toolbar_libedit_part.png mostrato sotto per selezionare l’unità che si desidera modificare.

eeschema_libedit_select_unit_png

Elementi grafici

Gli elementi grafici creano la rappresentazione simbolica di un componente e non contengono informazioni di connessioni elettriche. La loro progettazione è possibile usando i seguenti strumenti:

  • Linee e poligoni definiti da punti di inizio e fine.

  • Rettangoli definiti da due angoli diagonali.

  • Cerchi definiti da centro e raggio.

  • Archi definiti da punti di inizio e fine dell’arco ed il suo centro. Un arco va da 0° a 180°.

La barra strumenti verticale sul lato destro della finestra principale permette di piazzare tutti gli elementi grafici richiesti per progettare la rappresentazione simbolica di un componente.

Appartenenza di elementi grafici

Ogni elemento grafico (linea, arco, cerchio, ecc.) può essere definito come comune a tutte le unità e/o stili di corpi o specifico di una data unità e/o stile corpo. Le opzioni dell’elemento sono accessibili facilmente facendo clic destro sull’elemento per mostrare il menu contestuale per l’elemento selezionato. Di seguito è mostrato il menu contestuale per un elemento linea.

eeschema_libedit_context_menu_png

Si può anche fare doppio clic sinistro su un elemento per modificare le sue proprietà. Di seguito viene mostrata la finestra di dialogo delle proprietà di un elemento poligono.

eeschema_libedit_polyline_properties_png

Le proprietà di un elemento grafico sono:

  • Spessore linea che definisce lo spessore della linea dell’elemento nelle unità di disegno corrente.

  • L’impostazione "Comune a tutte le unità nel componente" definisce se l’elemento grafico deve essere disegnato per ogni unità nel componente con più di una unità per contenitore o se l’elemento grafico deve essere disegnato solo per l’unità corrente.

  • L’impostazione "Comune a tutti gli stili di corpi (DeMorgan)" definisce se l’elemento grafico deve essere disegnato per ogni rappresentazione simbolica nei componenti con uno stile di corpo alternativo o se l’elemento grafico deve essere disegnato solo per lo stile di corpo corrente.

  • L’impostazione di stile di riempimento determina se il simbolo definito dall’elemento grafico deve essere disegnato non riempito, riempito con lo sfondo o riempito con il primo piano.

Elementi di testo grafico

L’icona icons/add_text_png permette la creazione di testo grafico. Il testo grafico è sempre leggibile, anche se il componente viene ribaltato. Si noti che gli elementi di testo grafico non sono campi.

Unità multiple per componente e stili di corpo alternativi

I componenti possono avere due rappresentazioni simboliche (un simbolo standard e un simbolo alternativo spesso chiamato "DeMorgan") e/o avere più di una unità per contenitore (per esempio le porte logiche). Alcuni componenti possono avere più di una unità per ogni contenitore con simboli e configurazioni di piedinatura differenti.

Si consideri per esempio un relè con due interruttori che può essere creato come un componente composto di tre diverse unità: una bobina, un interruttore 1, e un interruttore 2. Progettare un componente con unità multiple per contenitore e/o stili di corpo alternativi è molto flessibile. Un pin o un elemento simbolico di corpo può essere comune a tutte le unità o specifico di una data unità o ancora possono essere comuni sia a entrambe le rappresentazioni simboliche che essere specifiche di una data rappresentazione simbolica.

Come impostazione predefinita, i pin sono specifici per ogni rappresentazione simbolica di ogni unità, dato che il numero di pin è proprio di una specifica unità e la forma dipende dalla rappresentazione simbolica. Quando un pin è comune ad ogni unità o ad ogni rappresentazione simbolica, è necessario crearlo solo una volta per tutte le unità e tutte le rappresentazioni simboliche (questo solitamente accade per i pin di alimentazione). Ciò accade anche per le forme grafiche e il testo dello stile del corpo, che possono essere comuni per ogni unità (ma tipicamente sono specifiche per ogni rappresentazione simbolica).

Esempio di un componente con più unità con simboli differenti:

Questo è un esempio di un relè definito con tre unità per contenitore, contatto 1, contatto 2, e la bobina:

Opzione: i pin non sono collegati. Si possono aggiungere o modificare pin per ogni unità senza accoppiamento con pin di altre unità.

eeschema_libedit_pins_per_part_png

Tutte le unità che non sono intercambiabili devono essere selezionate.

eeschema_libedit_not_interchangeable_png

Unità 1

eeschema_libedit_unit1_png

Unità 2

eeschema_libedit_unit2_png

Unità 3

eeschema_libedit_unit3_png

Non ha lo stesso simbolo e disposizione di pin e perciò non è intercambiabile con le unità 1 e 2.

Elementi simbolici grafici

In basso le proprietà di un elemento per un corpo grafico. Dall’esempio precedente del relè, le tre unità hanno rappresentazioni simboliche differenti. Perciò, ogni unità è stata creata separatamente e gli elementi del corpo grafico devono avere l’impostazione "Comune a tutte le unità nel componente" disabilitata.

eeschema_libedit_disable_common_png

Creazione e modifica di piedini

Si può fare clic sull’immagine icons/pin_png per creare e inserire un pin. La modifica di tutte le proprietà del pin viene fatta facendo doppio clic sul pin o facendo clic destro sul pin per aprire il menu contestuale del pin. I pin si devono creare con attenzione, dato che ogni errore avrà conseguenze sul circuito stampato in progettazione. Ogni pin già posizionato può essere modificato, cancellato e/o spostato.

Panoramica piedino

Un piedino viene definito dalla sua rappresentazione grafica, il suo nome ed il suo "numero". Il "numero" del piedini è definito da un insieme di 4 lettere e/o numeri. Perché lo strumento di controllo regole elettriche (ERC) sia utile, i piedini di tipo "elettrico" (ingresso, uscita, tri-state…​) devono anch’essi essere definiti correttamente. Se i piedini di questo tipo non sono definiti correttamente, i risultati del controllo elettrico ERC potrebbero non essere validi.

Note importanti:

  • Non usare spazi nei nomi e nei numeri di piedini.

  • Per definire un nome pin con un segnale invertito (overline) usare il carattere ~ (tilde). Inserendo il prossimo carattere ~ toglierà l’overline. Per esempio ~FO~O mostrerà FO O.

  • Se il nome pin viene ridotto ad un singolo simbolo, il piedino viene considerato come senza nome.

  • I nomi dei piedini che cominciano con # sono riservati per le porte di alimentazione.

  • Un "numero" pin è costituito da 1 a 4 lettere e/o numeri. 1,2,..9999 sono numeri validi. A1, B3, Anod, Gnd, Wire, ecc. sono anch’essi esempi validi.

  • I "numeri" pin duplicati non possono esistere in un componente.

Proprietà piedino

eeschema_libedit_pin_properties_png

La finestra di dialogo delle proprietà del pin permette di modificare tutte le caratteristiche di un pin. Questa finestra di dialogo salta fuori automaticamente quando si crea un pin o facendo doppio clic su un pin già esistente. Questa finestra di dialogo permette di modificare:

  • Nome e dimensione del testo del nome.

  • Numero e dimensione del testo del numero.

  • Lunghezza.

  • Tipo grafico ed elettrico.

  • Unità e appartenenza a rappresentazioni alternative.

  • Visibilità.

Stili grafici dei pin

Mostrati nella figura sottostante ci sono differenti stili di rappresentazione grafica del pin. La scelta dello stile grafico non ha influenza sul tipo elettrico del pin.

eeschema_libedit_pin_properties_style_png

Tipi elettrici del pin

Scegliere il corretto tipo elettrico è importante per lo strumento di controllo delle regole elettriche. I tipi elettrici definiti sono:

  • Bidirezionale, indica un pin che può funzionare sia in ingresso che in uscita (il bus dati di un microprocessore per esempio).

  • Tri-state, è la classica uscita a tre stati (N.d.T. alto, basso, alta impedenza).

  • Passivo, viene usato per pin di componenti passivi come resistenze, connettori, ecc.

  • Non specificato, può essere usato quando non serve (N.d.T. o non si può applicare) il controllo regole elettriche.

  • Ingresso alimentazione, viene usato per i piedini di potenza del componente. I pin di alimentazione vengono automaticamente connessi agli altri pin di ingresso alimentazione con lo stesso nome.

  • Uscita alimentazione, come dice il nome, usati per le uscite degli alimentatori.

  • I tipi collettore aperto e emettitore aperto, si possono usare per uscite funzionanti in quel modo.

  • Non connesso, viene usato quando un componente possiede un pin che non ha una connessione elettrica interna (N.d.T. per esempio aggiunti per aumentare la stabilità meccanica).

Proprietà globali del pin

È possibile modificare la lunghezza o la dimensione del testo del nome e/o numero di tutti i pin usando la voce delle modifiche Globali del menu contestuale del piedino. Fare clic sul parametro che si desidera modificare e battere il nuovo valore che verrà applicato a tutti i piedini correnti del componente.

eeschema_libedit_pin_context_menu_png

Definizione piedini per componenti multipli e rappresentazioni simboliche alternative

Componenti con unità e/o rappresentazioni grafiche multiple sono particolarmente problematici durante la creazione e la modifica dei piedini. La maggioranza dei piedini sono specifici della singola unità (perché il loro numero di piedino è specifico per ogni unità) e della singola rappresentazione simbolica (poiché la loro forma e posizione è specifica di ogni rappresentazione simbolica). La creazione e la modifica di piedini può essere problematica per componenti con più unità per contenitore e con rappresentazioni simboliche alternative. L’editor del componente di libreria consente la creazione simultanea di più pin. Come impostazione predefinita, i cambiamenti fatti ad un pin vengono effettuati anche a tutte le unità di un componente multiplo ed ad entrambe le rappresentazioni simboliche per i componenti con rappresentazioni simboliche alternative.

L’unica eccezione a questa regola è il tipo grafico e il nome del pin. Questa dipendenza è stata stabilita per facilitare la creazione e la modifica nei casi più comuni. Questa dipendenza può essere disabilitata agendo sull’icona icons/pin2pin_png presente sulla barra degli strumenti principale. Quest’ultima permette di creare piedini per ogni unità e rappresenzazioni, completamente indipendenti.

Un componente può possedere due rappresentazioni simboliche (rappresentazioni conosciute come "DeMorgan") e può essere formato da più di un’unità come nel caso dei componenti con porte logiche. Per certi tipi di componenti, può essere desiderabile avere elementi grafici e pin differenti e indipendenti. Come nell’esempio del relè mostrato in sezione 11.7.1, un relè può essere rappresentato da tre distinte unità: bobina, interruttore 1 e interruttore 2.

La gestione dei componenti formati da elementi multipli e componenti con rappresentazioni simboliche alternative è flessibile. Un piedino può essere comune o specifico di più unità. Un piedino può essere anche comune a più rappresentazioni simboliche o specifico di ogni rappresentazione simbolica.

Come impostazione predefinita, i piedini sono specifici di ogni rappresentazione simbolica, dato che il loro numero differisce per ogni unità, e la loro creazione è differente per ogni rappresenzazione simbolica. Quando un piedino è comune a tutte le parti, esso deve essere disegnato solo una volta, come nel caso dei piedini di alimentazione.

Un esempio sono i pin di uscita del 7400, una porta NAND quadrupla a ingresso doppio. Dato che ci sono quattro unità e due rappresentazioni simboliche, ci sono otto distinti piedini d’uscita descritti nella definizione del componente. Durante la creazione di un nuovo componente 7400, l’unità A della rappresentazione simbolica normale viene mostrata nell’editor di libreria. Per modificare lo stile del piedino nella rappresentazione simbolica alternativa, questa deve prima essere abilitata facendo clic sul pulsante icons/morgan2_png sulla barra degli strumenti. Per modificare il numero di pin per ogni unità, selezionare l’unità appropriata usando il menu a discesa images/toolbar_libedit_alias.png.

Campi componente

Tutti i componenti di libreria vengono creati con quattro campi predefiniti. I campi riferimento'', valore'', impronta'' e specifiche'' vengono creati ogniqualvolta un componente viene creato o copiato. Solo i campi riferimento'' e valore'' sono necessari. Per i campi esistenti, è possibile usare i comandi del menu contestuale facendo clic destro sul piedino. I componenti presenti nelle librerie sono normalmente definiti con questi quattro campi predefiniti. Ulteriori campi come per es. fabbricante'', numero parte'', ``costo unità'', ecc. possono venire aggiunti ai componenti di libreria, ma generalmente questo viene fatto nell’editor degli schemi elettrici in modo che i campi aggiuntivi possano essere applicati a tutti i componenti nello schema (N.d.T. indipendentemente dalla libreria di provenienza).

Modifica campi componente

Per modificare un campo componente esistente, fare clic destro sul testo del campo per mostrare il menu contestuale mostrato sotto.

eeschema_libedit_field_context_menu_png

Per modificare campi non definiti, aggiungere nuovi campi o cancellare campi opzionali: icons/add_text_png sulla barra strumenti principale per aprire la finestra di dialogo delle proprietà del campo mostrata in basso.

eeschema_libedit_field_properties_png

I campi sono segmenti di testo associati al componente. Non bisogna confonderli con il testo che fa parte della rappresentazione grafica del componente.

Note importanti:

  • La modifica dei campi valore crea in pratica un nuovo componente usando il componente corrente come punto di partenza del nuovo componente. Questo nuovo componente ha il nome contenuto nel campo valore quando lo si salva nella libreria correntemente selezionata.

  • La finestra di dialogo di modifica mostrata sopra deve essere utilizzata per modificare un campo vuoto o con l’attributo di invisibilità abilitato.

  • L’impronta è definita come un’impronta assoluta usando il formato LIBNAME:FPNAME dove LIBNAME è il nome della libreria di impronte definita nella tabella librerie impronte (vedere la sezione "Tabella librerie impronte" nel manuale di riferimento di Pcbnew) e FPNAME è il nome dell’impronta nella libreria LIBNAME.

Simboli di alimentazione

I simboli di alimentazione vengono creati allo stesso modo dei normali componenti. Può essere utile piazzarli in una libreria dedicata come power.lib. I simboli di alimentazione consistono in un simbolo grafico e un piedino di tipo "Alimentazione invisibile". I simboli di alimentazione vengono gestiti come tutti gli altri componenti nello schema ma sono necessarie alcune precauzioni. Sotto è presente un esempio di simbolo di alimentazione di +5V.

eeschema_libedit_power_symbol_png

Per creare un simbolo di alimentazione, seguire questi passi:

  • Aggiungere un piedino di tipo "Ingresso alimentazione" con nome +5V (importante perché questo nome stabilirà la connessione a al collegamento +5V), con numero piedino 1 (numero senza importanza), di lunghezza 0 e con "Stile grafico" "Linea".

  • Piazzare un piccolo cerchio ed un segmento dal piedino al cerchio come mostrato.

  • L’àncora del simbolo è sul piedino.

  • Il valore del componente è +5V.

  • Il riferimento del componente è #+5V. Il testo del riferimento non è importante eccetto il primo carattere che deve essere un # per indicare che il componente è un simbolo di alimentazione. Per convenzione, ogni componente il cui campo di riferimento cominci con un # non apparirà nell’elenco componenti o nella netlist ed il riferimento viene dichiarato invisibile.

Un metodo più semplice per creare un nuovo simbolo di alimentazione è usarne un altro come modello:

  • Caricare un simbolo di alimentazione esistente.

  • Cambiare il nome del pin nel nome del nuovo simbolo di alimentazione.

  • Modificare il campo valore impostandolo allo stesso valore del nome del pin se si vuole mostrare il valore del simbolo di alimentazione.

  • Salvare il nuovo componente.

LibEdit - Elementi complementari

Panoramica

Un componente consiste dei seguenti elementi

  • Una rappresentazione grafica (forma geometrica, testi).

  • Piedini.

  • Campi o testo associato usato dai post processori: netlist, elenco componenti.

Due campi saranno inizializzati: riferimento e valore. Il nome progettuale associato al componente, e il nome dell’impronta associata, gli altri campi sono i campi liberi, che in genere possono rimanere vuoti, e possono essere riempiti durante la stesura dello schema elettrico.

Comunque, la gestione della documentazione associata a qualsiasi componente facilita la ricerca, l’uso e la manutenzione delle librerie. La documentazione associata consiste in

  • Una riga di commento.

  • Una riga di parole chiave come TTL CMOS NAND2, separate da spazi.

  • Un nome file allegato (per esempio una application note o un file pdf).

    La cartella predefinita per i file allegati:

    kicad/share/library/doc

    Se non trovato:

    kicad/library/doc

    Sotto Linux:

    /usr/local/kicad/share/library/doc

    /usr/share/kicad/library/doc

    /usr/local/share/kicad/library/doc

Le parole chiave permettono di cercare selettivamente un componente secondo vari criteri di selezione. Commenti e parole chiave vengono visualizzati in vari menu, in particolare quando si seleziona un componente dalla libreria.

Il componente possiede anche un punto di ancoraggio. Una rotazione o una trasposizione speculare vengono effettuate relativamente a questo punto di ancoraggio; durante il piazzamento del componente questo punto viene usato come riferimento. Di conseguenza sarà utile posizionare accuratamente questo ancoraggio.

Un componente può possedere degli alias, cioè nomi equivalenti. Ciò permette di ridurre notevolmente il numero di componenti da creare (per esempio, un 74LS00 può avere come alias dei 74000, 74HC00, 74HCT00, ecc.).

Infine, i componenti vengono distribuiti in librerie (classificate per genere o per fabbricante) in modo da facilitarne la gestione.

Posizionamento ancoraggio di un componente

L’àncora è alle coordinate (0,0) e viene mostrata dagli assi blu mostrati sullo schermo.

eeschema_libedit_anchor_png

L’àncora può essere riposizionata selezionando l’icona icons/anchor_png e facendo clic sulla nuova posizione desiderata. Il disegno verrà automaticamente centrato sul nuovo punto di ancoraggio.

Alias di componenti

Un alias è un nome aggiuntivo per uno stesso componente nella libreria. Componenti con piedinatura e rappresentazione simili possono essere rappresentati da un solo componente reale, con diversi alias (per esempio un 7400 con alias 74LS00, 74HC00, 74LS37, ecc. ).

L’uso degli alias permette di creare facilmente intere librerie. Inoltre queste librerie saranno molto più compatte e veloci da caricare in KiCad.

Per modificare l’elenco di alias, è necessario selezionare la finestra di modifica principale tramite l’icona icons/part_properties_png e selezionare la cartella degli alias.

eeschema_libedit_alias_png

Si può perciò aggiungere o rimuovere gli alias a volontà. L’alias corrente non può ovviamente essere rimosso dato che lo si sta modificando.

Per rimuovere tutti gli alias, è necessario prima selezionare il componente radice. Il primo componente nell’elenco degli alias nella finestra di selezione della barra strumenti principale.

Campi componente

L’editor dei campi viene chiamato tramite l’icona icons/add_text_png.

Ci sono quattro campi speciali (testi allegati al componente), e campi configurabili dall’utente

eeschema_library_component_field_png

Campi speciali

  • Riferimento.

  • Valore. È il nome del componente nella libreria e il campo valore predefinito nello schema elettrico.

  • Impronta. È il nome dell’impronta usato per la scheda. Non molto utile quando si usa CvPcb per impostare l’elenco delle impronte, ma obbligatorio se CvPcb non viene usato.

  • Foglio. È un campo riservato, non usato al momento della scrittura di questo documento.

Documentazione componente

Per modificare le informazioni di documentazione, è necessario chiamare la finestra principale di modifica del componente tramite l’icona icons/part_properties_png e selezionare la cartella del documento.

eeschema_libedit_description_png

Verificare di aver selezionato l’alias corretto, o il componente radice, dato che questa documentazione è l’unica caratteristica che varia tra alias differenti. Il pulsante "Copia documento dal genitore" permette di copiare le informazioni di documentazione dal componente radice verso l’alias attualmente sottoposto a modifica.

Parole chiave del componente

Le parole chiave permettono di cercare in modo selettivo un componente secondo criteri di selezione specifici (funzioni, famiglia tecnologica, ecc.)

Lo strumento di ricerca di Eeschema non distingue maiuscole e minuscole. Le parole chiave attualmente più usate nelle librerie sono

  • CMOS TTL per le famiglie logiche

  • AND2 NOR3 XOR2 INV…​ per le porte logiche (AND2 = porta AND a 2 ingressi, NOR3 = porta NOR a 3 ingressi).

  • JKFF DFF…​ per flip-flop JK o di tipo D.

  • ADC, DAC, MUX…​

  • OpenCol per le porte con uscita a collettore aperto. Perciò, se nel programma di disegno dello schema elettrico si cerca il componente: per parole chiave NAND2 OpenCol, Eeschema mostrerà l’elenco dei componenti aventi queste due parole chiave.

Documentazione del componente (Doc)

La riga di commento (e parole chiave) viene mostrata in vari menu, specialmente quando si seleziona un componente nell’elenco componenti mostrato di una libreria e nel menu di visualizzazione della libreria.

Se questo file di documentazione esiste, esso è accessibile anche dal programma di disegno dello schema elettrico, nel menu a scomparsa mostrato facendo clic destro con il mouse sul componente.

File di documentazione associato (DocFileName)

Indica un file allegato (documentazione, schema elettrico applicativo, ecc.) disponibile (file pdf, schema elettrico, ecc.).

Filtri di impronte per CvPcb

È possibile inserire un elenco di impronte consentite per il componente. Questo elenco agisce come un filtro e viene usato da CvPcb per mostrare solo le impronte permesse. Una lista vuota non filtra nulla.

eeschema_libedit_footprint_png

Si possono usare i caratteri jolly.

S014* consente a CvPcb di mostrare tutte le impronte con un nome che comincia con SO14.

Per una resistenza, R? mostra tutte le impronte con un nome di due lettere che comincia con la R.

Ecco alcuni esempi: con e senza filtri

Con filtri

eeschema_cvpcb_with_filtering_png

Senza filtri

eeschema_cvpcb_without_filtering_png

Libreria di simboli

Si può facilmente compilare un file libreria di simboli grafici contenente gli elementi più frequentemente utilizzati per la creazione di componenti (triangoli, la forma di porte AND, OR, EXOR, ecc.), poi salvarla e ri-utilizzarla.

Questi file sono memorizzati in maniera predefinita nella cartella della libreria ed hanno estensione “.sym”. I simboli non sono raccolti in librerie come i componenti dato che generalmente non sono così tanti.

Esportazione o creazione di un simbolo

Un componente può essere esportato come simbolo con il pulsante icons/import_png. Generalmente si crea solo una grafica, ed è anche una buona idea cancellare tutti i piedini, se ne esistono.

Importare un simbolo

L’importazione permette di aggiungere elementi grafici ad un componente che si sta modificando. I simboli si importano con il pulsante Icona di importazione grafica. Gli elementi grafici importati vengono aggiunti come fossero stati creati da zero negli elementi grafici esistenti.

Viewlib

Introduzione

Viewlib permette di scorrere velocemente il contenuto di librerie. L’eseguibile Viewlib viene chiamato dallo strumento icons/library_browse_png o dallo strumento “piazza componente” presente nella barra strumenti a destra.

eeschema_viewlib_choose_png

Viewlib - schermo principale

eeschema_viewlib_select_library_png

Per esaminare il contenuto della libreria è necessario selezionare la libreria desiderata dall’elenco sul lato sinistro. I componenti disponibili appariranno nel secondo elenco che a sua volta permetterà di selezionare un componente.

eeschema_viewlib_select_component_png

Barra in alto di Viewlib

La barra in alto di Viewlib è mostrata di seguito.

images/it/toolbar_viewlib.png

I comandi disponibili sono:

icons/library_png

Selezione della libreria desiderata che può anche essere selezionata nell’elenco mostrato.

icons/add_component_png

Selezione del componente che può anche essere selezionato nell’elenco mostrato.

icons/lib_previous_png

Mostra componente precedente.

icons/lib_next_png

Mostra componente successivo.

zoom in zoom out zoom redraw zoom fit in page

Gestione zoom.

morgan1 morgan2

Selezione della rappresentazione (normale o convertita) se esiste.

images/toolbar_viewlib_part.png

Selezione della parte, solo per componenti multiparte.

icons/datasheet_png

Se ne esistono, mostra i documenti associati. Esiste sono quando chiamata dal riquadro della finestra di dialogo di inserimento componente da Eeschema.

icons/export_png

Chiude Viewlib e inserisce il componente selezionato nello schema. Questa icona viene mostrata solo quando Viewlib è stato richiamato da Eeschema (clic su un simbolo nella selezione componente).

Creazione di netlist personalizzate e distinte materiali

File di netlist intermedio

File distinte materiali e di netlist possono essere convertiti da un file di netlist intermedio creato da Eeschema.

Questo file usa la sintassi XML e si chiama netlist intermedia. La netlist intermedia include una grande quantità di dati sulla scheda e perciò, può essere usata tramite elaborazione successiva per generare distinte materiali o altri rapporti.

A seconda del risultato (distinta materiali o netlist), differenti sottoinsiemi dell’intero file di netlist intermedia saranno usati nella post-elaborazione.

Campione di schema

Campione di schema

Campione di file di netlist intermedia

La corrispondente netlist intermedia (sintassi XML) del circuito precedente viene mostrata di seguito.

<?xml version="1.0" encoding="utf-8"?>
<export version="D">
  <design>
    <source>F:\kicad_aux\netlist_test\netlist_test.sch</source>
    <date>29/08/2010 20:35:21</date>
    <tool>eeschema (2010-08-28 BZR 2458)-unstable</tool>
  </design>
  <components>
    <comp ref="P1">
      <value>CONN_4</value>
      <libsource lib="conn" part="CONN_4"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2141</tstamp>
    </comp>
    <comp ref="U2">
      <value>74LS74</value>
      <libsource lib="74xx" part="74LS74"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20BA</tstamp>
    </comp>
    <comp ref="U1">
      <value>74LS04</value>
      <libsource lib="74xx" part="74LS04"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20A6</tstamp>
    </comp>
    <comp ref="C1">
      <value>CP</value>
      <libsource lib="device" part="CP"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2094</tstamp>
    </comp>
    <comp ref="R1">
      <value>R</value>
      <libsource lib="device" part="R"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E208A</tstamp>
    </comp>
  </components>
  <libparts>
    <libpart lib="device" part="C">
      <description>Condensateur non polarise</description>
      <footprints>
        <fp>SM*</fp>
        <fp>C?</fp>
        <fp>C1-1</fp>
      </footprints>
      <fields>
        <field name="Reference">C</field>
        <field name="Value">C</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="passive"/>
        <pin num="2" name="~" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="device" part="R">
      <description>Resistance</description>
      <footprints>
        <fp>R?</fp>
        <fp>SM0603</fp>
        <fp>SM0805</fp>
        <fp>R?-*</fp>
        <fp>SM1206</fp>
      </footprints>
      <fields>
        <field name="Reference">R</field>
        <field name="Value">R</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="passive"/>
        <pin num="2" name="~" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="conn" part="CONN_4">
      <description>Symbole general de connecteur</description>
      <fields>
        <field name="Reference">P</field>
        <field name="Value">CONN_4</field>
      </fields>
      <pins>
        <pin num="1" name="P1" type="passive"/>
        <pin num="2" name="P2" type="passive"/>
        <pin num="3" name="P3" type="passive"/>
        <pin num="4" name="P4" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="74xx" part="74LS04">
      <description>Hex Inverseur</description>
      <fields>
        <field name="Reference">U</field>
        <field name="Value">74LS04</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="input"/>
        <pin num="2" name="~" type="output"/>
        <pin num="3" name="~" type="input"/>
        <pin num="4" name="~" type="output"/>
        <pin num="5" name="~" type="input"/>
        <pin num="6" name="~" type="output"/>
        <pin num="7" name="GND" type="power_in"/>
        <pin num="8" name="~" type="output"/>
        <pin num="9" name="~" type="input"/>
        <pin num="10" name="~" type="output"/>
        <pin num="11" name="~" type="input"/>
        <pin num="12" name="~" type="output"/>
        <pin num="13" name="~" type="input"/>
        <pin num="14" name="VCC" type="power_in"/>
      </pins>
    </libpart>
    <libpart lib="74xx" part="74LS74">
      <description>Dual D FlipFlop, Set &amp; Reset</description>
      <docs>74xx/74hc_hct74.pdf</docs>
      <fields>
        <field name="Reference">U</field>
        <field name="Value">74LS74</field>
      </fields>
      <pins>
        <pin num="1" name="Cd" type="input"/>
        <pin num="2" name="D" type="input"/>
        <pin num="3" name="Cp" type="input"/>
        <pin num="4" name="Sd" type="input"/>
        <pin num="5" name="Q" type="output"/>
        <pin num="6" name="~Q" type="output"/>
        <pin num="7" name="GND" type="power_in"/>
        <pin num="8" name="~Q" type="output"/>
        <pin num="9" name="Q" type="output"/>
        <pin num="10" name="Sd" type="input"/>
        <pin num="11" name="Cp" type="input"/>
        <pin num="12" name="D" type="input"/>
        <pin num="13" name="Cd" type="input"/>
        <pin num="14" name="VCC" type="power_in"/>
      </pins>
    </libpart>
  </libparts>
  <libraries>
    <library logical="device">
      <uri>F:\kicad\share\library\device.lib</uri>
    </library>
    <library logical="conn">
      <uri>F:\kicad\share\library\conn.lib</uri>
    </library>
    <library logical="74xx">
      <uri>F:\kicad\share\library\74xx.lib</uri>
    </library>
  </libraries>
  <nets>
    <net code="1" name="GND">
      <node ref="U1" pin="7"/>
      <node ref="C1" pin="2"/>
      <node ref="U2" pin="7"/>
      <node ref="P1" pin="4"/>
    </net>
    <net code="2" name="VCC">
      <node ref="R1" pin="1"/>
      <node ref="U1" pin="14"/>
      <node ref="U2" pin="4"/>
      <node ref="U2" pin="1"/>
      <node ref="U2" pin="14"/>
      <node ref="P1" pin="1"/>
    </net>
    <net code="3" name="">
      <node ref="U2" pin="6"/>
    </net>
    <net code="4" name="">
      <node ref="U1" pin="2"/>
      <node ref="U2" pin="3"/>
    </net>
    <net code="5" name="/SIG_OUT">
      <node ref="P1" pin="2"/>
      <node ref="U2" pin="5"/>
      <node ref="U2" pin="2"/>
    </net>
    <net code="6" name="/CLOCK_IN">
      <node ref="R1" pin="2"/>
      <node ref="C1" pin="1"/>
      <node ref="U1" pin="1"/>
      <node ref="P1" pin="3"/>
    </net>
  </nets>
</export>

Conversione in un nuovo formato di netlist

Applicando un filtro di post-elaborazione al file di netlist intermedia è possibile generare file di netlist per altre applicazioni o file di distinta materiali. Dato che questa conversione è in effetti una trasformazione da un formato testo ad un altro, si può scrivere questo filtro di post-elaborazione usando Python, XSLT, o qualsiasi altro strumento in grado di ricevere in ingresso dati XML.

XSLT è di per sè un linguaggio XML adatto alle trasformazioni XML. Esiste un programma libero di nome xsltproc che è possibile scaricare e installare. Il prgramma xsltproc può essere usato per leggere in ingresso il file XML di netlist intermedio, applicare un foglio di stile per trasformare l’ingresso, e salvare il risultato in un file in uscita. L’uso di xsltproc richiede un file foglio di stile che usi le convenzioni XSLT. L’intero processo di conversione viene gestito da Eeschema, dopo essere stato configurato specificatamente per l’esecuzione di xsltproc.

Approccio XSLT

Il documento che descrive le trasformazioni XSL (XSLT) è qui disponibile:

Creare un file netlist Pads-Pcb

Il formato pads-pcb comprende due sezioni.

  • L’elenco impronte.

  • La netslist: raggruppando riferimenti a piazzole per collegamenti.

Di seguito c’è un foglio di stile che converte il file di netlist intermedio in formato netlist pads-pcb:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to PADS netlist format
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

    How to use:
        https://lists.launchpad.net/kicad-developers/msg05157.html
-->

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#xd;&#xa;"> <!--new line CR, LF -->
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

<xsl:template match="/export">
    <xsl:text>*PADS-PCB*&nl;*PART*&nl;</xsl:text>
    <xsl:apply-templates select="components/comp"/>
    <xsl:text>&nl;*NET*&nl;</xsl:text>
    <xsl:apply-templates select="nets/net"/>
    <xsl:text>*END*&nl;</xsl:text>
</xsl:template>

<!-- for each component -->
<xsl:template match="comp">
    <xsl:text> </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "footprint != '' ">
            <xsl:apply-templates select="footprint"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>unknown</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!-- for each net -->
<xsl:template match="net">
    <!-- nets are output only if there is more than one pin in net -->
    <xsl:if test="count(node)>1">
        <xsl:text>*SIGNAL* </xsl:text>
        <xsl:choose>
            <xsl:when test = "@name != '' ">
                <xsl:value-of select="@name"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:text>N-</xsl:text>
                <xsl:value-of select="@code"/>
            </xsl:otherwise>
        </xsl:choose>
        <xsl:text>&nl;</xsl:text>
        <xsl:apply-templates select="node"/>
    </xsl:if>
</xsl:template>

<!-- for each node -->
<xsl:template match="node">
    <xsl:text> </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text>.</xsl:text>
    <xsl:value-of select="@pin"/>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

</xsl:stylesheet>

Ed ecco il file pads-pcb in uscita dopo l’esecuzione di xsltproc:

*PADS-PCB*
*PART*
P1 unknown
U2 unknown
U1 unknown
C1 unknown
R1 unknown
*NET*
*SIGNAL* GND
U1.7
C1.2
U2.7
P1.4
*SIGNAL* VCC
R1.1
U1.14
U2.4
U2.1
U2.14
P1.1
*SIGNAL* N-4
U1.2
U2.3
*SIGNAL* /SIG_OUT
P1.2
U2.5
U2.2
*SIGNAL* /CLOCK_IN
R1.2
C1.1
U1.1
P1.3

*END*

La riga di comando per effettuare questa conversione è:

kicad\\bin\\xsltproc.exe -o test.net kicad\\bin\\plugins\\netlist_form_pads-pcb.xsl test.tmp

Creazione di un file netlist Cadstar

Il formato Cadstar è formato da due sezioni.

  • L’elenco impronte.

  • La netslist: raggruppando riferimenti a piazzole per collegamenti.

Ecco il file del foglio di stile per effettuare questa specifica conversione:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to CADSTAR netlist format
    Copyright (C) 2010, Jean-Pierre Charras.
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#xd;&#xa;"> <!--new line CR, LF -->
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

<!-- Netlist header -->
<xsl:template match="/export">
    <xsl:text>.HEA&nl;</xsl:text>
    <xsl:apply-templates select="design/date"/>  <!-- Generate line .TIM <time> -->
    <xsl:apply-templates select="design/tool"/>  <!-- Generate line .APP <eeschema version> -->
    <xsl:apply-templates select="components/comp"/>  <!-- Generate list of components -->
    <xsl:text>&nl;&nl;</xsl:text>
    <xsl:apply-templates select="nets/net"/>          <!-- Generate list of nets and connections -->
    <xsl:text>&nl;.END&nl;</xsl:text>
</xsl:template>

 <!-- Generate line .TIM 20/08/2010 10:45:33 -->
<xsl:template match="tool">
    <xsl:text>.APP "</xsl:text>
    <xsl:apply-templates/>
    <xsl:text>"&nl;</xsl:text>
</xsl:template>

 <!-- Generate line .APP "eeschema (2010-08-17 BZR 2450)-unstable" -->
<xsl:template match="date">
    <xsl:text>.TIM </xsl:text>
    <xsl:apply-templates/>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!-- for each component -->
<xsl:template match="comp">
    <xsl:text>.ADD_COM </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "value != '' ">
            <xsl:text>"</xsl:text> <xsl:apply-templates select="value"/> <xsl:text>"</xsl:text>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>""</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!-- for each net -->
<xsl:template match="net">
    <!-- nets are output only if there is more than one pin in net -->
    <xsl:if test="count(node)>1">
    <xsl:variable name="netname">
        <xsl:text>"</xsl:text>
        <xsl:choose>
            <xsl:when test = "@name != '' ">
                <xsl:value-of select="@name"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:text>N-</xsl:text>
                <xsl:value-of select="@code"/>
        </xsl:otherwise>
        </xsl:choose>
        <xsl:text>"&nl;</xsl:text>
        </xsl:variable>
        <xsl:apply-templates select="node" mode="first"/>
        <xsl:value-of select="$netname"/>
        <xsl:apply-templates select="node" mode="others"/>
    </xsl:if>
</xsl:template>

<!-- for each node -->
<xsl:template match="node" mode="first">
    <xsl:if test="position()=1">
       <xsl:text>.ADD_TER </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text>.</xsl:text>
    <xsl:value-of select="@pin"/>
    <xsl:text> </xsl:text>
    </xsl:if>
</xsl:template>

<xsl:template match="node" mode="others">
    <xsl:choose>
        <xsl:when test='position()=1'>
        </xsl:when>
        <xsl:when test='position()=2'>
           <xsl:text>.TER     </xsl:text>
        </xsl:when>
        <xsl:otherwise>
           <xsl:text>         </xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:if test="position()>1">
        <xsl:value-of select="@ref"/>
        <xsl:text>.</xsl:text>
        <xsl:value-of select="@pin"/>
        <xsl:text>&nl;</xsl:text>
    </xsl:if>
</xsl:template>

</xsl:stylesheet>

Ecco il file Cadstar in uscita.

.HEA
.TIM 21/08/2010 08:12:08
.APP "eeschema (2010-08-09 BZR 2439)-unstable"
.ADD_COM P1 "CONN_4"
.ADD_COM U2 "74LS74"
.ADD_COM U1 "74LS04"
.ADD_COM C1 "CP"
.ADD_COM R1 "R"


.ADD_TER U1.7 "GND"
.TER     C1.2
         U2.7
         P1.4
.ADD_TER R1.1 "VCC"
.TER     U1.14
         U2.4
         U2.1
         U2.14
         P1.1
.ADD_TER U1.2 "N-4"
.TER     U2.3
.ADD_TER P1.2 "/SIG_OUT"
.TER     U2.5
         U2.2
.ADD_TER R1.2 "/CLOCK_IN"
.TER     C1.1
         U1.1
         P1.3

.END

Creazione di un file netlist OrcadPCB2

Questo formato ha solo una sezione che consiste nell’elenco impronte. Ogni impronta include il suo elenco di piazzole con un riferimento alla corrispondente connessione.

Ecco il foglio di stile per questa specifica conversione:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to CADSTAR netlist format
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

    How to use:
        https://lists.launchpad.net/kicad-developers/msg05157.html
-->

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#xd;&#xa;"> <!--new line CR, LF -->
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

<!--
    Netlist header
    Creates the entire netlist
    (can be seen as equivalent to main function in C
-->
<xsl:template match="/export">
    <xsl:text>( { Eeschema Netlist Version 1.1  </xsl:text>
    <!-- Generate line .TIM <time> -->
<xsl:apply-templates select="design/date"/>
<!-- Generate line eeschema version ... -->
<xsl:apply-templates select="design/tool"/>
<xsl:text>}&nl;</xsl:text>

<!-- Generate the list of components -->
<xsl:apply-templates select="components/comp"/>  <!-- Generate list of components -->

<!-- end of file -->
<xsl:text>)&nl;*&nl;</xsl:text>
</xsl:template>

<!--
    Generate id in header like "eeschema (2010-08-17 BZR 2450)-unstable"
-->
<xsl:template match="tool">
    <xsl:apply-templates/>
</xsl:template>

<!--
    Generate date in header like "20/08/2010 10:45:33"
-->
<xsl:template match="date">
    <xsl:apply-templates/>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!--
    This template read each component
    (path = /export/components/comp)
    creates lines:
     ( 3EBF7DBD $noname U1 74LS125
      ... pin list ...
      )
    and calls "create_pin_list" template to build the pin list
-->
<xsl:template match="comp">
    <xsl:text> ( </xsl:text>
    <xsl:choose>
        <xsl:when test = "tstamp != '' ">
            <xsl:apply-templates select="tstamp"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>00000000</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "footprint != '' ">
            <xsl:apply-templates select="footprint"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>$noname</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text> </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "value != '' ">
            <xsl:apply-templates select="value"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>"~"</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text>&nl;</xsl:text>
    <xsl:call-template name="Search_pin_list" >
        <xsl:with-param name="cmplib_id" select="libsource/@part"/>
        <xsl:with-param name="cmp_ref" select="@ref"/>
    </xsl:call-template>
    <xsl:text> )&nl;</xsl:text>
</xsl:template>

<!--
    This template search for a given lib component description in list
    lib component descriptions are in /export/libparts,
    and each description start at ./libpart
    We search here for the list of pins of the given component
    This template has 2 parameters:
        "cmplib_id" (reference in libparts)
        "cmp_ref"   (schematic reference of the given component)
-->
<xsl:template name="Search_pin_list" >
    <xsl:param name="cmplib_id" select="0" />
    <xsl:param name="cmp_ref" select="0" />
        <xsl:for-each select="/export/libparts/libpart">
            <xsl:if test = "@part = $cmplib_id ">
                <xsl:apply-templates name="build_pin_list" select="pins/pin">
                    <xsl:with-param name="cmp_ref" select="$cmp_ref"/>
                </xsl:apply-templates>
            </xsl:if>
        </xsl:for-each>
</xsl:template>


<!--
    This template writes the pin list of a component
    from the pin list of the library description
    The pin list from library description is something like
          <pins>
            <pin num="1" type="passive"/>
            <pin num="2" type="passive"/>
          </pins>
    Output pin list is ( <pin num> <net name> )
    something like
            ( 1 VCC )
            ( 2 GND )
-->
<xsl:template name="build_pin_list" match="pin">
    <xsl:param name="cmp_ref" select="0" />

    <!-- write pin numner and separator -->
    <xsl:text>  ( </xsl:text>
    <xsl:value-of select="@num"/>
    <xsl:text> </xsl:text>

    <!-- search net name in nets section and write it: -->
    <xsl:variable name="pinNum" select="@num" />
    <xsl:for-each select="/export/nets/net">
        <!-- net name is output only if there is more than one pin in net
             else use "?" as net name, so count items in this net
        -->
        <xsl:variable name="pinCnt" select="count(node)" />
        <xsl:apply-templates name="Search_pin_netname" select="node">
            <xsl:with-param name="cmp_ref" select="$cmp_ref"/>
            <xsl:with-param name="pin_cnt_in_net" select="$pinCnt"/>
            <xsl:with-param name="pin_num"> <xsl:value-of select="$pinNum"/>
            </xsl:with-param>
        </xsl:apply-templates>
    </xsl:for-each>

    <!-- close line -->
    <xsl:text> )&nl;</xsl:text>
</xsl:template>

<!--
    This template writes the pin netname of a given pin of a given component
    from the nets list
    The nets list description is something like
      <nets>
        <net code="1" name="GND">
          <node ref="J1" pin="20"/>
              <node ref="C2" pin="2"/>
        </net>
        <net code="2" name="">
          <node ref="U2" pin="11"/>
        </net>
    </nets>
    This template has 2 parameters:
        "cmp_ref"   (schematic reference of the given component)
        "pin_num"   (pin number)
-->

<xsl:template name="Search_pin_netname" match="node">
    <xsl:param name="cmp_ref" select="0" />
    <xsl:param name="pin_num" select="0" />
    <xsl:param name="pin_cnt_in_net" select="0" />

    <xsl:if test = "@ref = $cmp_ref ">
        <xsl:if test = "@pin = $pin_num">
        <!-- net name is output only if there is more than one pin in net
             else use "?" as net name
        -->
            <xsl:if test = "$pin_cnt_in_net>1">
                <xsl:choose>
                    <!-- if a net has a name, use it,
                        else build a name from its net code
                    -->
                    <xsl:when test = "../@name != '' ">
                        <xsl:value-of select="../@name"/>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:text>$N-0</xsl:text><xsl:value-of select="../@code"/>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:if>
            <xsl:if test = "$pin_cnt_in_net &lt;2">
                <xsl:text>?</xsl:text>
            </xsl:if>
        </xsl:if>
    </xsl:if>

</xsl:template>

</xsl:stylesheet>

Ecco il file OrcadPCB2 risultante.

( { Eeschema Netlist Version 1.1  29/08/2010 21:07:51
eeschema (2010-08-28 BZR 2458)-unstable}
 ( 4C6E2141 $noname P1 CONN_4
  (  1 VCC )
  (  2 /SIG_OUT )
  (  3 /CLOCK_IN )
  (  4 GND )
 )
 ( 4C6E20BA $noname U2 74LS74
  (  1 VCC )
  (  2 /SIG_OUT )
  (  3 N-04 )
  (  4 VCC )
  (  5 /SIG_OUT )
  (  6 ? )
  (  7 GND )
  (  14 VCC )
 )
 ( 4C6E20A6 $noname U1 74LS04
  (  1 /CLOCK_IN )
  (  2 N-04 )
  (  7 GND )
  (  14 VCC )
 )
 ( 4C6E2094 $noname C1 CP
  (  1 /CLOCK_IN )
  (  2 GND )
 )
 ( 4C6E208A $noname R1 R
  (  1 VCC )
  (  2 /CLOCK_IN )
 )
)
*

Interfaccia plugin di Eeschema

I convertitori di netlist intermedia possono essere automaticamente eseguiti dall’interno di Eeschema.

Inizializzazione della finestra di dialogo

È possibile aggiungere una nuova scheda interfaccia utente di plugin di netlist facendo clic sul pulsante Aggiungi plugin.

eeschema_plugin_add_plugin_png

Ecco come appaiono i dati di configurazione per la scheda PadsPcb:

eeschema_plugin_padspcb_png
Parametri di configurazione plugin

La finestra di dialogo di configurazione plugin richiede le seguenti informazioni:

  • Il titolo: per esempio, il nome del formato della netlist.

  • La riga di comando che serve per eseguire il convertitore.

Fatto clic sul pulsante della netlist ecco cosa succede:

  1. Eeschema crea un file di netlist intermedio *.xml, per esempio test.xml.

  2. Eeschema esegue il plugin leggendo test.xml e crea test.net.

Generazione di file di netlist tramite linea di comando

Assumendo che si stia usando il programma xsltproc.exe per applicare il foglio di stile al file intermedio, xsltproc.exe verrà eseguito tramite il seguente comando:

xsltproc.exe -o <nomefile in uscita> <nomefile foglio di stile> <file XML in ingresso da convertire>

In KiCad sotto Windows la riga di comando è la seguente:

f:/kicad/bin/xsltproc.exe -o "%O" f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

Sotto Linux il comando diventa il seguente:

xsltproc -o "%O" /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

Dove netlist_form_pads-pcb.xsl è il foglio di stile che si sta applicando. Non si deve dimenticare le virgolette intorno ai nomi dei file, ciò permette di avere spazi dopo la sostituzione da parte di Eeschema.

Il formato della riga di comando accetta parametri nei nomi di file:

I parametri di formattazione supportati sono:

  • %B ⇒ nome file base e percorso del file di uscita selezionato, senza percorso ed estensione.

  • %I ⇒ il nome del file completo di percorso del file di ingresso temporaneo (il netfile intermedio).

  • %O ⇒ nome e percorso completi del file d’uscita scelto dall’utente.

%I verrà rimpiazzato dall’effettivo nome file intermedio

%O verrà rimpiazzato dall’effettivo nome del file d’uscita.

Formato della riga di comando: esempio per xsltproc

Il formato della riga di comando per xsltproc è il seguente:

<percorso di xsltproc> xsltproc <parametri di xsltproc>

sotto Windows:

f:/kicad/bin/xsltproc.exe -o "%O" f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

sotto Linux:

xsltproc -o "%O" /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

In tutti gli esempi sopra descritti si presume che xsltproc sia installato sul proprio computer sotto Windows e che tutti i file siano posti in kicad/bin.

Generazione distinta materiali

Dato che il file di netlist intermedio contiene tutte le informazioni sui componenti utilizzati, da esso è possibile estrarre una distinta materiali. Ecco la finestra di impostazioni del plugin (su Linux) per creare un file di distinta materiali personalizzato:

bom-netlist-tab_png

Il percorso del foglio di stile bom2csv.xsl dipende dal sistema operativo in uso. Attualmente il migliore foglio di stile XSLT per la generazione della distinta materiali si chiama bom2csv.xsl. Questo è modificabile liberamente per venire incontro alle proprie esigenze, ma se si sviluppa qualcosa di universalmente utile, chiedete e la comunità degli sviluppatori sarà ben lieta di includere i vostri miglioramenti nel progetto KiCad.

Formato della riga di comando: esempio di script python

Il formato della riga di comando per python è qualcosa del genere:

python <nome file script> <file in ingresso> <file in uscita>

sotto Windows:

python *.exe f:/kicad/python/mio_script_python.py "%I" "%O"

sotto Linux:

python /usr/local/kicad/python/mio_script_python.py "%I" "%O"

Assumendo che python sia installato nel proprio PC.

Struttura etlist intermedia

Questo campione dà un’idea del formato del file netlist.

<?xml version="1.0" encoding="utf-8"?>
<export version="D">
  <design>
    <source>F:\kicad_aux\netlist_test\netlist_test.sch</source>
    <date>29/08/2010 21:07:51</date>
    <tool>eeschema (2010-08-28 BZR 2458)-unstable</tool>
  </design>
  <components>
    <comp ref="P1">
      <value>CONN_4</value>
      <libsource lib="conn" part="CONN_4"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2141</tstamp>
    </comp>
    <comp ref="U2">
      <value>74LS74</value>
      <libsource lib="74xx" part="74LS74"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20BA</tstamp>
    </comp>
    <comp ref="U1">
      <value>74LS04</value>
      <libsource lib="74xx" part="74LS04"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20A6</tstamp>
    </comp>
    <comp ref="C1">
      <value>CP</value>
      <libsource lib="device" part="CP"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2094</tstamp>
    <comp ref="R1">
      <value>R</value>
      <libsource lib="device" part="R"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E208A</tstamp>
    </comp>
  </components>
  <libparts/>
  <libraries/>
  <nets>
    <net code="1" name="GND">
      <node ref="U1" pin="7"/>
      <node ref="C1" pin="2"/>
      <node ref="U2" pin="7"/>
      <node ref="P1" pin="4"/>
    </net>
    <net code="2" name="VCC">
      <node ref="R1" pin="1"/>
      <node ref="U1" pin="14"/>
      <node ref="U2" pin="4"/>
      <node ref="U2" pin="1"/>
      <node ref="U2" pin="14"/>
      <node ref="P1" pin="1"/>
    </net>
    <net code="3" name="">
      <node ref="U2" pin="6"/>
    </net>
    <net code="4" name="">
      <node ref="U1" pin="2"/>
      <node ref="U2" pin="3"/>
    </net>
    <net code="5" name="/SIG_OUT">
      <node ref="P1" pin="2"/>
      <node ref="U2" pin="5"/>
      <node ref="U2" pin="2"/>
    </net>
    <net code="6" name="/CLOCK_IN">
      <node ref="R1" pin="2"/>
      <node ref="C1" pin="1"/>
      <node ref="U1" pin="1"/>
      <node ref="P1" pin="3"/>
    </net>
  </nets>
</export>

Struttura generale del file netlist

La netlist intermedia consta di cinque sezioni.

  • La sezione intestazione.

  • La sezione componenti.

  • La sezione librerie di parti.

  • La sezione librerie.

  • La sezione collegamenti.

Il contenuto del file ha il delimitatore <export>

<export version="D">
...
</export>

Sezione intestazione

L’intestazione ha il delimitatore <design>

<design>
<source>F:\kicad_aux\netlist_test\netlist_test.sch</source>
<date>21/08/2010 08:12:08</date>
<tool>eeschema (2010-08-09 BZR 2439)-unstable</tool>
</design>

Questa sezione può essere considerata una sezione di commento.

La sezione componenti

La sezione componenti ha il delimitatore <componenti>

<components>
<comp ref="P1">
<value>CONN_4</value>
<libsource lib="conn" part="CONN_4"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>4C6E2141</tstamp>
</comp>
</components>

Questa sezione contiene l’elenco dei componente nello schema. Ogni componente viene descritto in questo modo:

<comp ref="P1">
<value>CONN_4</value>
<libsource lib="conn" part="CONN_4"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>4C6E2141</tstamp>
</comp>
libsource nome della libreria dove questo componente è stato trovato.

part

nome componente dentro questa libreria.

sheetpath

percorso del foglio dentro la gerarchia: identifica il foglio dentro tutta la gerarchia dello schema.

tstamps (marc. temporali)

marcature temporali del file dello schema elettrico.

tstamp (marc. temporali)

marcature temporali del componente.

Nota sulle marcature temporali per i componenti

Per identificare un componente in una netlist e quindi in una scheda, il marcatempo viene usato come riferimento univoco per ogni componente. Comunque KiCad fornisce in modo alternativo per identificare il corrispondente componente di una impronta sulla scheda. Ciò permette la ri-annotazione di componenti in un progetto di schema elettrico non perdendo il collegamento tra il componente e la sua impronta.

Un marcatore temporale è un identificatore univoco per ogni componente o foglio in un progetto di schema elettrico. Ma in caso di gerarchie complesse, lo stesso foglio viene usato più di una volta, perciò il foglio contiene componenti aventi la stessa marcatura temporale.

Un dato foglio dentro una gerarchia complessa possiede un identificatore univoco: il suo percorso foglio. Un dato componente (dentro una gerarchia complessa) possiede un identificativo univoco: il percorso foglio + la sua marcatura temporale.

La sezione libparts

La sezione libparts ha un delimitatore <libparts>, e il contenuto di questa sezione viene definito nelle librerie di schemi. La sezione libparts contiene:

  • Il delimitatore di nomi impronte permessi (i nomi usano i caratteri jolly) <fp>.

  • I campi definiti nel delimitatore di libreria <fields>.

  • L’elenco dei delimitatori di pin <pins>.

<libparts>
<libpart lib="device" part="CP">
  <description>Condensateur polarise</description>
  <footprints>
    <fp>CP*</fp>
    <fp>SM*</fp>
  </footprints>
  <fields>
    <field name="Reference">C</field>
    <field name="Valeur">CP</field>
  </fields>
  <pins>
    <pin num="1" name="1" type="passive"/>
    <pin num="2" name="2" type="passive"/>
  </pins>
</libpart>
</libparts>

Le linee come <pin num="1" type="passive"/> descrivono anche il tipo elettrico del pin. I tipi di pin elettrici possibili sono:

Input

Normale pin di ingresso

Output

Normale pin di uscita

Bidirectional

Ingresso o uscita

Tri-state

Bus ingresso/uscita

Passive

Normale capo di componente passivo

Unspecified

Tipo elettrico sconosciuto

Power input

Ingresso di potenza, per es. alimentazione

Power output

Uscita di potenza, per es. in un alimentatore

Open collector

Collettore aperto, comune dei comparatori analogici

Open emitter

Emettitore aperto, presente in alcuni circuiti logici

Not connected

Deve essere lasciato aperto nello schema elettrico

La sezione librerie

La sezione librerie possiede il delimitatore <libraries>. Questa sezione contiene l’elenco delle librerie di schemi elettrici usate nel progetto.

<libraries>
  <library logical="device">
    <uri>F:\kicad\share\library\device.lib</uri>
  </library>
  <library logical="conn">
    <uri>F:\kicad\share\library\conn.lib</uri>
  </library>
</libraries>

La sezione collegamenti

La sezione collegamenti possiede il delimitatore <nets>. Questa sezione contiene le "connessioni" dello schema elettrico.

<nets>
  <net code="1" name="GND">
    <node ref="U1" pin="7"/>
    <node ref="C1" pin="2"/>
    <node ref="U2" pin="7"/>
    <node ref="P1" pin="4"/>
  </net>
  <net code="2" name="VCC">
    <node ref="R1" pin="1"/>
    <node ref="U1" pin="14"/>
    <node ref="U2" pin="4"/>
    <node ref="U2" pin="1"/>
    <node ref="U2" pin="14"/>
    <node ref="P1" pin="1"/>
  </net>
</nets>

Questa sezione elenca tutti i collegamenti presenti nello schema elettrico.

Un tipico collegamento contiene i seguenti elementi.

<net code="1" name="GND">
  <node ref="U1" pin="7"/>
  <node ref="C1" pin="2"/>
  <node ref="U2" pin="7"/>
  <node ref="P1" pin="4"/>
</net>

net code

è un identificatore interno per questo collegamento

name

è un nome per questo collegamento

node

dà un piedino di riferimento connesso per questo collegamento

Ancora su xsltproc

Fare riferimento alla pagina: http://xmlsoft.org/XSLT/xsltproc.html

Introduzione

xsltproc è uno strumento a riga di comando per l’applicazione di fogli di stile XSLT a documenti XML. Nonostante sia è stato sviluppato come parte del progetto GNOME, esso può operare independentemente dal desktop di GNOME.

xsltproc viene invocato dalla riga di comando con il nome del foglio di stile da usare seguito dal nome del file o dei file ai quali il foglio di stile deve essere applicato. Userà lo standard input se viene fornito il nome file - .

Se un foglio di stile viene incluso in un documento XML con istruzioni di elaborazione del foglio di stile, non è necessario nominare alcun foglio di stile nella riga di comando. xsltproc rileverà automaticamente il foglio di stile incluso e lo userà. Come impostazione predefinita, i risultati finscono nello stdout. È possibile specificare un file per il risultato usando l’opzione -o .

Sinossi

xsltproc [[-V] | [-v] | [-o *file* ] | [--timing] | [--repeat] |
[--debug] | [--novalid] | [--noout] | [--maxdepth *val* ] | [--html] |
[--param *nome* *valore* ] | [--stringparam *nome* *valore* ] | [--nonet] |
[--path *percorsi* ] | [--load-trace] | [--catalogs] | [--xinclude] |
[--profile] | [--dumpextensions] | [--nowrite] | [--nomkdir] |
[--writesubtree] | [--nodtdattr]] [ *stylesheet* ] [ *file1* ] [ *file2* ]
[ *....* ]

Opzioni della riga di comando

-V o --version

Mostra la versione di libxml e libxslt usati.

-v o --verbose

Stampa tutti i passaggi intrapresi da xsltproc nell’elaborazione del foglio di stile e del documento.

-o o --output file

Uscita diretta al file di nome file. Per uscite multiple, tecnica conosciuta anche col nome ``chunking'', -o cartella/ dirige i file di uscita in una specifica cartella. La cartella deve esistere già.

--timing

Mostra il tempo usato per l’analisi del foglio di stile, l’analisi del documento, l’applicazione del foglio di stile e il salvataggio dei risultati. Mostrati in millisecondi.

--repeat

Esegue la trasformazione 20 volte. Usata per i test di tempistica.

--debug

Emette un albero XML del documento trasformato a scopo di debug.

--novalid

Salta il caricamento del DTD del documento.

--noout

Non emettere alcun risultato.

--maxdepth valore

Regola la profondità massima della pila di modelli prima che libxslt concluda che si tratta di un ciclo infinito. Il valore predefinito è 500.

--html

Il file in ingresso è un file HTML.

--param nome valore

Passa un parametro di nome nome e di valore valore al foglio di stile. Si può passare più coppie nome/valore fino ad un massimo di 32. Se il valore passato è una stringa invece che un identificatore di nodo, usare invece --stringparam .

--stringparam nome valore

Passa un parametro di nome nome e valore valore dove valore è una stringa invece che un identificatore di nodo (nota: la stringa deve essere con codifica utf-8).

--nonet

Non usare Internet per recuperare DTD, entità o documenti.

--path percorsi

Usa l’elenco (separato da spazi o dal simbolo dei due punti) dei percorsi di filesystem specificati da percorsi per caricare DTD, entità o documenti. Racchiudere gli elenchi separati da spazi con le virgolette.

--load-trace

Mostra su stderr tutti i documenti caricati durante l’elaborazione.

--catalogs

Usa il catalogo SGML specificato in SGML_CATALOG_FILES per trovare la posizione di entità esterne. Come impostazione predefinita, xsltproc consulta il catalogo specificato in XML_CATALOG_FILES. Se questo non è specificato, usa /etc/xml/catalog.

--xinclude

Processa il documento in ingresso usando la specifica Xinclude. Maggiori dettagli su questo argomento si possono trovare nella specifica Xinclude: http://www.w3.org/TR/xinclude/

--profile --norman

Fornisce in uscita informazioni di profilazione che dettagliano la quantità di tempo speso in ogni parte del foglio di stile. Utile per l’ottimizzazione del foglio di stile.

--dumpextensions

Scarica l’elenco di tutte le estensioni registrate su stdout.

--nowrite

Non scrive su nessun file o risorsa.

--nomkdir

Non crea nessuna cartella.

--writesubtree percorso

Permette la scrittura file solo all’interno del sotto albero percorso .

--nodtdattr

Nno applica gli attributi predefiniti dal DTD del documento.

Valori di ritorno di xsltproc

xsltproc restituisce un numero di stato che può tornare utile se lo si chiama dall’interno di uno script.

0: normale

1: nessun argomento

2: troppi parametri

3: opzione sconosciuta

4: fallita l’analisi del foglio di stile

5: errore nel foglio di stile

6: errore in uno dei documenti

7: metodo xsl:output non supportato

8: parametro stringa contenente sia apici che virgolette

9: errore interno

10: l’elaborazione è stata interrotta da un messaggio di terminazione

11: impossibile scrivere il risultato sul file di uscita

Ulteriori informazioni su xsltproc

pagina web di libxml: http://www.xmlsoft.org/

Pagina W3C XSLT: http://www.w3.org/TR/xslt

Table of Contents