Manual de referencia

This document is Copyright © 2010-2018 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later.

Todas las marcas mencionadas en esta guía pertenecen a sus legítimos propietarios.

Contribuidores

Jean-Pierre Charras, Fabrizio Tappero.

Traducción

Antonio Morales <antonio1010.mr@gmail.com>, 2015

Realimentación

Por favor dirija cualquier reporte de fallo, sugerencia o nuevas versiones a:

Fecha de publicación y versión del software

Published on May 30, 2015.

1. Introducción a Eeschema

1.1. Descripción

Eeschema is a schematic capture software distributed as a part of KiCad and available under the following operating systems:

  • Linux

  • Apple macOS

  • Windows

Indistintamente del SO, todos los ficheros de Eeschema son 100% compatibles de un SO a otro.

Eeschema es una aplicación integrada donde todas las funciones para el dibujado, control, planos, gestión de bibliotecas y acceso al software de diseño del PCB son llevadas a cabo dentro del propio Eeschema.

Eeschema is intended to cooperate with PcbNew, which is KiCad’s printed circuit design software. It can also export netlist files, which lists all the electrical connections, for other packages.

Eeschema includes a symbol library editor, which can create and edit symbols and manage libraries. It also integrates the following additional but essential functions needed for modern schematic capture software:

  • Comprobador de reglas eléctricas (ERC) para el control automático de conexiones incorrectas y/o perdidas.

  • Exportación de ficheros de plano en múltiples formatos (Postscript, PDF, HPGL y SVG)

  • Bill of Materials generation (via Python or XSLT scripts, which allow many flexible formats).

1.2. Resumen técnico

Eeschema is limited only by the available memory. There is thus no real limitation to the number of components, component pins, connections or sheets. In the case of multi-sheet diagrams, the representation is hierarchical.

Eeschema can use multi-sheet diagrams in a few ways:

  • Jerarquías simples (cada esquemas es usado solo una vez)

  • Jerarquías complejas (algunos esquemas son usados mas de una vez con múltiples instancias)

  • Jerarquías planas (los esquemas no están explícitamente conectados en el esquema principal)

2. Comandos Generales de Eeschema

Commands can be executed by:

  • Haciendo clic en la barra de menú (parte superior de la pantalla)

  • Haciendo clic sobre los iconos de la parte superior de la pantalla (comandos generales)

  • Haciendo clic sobre los iconos de la parte derecha de la pantalla (comandos particulares o "herramientas")

  • Haciendo clic sobre los iconos de la pare izquierda de la pantalla (opciones de visualización)

  • Presionando los botones del ratón (importantes comandos complementarios). En particular un clic derecho del ratón abre el menú contextual del elemento bajo el cursor (Zoom, rejilla y edición de elementos)

  • Function keys (F1, F2, F3, F4, Insert and Space keys). Specifically: Escape key cancels the command in progress. Insert key allows the duplication of the last element created.

  • Pressing hot keys which typically perform a select tool command and begin tool action at the current cursor location. For a list of hot keys, see the "Help→List Hotkeys" menu entry or press ? key.

Commands overview

2.1. Comandos del Raton

2.1.1. Comandos Básicos

Botón Izquierdo

  • Clic simple: muestra las características del componente o del texto bajo el cursor en la barra de estado.

  • Doble clic: edita (si el elemento es editable) el componente o texto.

Botón derecho

  • Abre un menú emergente.

2.1.2. Block operations

Puede mover, arrastrar, copiar y borrar áreas seleccionadas en todos los menús de Eeschema.

Areas are selected by drawing a box around items using the left mouse button.

Holding "Shift", "Ctrl", or "Shift + Ctrl" during selection respectively performs copying, dragging and deletion:

botón izquierdo del ratón

Mueve la selección.

Shift + botón izquierdo del ratón

Copia la selección.

Ctrl + botón izquierdo del ratón

Arrastra la selección.

Ctrl + Shift + botón izquierdo del ratón

Borra la selección.

Cuando copie o arrastre, puede:

  • Hacer clic de nuevo para colocar los elementos.

  • Click the right button or press Escape key to cancel.

If a block move command has started, another command can be selected using the right-click pop-up menu.

menú contextual de la ventana principal

2.2. Teclas rápidas

  • La tecla ? muestra la lista de teclas rápidas actual

  • Hotkeys might be redefined in Controls tab of Schematic Editor Options dialog (menu Preferences → General Options).

Here is the default hotkey list:

Help (this window)

?

Zoom In

F1

Zoom Out

F2

Zoom Redraw

F3

Zoom Center

F4

Fit on Screen

Home

Zoom to Selection

@

Reset Local Coordinates

Space

Edit Item

E

Delete Item

Del

Rotate Item

R

Drag Item

G

Undo

Ctrl+Z

Redo

Ctrl+Y

Mouse Left Click

Return

Mouse Left Double Click

End

Save Schematic

Ctrl+S

Load Schematic

Ctrl+L

Find Item

Ctrl+F

Find Next Item

F5

Find Next DRC Marker

Shift+F5

Find and Replace

Ctrl+Alt+F

Repeat Last Item

Ins

Move Block → Drag Block

Tab

Copy Block

Ctrl+C

Paste Block

Ctrl+V

Cut Block

Ctrl+X

Move Schematic Item

M

Duplicate Symbol or Label

C

Add Symbol

A

Add Power

P

Mirror X

X

Mirror Y

Y

Orient Normal Component

N

Edit Symbol Value

V

Edit Symbol Reference

U

Edit Symbol Footprint

F

Edit with Symbol Editor

Ctrl+E

Begin Wire

W

Begin Bus

B

End Line Wire Bus

K

Add Label

L

Add Hierarchical Label

H

Add Global Label

Ctrl+L

Add Junction

J

Add No Connect Flag

Q

Add Sheet

S

Add Wire Entry

Z

Add Bus Entry

/

Add Graphic PolyLine

I

Add Graphic Text

T

Update PCB from Schematic

F8

Autoplace Fields

O

Leave Sheet

Alt+BkSp

Delete Node

BkSp

Highlight Connection

Ctrl+X

All hotkeys can be redefined using the hotkey editor (menu Preferences→General Options→Controls).

It is possible to import/export hotkey settings using menu Preferences→Import and Export→Import/Export Hotkeys.

2.3. Grid

In Eeschema the cursor always moves over a grid. The grid can be customized:

  • Size might be changed using the pop-up menu or using the Preferences/Options menu.

  • Color might be changed in Colors tab of the Schematic Editor Options dialog (menu Preferences → General Options).

  • Visibility might be switched using the left-hand toolbar button.

El tamaño por defecto de la rejilla es de 50 mil (0.050") o 1,27 milímetros.

This is the preferred grid to place components and wires in a schematic, and to place pins when designing a symbol in the Symbol Editor.

One can also work with a smaller grid from 25 mil to 10 mil. This is only intended for designing the symbol body or placing text and comments and not recommended for placing pins and wires.

2.4. Selección del Zoom

Para cambiar el nivel de zoom:

  • El botón derecho abre el menú contextual y permite seleccionar el zoom deseado.

  • O use las teclas de función:

    • F1: Zoom hacia adentro

    • F2: Zoom hacia afuera

    • F4 o simplemente clic con el botón central del ratón (sin mover el ratón): Centra la vista sobre la posición del puntero del ratón

  • Zoom sobre la ventana:

    • Rueda del ratón: Zoom hacia adentro/afuera

    • Shift + Rueda del ratón: Desplazamiento arriba/abajo

    • Ctrl + Rueda del ratón: Desplazamiento izquierda/derecha

2.5. Mostrando las coordenadas del cursor

The display units are in inches or millimeters. However, Eeschema always uses 0.001 inch (mil/thou) as its internal unit.

La siguiente información se muestra en la parte inferior derecha de la pantalla.

  • El factor de zoom

  • La posición absoluta del cursor

  • La posición relativa del cursor

The relative coordinates can be reset to zero by pressing Space. This is useful for measuring distance between two points or aligning objects.

barra de estado

2.6. Barra de menú superior

The top menu bar allows the opening and saving of schematics, program configuration and viewing the documentation.

barra de menú

2.7. Barra de herramientas superior

Esta barra de herramientas permite el acceso a las principales funciones de Eeschema.

Si se ejecuta Eeschema de modo independiente, este es el conjunto de herramientas disponible:

images/toolbar_schedit_standalone.png

Note that when KiCad runs in project mode, the first two icons are not available as they work with individual files.

New schematic icon

Create a new schematic (only in standalone mode).

Open schematic icon

Abre un esquema (solo en modo independiente).

Save schematic icon

Save complete schematic project.

Page Settings icon

Selecciona el tamaño de la hoja y edita el cuadro de título.

Print icon

Open print dialog.

icons/paste_png

Paste a copied/cut item or block to the current sheet.

icons/undo_png

Undo: Revert the last change.

icons/redo_png

Redo: Revert the last undo operation.

search icon

Show the dialog to search components and texts in the schematic.

search replace icon

Show the dialog to search and replace texts in the schematic.

icons/zoom_redraw icons/zoom_fit_in_page_png

Redibuja la pantalla; zoom hasta encajar.

icons/zoom_in icons/zoom_out

Zoom hacia adentro y afuera.

hierarchy navigator icon

Ver y navegar por el árbol de jerarquía.

icons/leave_sheet

Salir de la hoja actual y subir un nivel en la jerarquía.

icons/libedit_png

Call the symbol library editor to view and modify libraries and component symbols.

icons/library_browse_png

Browse symbol libraries.

icons_annotate_png

Annotate symbols.

ERC icon

Electrical Rules Checker (ERC), automatically validate electrical connections.

run cvpcb icon

Call CvPcb to assign footprints to symbols.

Netlist icon

Export a netlist (Pcbnew, SPICE and other formats).

Symbol fields editor icon

Edit symbol fields.

BOM icon

Generate the Bill of Materials (BOM).

icons/pcbnew_png

Llama a Pcbnew para realizar el trazado del PCB.

Import Footprint Names icon

Back-import footprint assignment (selected using CvPcb or Pcbnew) into the "footprint" fields.

2.8. Iconos de la barra de herramientas derecha.

Esta barra de herramientas contiene herramientas para:

  • Place symbols, wires, buses, junctions, labels, text, etc.

  • Create hierarchical subsheets and connection symbols.

Cancel tool icon

Cancel the active command or tool.

Highlight net icon

Highlight a net by marking its wires and net labels with a different color. If KiCad runs in project mode then copper corresponding to the selected net will be highlighted in Pcbnew as well.

New Component icon

Display the symbol selector dialog to select a new symbol to be placed.

Add Power icon

Display the power symbol selector dialog to select a power symbol to be placed.

icons/add_line_png

Dibuja un hilo.

icons/add_bus_png

Dibuja un bus.

icons/add_line2bus_png

Dibuja puntos de unión de hilos en buses. Estos elementos son solo gráficos y no crea una conexión, por lo que no deben ser usados para conectar un hilo con otro.

icons/add_bus2bus_png

Dibuja un punto de unión entre dos buses.

icons/noconn_png

Place a "No Connect" flag. These flags should be placed on symbol pins which are meant to be left unconnected. It is done to notify the Electrical Rules Checker that lack of connection for a particular pin is intentional and should not be reported.

icons/add_junction_png

Place a junction. This connects two crossing wires or a wire and a pin, when it can be ambiguous (i.e. if a wire end or a pin is not directly connected to another wire end).

icons/add_line_label_png

Place a local label. Local label connects items located in the same sheet. For connections between two different sheets, you have to use global or hierarchical labels.

Global label icon

Place a global label. All global labels with the same name are connected, even when located on different sheets.

icons/add_hierarchical_label_png

Place a hierarchical label. Hierarchical labels are used to create a connection between a subsheet and the parent sheet that contains it.

icons/add_hierarchical_subsheet_png

Coloca una hoja jerárquica. Debe especificar el nombre de archivo para esta hoja hija.

icons/import_hierarchical_label_png

Import a hierarchical pin from a subsheet. This command can be executed only on hierarchical subsheets. It will create hierarchical pins corresponding to hierarchical labels placed in the target subsheet.

icons/add_hierar_pin_png

Place a hierarchical pin in a subsheet. This command can be executed only on hierarchical subsheets. It will create arbitrary hierarchical pins, even if they do not exist in the target subsheet.

icons/add_dashed_line_png

Dibuja una linea. Estas son solo representaciones gráficas y no conectan nada.

icons/text.png

Place a text comment.

icons/image_png

Coloca una imagen en formato bitmap.

icons/cancel_png

Borra el elemento seleccionado.

2.9. Iconos de la barra de herramientas izquierda

Esta barra de herramientas gestiona las opciones de visualización:

icons/grid

Toggle grid visibility.

icons/unit_inch

Switch units to inches.

icons/unit_mm

Switch units to millimeters.

icons/cursor_shape

Choose the cursor shape (full screen/small).

icons/hidden_pin

Toggle visibility of "invisible" pins.

icons/lines90

Toggle free angle/90 degrees wires and buses placement.

2.10. Menús emergentes y de edición rápida

Un clic con el botón derecho abre un menú contextual para el elemento seleccionado. Este contiene:

  • Factor de zoom.

  • Ajuste de la rejilla.

  • Parámetros comúnmente editados del elemento seleccionado.

Menú emergente sin elemento seleccionado.

eeschema_popup_without_element_png

Editing a label.

eeschema_popup_edit_label_png

Editing a symbol.

eeschema_popup_edit_component_png

3. Menú principal superior

3.1. Menú archivo

Menú archivo

New

Close current schematic and start a new one (only in standalone mode).

Open

Load a schematic project (only in standalone mode).

Open Recent

Open a schematic project from the list of recently opened files (only in standalone mode).

Append Schematic Sheet

Insert the contents of another sheet into the current one.

Import Non-Kicad Schematic File

Imports a schematic project saved in another file format.

Save

Save current sheet and all its subsheets.

Save Current Sheet

Save only the current sheet, but not others in the project.

Save Current Sheet As…

Save the current sheet under a new name.

Page Settings

Configura las dimensiones de la página y el bloque de título.

Print

Print schematic project (See also chapter Plot and Print).

Plot

Exporta a PDF, PostScript, HPGL o formato SVG (Ver cápitulo Plot e Imprimir).

Close

Terminate the application.

3.2. Menú Preferencias

Menú Preferencias

Manage Symbol Library Tables

Add/remove symbol libraries.

Configure Paths

Set the default search paths.

General Options

Preferences (units, grid size, field names, etc.).

Set Language

Select interface language.

Icons Options

Icons visibility settings.

Import and Export

Transfer preferences to/from file.

3.2.1. Manage Symbol Library Tables

Symbol Library Tables

Eeschema uses two library tables to store the list of available symbol libraries, which differ by the scope:

  • Global Libraries

Libraries listed in the Global Libraries table are available to every project. They are saved in sym-lib-table in your home directory (exact path is dependent on the operating system; check the path above the table).

  • Project Specific Libraries

Libraries listed in Project Specific Libraries table are available to the currently opened project. They are saved in sym-lib-table file in the project directory (check the path above the table).

You can view either list by clicking on "Global Libraries" or "Project Specific Libraries" tab below the library table.

Add a new library

Add a library either by clicking Browse Libraries… button and selecting a file or clicking "Append Library" and typing a path to a library file. The selected library will be added to the currently opened library table (Global/Project Specific).

Remove a library

Remove a library by selecting one or more libraries and clicking Remove Library button.

Library properties

Each row in the table stores several fields describing a library:

Active

Enables/disables the library. It is useful to temporarily reduce the loaded library set.

Nickname

Nickname is a short, unique identifier used for assigning symbols to components. Symbols are represented by <Library Nickname>:<Symbol Name> strings.

Library Path

Path points to the library location.

Plugin Type

Determines the library file format.

Options

Stores library specific options, if used by plugin.

Description

Briefly characterizes the library contents.

3.2.2. General Options

Display
Display settings

Grid Size

Grid size selection.

It is recommended to work with normal grid (0.050 inches or 1,27 mm). Smaller grids are used for component building.

Bus thickness

Pen size used to draw buses.

Line thickness

Pen size used to draw objects that do not have a specified pen size.

Part ID notation

Style of suffix that is used to denote symbol units (U1A, U1.A, U1-1, etc.)

Icon scale

Adjust toolbar icons size.

Show Grid

Grid visibility setting.

Restrict buses and wires to H and V orientation

If checked, buses and wires are drawn only with vertical or horizontal lines. Otherwise buses and wires can be placed at any orientation.

Show hidden pins:

Display invisible (or hidden) pins, typically power pins.

Show page limits

Si se marca, muestra los limites de la pagina en la pantalla.

Footprint previews in symbol chooser

Displays a footprint preview frame and footprint selector when placing a new symbol.

Note: it may cause problems or delays, use at your own risk.

Editing
Editing settings

Measurement units

Select the display and the cursor coordinate units (inches or millimeters).

Horizontal pitch of repeated items

Increment on X axis during element duplication (default: 0) (after placing an item like a symbol, label or wire, a duplication is made by the Insert key)

Vertical pitch of repeated items

Increment on Y axis during element duplication (default: 0.100 inches or 2,54 mm).

Increment of repeated labels

Increment of label value during duplication of texts ending in a number, such as bus members (usual value 1 or -1).

Default text size

Text size used when creating new text items or labels.

Auto-save time interval

Time in minutes between saving backups.

Automatically place symbol fields

If checked, symbol fields (e.g. value and reference) in newly placed symbols might be moved to avoid collisions with other items.

Allow field autoplace to change justification

Extension of Automatically place symbol fields option. Enable text justification adjustment for symbol fields when placing a new part.

Always align autoplaced fields to the 50 mil grid

Extension of Automatically place symbol fields option. If checked, fields are autoplaced using 50 mils grid, otherwise they are placed freely.

Controls

Redefine hotkeys and set up the user interface behavior.

Controls settings

Select a new hotkey by double clicking an action or right click on an action to show a popup menu:

Edit

Define a new hotkey for the action (same as double click).

Undo Changes

Reverts the recent hotkey changes for the action.

Restore Default

Sets the action hotkey to its default value.

Undo All Changes

Reverts all recent hotkey changes for the action.

Restore All to Default

Sets all action hotkeys to their default values.

Options description:

Center and warp cursor on zoom

If checked, the pointed location is warped to the screen center when zooming in/out.

Use touchpad to pan

When enabled, view is panned using scroll wheels (or touchpad gestures) and to zoom one needs to hold Ctrl. Otherwise scroll wheels zoom in/out and Ctrl/Shift are the panning modifiers.

Pan while moving object

If checked, automatically pans the window if the cursor leaves the window during drawing or moving.

Colors

Color scheme for various graphic elements. Click on any of the color swatches to select a new color for a particular element.

Color settings
Default Fields

Define additional custom fields and corresponding values that will appear in newly placed symbols.

Default Fields settings

3.3. Menú ayuda

Access to on-line help (this document) for an extensive tutorial about KiCad.

Use “Copy Version Information” when submitting bug reports to identify your build and system.

4. Barra de Herramientas de uso general

4.1. Gestión de hoja

El icono de Gestión de Hoja, Sheet Settings icon , permite definir el tamaño de la hoja y el contenido del bloque de título.

Ajustes de Página

El numerado de las hojas se actualiza automáticamente. Puede ajustar la fecha actual presionando el botón a la derecha de "Issue Date", pero esto no se actualizará automáticamente.

4.2. Opciones del editor de esquemas.

4.3. Herramienta de Busqueda

El icono de búsqueda, Find icon , puede usarse para acceder a la herramienta de búsqueda.

Formulario de búsqueda

Puede buscar una referencia, un valor, o una cadena de texto en la hoja actual o en toda la jerarquía. Una vez encontrada, el cursor se posicionara sobre el elemento encontrado en la hoja relevante.

4.4. Herramienta de Netlist

El icono de Netlist, Netlist icon , abre la herramienta de generación de netlist.

El fichero de netlist creado describe todas las conexiones de la jerarquía completa.

En una jerarquía multi-hoja, cualquier etiqueta local es visible solo dentro de la hoja a la que pertenece Por eso, la etiqueta TOTO de la hoja 3 es distinta de la etiqueta TOTO de la hoja 5 (si no se ha añadido intencionadamente una conexión para conectarlas). Esto es debido al hecho de que el nombre de la ruta a la hoja está internamente asociado con la etiqueta local.

Nota 1:

La longitud de las etiquetas no tiene limitación en Eeschema, pero el software que utilice el netlist generado puede tener limitaciones en este aspecto.

Nota 2:

Evite los espacios en la etiquetas, porque estas aparecerán como palabras separadas. Esta no es una limitación de Eeschema, sino de muchos formatos de netlist que asumen que una etiqueta no tiene espacios.

Formulario de Netlist

Opciones:

Formato por defecto:

Marque para seleccionar Pcbnew como el formato por defecto

También se pueden generar otros formatos:

  • Orcad PCB2

  • CadStar

  • Spice, para simuladores

Se pueden ejecutar plugins externos para ampliar la lista de formatos de netlist (un plugin para PadsPcb fue añadido aquí).

4.5. Herramienta de Anotado

El icono icons_annotate_png accede a la herramienta de anotado. Esta herramienta realiza un nombrado automático de todos los componentes del esquema.

Para componentes multi-parte (como el 7400 TTL que contiene 4 puertas), un sufijo multi-parte es añadido (así un 7400 TTL designado como U3 será dividido en U3A, U3B, U3C y U3D).

Puede anotar todos los componentes sin condicionantes, o solo los componentes nuevos, por ejemplo aquellos que no fueron previamente anotados.

annotate-dialog_img

Alcance

Usar el esquema completo. Todas las hojas son re-anotadas (opción típica)

Usar solo la página actual. Solo la página actual es re-anotada (esta opción es usada solo en casos especiales, por ejemplo para evaluar la cantidad de resistencias en la hoja actual).

Mantener la anotación existente. Anotación condicional, solo los componentes nuevos serán anotados (opción típica)

Borrar la anotación existentes. Anotación incondicional, todos los componentes serán re-anotados (esta opción se usa cuando existen referencias duplicadas)

Borrar, pero no intercambiar ningún componente multi-parte anotado. Esto mantiene todos los grupos de unidades múltiples (pej. U2A, U2B) juntos cuando se re-anote.

Orden de Anotado

Selecciona el orden en el que los componentes serán numerados.

Tipo de Anotado

Selecciona el método por el que los números serán generados.

4.6. Herramienta de Comprobación de Reglas Eléctricas

Mediante el icono ERC icon se accede a la herramienta de comprobación de reglas eléctricas (ERC).

Esta herramienta realiza una verificación del diseño y es particularmente útil para detectar conexiones olvidadas e inconsistencias.

Una vez que se ha ejecutado el ERC, Eeschema coloca marcas para remarcar los problemas. El diagnostico puede ser obtenido haciendo clic sobre las marcas. También puede generarse un fichero de error.

4.6.1. Ventana principal del ERC

Formulario de ERC

Errores que son mostrados en la ventana del Comprobador ERC:

  • Número total de errores y avisos.

  • Número de errores.

  • Número de avisos.

Opciones:

  • Crear fichero del reporte ERC: seleccione esta opción para generar un reporte del ERC en fichero.

Comandos:

  • Borrar Marcas: borra todas las marcas de error/aviso del ERC

  • Ejecutar: Realiza la comprobación de reglas eléctricas.

  • Cerrar: termina la ventana de diálogo.

Nota:

  • Haciendo clic sobre un mensaje de error se salta a la marca correspondiente en el esquema.

4.6.2. Ventana de opciones del ERC

Ventana de Opciones del ERC

Esta pestaña permite establecer las reglas de conectividad entre pines; puede elegir entre 3 opciones para cada caso;

  • Sin error

  • Aviso

  • Error

Cada cuadro de la matriz puede ser modificado haciendo clic en el.

4.7. Herramienta Lista de Materiales

El icono BOM icon da acceso al generador de listas de materiales (BOM). Este menú permite la generación de un fichero con una lista de componentes y/o conexiones jerárquicas (etiquetas globales)

Formulario del BOM

El generador de BOM de Eeschema hace uso de plugins externos, generalmente en formato XSLT o Python. Algunos son provistos y serán instalados dentro de directorio KiCad en sus archivos de programa.

Un conjunto de propiedades de componente útil para usar en un listado BOM son:

  • Valor - nombre único para cada componente usado.

  • Huella - tanto asignada manualmente como anotada de vuelta (ver abajo)

  • Campo1 - Nombre del fabricante

  • Campo2 - Número de referencia del Fabricante.

  • Campo3 - Número de referencia del Distribuidor.

Por ejemplo:

Ventana de Propiedades del Componente

On MS Windows operating systems, BOM generator dialog has special option (pointed by red arrow) that controls visibility of external plugin window.
By default, command line runs with hidden console window and output is redirected to Plugin info field. Set this option to show the window of the running command. It may be necessary if plugin has GUI.

BOM dialog extra option on MS Windows

4.8. Herramienta para la importación de asignaciones de huellas:

4.8.1. Acceso:

El icono Import Footprint Names icon permite el acceso a la herramienta para traer de vuelta la anotación.

Esta herramienta permite que los cambios en las asignaciones de huellas realizadas en PcbNew puedan ser importados de vuelta a los campos correspondientes en Eeschema.

5. Creación y Edición de Esquemas

5.1. Introducción

Un esquema puede ser representado por una única hoja, pero, si fuera suficientemente grande, podría requerir varias hojas.

Un esquema representado por varias hojas es jerárquico, y todas sus hojas (cada una representada por su propio fichero) constituyen un proyecto de Eeschema. El uso de esquemas jerárquicos será descrita en el capitulo Esquemas Jerárquicos

5.2. Consideraciones generales

Un esquema diseñado con Eeschema es mas de una simple representación gráfica de un dispositivo electrónico. Éste es normalmente el punto de entrada a una cadena de desarrollo que permite:

A schematic mainly consists of symbols, wires, labels, junctions, buses and power ports. For clarity in the schematic, you can place purely graphical elements like bus entries, comments, and polylines.

5.3. Proceso de desarrollo

dev-chain_png

Symbols are added to the schematic from symbol libraries. After the schematic is made, a netlist is generated, which is later used to import the set of connections and footprints into PcbNew.

5.4. Symbol placement and editing

5.4.1. Find and place a symbol

To load a symbol into your schematic you can use the icon New Symbol icon . A dialog box allows you to type the name of the symbol to load.

Ventana de elección de componente

The Choose Symbols dialog will filter symbols by name, keywords, and description according to what you type into the search field. Advanced filters can be used just by typing them:

  • Wildcards: use the characters ? and * respectively to mean "any character" and "any number of characters".

  • Relational: if a library part’s description or keywords contain a tag of the format "Key:123", you can match relative to that by typing "Key>123" (greater than), "Key<123" (less than), etc. Numbers may include one of the following case-insensitive suffixes:

    |=== | p | n | u | m | k | meg | g | t | 10-12 | 10-9 | 10-6 | 10-3 | 103 | 106 | 109 | 1012 |===

    |=== | ki | mi | gi | ti | 210 | 220 | 230 | 240 |===

  • Regular expression: if you’re familiar with regular expressions, these can be used too. The regular expression flavor used is the wxWidgets Advanced Regular Expression style, which is similar to Perl regular expressions.

Before placing the symbol in the schematic, you can rotate it, mirror it, and edit its fields, by either using the hotkeys or the right-click context menu. This can be done the same way after placement.

Here is a symbol during placement:

component during placement

5.4.2. Puertos de potencia

A power port symbol is a symbol (the symbols are grouped in the “power” library), so they can be placed using the symbol chooser. However, as power placements are frequent, the Add Power icon tool is available. This tool is similar, except that the search is done directly in the “power” library.

5.4.3. Symbol Editing and Modification (already placed component)

There are two ways to edit a symbol:

  • Modification of the symbol itself: position, orientation, unit selection on a multi-unit symbol.

  • Modification of one of the fields of the symbol: reference, value, footprint, etc.

When a symbol has just been placed, you may have to modify its value (particularly for resistors, capacitors, etc.), but it is useless to assign to it a reference number right away, or to select the unit (except for components with locked units, which you have to assign manually). This can be done automatically by the annotation function.

Symbol modification

To modify some feature of a symbol, position the cursor on the symbol, and then either:

  • Double-click on the symbol to open the full editing dialog.

  • Haga clic derecho para abrir el menú contextual y use uno de los comandos: Mover, Orientar, Editar, Borrar, etc,

Modificación de los campos de texto

Puede modificar la referencia, valor, posición, orientación, tamaño del texto y visibilidad de los campos:

  • Haga doble clic sobre el campo de texto para modificarlo.

  • Haga clic derecho para abrir el menú contextual y use uno de los comandos: Mover, Rotar, Editar, Borrar, etc.

For more options, or in order to create fields, double-click on the symbol to open the Symbol Properties dialog.

Ventana de Propiedades del Componente

Each field can be visible or hidden, and displayed horizontally or vertically. The displayed position is always indicated for a normally displayed symbol (no rotation or mirroring) and is relative to the anchor point of the symbol.

The option “Reset to Library Defaults” sets the symbol to the original orientation, and resets the options, size and position of each field. However, texts fields are not modified because this could break the schematic.

5.5. Hilos, Buses, Etiquetas, Puertos de potencia

5.5.1. Introducción

Todos estos elementos de dibujo pueden ser colocados con las herramientas de la barra de herramientas lateral derecha.

Estos elementos son:

  • Wires: most connections between symbols.

  • Buses: para unir gráficamente etiquetas de bus

  • Polilíneas: para representación gráfica.

  • Uniones: para crear conexiones entre dos hilos o buses que se cruzan.

  • Entradas de Bus: para mostrar conexiones entre hilos y buses. Representación gráfica solamente.

  • Etiquetas: para etiquetar o crear conexiones.

  • Etiquetas globales: para crear conexiones entre hojas.

  • Textos: para comentarios y anotaciones.

  • Marca de "No Conectado": para indicar que un pin no necesita ninguna conexión.

  • Hojas Jerárquicas, y sus pines de conexión.

5.5.2. Conexiones (Hilos y etiquetas)

Existen dos métodos de establecer conexiones:

  • Hilos entre dos pines.

  • Etiquetas.

La siguiente figura muestra los dos métodos:

Wires labels

Nota 1:

El punto de "contacto" de una etiqueta es la esquina inferior izquierda de la primera letra de la etiqueta. Este punto es mostrado mediante un pequeño cuadrado cuando no esta conectado.

Este punto debe estar en contacto con el hilo, o sobreponerse al final de un pin de forma que la etiqueta sea vista como conectada.

Nota 2:

Para establecer una conexión, un segmento de hilo debe estar conectado en su extremo a otro segmento de hilo o a un pin.

Si existe superposición (si un hilo pasa sobre un pin, pero no es conectado al extremo del pin) no existe conexión.

Nota 3:

Los hilos que se cruzan no están implícitamente conectados. Es necesario unirlos mediante un punto de unión si se desea que exista conexión entre ambos.

En la figura previa (los hilos conectados a los pines 22, 21, 20 y 19 del componente DB25FEMALE) muestran el caso de conexión usando el símbolo de unión.

Nota 4:

Si dos etiquetas distintas son colocadas en el mismo hilo, éstas están conectadas entre si y se convierten en equivalentes: todos los elementos conectados a una u otra etiquetas están conectados entre si.

5.5.3. Conexiones (Buses)

En el siguiente esquema, múltiples pines están conectados a buses.

Example schematic with buses
Miembros del Bus

Desde el punto de vista del esquema, un bus es una colección de señales que comienzan con un prefijo común y finalizan con un numero. Por ejemplo, PCA0, PCA1 y PCA2 son miembros del bus PCA.

El bus completo es llamado PCA[N..m] donde N y m son el primer y el ultimo numero de hilo de este bus. Así si PCA tiene 20 miembros desde 0 a 19, el bus completo es nombrado PCA[0..19]. Una colección de señales como PCA0, PCA1, PCA2, WRITE, READ no pueden ser contenidas en un bus

Conexión entre miembros de bus

Los pines conectados mediante el mismo miembro de un bus deben ser conectados mediante etiquetas. No es posible conectar un pin directamente a un bus; este tipo de conexión será ignorado por Eeschema.

En el ejemplo anterior, las conexiones son realizas por las etiquetas colocadas sobre los hilos conectados a los pines. Las entradas de bus (segmentos de hilo a 45 grados) son solo representaciones gráficas, y no forman necesariamente conexiones lógicas.

De hecho, usando el comando repetir (tecla Insertar), las conexiones pueden realizarse rápidamente del siguiente modo, si los pines de los componentes están alineados en orden creciente (caso típico de componentes como memorias, microprocesadores …):

  • Coloque la primera etiqueta (por ejemplo PCA0)

  • Use el comando repetir tanto como sea necesario para colocar el resto de miembros. Eeschema creará automáticamente las siguiente etiquetas (PCA1, PCA2…) alineadas verticalmente, teóricamente sobre la posición de los otros pines.

  • Dibuje el hilo bajo la primera etiqueta. Después utilice el comando repetir para colocar los otros hilos bajo el resto de etiquetas.

  • Si fuera necesario, coloque las entradas al bus del mismo modo (coloque la primera entrada y utilice el comando repetir)

Nota

En el menú Preferencias/Opciones, puede ajustar los parámetros para las repeticiones.

  • Paso vertical.

  • Paso horizontal.

  • Incremento de etiqueta (el cual puede ser incrementado por 2, 3 o decrementado).

Conexiones globales mediante buses

Puede necesitar conexiones mediante buses, con el fin de conectar dos buses con distinto nombre, o en caso de una jerarquía, para crear conexiones entre hojas diferentes. Puede realizar esta conexiones de la siguiente manera.

Bus junction example

Los buses PCA[0..15], ADR[0..7] y BUS[5..10] están conectados juntos (note la unión aquí porque el tramo vertical del bus se une en la mitad del tramo horizontal de bus)

Mas precisamente, los miembros correspondientes están conectados entre si: PCA0 y ADR0 están conectados (así como PCA1 y ADR1 … PCA7 y ADR7)

Además, PCA5, BUS5 y ADR5 estan interconectados (como PCA6, BUS6 y ADR6, y PCA7, BUS7 y ADR7)

PCA8 y BUS8 están también conectados (así como PCA9 y BUS9, y también PCA10 y BUS10)

5.5.4. Conexión de puertos de alimentación

When the power pins of the symbols are visible, they must be connected, as for any other signal.

Symbols such as gates and flip-flops may have invisible power pins. Care must be taken with these because:

  • No puede conectar hilos debido a su invisibilidad.

  • No se conoce sus nombres.

Y además, seria una mala idea hacerlos visibles y conectarlos como los otros pines debido a que el esquema podría volverse ilegible y no estar en concordancia con las convenciones usuales.

Nota
Si quiere forzar que se muestren estos pines de alimentación invisibles, debe seleccionar la opción “Mostrar pines de alimentación invisibles” en el formulario Preferencias/Opciones del menú principal, o el icono images/icons/hidden_pin.png en la barra de herramientas de opciones de la izquierda

Eeschema automáticamente conecta los pines de alimentación con el mismo nombre a la red de alimentación con ese nombre. Puede ser necesario unir redes de alimentación con distinto nombre (por ejemplo, "GND" en componentes TTL y "VSS" en componentes MOS); use para esto los puertos de potencia.

No es recomendable usar etiquetas para conexiones de alimentación. Estas solo tienen un alcance de conexión local, y podrían no conectar los pines de alimentación invisibles.

La siguiente figura muestra un ejemplo de conexiones con puertos de potencia.

Power ports example

En este ejemplo, la tierra (GND) esta conectada al puerto de potencia VSS, y el puerto de potencia VCC esta conectado a VDD

Dos símbolos PWR_FLAG son visibles. Estos indican que los dos puertos de potencia VCC y GND están realmente conectados a fuentes de alimentación. Sin esos dos símbolos, la herramienta ERC diagnosticaría: Warning: power port not powered.

All these symbols can be found in the “power” symbol library.

5.5.5. Marca "No Conectado"

Estos símbolos son muy útil para evitar avisos indeseados en el análisis ERC. El comprobador de reglas eléctricas asegura que ninguna conexión ha sido dejada sin conectar accidentalmente.

Si los pines realmente deben estar sin conectar, es necesario colocar una marca de "No Conectado" (herramienta No connection icon ) sobre esos pines. Estos símbolos no tienen ninguna influencia sobre los netlists generados.

5.6. Complementos de Dibujo

5.6.1. Comentarios de Texto

It can be useful (to aid in understanding the schematic) to place annotations such as text fields and frames. Text fields (tool images/icons/text.png ) and Polyline (tool images/icons/add_dashed_line.png ) are intended for this use, contrary to labels and wires, which are connection elements.

Aquí puede encontrar un ejemplo de un cuadro con un comentario en texto.

Frame with comment example

5.6.2. Bloque de titulo de la hoja

El bloque de titulo de la hoja se edita con la herramienta Page Settings tool .

Formulario de ajustes de página
Bloque de título

El número de hoja (Hoja X/Y) es actualizado automáticamente.

5.7. Rescuing cached symbols

By default, Eeschema loads symbols from the project libraries according to the set paths and library order. This can cause a problem when loading a very old project: if the symbols in the library have changed or have been removed or the library no longer exists since they were used in the project, the ones in the project would be automatically replaced with the new versions. The new versions might not line up correctly or might be oriented differently leading to a broken schematic.

When a project is saved, a cache library with the contents of the current library symbols is saved along with the schematic. This allows the project to be distributed without the full libraries. If you load a project where symbols are present both in its cache and in the system libraries, Eeschema will scan the libraries for conflicts. Any conflicts found will be listed in the following dialog:

Rescue conflicts dialog

You can see in this example that the project originally used a diode with the cathode facing up, but the library now contains one with the cathode facing down. This change would break the schematic! Pressing OK here will cause the symbol cache library to be saved into a special “rescue” library and all the symbols are renamed to avoid naming conflicts.

If you press Cancel, no rescues will be made, so Eeschema will load all the new components by default. If you save the schematic at this point, your cache will be overwritten and the old symbols will not be recoverable. If you have saved the schematic, you can still go back and run the rescue function again by selecting "Rescue Cached Components" in the "Tools" menu to call up the rescue dialog again.

If you would prefer not to see this dialog, you can press "Never Show Again". The default will be to do nothing and allow the new components to be loaded. This option can be changed back in the Libraries preferences.

6. Esquemas Jerarquicos

6.1. Introducción

Una representación jerárquica es generalmente una buena solución para proyectos mas grandes que unas pocas hojas. Si quiere gestionar este tipo de proyectos, sera necesario:

  • Usar hojas grandes, lo que resulta en problemas para imprimir y manejar las hojas.

  • Usar varias hojas, lo que conduce a una estructura jerárquica.

El esquema completo consiste en una hoja principal, llamada hoja raíz, y una serie de hojas hijas que constituyen la jerarquía. Además, una subdivisión adecuada del diseño en hojas separadas, a menudo mejora su legibilidad.

Desde la hoja raíz, debe ser posible encontrar todas las hojas hijas. La gestión de esquemas jerárquicos es bastante fácil con Eeschema, gracias a su "navegador de jerarquía" integrado, accesible mediante el icono icons/hierarchy_nav_png en la barra de herramientas superior

There are two types of hierarchy that can exist simultaneously: the first one has just been evoked and is of general use. The second consists in creating symbols in the library that appear like traditional symbols in the schematic, but which actually correspond to a schematic which describes their internal structure.

Este segundo tipo es usado en el desarrollo de circuitos integrados, pero en este caso tiene que usar bibliotecas de funciones en el esquema que este dibujando.

Eeschema actualmente no soporta este segundo tipo.

Una jerarquía puede ser:

  • simple: una hoja dada es usada solo una vez

  • compleja: una hoja dada es usada mas de una vez (múltiples instancias)

  • plana: que es una jerarquía simple, donde las conexiones entre hojas no son dibujadas.

Eeschema puede tratar con estas tres jerarquías.

La creación de esquemas jerárquicos es fácil, la jerarquía completa es gestionada comenzando desde el esquema raíz, como si solo tuviera un esquema.

Los dos pasos importantes que debe entender son:

  • Como crear una hoja hija.

  • How to build electrical connections between sub-sheets.

Navigation among sub-sheets is acheived by using the navigator tool accessible via the button icons/hierarchy_nav_png on the top toolbar.

hierarchy_navigator_dialog_png

Each sheet is reachable by clicking on its name. For quick access, right click on a sheet name, and choose to Enter Sheet or double click within the bounds of the sheet.

In order to exit the current sheet to the parent sheet, right click anywhere in the schematic where there is no object and select "Leave Sheet" in the context menu or press Alt+Backspace.

6.3. Etiquetas locales, jerárquicas y globales

6.3.1. Propiedades

Las etiquetas locales, herramienta icons/add_line_label_png , son señales de conexión solo dentro de una hoja. Las etiquetas jerárquicas (herramienta icons/add_hierarchical_label_png ) son señales de conexión solo entre una hoja y un pin jerárquico situado en la hoja padre.

Las etiquetas globales (herramienta Global label icon ) son señales de conexión a lo largo de toda la jerarquía. Los pines de potencia ( tipos power in y power out) invisibles son como etiquetas globales porque están conectados entre ellos a lo largo de toda la jerarquía.

Nota
Dentro de una jerarquía (simple o compleja) se pueden usar etiquetas jerárquicas y/o etiquetas globales.

6.4. Summary of hierarchy creation

Tiene que:

  • Colocar en la hoja padre un símbolo de jerarquía llamado "hoja símbolo".

  • Entre dentro del nuevo esquema (hoja hija) con el navegador y dibuje su esquema en ella, como cualquier otro esquema.

  • Draw the electric connections between the two schematics by placing Global Labels (HLabels) in the new schematic (sub-sheet), and labels having the same name in the root sheet, known as SheetLabels. These SheetLabels will be connected to the sheet symbol of the root sheet to the other elements of the schematic like standard symbol pins.

6.5. Símbolo de la hoja

Dibuje un rectángulo, definido por dos puntos de su diagonal, que simbolizará la hoja hija.

El tamaño de este rectángulo debe permitirle colocar mas tarde etiquetas particulares, pines de jerarquía, correspondientes a las etiquetas globales (HLabels) en la hoja hija.

These labels are similar to usual symbol pins. Select the tool icons/add_hierarchical_subsheet_png .

Haga clic para colocar la esquina superior izquierda del rectángulo. Haga clic de nuevo para colocar la esquina inferior derecha, dejando un rectángulo suficientemente grande.

Se le pedirá que escriba el nombre de archivo y en nombre de la hoja para esta hoja hija (con el fin de alcanzar el correspondiente esquema, usando el navegador de jerarquía)

hsheet_properties_1_png

Debe introducir al menos el nombre de archivo. Si no especifica un nombre de hoja, se usará el nombre de fichero como nombre de pagina (modo usual de hacerlo)

6.6. Conexion - Pines de Jerarquia

Debe crear aquí los puntos de conexión (pines de jerarquía) para el símbolo que acaba de crear.

These points of connection are similar to normal symbol pins, with however the possibility to connect a complete bus with only one point of connection.

Existen dos maneras de hacer esto.

  • Colocar los distintos pines antes de dibujar la hoja hija (ubicación manual)

  • Colocar los distintos pines tras dibujar la hoja hija, y las etiquetas globales (colocación semi-automática)

Es preferible el empleo de la segunda opción.

Colocación manual:

  • Select the tool icons/add_hierar_pin_png .

  • Click on the hierarchy symbol where you want to place the pin.

See below for an example of creating a hierarchical pin named "CONNECTION":

eeschema_hierarchical_pin_png

You can define the name, size and direction of the pin during creation or later, by right clicking the pin and selecting Edit Sheet Pin in the popup menu.

Inside the sheet a Hierarchical Label must be preset with the same name as the Hierarchical Pin. Taking care to correctly match these names must be done manually, which is why the second method, below, is preferred.

Colocación Automática:

  • Seleccione la herramienta icons/import_hierarchical_label_png .

  • Haga clic en el símbolo de jerarquía desde el que quiera importar los pines correspondientes a las etiquetas globales colocadas en el correspondiente esquema. Aparece un pin de jerarquía si existe una etiquetas global, por ej. que no corresponda a un pin ya ubicado.

  • Haga clic donde quiera colocar este pin.

Todos los pines necesarios pueden ser colocados rápidamente y sin error. Su aspecto estará en concordancia con el resto de las etiquetas globales.

6.7. Conexiones - Etiquetas de Jerarquía

Cada pin del símbolo de hoja recién cread debe corresponder con una etiqueta llamada etiqueta de jerarquía en la hoja hija. Las etiquetas de jerarquía son similares a las etiquetas pero estas proveen conexión entre la hoja hija y la padre. La representación gráfica de las dos etiquetas complementarias (pin y HLabel) es similar. La creación de etiquetas de jerarquía es realizada con la herramienta icons/add_hierarchical_label_png .

Debajo se muestra un ejemplo de hoja padre:

hierarchical_label_root_png

Observe el pin VCC_PIC conectado al conector JP1

Aquí se muestra las conexiones correspondientes en la hoja hija:

hierarchical_label_sub_png

Encontramos, de nuevo, las dos correspondientes etiquetas de jerarquía, que proveen la conexión entre las dos hojas jerárquicas.

Nota
Puede usar etiquetas y pines de jerarquía para conectar dos buses, de acuerdo con la sintaxis (Bus[N..m]) anteriormente descrita.

6.7.1. Etiquetas, etiquetas jerárquicas, etiquetas globales y pines de potencia invisibles

A continuación se indican varios modos de proveer conexión, además de las conexiones mediante hilos.

Etiquetas simples

Las etiquetas simples tienen capacidad de conexión local, limitada a la hoja del esquema donde están ubicadas. Esto es debido a que:

  • Cada hoja tiene un número de hoja.

  • Este número de hoja es asociado a las etiquetas.

Entonces, si coloca la etiqueta "TOTO" en la hoja nº 3, en realidad el verdadero nombre de la etiqueta es "TOTO_3". Si también coloca la etiqueta "TOTO" en la hoja nº 1 (hoja raíz) está colocando una etiqueta llamada "TOTO_1", diferente de "TOTO_3". Esto es siempre cierto, incluso si hay una sola hoja.

Etiquetas de Jerarquia

Todo lo dicho para las etiquetas simples es también cierto para las etiquetas jerárquicas.

Thus in the same sheet, a hierarchical label "TOTO" is considered to be connected to a local label "TOTO", but not connected to a hierarchical label or label called "TOTO" in another sheet.

A hierarchical label is considered to be connected to the corresponding sheet pin symbol in the hierarchical symbol placed in the parent sheet.

Pines de potencia invisibles

It was seen that invisible power pins were connected together if they have the same name. Thus all the power pins declared "Invisible Power Pins" and named VCC are connected all symbol invisible power pins named VCC only within the sheet they are placed.

Esto significa que si coloca una etiqueta VCC en una hoja hija, ésta no estará conectada a los pines VCC ya que la etiqueta es realmente VCC_n, donde n es el numero de hoja.

If you want this label VCC to be really connected to the VCC for the entire schematic, it will have to be explicitly connected to an invisible power pin via a VCC power symbol.

6.7.2. Etiquetas globales

Las etiquetas globales que tienen idéntico nombre están conectadas a lo largo de la jerarquía completa.

(Las etiquetas de potencia como vcc … son etiquetas globales)

6.8. Jerarquías Complejas

Here is an example. The same schematic is used twice (two instances). The two sheets share the same schematic because the file name is the same for the two sheets (“other_sheet.sch”). The sheet names must be unique.

eeschema_complex_hierarchy_png

6.9. Jerarquías Planas

You can create a project using many sheets without creating connections between these sheets (flat hierarchy) if the following rules are observed:

  • Create a root sheet containing the other sheets which acts as a link between others sheets.

  • No se necesitan conexiones explicitas.

  • Use global labels instead of hierarchical labels in all sheets.

Aquí se muestra un ejemplo de la hoja padre.

eeschema_flat_hierarchy_png

Estas son las dos paginas, conectadas por etiquetas globales.

Esta es la hoja pic_programmer.sch.

eeschema_flat_hierarchy_1_png

Y esta pic_sockets.sch.

eeschema_flat_hierarchy_2_png

Observe las etiquetas globales.

eeschema_flat_hierarchy_3_png

7. Symbol Annotation Tool

7.1. Introducción

The annotation tool allows you to automatically assign a designator to symbols in your schematic. Annotation of symbols with multiple units will assign a unique suffix to minimize the number of these symbols. The annotation tool is accessible via the icon icons_annotate_png . Here you find its main window.

annotate-dialog_img

Available annotation schemes:

  • Annotate all the symbols (reset existing annotation option)

  • Annotate all the symbols, but do not swap any previously annotated multi-unit parts.

  • Annotate only symbols that are currently not annotated. Symbols that are not annotated will have a designator which ends with a ? character.

  • Anotar toda la arquitectura (use la opción: usar esquema completo)

  • Anotar solo la hoja actual (use la opción: solo página actual)

The “Reset, but do not swap any annotated multi-unit parts” option keeps all existing associations between symbols with multilple units. For example, U2A and U2B may be reannotated to U1A and U1B respectively but they will never be reannotated to U1A and U2A, nor to U2B and U2A. This is useful if you want to ensure that pin groupings are maintained.

La elección del orden de anotación determina el método usado para fijar los números de referencias dentro de cada hoja de la arquitectura.

Exceptuando casos particulares, una anotación automática se aplica al proyecto completo (todas las hojas) y a todos los componentes nuevos, si no desea cambiar las anotaciones realizadas previamente.

The Annotation Choice gives the method used to calculate reference:

  • Use first free number in schematic: components are annotated from 1 (for each reference prefix). If a previous annotation exists, only unused numbers will be used.

  • Comenzar por el número de hoja*100 y usar el primer número libre: la anotación comienza por 101 para la hoja 1, 201 para la hoja 2, etc. Si existen mas de 99 elementos con el mismo prefijo (U, R) dentro de la hoja 1, la herramienta de anotado utiliza los números 200 y sucesivos, y el referenciado de la hoja 2 comenzara por el siguiente número libre.

  • Comenzar por el número de hoja*1000 y usar el primer número libre: La anotación comienza por 1001 para la hoja 1, 2001 para la hoja 2.

7.2. Algunos ejemplos

7.2.1. Orden de anotación

Este ejemplo muestra 5 elementos ubicados pero no anotados.

eeschema_annotation_order_none_png

Después de ejecutar la anotación, se obtiene el siguiente resultado.

Ordenar con respecto a la posición X.

eeschema_annotation_order_x_png

Ordenar con respecto a la posición Y.

eeschema_annotation_order_y_png

Puede observarse que cuatro puertas 74LS00 fueron distribuidas en el encapsulado U1, y que la quinta puerta 74LS00 ha sido asignada al siguiente encapsulado, U2.

7.2.2. Preferencias de anotado

Esta es una anotación en la hoja 2 donde fue usada la opción usar primer número libre en el esquema.

eeschema_annotation_choice_free_png

La opción comenzar por el número de hoja*100 y usar el primer número libre arrojó el siguiente resultado.

eeschema_annotation_choice_x100_png

La opción comenzar por el número de hoja*1000 y usar el primer número libre produjo el siguiente resultado.

eeschema_annotation_choice_x1000_png

8. Verificación del diseño con el Comprobador de Reglas Eléctricas.

8.1. Introducción

El Comprobador de Reglas Eléctricas (ERC) realiza un test automático de su esquema. El ERC examina cualquier error en su hoja, como pines no conectados, símbolos de las jerarquías no conectados, salidas cortocircuitadas, etc. Naturalmente, un test automático no es infalible, y el software que hace posible detectar todos los errores de diseño no esta 100% completo. Este test es muy útil, ya que le permite detectar muchos descuidos y pequeños errores.

In fact all detected errors must be checked and then corrected before proceeding as normal. The quality of the ERC is directly related to the care taken in declaring electrical pin properties during symbol library creation. ERC output is reported as "errors" or "warnings".

Formulario de ERC

8.2. Como usar el ERC

El ERC puede ser iniciado haciendo clic en el icono ERC icon .

Los avisos son indicados en los elementos del esquema que generan un error ERC (pines o etiquetas)

Nota
  • En esta ventana, cuando se hace clic sobre un mensaje de error puede saltar a la correspondiente marca en el esquema.

  • En el esquema haga clic derecho sobre una marca para acceder al correspondiente mensaje de diagnóstico.

Puede también borrar marcas de error desde el formulario.

8.3. Ejemplo de ERC

Punteros ERC

Se pueden observar cuatro errores:

  • Dos salidas han sido erróneamente conectadas juntas (flecha roja)

  • Dos entradas se han dejado sin conectar (flecha verde)

  • Hay un error en un puerto de alimentación invisible, no se encuentra el indicador de alimentación (flecha verde en la parte superior)

8.4. Mostrando diagnósticos

Haciendo clic con el botón derecho sobre una marca se despliega un menú que le permite acceder a la ventana de diagnóstico de marcas ERC.

Información de punteros ERC

y haciendo clic en "Información de la Marca de Error" puede obtener una descripción del error.

erc_pointers_message_png

8.5. Pines de potencia e indicadores de potencia

Es usual tener un error o aviso en los pines de potencia, aunque todo parezca norma. Mire el ejemplo anterior. Esto sucede porque, en la mayoría de diseños, la alimentación es suministrada mediante conectores que no son fuentes de alimentación (como las salidas de reguladores, que están declaradas como salidas de potencia)

El ERC no detecta ningún pin de salida de potencia alimentando este hilo y lo declara como "no alimentado por una fuente de potencia"

Para evitar este aviso tiene que colocar un "PWR_FLAG" sobre estos puertos de potencia. Eche un vistazo al siguiente ejemplo:

eeschema_power_pins_and_flags_png

La marca de error ha desaparecido.

Most of the time, a PWR_FLAG must be connected to GND, because regulators have outputs declared as power out, but ground pins are never power out (the normal attribute is power in), so grounds never appear connected to a power source without a power flag symbol.

8.6. Configuración

El panel de Opciones le permite configurar las reglas de conectividad que definen las condiciones eléctricas para la detección de errores y avisos.

eeschema_erc_options_png

Las reglas se pueden cambiar haciendo clic sobre el cuadrado oportuno de la matriz, esto alterna su estado cíclicamente entre: normal, aviso, error.

8.7. Archivo de reporte ERC

An ERC report file can be generated and saved by checking the option Write ERC report. The file extension for ERC report files is .erc. Here is an example ERC report file.

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

9. Creación del Netlist

9.1. Resumen

A netlist is a file which describes electrical connections between symbols. These connections are referred to as nets. In the netlist file you can find:

  • The list of the symbols

  • The list of connections (nets) between symbols.

Many different netlist formats exist. Sometimes the symbols list and the list of nets are two separate files. This netlist is fundamental in the use of schematic capture software, because the netlist is the link with other electronic CAD software such as:

  • PCB layout software.

  • Schematic and electrical signal simulators.

  • Compiladores de CPLD (y otros Circuitos Integrados programables).

Eeschema soporta varios formatos de netlist.

  • Formato PCBNEW (circuito impreso).

  • Formato ORCAD PCB2 (circuito impreso)

  • Formato CADSTAR (circuito impreso)

  • Formato Spice, para simuladores Spice (el formato Spice es usado también por otros simuladores).

9.2. Formatos de Netlist

Select the tool Netlist icon to open the netlist creation dialog.

Seleccione Pcbnew

eeschema_netlist_dialog_pcbnew_png

Seleccione Spice

eeschema_netlist_dialog_spice_png

Using the different tabs you can select the desired format. In Spice format you can generate netlists with either net names which makes the SPICE file more human readable or net numbers which are used by older Spice. By clicking the Netlist button, you will be asked for a netlist file name.

Nota
The netlist generation can take up to several minutes for large schematics.

9.3. Ejemplos de Netlist

Puede ver debajo un esquema diseñado usando la biblioteca PSPICE:

eeschema_netlist_schematic_png

Ejemplo de un fichero de netlist tipo PCBNEW:

# Eeschema Netlist Version 1.0 generee le 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

En formato PSPICE, el netlist es como sigue:

* Eeschema Netlist Version 1.1 (Spice format) creation date: 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

9.4. Notas en los Netlists

9.4.1. Precauciones en los nombres de los netlist

Many software tools that use netlists do not accept spaces in the component names, pins, nets or other informations. Avoid using spaces in labels, or names and value fields of components or their pins to ensure maximum compatibility.

Del mismo modo, los caracteres especiales distintos de letras y números pueden causar problemas. Note que esta limitación no es relativa a Eeschema sino a los formatos de netlist que pueden resultar intraducibles para otros programas que usen ficheros de netlist.

9.4.2. Netlist PSPICE

Para el simulador Pspice, tiene que incluir algunas lineas de comando en el propio netlist (.PROBE, .AC, etc.).

Cualquier linea de texto incluida en el diagrama de esquema comenzando con la clave -pspice o -gnucap será insertada (sin la clave) al inicio del netlist.

Cualquier linea de texto incluida en el diagrama de esquema comenzando con la clave +pspice o +gnucap será insertada (sin la clave) al inicio del netlist.

Aquí se muestra un ejemplo usando varias textos de una línea y textos multi-línea.

eeschema_pspice_netlist_png

Por ejemplo, si escribe el siguiente texto (¡No use una etiqueta!):

-PSPICE .PROBE

una línea .PROBE se insertará en el netlist.

En el ejemplo anterior tres lineas fueron insertadas al inicio del netlist y dos al final con esta técnica.

Si está usando textos multilinea, las claves +pspice or +gnucap serán necesarias solo una vez:

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

Crea las siguientes cuatro lineas:

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

Also note that the GND net must be named 0 (zero) for Pspice.

9.5. Otros Formatos

Para otros formatos de netlist puede añadir conversores de netlist en forma de plugins. Estos conversores son automáticamente lanzados por Eeschema. El capítulo 14 muestra algunas explicaciones y ejemplos de conversores.

Un conversor es un fichero de texto (en formato xls) pero puede usarse otros lenguajes como Python. Cuando se usa el formato xls, una herramienta (xsltproc.exe o xsltproc) lee el fichero intermedio creado por Eeschema, y el archivo conversor crea el fichero de salida. En este caso, el fichero conversor (una hoja de estilo) es muy pequeño y fácil de escribir.

9.5.1. Inicie la ventana de diálogo

Puede añadir un nuevo plugin de netlist mediante el botón Añadir Plugin.

eeschema_netlist_dialog_add_plugin_png

Aquí se muestra la ventana de ajuste del plugin PadsPcb:

eeschema_netlist_dialog_padspcb_png

La configuración requerirá:

  • Un título (por ejemplo, el nombre del formato de netlist)

  • El plug-in a lanzar.

Cuando el netlist es generado:

  1. Eeschema crea un fichero intermedio *.tmp, por ejemplo test.tmp.

  2. Eeschema ejecuta el plug-in, que lee test.tmp y crea test.net.

9.5.2. Formato de Linea de Comando

Aquí se muestra un ejemplo usando xsltproc.exe como herramienta para convertir archivos .xsl, y un archivo metlist_from_pads-pcb.xsl como hoja de estilo conversora:

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

Con:

f:/kicad/bin/xsltproc.exe

Una herramienta para leer y convertir ficheros xsl

-o %O.net

Fichero de salida: %O define el nombre del fichero de salida.

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

Nombre del fichero conversor (un fichero hoja de estilo en formato xsl).

%I

Será reemplazado por el fichero intermedio creado por Eeschema (*.tmp).

Para un fichero de esquema llamado test.sch, la linea de comando actual es:

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

9.5.3. Conversor y Hoja de Estilo (plug-in)

Este es un software muy simple porque su propósito es simplemente convertir un fichero de entrada (el fichero de texto intermedio) a otro fichero de texto. Además, desde el fichero de texto intermedio, se puede crear una lista de materiales (BOM).

Cuando se usa xsltproc como herramienta de conversión solo será generado el fichero tipo hoja.

9.5.4. Formatos de fichero netlist intermedios

Vea el capitulo 14 para mas explicaciones sobre xslproc, descripciones del formato de archivo intermedio, y algunos ejemplo de conversores de estilo hoja.

10. Plot e Imprimir

10.1. Introducción

Puede acceder a ambos comandos mediante del menú archivo.

eeschema_file_menu_plot_png

Los formatos de salida soportados son Postscript, PDF, SVG, DXF and HPGL. Puede además imprimir directamente a su impresora.

10.2. Comandos comunes de impresión

Imprimir página actual

Imprime un fichero solo para la página actual.

Imprimir todas las páginas

Le permite imprimir la jerarquía completa (se genera un fichero para cada hoja)

10.3. Imprimir en Postscript

Este comando le permite crear archivos PostScript.

eeschema_plot_postscript_png

El nombre del archivo es el nombre de la hoja con la extensión .ps. Puede deshabilitar la opción "Plot border and title block". Esto es útil si quiere crear un fichero postscript para encapsular (formato .eps) un diagrama en un software de procesamiento de texto. La ventana de mensaje muestra el nombre de archivo creado.

10.4. Imprimir en PDF

eeschema_plot_pdf.png

Le permite crear fichero de impresión usando el formato PDF. El nombre del archivo es el nombre de la hoja con la extensión .pdf.

10.5. Imprimir en SVG

eeschema_plot_svg_png

Le permite crear fichero de impresión usando el formato vectorial SVG. El nombre del fichero es el nombre de la hoja con la extensión .svg.

10.6. Imprimir en DXF

eeschema_plot_dxf_png

Le permite crear un fichero de impresión usando el formato DXF. El nombre del fichero es el nombre de la hoja con extensión .dxf.

10.7. Imprimir en HPGL

Este comando le permite crear un fichero HPGL. En este formato puede definir:

  • Tamaño de la página.

  • Origen.

  • Ancho de las lineas (en mm).

La ventana de ajustes de ploteado es la siguiente:

eeschema_plot_hpgl_png

El nombre del fichero de salida será el nombre de la hoja con extensión .plt.

10.7.1. Selección del tamaño de la hoja

Normalmente el tamaño de la hoja es comprobado. En este caso, se usará el tamaño de hoja definido en el menú del bloque y la escala elegida será 1. Si se selecciona un tamaño de hoja diferente (A4 con A0, o A con E), la escala se ajusta automáticamente al tamaño de la hoja.

10.7.2. Ajuste de offset

Para todas las dimensiones estándar, puede ajustar el offset para centrar el dibujo tan precisamente como sea posible. Dado que los plotters tienen el punto de origen en el centro o en la esquina inferior izquierda, es necesario que sea posible introducir un offset para imprimir adecuadamente.

Generalidades:

  • Para plotters que tengan su punto de origen en el centro de la hoja el offset debe ser negativo y ajustarse a la mitad de las dimensiones de la hoja.

  • Para plotters que tengan su punto de origen en la esquina inferior izquierda el offset debe ser ajustado a 0.

Ajustar el offset:

  • Seleccionar el tamaño de la hoja.

  • Ajustar el offset en X y el offset en Y.

  • Pulsar en aceptar offset.

Este comando, disponible a través del icono icons/print_button_png , permite visualizar y generar ficheros para impresoras estándar.

print_dialog_png

La opción "Imprimir referencia de hoja y bloque de titulo" habilita o deshabilita las referencias de la hoja y el bloque de titulo.

La opción "Imprimir en blanco y negro" ajusta la impresión monocromo. Esta opción normalmente es necesaria si se usa una impresora láser en blanco y negro, ya que los colores son impresos en tonos medios que normalmente no son tan legibles.

11. Editor de bibliotecas de Componentes

11.1. Información general sobre las bibliotecas de componentes

Un componente es un elemento del esquema que contiene una representación gráfica, conexiones eléctricas, y campos que definen dicho componente. Los componentes usados en un esquema son almacenados en bibliotecas de componentes. Eeschema dispone de una herramienta para la edición de bibliotecas de componentes que le permite crear librerías, añadir, borrar o transferir componentes entre librerías, exportar componentes a archivos e importar componentes desde archivos. La herramienta de edición de librerías permite manejar de forma simple las librerías de componentes.

11.2. Resumen de las bibliotecas de componentes

Una biblioteca de componentes está compuesta por uno o mas componentes. Normalmente los componentes están agrupados por función, tipo y/o fabricante.

Un componente está compuesto por:

  • Elementos gráficos (lineas, círculos, arcos, texto etc) que proveen la definición del símbolo.

  • Pins que proveen tanto propiedades gráficas (líneas, reloj, invertidas, activo a nivel bajo, etc) como eléctricas (entrada, salida, bidireccional, etc) usadas en la herramienta de Comprobación de Reglas Eléctricas (ERC)

  • Campos como referencias, valores, huella correspondiente para el diseño del PCB, etc.

  • Los componentes con características compartidas como el 7400 con todos sus derivados como 74LS00, 74HC00, y 7437 son asociados mediante Alias. Todos estos alias comparten la misma biblioteca de componentes.

El diseño de componentes propios requiere:

  • Definir si el componente está compuesto por una o mas unidades.

  • Definir si el componente tiene una representación alternativa también conocida como representación De Morgan.

  • Diseñar su representación simbólica usando líneas, rectángulos, círculos, polígonos y texto.

  • Añadir terminales definiendo cuidadosamente cada representación gráfica, su nombre, número y propiedades eléctricas (entrada, salida, tri-estado, alimentación, etc).

  • Añadir un alias si otros componentes comparten el mismo símbolo y distribución de terminales, o eliminándolo si el componente fue creado desde otro componente.

  • Añadir campos opcionales como nombre de la huella usada por el programa de diseño de PCB y/o definiendo su visibilidad.

  • Documentar el componente añadiendo descripciones del mismo y enlaces a su hoja de características, etc.

  • Salvar el componente en la biblioteca deseada.

11.3. Resumen del editor de bibliotecas de componentes

La ventana principal del editor de bibliotecas de componentes se muestra a continuación. Este consiste en tres barras de herramientas para un rápido acceso a las características más comunes y un área para la visualización y edición del componente. No todos los comandos están disponibles en las barras de herramientas pero éstos pueden accederse mediante los distintos menús.

libedit_main_window_png

11.3.1. Barra de herramientas principal

La barra de herramientas principal alojada en la parte superior de la ventana principal consisten en los botones para gestión de bibliotecas, acciones deshacer y rehacer, comandos de zoom, y los controles de propiedades del componente.

images/toolbar_libedit.png

icons/save_library_png

Salvar la biblioteca seleccionada actualmente. El botón no estará activo si no hay una biblioteca seleccionada o si no se han realizado cambios en la biblioteca actualmente seleccionada.

icons/library_png

Seleccionar la biblioteca a editar.

icons/delete_png

Borrar un componente de la biblioteca seleccionada actualmente o de cualquier biblioteca definida en el proyecto si no hay ninguna biblioteca seleccionada.

icons/library_browse_png

Abre el explorador de bibliotecas de componentes para seleccionar la biblioteca y componente a editar.

icons/new_component_png

Crea un nuevo componente.

icons/import_cmp_from_lib_png

Carga un componente desde la biblioteca de componentes actualmente seleccionada.

icons/copycomponent_png

Crea un nuevo componente desde el componente cargado actualmente.

icons/save_part_in_mem_png

Guarda los cambios del componente actual en memoria. El archivo de biblioteca no es cambiado.

icons/import_png

Importa un componente desde un fichero.

icons/export_png

Exporta el componente actual a un archivo.

icons/new_library_png

Crea un nuevo archivo de biblioteca e incluye el componente actual. Nota: las nuevas bibliotecas no son añadidas automáticamente al proyecto.

icons/undo_png

Deshace la última acción.

icons/redo_png

Realiza de nuevo la última acción deshecha.

icons/part_properties_png

Edita las propiedades del componente actual.

icons/text.png

Edit the fields of current component.

icons/erc_png

Prueba el componente actual en busca de errores de diseño.

images/icons/zoom_in.png

Amplia la vista.

images/icons/zoom_out.png

Aleja la vista.

images/icons/zoom_redraw.png

Refresca la pantalla.

images/icons/zoom_fit_in_page.png

Ajusta la vista al tamaño del componente.

icons/morgan1_png

Selecciona el estilo de símbolo normal. El botón está deshabilitado si el componente actual no tiene estilo de símbolo alternativo.

icons/morgan2_png

Selecciona el estilo de símbolo alternativo. El botón está deshabilitado si el componente actual no tiene estilo de símbolo alternativo.

icons/datasheet_png

Muestra la documentación asociada. El botón estará deshabilitado si no se ha definido documentación asociada para el componente actual.

images/toolbar_libedit_part.png

Selecciona la unidad a mostrar. El desplegable estará deshabilitado si el componente actual no está compuesto por múltiples unidades.

images/toolbar_libedit_part.png

Selecciona el alias. El desplegable estará deshabilitado si el componente actual no posee ningún alias.

icons/pin2pin_png

Edición del pin: Edita independientemente la forma y posición del pin para los componentes con múltiples unidades y símbolos alternativos.

icons/pin_table_png

Muestra la tabla de pines.

11.3.2. Barra de herramientas de elementos

La barra de herramientas vertical que generalmente se ubica a la derecha de la ventana principal le permite colocar todos los elementos necesarios para diseñar un componente. La tabla siguiente define cada botón de la barra de herramientas.

icons/cursor_png

Herramienta de selección. Mediante clic derecho con la herramienta de selección se abre un menú contextual para el objeto bajo el cursor. Haciendo clic izquierdo y la herramienta de selección se muestra los atributos del objeto bajo el cursor en el panel de mensajes debajo de la ventana principal. Haciendo doble clic con la herramienta de selección se abrirá el dialogo de propiedades para el objeto bajo el cursor.

icons/pin_png

Herramienta pin. Haga clic izquierdo para añadir un nuevo pin.

icons/text.png

Graphical text tool. Left-click to add a new graphical text item.

icons/add_rectangle_png

Herramienta rectángulo. Pulse clic izquierdo para comenzar a dibujar la primera esquina de un rectángulo. Pulse de nuevo clic izquierdo para colocar la esquina opuesta del rectángulo

icons/add_circle_png

Circle tool. Left-click to begin drawing a new graphical circle from the center. Left-click again to define the radius of the circle.

icons/add_arc_png

Herramienta arco. Haga clic izquierdo para definir el centro del circulo que contiene al arco. De nuevo haga clic izquierdo para definir el punto de inicio del arco. Pulse de nuevo el botón izquierdo para definir el punto final del arco.

icons/add_polygon_png

Herramienta polígono. Haga clic izquierdo para comenzar a dibujar un nuevo elemento tipo polígono. en el componente actual. Pulse clic izquierdo para añadir cada segmento del polígono. Haga doble clic izquierdo para completar el polígono.

icons/anchor_png

Herramienta Ancla. Haga clic izquierdo para definir el punto de anclaje del componente.

icons/import_png

Importa un componente desde un archivo.

icons/export_png

Exporta el componente actual a un archivo.

icons/delete_png

Herramienta de borrado. Haga clic izquierdo para borrar un objeto del componente actual.

11.3.3. Barra de herramientas Opciones

La barra de herramientas que se ubica generalmente a la izquierda de la pantalla principal le permite ajustar algunas de las opciones del editor de componentes. La siguiente tabla define cada botón de la barra de herramientas.

icons/grid_png

Activa o desactiva la visibilidad de la rejilla.

icons/unit_inch_png

Ajusta las unidades a pulgadas.

icons/unit_mm_png

Ajusta las unidades a milímetros

icons/cursor_shape_png

Activa o desactiva la extensión del cursor a pantalla completa.

11.4. Selección y mantenimiento de bibliotecas

Es posible seleccionar la biblioteca de trabajo mediane icons/library_png que mostrara todas la bibliotecas disponibles para seleccionar una. Cuando se carga o guarda un componente la acción se realizará sobre esta biblioteca. El nombre del componente en la biblioteca es el contenido de su campo valor.

Nota
  • Las bibliotecas deben ser cargadas en Eeschema para poder acceder a su contenido.

  • El contenido de la biblioteca actual puede ser guardado tras modificarlo haciendo clic en icons/save_library_png sobre la barra de herramientas principal.

  • Pueden eliminarse componentes de cualquier biblioteca haciendo clic en icons/delete_png .

11.4.1. Seleccionar y guardar un componente

Cuando edita un componente no esta realmente modificando el componente en su biblioteca sino una copia en la memoria de su ordenador. Cualquier edición puede ser deshecha fácilmente. Puede cargarse un componente dese una biblioteca local o desde un componente existente.

Selección de componentes

Haciendo clic en icons/import_cmp_from_lib_png sobre la barra de herramientas principal se muestra una lista de los componentes disponibles que pueden seleccionarse para su carga desde la biblioteca de trabajo actual.

Nota
Si un componente es seleccionado mediante su alias, el nombre del componente cargado sera mostrado en el titulo de la ventana en vez de el alias seleccionado. La lista de alias de componentes siempre se carga con cada componente y puede editarse. Puede crear un nuevo componente seleccionando un alias del componente actual en images/toolbar_libedit_alias.png . El primer elemento en la lista de alias es el nombre principal del componente.
Nota
Además, haciendo clic en icons/import_png le permite cargar un componente que ha sido previamente guardado con icons/export_png .
Guardar un componente

Tras su modificación, un componente puede ser guardado en la biblioteca de trabajo, en una nueva biblioteca o exportado a un fichero de respaldo.

Para guardar el componente modificado en la biblioteca actual, clic en icons/save_part_in_mem_png . Tenga en cuenta que el comando de actualización solo guarda los cambios del componente en la memoria local. De esta manera puede decidir antes de guardar la biblioteca.

Para almacenar permanentemente los cambios del componente en el fichero de biblioteca, haga clic en icons/save_library_png que sobrescribirá el componente existente en el fichero de biblioteca con los cambios del componente.

Si quiere crear una nueva biblioteca que contenga al componente actual, haga clic en icons/new_library_png . Se le preguntará el nombre de la nueva biblioteca.

Nota

Las bibliotecas recién creadas no son automáticamente añadidas al proyecto actual.

You must add any new library you wish to use in a schematic to the list of project libraries in Eeschema using the Symbol Library Table dialog.

Haga clic en icons/export_png para crear un fichero que contenga solo el componente actual. Este fichero es una biblioteca estándar que contiene solo un componente. Este archivo puede ser usado para importar el componente dentro de otra biblioteca. De hecho, el comando de crear una nueva biblioteca y el comando de exportar son básicamente idénticos.

Transferir componentes a otra biblioteca

Puede copiar fácilmente un componente de una biblioteca origen en otra biblioteca destino usando los siguientes comandos:

  • Seleccione la biblioteca origen pulsando en icons/library_png .

  • Cargue el componente a transferir haciendo clic en icons/import_cmp_from_lib_png . El componente será mostrado en el área de edición

  • Seleccione la biblioteca de destino haciendo clic en icons/library_png .

  • Guarde el componente actual en la nueva biblioteca dentro de la memoria local pulsando icons/save_part_in_mem_png .

  • Guarde el componente en el fichero de la biblioteca actual haciendo clic en icons/save_library_png .

Descartar cambios en el componente

Cuando esta trabajando en un componente, el componente editado es solo una copia de trabajo del componente en su biblioteca. Esto significa que siempre que no lo haya guardado todavía, puede simplemente cargarlo de nuevo para descartar todos los cambios hechos. Si ya ha guardado el componente en la memoria local y no lo ha guardado al fichero de biblioteca, siempre puede cerrar y abrir de nuevo Eeschema y se desharán todo los cambios.

11.5. Crear bibliotecas de componentes

11.5.1. Crear un nuevo componente

Puede crear un nuevo componente haciendo clic en icons/new_component_png . Se le preguntará por el nombre del componente (este nombre es usado como el valor por defecto del campo valor en el editor de esquemas), la referencia de designación (U, IC, R…), el número de unidades por encapsulado (por ejemplo un 7400 esta formado por 4 unidades por encapsulado) y si quiere crear un estilo alternativo de símbolo (aveces indicado como DeMorgan). Si la referencia de designación se deja en blanco, será puesta por defecto a "U". Estas preferencias pueden cambiarse después, pero es recomendable ajustarlas correctamente a la creación del componente.

eeschema_component_properties_png

Se creará un nuevo componente usando las propiedades descritas y éste aparecerá en el editor como se muestra abajo.

eeschema_libedit_new_png

11.5.2. Crear un componente partiendo de otro componente

A menudo, el componente que desee crear es similar a otro que ya existe en una biblioteca. En este caso es fácil cargar y modificar un componente existente.

  • Cargar el componente que será usado como punto de partida.

  • Haga clic en icons/copycomponent_png o modifique su nombre haciendo doble clic sobre el campo valor y edite el texto. Si elige duplicar el componente actual se le preguntará por un nuevo nombre para el componente.

  • Si el modelo del componente posee un alias, se le indicará que elimine el alias de el nuevo componente que esta en conflicto con la biblioteca actual. Si la respuesta es no, la creación del nuevo componente se abortará. Las bibliotecas de componente no pueden tener ningún nombre ni alias duplicado.

  • Editar el nuevo componente según se requiera.

  • Actualizar el nuevo componente en la biblioteca actual haciendo clic en icons/save_part_in_mem_png o guardarlo en una nueva biblioteca mediante icons/new_library_png o si desea guardar este nuevo componente en otra biblioteca existente selecciónela mediante icons/library_png y guarde el nuevo componente.

  • Guarde el fichero de la biblioteca actual al disco haciendo clic icons/save_library_png .

11.5.3. Propiedades de los componentes

Las propiedades de los componentes deben ser cuidadosamente ajustadas durante su creación o también pueden heredarse de un componente del que sea creado. Para cambiar las propiedades del componente, haga clic en icons/part_properties_png para mostrar el siguiente formulario.

eeschema_properties_for_component_png

It is very important to correctly set the number of units per package and the alternate symbolic representation, if enabled, because when pins are edited or created the corresponding pins for each unit will be affected. If you change the number of units per package after pin creation and editing, there will be additional work to add the new unit pins and symbols. Nevertheless, it is possible to modify these properties at any time.

La opción "Mostrar numero del pin" y "Mostrar nombre del pin" define la visibilidad de la etiqueta de numero y nombre respectivamente. Estos textos serán visibles si se activa la correspondiente opción. La opción "Colocar nombre del pin dentro" define la posición del nombre del pin respecto a la del cuerpo del componente. Este texto sera representado dentro del contorno del componente si la opción esta seleccionada. En tal caso la opción "Desplazamiento de la posición del nombre del pin" define el desplazamiento del texto respecto del final del pin. Valores típicos van de 30 a 40 (en milésimas de pulgada)

El siguiente ejemplo muestra un componente con la opción "Colocar nombre del pin dentro" desactivada. Observe la posición del nombre y numero de los pines.

eeschema_uncheck_pin_name_inside_png

11.5.4. Componentes con símbolos alternativos

Si el componente posee mas de una representación simbólica, debe seleccionar los diferentes símbolos del componente con el fin de editarlos. Para editar el símbolo principal haga clic en icons/morgan1_png .

Para editar el símbolo alternativo haga clic en icons/morgan2_png . Use el desplegable images/toolbar_libedit_part.png mostrado debajo para seleccionar la unidad que desee editar.

eeschema_libedit_select_unit_png

11.6. Elementos gráficos

Los elementos gráficos crean representaciones simbólicas del componente y no contienen información de las conexiones eléctricas. Su diseño es posible mediante el uso de las siguientes herramientas:

  • Líneas y polígonos definidos mediante sus puntos iniciales y finales.

  • Rectángulos definidos mediante dos esquinas opuestas.

  • Círculos definidos mediante su centro y radio.

  • Arcos definidos mediante sus puntos inicial y final asi como el centro de la circunferencia que lo contiene. Un arco va desde 0º a 180º.

La barra de herramientas vertical situada a la derecha de la ventana principal le permite generar todos los elementos gráficos requeridos para diseñar la representación simbólica de un componente.

11.6.1. Características de los elementos gráficos

Cada elemento gráfico (línea, arco, círculo, etc.) puede definirse como común a todas las unidades y/o estilos de símbolo, o específicos a una unidad o estilo de símbolo concreto. Puede accederse rápidamente a las opciones de los elementos mediante un menú contextual haciendo clic derecho en el elemento. Debajo se muestra el menú contextual para un elemento línea.

eeschema_libedit_context_menu_png

Además puede realizar doble clic sobre un elemento para modificar sus propiedades. Debajo se muestra el formulario de propiedades para un elemento polígono.

eeschema_libedit_polyline_properties_png

Las propiedades de un elemento gráfico son:

  • Ancho de línea que define el ancho de las líneas del elemento expresadas en las unidades de dibujo actuales

  • El ajuste "Común a todas las unidades en el componente" define si un elemento gráfico es mostrado en cada unidad del componente con mas de una unidad por encapsulad o si el elemento gráfico solo es mostrado en la unidad actual.

  • El ajuste "Común a todas las unidades (DeMorgan)" define si el elemento gráfico es mostrado en cada representación simbólica en componentes con representación simbólica alternativa o si el elemento gráfico solo es mostrado en la representación actual.

  • El ajuste de estilo de relleno determina si el símbolo definido por el elemento gráfico se mostrara sin relleno, con el fondo relleno, o con el primer plano relleno.

11.6.2. Elementos de texto

The icons/text.png allows for the creation of graphical text. Graphical text is always readable, even when the component is mirrored. Please note that graphical text items are not fields.

11.7. Múltiples unidades por componente y estilos de símbolo alternativos

Los componentes pueden tener dos representaciones simbólicas (un símbolo estándar y un símbolo alternativo normalmente llamado "DeMorgan") y/o poseer mas de una unidad por empaquetado (por ejemplo puertas lógicas). Algunos componentes pueden tener mas de una unidad por paquete con diferentes símbolos y configuración de pines.

Considere por ejemplo un relé con dos contactos el cual puede ser considerado como un componente con tres unidades diferentes: una bobina, contacto 1 y contacto 2. El diseño de un componente con múltiples unidades por encapsulado y/o estilos de símbolo alternativo es bastante flexible. Un pin o un elemento simbólico puede ser común para todas la unidades o especifico a una unidad concreta, o puede ser común para todos los símbolos o especifico para una símbolo concreto del componente.

Por defecto, los pines son específicos a la representación simbólica de cada unidad, debido a que el número del pin es especifico cada unidad, y la forma depende de la representación simbólica. Cuando un pin es común para cada unidad o cada representación simbólica, este debe ser creado solo una vez para todas las unidades o representaciones simbólicas (este es el caso de los pines de alimentación). Este es también el caso del contorno y textos que son comunes para todas las unidades (aunque normalmente son específicos para cada representación simbólica)

11.7.1. Ejemplo de un componente con múltiples unidades con símbolos diferentes:

Este es un ejemplo de un relé definido por tres unidades por encapsulado, contacto 1, contacto 2 y la bobina:

Opción: Los pines no están enlazados. Se pueden añadir o editar pines para cada unidad sin que interfiera en los pines de las otras unidades.

eeschema_libedit_pins_per_part_png

Debe seleccionarse la opción "Todas las unidades no son intercambiables".

eeschema_libedit_not_interchangeable_png

Unidad 1

eeschema_libedit_unit1_png

Unidad 2

eeschema_libedit_unit2_png

Unidad 3

eeschema_libedit_unit3_png

Esta no tiene el mismo símbolo ni distribución de pines que las unidades 1 y 2, y por tanto no es intercambiable con ellas.

Elementos Gráficos Simbólicos

Debajo se muestran las propiedades de un elemento gráfico. Del ejemplo del relé anterior, las tres unidades que lo componen tienen diferente símbolo. Por tanto, cada unidad fue creada de forma separada y los elementos gráficos que forman su símbolo deben tener el campo "Común a todas las unidades en el componente" deshabilitado.

eeschema_libedit_disable_common_png

11.8. Edición y Creación de Pines

Puede hacer clic en icons/pin_png para crear e insertar un pin. La edición de todas las características del pin se realiza mediante doble clic en el pin o clic derecho para abrir el menú contextual del mismo. Los pines deben ser creados con cuidado porque cualquier error tendrá consecuencias en el diseño del PCB. Cualquier pin que sea colocado en el componente puede ser editado, borrado y/o movido.

11.8.1. Resumen de Pines

Un pin es definido por su representación gráfica, su nombre y su "número". El "número" del pin es definido por un conjunto de 4 letras y/o números. Para que la herramienta de Comprobación de Reglas Eléctricas (ERC) sea útil, el tipo "eléctrico" del pin (entrada, salida, tri-estado) también debe ser definido correctamente. Si no se define este tipo correctamente, la comprobación eléctrica del esquema puede ser invalida.

Notas importantes:

  • No use espacio en los campos nombre y número del pin.

  • Para definir un nombre de pin como señal invertida (sobre-rayada) use el carácter ~. El siguiente carácter ~ finalizará el sobre-rayado. Por ejemplo \~FO~O mostrará FO O.

  • Si el nombre del pin se reduce a un único símbolo ~, el pin se considera como no nombrado.

  • Los nombres de pin que comienzan por # son reservados para los puertos de alimentación.

  • Un "número" de pin consiste en 1 a 4 letras y/o números. 1,2,..9999 son números validos. A1, B3, Anod, Gnd, Wire, etc también son válidos.

  • No pueden existir "números" de pin repetidos en un componente.

11.8.2. Propiedades de Pin

eeschema_libedit_pin_properties_png

El formulario de propiedades del pin le permite editar todas las características de un pin. Este formulario aparece automáticamente cuando crea un pin o cuando hace doble clic en un pin que ya exista. Desde este formulario podrá modificar:

  • Nombre y tamaño del texto del nombre.

  • Número y tamaño del texto del número.

  • Longitud.

  • Tipo eléctrico y representación gráfica.

  • Si el pin está definido para todos las unidades y símbolos alternativos.

  • Visibilidad.

11.8.3. Estilo gráfico del pin.

En la siguiente figura se muestran los diferentes estilos gráficos de los pines. La elección de un estilo gráfico no tiene ninguna influencia en el tipo eléctrico del mismo.

eeschema_libedit_pin_properties_style_png

11.8.4. Tipos Eléctricos de Pin

Elegir el tipo eléctrico correctamente es muy importante para la herramienta de comprobación ERC. Los tipos eléctricos definidos son:

  • Bidireccional, que indica un pin bidireccional conmutable entre entrada y salida (por ejemplo el bus de datos de un microprocesador)

  • Tri-estado es la típica salida con 3 estados (alta impedancia)

  • Pasivo es usado para pines de componentes pasivos como resistencias, conectores, etc.

  • No especificado puede ser usado cuando no es importante para el test ERC.

  • Pin de entrada de potencia se usa para los pines de alimentación del componente. Los pines de entrada de potencia son automáticamente conectados a otros pines de potencia con el mismo nombre.

  • Pines de salida de potencia son usados para salidas de reguladores.

  • Emisor abierto y Colector abierto son usados para salidas lógicas definidas como tales en sus componentes.

  • No conectado es usado cuando un componente tiene un pin que no está internamente conectado.

11.8.5. Propiedades Globales del Pin.

Puede modificar la longitud o tamaño del texto del nombre y/o número de todos los pines usando el comando global de el menú contextual del pin. Haga clic en el parámetro que quiera modificar y escriba el nuevo valor que será aplicado a todos los pines del componente actual.

eeschema_libedit_pin_context_menu_png

11.8.6. Definición de pines para múltiples unidades y representaciones de símbolo alternativas

Los componentes con múltiples unidades y/o representaciones gráficas son particularmente problemáticos a la hora de crear y editar pines. La mayoría de los pines son específicos de cada unidad (ya que su número de pin es especifico de cada unidad) y de cada representación simbólica (dado que su forma y representación es especifica de cada representación=. La creación y edición de pines puede ser problemática para componentes con múltiples unidades por encapsulado y representación simbólica alternativa. El editor de bibliotecas de componentes le permite la creación simultanea de pines. Por defecto, los cambios realizados a un pin son realizados para todas las unidades de un componente multi-unidad y ambas representaciones para componentes con símbolo alternativo.

La única excepción a esto son los campos tipo gráfico y nombre del pin. Esa dependencia fue establecida para permitir una creación y edición de pines mas fácil en la mayoría de los casos. Esta dependencia puede ser deshabilitada cambiando el estado de icons/pin2pin_png en la barra de herramientas principal. Esto le permitirá crear pines para cada unidad y representación completamente independientes.

Un componente puede tener dos representaciones simbólicas (representación conocida como "DeMorgan") y puede estar compuesto por mas de una unidad como en el caso de componentes con puertas lógicas. Para ciertos componentes, puede desear distintos elementos gráficos y pines. Como en el ejemplo del relé mostrado en la sección 11.7.1, un relé puede ser representado por tres unidades distintas: una bobina, contacto 1 y contacto 2.

La gestión de componentes con múltiples unidades y representación simbólica alternativa es flexible. Un pin puede ser común o especifico de diferentes unidades. Un pin puede, además, se común para ambas representaciones simbólicas o especifico de cada símbolo.

Por defecto, los pines son específicos de cada unidad, dado que sus números son diferentes para cada unidad, y su diseño es diferente para cada representación simbólica. Cuando un pin es común para todas las unidades este solo se dibuja una vez como en el caso de los pines de alimentación.

Un ejemplo son los pines de salida para un 7400 cuatro puertas NAND de 2 entradas. Como hay cuatro unidades y dos representaciones simbólicas, hay ocho pines de salida distintos definidos en el componente. Cuando se crea un nuevo componente 7400, la unidad A del símbolo normal se representa en el editor de bibliotecas. Para editar el estilo de pin de la representación alternativa, esta debe ser primero habilitada haciendo clic en el botón icons/morgan2_png en la barra de herramientas. Para editar el número de pin de cada unidad, seleccione la unidad apropiada usando el menú desplegable images/toolbar_libedit_alias.png

11.9. Campos de componentes

Todos los componentes de una biblioteca son definidos por cuatro campos. Su referencia de designación, valor, asignación de huella y enlace al archivo de documentación son creados cuando un componente es creado o copiado. Solo los campos referencia y el valor son necesarios. Para los campos existentes puede usar el menú contextual haciendo clic con el botón derecho. Los componentes definidos en bibliotecas están normalmente definido con estos cuatro campos. Campos adicionales como vendedor, numero de parte, coste unitario, etc pueden añadirse a los componentes en la biblioteca pero normalmente esto se realiza en el editor de esquemas y de esta forma estos campos adicionales pueden aplicarse a todos los componentes en el esquema.

11.9.1. Edición de los Campos en los Componentes

Para editar un campo existente en un componente, haga clic derecho sobre el campo para mostrar el menú contextual del mismo.

eeschema_libedit_field_context_menu_png

To edit undefined fields, add new fields, or delete optional fields icons/text.png on the main tool bar to open the field properties dialog shown below.

eeschema_libedit_field_properties_png

Los campos son secciones de texto asociados con el componente. No confunda éstos con el texto perteneciente a la representación gráfica del componente.

Notas importantes:

  • La modificación de los valores de los campos crea un nuevo componente usando el componente actual como punto de partida para el nuevo componente. Este nuevo componente contiene su nombre en el campo "valor" cuando es salvado a la biblioteca actualmente seleccionada.

  • The field edit dialog above must be used to edit a field that is empty or has the invisible attribute enabled.

  • La huella es definida como una huella absoluta usando la notación LIBNAME:FPNAME donde LIBNAME es el nombre de la biblioteca de símbolos definido en la tabla de bibliotecas de símbolos (Ver la sección "Tabla de Bibliotecas de Símbolos" en el "Manual de Referencia" de Pcbnew) y FPNAME es el nombre de la huella en la biblioteca LIBNAME

11.10. Símbolos de Potencia

Los símbolos de potencia son creados del mismo modo que los componentes normales. Puede se útil ubicarlos en una biblioteca dedicada como por ejemplo power.lib. Los símbolos de potencia consisten en símbolos gráficos y un pin del tipo "Power Invisible". Los símbolos de potencia son gestionados del mismo modo que cualquier otro componente por el software de realización de esquemas. Algunas precauciones son esenciales. Debajo se muestra un ejemplo de un símbolo de potencia +5V.

eeschema_libedit_power_symbol_png

Para crear un símbolo de potencia siga los siguientes pasos:

  • Añada un pin de tipo "Pin de entrada de potencia" llamado +5V (esto es importante porque este nombre establecerá una conexión a la red +5V) con número de pin 1 (el numero no es relevante), una longitud de 0, y un estilo gráfico tipo "Linea"

  • Coloque un pequeño círculo y un segmento desde el pin hasta el círculo tal y como se muestra.

  • El punto de anclaje del símbolo esta en el pin.

  • El campo "valor" del componente es +5V.

  • La referencia del componente es \#+5V. El texto de la referencia no es importante a excepción del primer carácter que debe de ser # para indicar que el componente es un símbolo de potencia. Por convención, cada componente cuyo campo referencia comience con # no aparecerá en la lista de componentes o en el netlist, y la referencia es declarada como invisible.

Una manera mas fácil de crear un nuevo símbolo de potencia es usar otro símbolo como modelo.

  • Cargue un símbolo de potencia existente.

  • Edite el nombre del pin con el nombre del nuevo símbolo de potencia.

  • Edite el campo "valor" con el mismo nombre que el pin, si desea mostrar el valor del símbolo de potencia.

  • Guarde el nuevo componente.

12. LibEdit - Components

12.1. Resumen

Un componente consiste en los siguientes elementos

  • Una representación gráfica (formas geométricas, textos).

  • Pines.

  • Campos o textos asociados usados por el post-procesador: netlist, lista de componentes.

Dos campos son inicializados: referencia y valor. El nombre de el diseño asociado con el componente, y el nombre de la huella asociada. Los otros campos son campos libres, que generalmente puede estar vacíos y pueden rellenarse durante la captura del esquema.

De todas formas, controlar la documentación asociada con cualquier componente facilita la búsqueda, uso y mantenimiento de las bibliotecas. La documentación asociada consiste en:

  • Una línea de comentarios

  • Una línea de palabras clave como TTL CMOS NAND2, separadas por espacios.

  • Un nombre de fichero adjunto (por ejemplo una nota de aplicación o un fichero pdf)

    El directorio por defecto de ficheros adjuntos:

    kicad/share/library/doc

    Si no se encuentra:

    kicad/library/doc

    Bajo linux:

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

    /usr/share/kicad/library/doc

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

Las palabras clave le permiten buscar selectivamente por un componente de acuerdo a varios criterios de selección. Los comentarios y las palabras clave son mostrados en varios menús, y particularmente cuando selecciona un componente de la biblioteca.

El componente tiene además un punto de anclaje. Las rotaciones o reflexiones en el componente son realizadas respecto de este punto de anclaje, y durante su colocación, este punto es usado como posición de referencia. Por tanto es útil colocar este punto con precisión.

Un componente puede tener alias, por ejemplo nombres equivalentes. Esto permite reducir considerablemente el número de componentes que necesitamos crear (por ejemplo, un 74LS00 puede tener alias como 74000, 74HC00, 74HCT00…).

Por ultimo, los componentes están distribuidos en bibliotecas (clasificadas por temáticas, o fabricante) con el fin de facilitar su gestión.

12.2. Posicionar el punto de anclaje de un componente

El punto de anclaje es la coordenada (0,0) y es representado mediante los ejes azules mostrados en la pantalla.

eeschema_libedit_anchor_png

El punto de anclaje puede ser reubicado seleccionando el icono icons/anchor_png y haciendo clic sobre en nuevo punto de anclaje deseado. El dibujo será automáticamente re-centrado sobre el nuevo punto de anclaje.

12.3. Alias de componentes

Un alias es otro nombre correspondiente al mismo componente en una biblioteca. Los componentes con idéntica distrubución de pines y representación pueden ser representado por solo un componente que tenga distintos alias (pej. 7400 con alias 74LS00, 74HC00, 74LS37).

El uso de alias le permite crear bibliotecas completas rápidamente. Además, estas bibliotecas al ser mas compactas son cargadas mas fácil por KiCad.

Para modificar la lista de alias, debe seleccionar la ventana principal de edición vía el icono icons/part_properties_png y seleccionar la pestaña alias.

eeschema_libedit_alias_png

Puede, de este modo, añadir o eliminar los alias deseado. El alias del componente actual no puede ser eliminado, obviamente, mientras este siendo editado.

Para eliminar todos los alias, debe primero seleccionar el componente raíz. El primer componente en la lista de alias en la desplegable de selección situado en la barra de herramientas principal.

12.4. Campos de los componentes

The field editor is called via the icon icons/text.png .

Hay cuatro campos especiales (textos adjuntos al componente), y campos de usuario configurables.

eeschema_library_component_field_png

Campos especiales

  • Referencia.

  • Valor. Es el nombre del componente en la biblioteca y el campo valor por defecto en el esquema.

  • Huella. Es la el nombre de la huella usado en la placa. No es muy útil si se utiliza CvPcb para configurar la lista de huellas, pero obligatorio si CvPcb no se usa.

  • Hoja. Es un campo reservado, no usado durante el tiempo de edición.

12.5. Documentación del componente.

Para editar la información de documentación. es necesario llamar a la ventana principal de edición del componente mediante el icono icons/part_properties_png y seleccionar la pestaña documento.

eeschema_libedit_description_png

Asegúrese de seleccionar el alias correcto, o el componente raíz, porque esta documentación es la única característica que difiere entre distintos alias. El botón "Copy Doc" permite copiar la información de documentación desde el componente raíz hacia el alias editado actualmente.

12.5.1. Palabras clave del componente

Las palabras clave le permite buscar de una forma selectiva un componente de acuerdo a un criterio de selección especifico (función, familia tecnológica, etc.)

La herramienta de búsqueda de Eeschema no es sensible a mayúsculas. Las palabras clave típicas en las bibliotecas son:

  • CMOS TTL para las familias lógicas.

  • AND2 NOR3 XOR2 INV… para las puertas (AND2 = puerta AND de 2 entradas, NOR3 = puerta NOR de 3 entradas)

  • JKFF DFF… para los flip-flop tipo JK o tipo D.

  • ADC, DAC, MUX…

  • OpenCol for the gates with open collector output. Thus if in the schematic capture software, you search the component: by keywords NAND2 OpenCol Eeschema will display the list of components having these 2 key words.

12.5.2. Documentación del componente (Doc)

La linea de comentarios (y palabras clave) se muestra en varios menús, particularmente cuando se selecciona un componente en la lista de componentes de una biblioteca y en el menú ViewLib.

Si el fichero Doc existe, este es además accesible en el software de captura del esquema, en el menú emergente mostrado al hacer clic con el botón derecho sobre el componente.

12.5.3. Fichero de documentación asociado (DocFileName)

Indica un fichero adjunto (documentación, notas de aplicación) disponible (fichero pdf, diagrama de esquema, etc).

12.5.4. Filtrado de huella para CvPcb

Puede añadir una lista de huellas permitidas para el componente. Esta lista actúa como un filtro usado por CvPcb para mostrar solo las huellas permitidas. Una lista vacía no filtrará nada.

eeschema_libedit_footprint_png

Están permitidos los metacaracteres.

SO14* permite a CvPcb mostrar todos las huellas cuyo nombre comience por S014.

Para una resistencia, R? muestra todas las huellas de 2 letras que comiencen por R.

Aquí hay unos ejemplos: con y sin filtrado.

Con filtrado.

eeschema_cvpcb_with_filtering_png

Sin filtrado

eeschema_cvpcb_without_filtering_png

12.6. Biblioteca de símbolos

Puede reunir fácilmente un archivo de biblioteca de gráficos de símbolos usados con frecuencia. Esto puede ser usado para la creación de componentes (triángulos, la forma de las puertas AND, OR, OR exclusivo, etc.), guardarlos y su posterior reutilización.

Estos ficheros son almacenados por defecto en el directorio de bibliotecas y tienen la extensión .sym. Los símbolos no son recopilados en bibliotecas como los componentes ya que éstos generalmente no son muchos.

12.6.1. Exportar o crear un símbolo

A component can be exported as a symbol with the button icons/export_png . You can generally create only one graphic, also it will be a good idea to delete all pins, if they exist.

12.6.2. Importar un símbolo

El importar permite añadir gráficos a un componente que se este editando. Un símbolo se importa con el botón Import graphic icon . Los gráficos importados son añadidos tal y como fueron creados en los ficheros existentes.

13. Symbol Library Browser

13.1. Introducción

The Symbol Library Browser allows you to quickly examine the content of symbol libraries. The Symbol Library Viewer can be accessed by the main toolbar button icons/library_browse_png or by the "Library Browser" entry in the "Tool" menu.

eeschema_viewlib_choose_png

13.2. Viewlib - pantalla principal

eeschema_viewlib_select_library_png

To examine the contents of a library, select a library from the list on the left hand pane. All symbols in the selected library will appear in the second pane. Select a symbol name to view the symbol.

eeschema_viewlib_select_component_png

13.3. Symbol Library Browser Top Toolbar

The top tool bar in Symbol Library Brower is shown below.

images/toolbar_viewlib.png

The available commands are:

icons/library_png

Selecciona la biblioteca deseada que también puede ser seleccionada en la lista mostrada.

icons/add_component_png

Selection of the symbol which can be also selected in the displayed list.

icons/lib_previous_png

Display previous symbol.

icons/lib_next_png

Display next symbol.

images/icons/zoom_in.png images/icons/zoom_out.png images/icons/zoom_redraw.png images/icons/zoom_fit_in_page.png

Herramienas de Zoom.

images/icons/morgan1.png images/icons/morgan2.png

Selecciona la representación (normal o alternativa) si existe.

images/toolbar_viewlib_part.png

Selection of the unit for symbols that contain multiple units.

icons/datasheet_png

If it exist, display the associated documents. Exists only when called by the place symbol dialog frame from Eeschema.

icons/export_png

Close the browser and place the selected symbol in Eeschema. This icon is only displayed when browser has been called from Eeschema (double click on a symbol in the component chooser).

14. Creando Netlists y Ficheros BOM Personalizados

14.1. Ficheros Netlist Intermedios

Ficheros BOM y netlist pueden ser convertidos desde un fichero netlist intermedio creado por Eeschema.

Este fichero usa sintaxis XML y es llamado el netlist intermedio. Este netlist intermedio incluye gran cantidad de datos sobre su placa y por ello puede ser usado mediante post-procesamiento para crear una lista BOM u otros informes.

Dependiendo de la salida (BOM o netlist), diferentes subconjuntos del fichero netlist intermedio completo serán usados en el post-procesado.

14.1.1. Ejemplo de Esquema

Ejemplo de Esquema

14.1.2. Ejemplo del fichero Netlist Intermedio

El netlist intermedio correspondiente (usando sintaxis XML) al circuito anterior es mostrado a continuación.

<?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>

14.2. Conversión a un nuevo formato de netlist

Aplicando un filtro de post-procesado al fichero netlist intermedio puede generar ficheros netlist en otros formatos, así como ficheros de listas BOM. Como esta conversión es una transformación tipo texto a texto, este filtro de post-procesado puede ser escrito usando Python, XSLT, u otra herramienta capaz de aceptar XML como entrada

XSLT itself is an XML language very suitable for XML transformations. There is a free program called xsltproc that you can download and install. The xsltproc program can be used to read the Intermediate XML netlist input file, apply a style-sheet to transform the input, and save the results in an output file. Use of xsltproc requires a style-sheet file using XSLT conventions. The full conversion process is handled by Eeschema, after it is configured once to run xsltproc in a specific way.

14.3. Introduccion de XSLT

El documento que describe las transformaciones XSL (XSLT) está disponible aqui:

http://www.w3.org/TR/xslt

14.3.1. Crear un fichero netlist Pads-Pcb

El formato pads-pcb está compuesto por dos secciones.

  • La lista de huellas.

  • La lista de nodos: Agrupando las referencias de los pads por nodos.

Justo debajo se muestra una hoja de estilo que convierte el fichero netlist intermedio al 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>

Y aquí se muestra el fichero de salida tipo netlist pads-pcb tras ejecutar 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 linea de comando para realizar esta conversión es:

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

14.3.2. Crear un fichero netlist tipo Cadstar

El formato Cadstar está compuesto por dos secciones.

  • La lista de huellas.

  • La lista de nodos: Agrupando las referencias de los pads por nodos.

Aquí se muestra un fichero de hoja de estilo que realiza esta conversión:

<?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 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>

<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>

A continuación se muestra el fichero de salida formato Caadstar.

.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

14.3.3. Create an OrcadPCB2 netlist file

Este formato tiene solo una sección que es la lista de huellas. Cada huella incluye su lista de pads con referencias a nodos.

Aqui se muestra la hoja de estilo para esta conversión:

<?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>

Este es el fichero de salida en formato OrcadPCB2

( { 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 )
 )
)
*

14.3.4. Interfaz de plugins de Eeschema

Los conversores de netlist intermedio pueden ser automáticamente ejecutados dentro de Eeschema.

Inicie la ventana de dialogo

Ahora puede añadir una nueva interfaz de usuario para el netlist plug-in haciendo clic sobre el botón "Añadir Plugin".

eeschema_plugin_add_plugin_png

A continuación se muestra el aspecto de los datos de configuración para el formato PadsPcb.

eeschema_plugin_padspcb_png
Parámetros de configuración de Plugins

La ventana de configuración de plug-in en Eeschema necesita la siguiente información:

  • El título: por ejemplo, el nombre del formato de netlist.

  • La comando para lanzar el conversor.

Una vez que hace clic en el boto netlist sucede lo siguiente:

  1. Eeschema crea un fichero netlist intermedio *.xml, por ejemplo test.xml.

  2. Eeschema ejecuta el plug-in leyendo test.xml y crea test.net

Generar ficheros netlist bajo linea de comando.

Suponiendo que estamos usando el programa xsltproc.exe para aplicar la hoja de estilo al fichero intermedio, xsltproc.exe se ejecutará con el siguiente comando:

xsltproc.exe -o <output filename> < style-sheet filename> <input XML file to convert>

En KiCad bajo Windows la linea de comando es la siguiente:

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

Bajo Linux la linea de comando es como sigue:

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

Donde netlist_form_pads-pcb.xsl es la hoja de estilo que se esta aplicando. No olvide las comillas dobles en el nombre del fichero, esto le permite tener espacios tras la sustitución por Eeschema.

El formato de los comandos acepta parámetros como nombres de archivo.

El formato de los parámetros admitidos es:

  • %B ⇒ nombre de archivo base y ruta del fichero de salida seleccionado, menos la ruta y extensión.

  • %I ⇒ nombre de archivo completo y ruta del fichero temporal de entrada (el fichero netlist intermedio)

  • %O ⇒ nombre de archivo completo y ruta del fichero de salida elegido.

%I será reemplazado por el nombre de archivo del fichero intermedio actual.

%O será reemplazado por el nombre de archivo del fichero de salida actual.

Formato del comando: ejemplo para xsltproc

El formato del comando para xsltproc es el siguiente:

<path of xsltproc> xsltproc <xsltproc parameters>

bajo Windows:

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

bajo Linux:

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

Los ejemplos anteriores suponen que xsltproc esta instalado en su PC bajo Windows y todos los ficheros están ubicados en kicad/bin.

14.3.5. Generación de Listas de Materiales

Dado que el netlist intermedio contiene toda la información sobre los componentes usados, una lista BOM puede ser extraída de el. Aquí se muestra la ventana de ajuste del plug-in (en Linux) para crear un fichero de lista de materiales (BOM) personalizado:

bom-netlist-tab_png

La ruta al archivo de hoja de estilo bom2csv.xsl depende del sistema empleado. La mejor hoja de estilo XSLT actualmente para la generación de listas de materiales es llamada bom2csv.xsl. Siéntase libre de modificarla de acuerdo a sus necesidades, y si desarrolla algo útil en general, pregunte para que forme parte del proyecto kiCad.

14.4. Formato de Comandos: ejemplos para scripts de python

El formato de los comandos para python es algo parecido a:

python <nombre del script> <archivo de entrada> <archivo de salida>

bajo Windows:

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

bajo Linux:

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

Suponiendo que python esta instalado en su PC.

14.5. Estructura del Netlist Intermedio

Este ejemplo muestra una idea del formato del fichero de 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>

14.5.1. Estructura del fichero netlist generado

El fichero netlist intermedio cuenta con cinco secciones.

  • La cabecera.

  • La sección de componentes.

  • La sección de bloques de bibliotecas.

  • La sección de bibliotecas.

  • La sección de nodos.

El contenido del archivo tiene el delimitador <export>

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

14.5.2. La Cabecera

La cabecera tiene el delimitador <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>

Esta sección puede ser considerada como una sección para comentarios.

14.5.3. La sección de componentes

La sección de componentes tiene el delimitador <components>

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

Esta sección contiene la lista de componentes en el esquema eléctrico. Cada componente es descrito como sigue:

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

libsource

nombre de la biblioteca donde se encuentra el componente.

part

nombre del componente dentro de esta biblioteca.

sheetpath

ruta de la hoja dentro de la jerarquía: identifica la hoja dentro de la jerarquía completa del esquema.

tstamps (time stamps)

registro temporal del fichero de esquema.

tstamp (time stamp)

registro temporal del componente.

Nota sobre los registros temporales para los componentes

Para identificar un componente en un netlist y por lo tanto en una placa, el registro temporal es usado como único para cada componente. Sin embargo KiCad dispone de una forma auxiliar para identificar un componente que consiste en la correspondiente huella sobre la placa. Esto permite la re-anotación de componentes en el esquema del proyecto sin la perdida del enlace entre el componente y su huella.

Una marca temporal es un identificador único para cada componente o hoja en el esquema. De todas formas, en jerarquías complejas, la misma hoja es usada mas de una vez, por eso esta hoja contiene componentes con la misma marcha temporal

Una hoja concreta dentro de una jerarquía compleja tiene un identificador único: su ruta. Un componente concreto (dentro de una jerarquía compleja) tiene un identificador único: la ruta de su hoja + su marca temporal.

14.5.4. La sección Libparts

La sección libparts tiene el delimitador <libparts>, y su contenido es definido en las bibliotecas del esquema. La sección libparts contiene

  • Los nombres de las huellas permitidas (los nombres utilizan comodines) con delimitador <fp>.

  • Los campos definidos en la biblioteca con delimitador <fields>.

  • La lista de pines con delimitador <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>

Las líneas como <pin num="1" type="passive"/> indican, además, las especificaciones eléctricas del pin. Los posibles tipos eléctricos para los pines son

Input

Pin de entrada

Output

Pin de salida

Bidirectional

Entrada o salida

Tri-state

Entrada/salida de bus

Passive

Finales de componentes pasivos

Unspecified

Tipo eléctrico desconocido

Power input

Pin de entrada de potencia de un componente

Power output

Pin de salida de potencia como las salidas de reguladores

Open collector

Salidas a colector abierto a menudo encontradas en comparadores analógicos

Open emitter

Salidas a emisor abierto aveces encontradas en lógica.

Not connected

Debe ser dejado sin conectar en el esquema

14.5.5. La sección bibliotecas

La sección bibliotecas tiene el delimitador <libraries>. Esta sección contiene la lista de bibliotecas usada en el proyecto.

<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>

14.5.6. La sección nodos

La sección nodos usa el delimitador <nets>. Esta sección especifica la "conectividad" del esquema.

<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>

Esta sección contiene todos los nodos del esquema.

Un posible nodo contiene lo siguiente.

<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

es un identificador interno para este nodo

name

es el nombre del nodo

node

indica la referencia de un pin conectado a este nodo

14.6. Mas sobre xsltproc

Consultar la página: http://xmlsoft.org/XSLT/xsltproc.html

14.6.1. Introducción

xsltproc es una herramienta bajo línea de comando para aplicar hojas de estilo XSLT a documentos XML. Aunque fue desarrollada como parte del proyecto GNOME, puede funcionar independientemente del escritorio GNOME.

xsltproc es invocado desde la consola con el nombre de la hoja de estilo a ser usada seguida del nombre del fichero o ficheros a los que ha de aplicarse la hoja de estilo. Usará la entrada estándar si el nombre de fichero indicado es - .

Si una hoja de estilo es incluida en un documento XML con instrucciones de procesamiento, no se necesita llamar a ninguna hoja de estilo en el comando. xsltproc detectará automáticamente la hoja de estilo incluida y la usará. Por defecto, la salida la redirige a stdout. Puede especificar un fichero como salida usando la opción -o.

14.6.2. Resumen

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

14.6.3. Opciones del comando

-V o --version

Muestra las versiones de libxml y libxslt usadas.

-v o --verbose

Muestra cada paso tomado por xsltproc durante el procesado de la hoja de estilo y el documento.

-o o --output file

Redirige la salida al fichero llamado file. Para múltiples salidas, también conocido como “chunking”, -o directorio/ redirige los ficheros de salida al directorio especificado. El directorio de existir previamente.

--timing

Muestra el tiempo usado para traducir la hoja de estilo, traducir el documento, aplicar la hoja de estilo y guardar el resultado. Se muestra en milisegundos.

--repeat

Usa la transformación 20 veces. Usado para test de tiempos.

--debug

Muestra un árbol XML del documento transformado con propósitos de depuración.

--novalid

Omite la carga del DTD del documento.

--noout

No muestra el resultado.

--maxdepth value

Ajusta la profundidad máxima de la pila de la plantilla para evitar que libxslt entre en un bucle infinito. Por defecto es 500.

--html

El fichero de entrada es un fichero HTML

--param name value

Pasa un parámetro de nombre name y valor value a la hoja de estilo. Puede pasar múltiples parejas nombre/valor hasta un máximo de 32. Si el valor que se pasa es una cadena en vez de un identificador de nodo, use --stringparam en su lugar.

--stringparam name value

Pasa un parámetro de nombre name y valor value donde value es una cadena en vez de un identificador de nodo. (Nota: la cadena debe estar en formato utf-8)

--nonet

No utiliza Internet para buscar los DTD, entidades o documentos.

--path paths

Use the list (separated by space or column) of filesystem paths specified by paths to load DTDs, entities or documents.

--load-trace

Muestra en stderr todos los documentos cargados durante el proceso.

--catalogs

Usa el catálogo especificado en SGML_CATALOG_FILES para resolver la ubicación de entidades externas. Por defecto, xsltproc busca el catálogo especificado en XML_CATALOG_FILES. Si este no se especifica, usa /etc/xml/catalog.

--xinclude

Procesa el documento de entrada usando las especificaciones Xinclude. Mas detalles sobre esto pueden obtenerse en las especificaciones Xinclude: http://www.w3.org/TR/xinclude/

--profile --norman

Muestra información de evaluación indicando la cantidad de tiempo consumida en cada parte de la hoja de estilo. Esto es útil para la optimización del rendimiento de las hojas de estilo.

--dumpextensions

Vuelca la lista de todas la extensiones registradas por stdout.

--nowrite

Rechaza la escritura a cualquier archivo o recurso.

--nomkdir

Rechaza la creación de directorios.

--writesubtree path

Permite la escritura de ficheros solo en la ruta especificada en path.

--nodtdattr

No aplica los atributos por defecto de los DTD de los documentos.

14.6.4. Valores de retorno para Xsltproc

Xsltproc devuelve un numero de estado que puede ser bastante útil cuando se llama desde un script.

0: normal

1: sin argumento

2: demasiados parámetros

3: opción desconocida

4: fallo al traducir la hoja de estilo

5: error en la hoja de estilo

6: error en uno de los documentos.

7: método de salida:xsl no soportado

8: parámetro cadena contiene comilla simples y dobles

9: error de procesamiento interno

10: El proceso fue interrumpido por un mensaje de finalización

11: no se puede escribir el resultado al fichero de salida

14.6.5. Mas información sobre xsltproc

página web de libxml: http://www.xmlsoft.org/

Página W3C XSLT: http://www.w3.org/TR/xslt