Руководство пользователя

Авторские права на данный документ © 2010-2018 принадлежит его разработчикам (соавторам), перечисленным ниже. Вы можете распространять и/или изменять его в соответствии с правилами лицензии GNU General Public License (http://www.gnu.org/licenses/gpl.html), версии 3 или более поздней, или лицензии типа Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), версии 3.0 или более поздней.

Все торговые знаки этого руководства принадлежат его владельцам.

Соавторы

Jean-Pierre Charras, Fabrizio Tappero.

Перевод

Барановский Константин <baranovskiykonstantin@gmail.com>, 2016.

Обратная связь

Просьба оставлять все комментарии и замечания на следующих ресурсах:

Дата публикации

30 мая 2015 года

1. Общая информация об Eeschema

1.1. Описание

Eeschema - это приложение для создания электрических схем, которое является частью САПР KiCad, и доступно для пользователей следующих операционных систем:

  • Linux

  • Apple macOS

  • Windows

Не зависимо от типа операционной системы все файлы Eeschema полностью совместимы.

Eeschema - это прикладное программное обеспечение в котором содержится весь необходимый функционал для черчения схем, настройки, управления библиотеками и генерации необходимых данных для дальнейшей передачи в приложения проектирования печатных плат.

Eeschema предназначена для работы совместно с трассировщиком печатных плат из комплекта приложений САПР KiCad - PcbNew. Но, несмотря на это, есть возможность генерации списка соединений (Netlist) других форматов, для совместной работы с другими САПР.

Eeschema включает в себя редактор библиотеки компонентов, который позволяет создавать, редактировать компоненты и управлять библиотеками. Также имеются дополнительные, но очень важные, инструменты, необходимые при проектировании современных электрических схем:

  • Проверка электрических правил проектирования (ERC) для автоматического обнаружения неверных или пропущенных соединений.

  • Экспорт изображения схемы в файлы различных форматов (Postscript, PDF, HPGL и SVG).

  • Генератор перечня элементов (BOM) различных форматов с помощью внешних инструментов.

1.2. Технические характеристики

Eeschema ограничена лишь доступным объемом памяти. В ней нет абсолютно никаких ограничений ни на количество компонентов, ни на количество выводов, ни на количество листов. В случае многолистовых схем, они представляются в виде иерархии.

В Eeschema многолистовые схемы могут быть следующих типов:

  • Простые иерархии (каждый лист используется лишь один раз).

  • Сложные иерархии (некоторые листы используются два и более раз).

  • Плоские иерархии (иерархические листы не связаны явным образом на корневом листе схемы).

2. Основные команды Eeschema

Команду можно вызвать из:

  • основного меню (в верхней части окна);

  • верхней панели инструментов (основные команды);

  • правой панели инструментов (вспомогательные команды или "интструменты");

  • левой панели инструментов (параметры отображения);

  • кнопок мыши (важные дополнительные команды). В частности, правая кнопка мыши открывает контекстное меню для элемента под курсором (масштаб, сетка и команды редактирования элементов);

  • функциональных кнопок (F1, F2, F3, F4, Insert и Пробел). В особенности: Escape - позволяет прервать выполнение текущей команды. Insert - создать копию последнего добавленного компонента.

  • горячих клавиш, которые, обычно, выбирают один из инструментов и задействуют его в месте текущего положения курсора. Для просмотра перечня горячих клавиш, откройте меню "Справка→Список горячих клавиш" или нажмите клавишу ?.

Обзор команд

2.1. Команды мыши

2.1.1. Основные команды

Левая кнопка

  • Single click: displays the characteristics of the symbol or text under the cursor in the status bar.

  • Double click: edit (if the element is editable) the symbol or text.

Правая кнопка

  • Открывает контекстное меню.

2.1.2. Операции над блоками

В Eeschema можно перемещать, перетаскивать, копировать или удалять выделенные области с помощью контекстного меню.

Нужные области выделяются путем перетаскивания курсора мыши с нажатой левой кнопкой.

Нажимая клавишу "Shift", "Ctrl" или "Shift + Ctrl" в процессе выделения можно сразу копировать, перетаскивать или удалять, соответственно.

Левая кнопка мыши

Переместить выделенную область.

Shift + левая кнопка мыши

Копировать выделенную область.

Ctrl + левая кнопка мыши

Перетащить выделенную область.

Ctrl + Shift + левая кнопка мыши

Удалить выделенную область.

При перетаскивании или копировании можно:

  • нажать левую кнопку мыши, чтобы расположить выделенный блок;

  • нажать правую кнопку мыши или клавишу Escape, чтобы отменить текущее действие.

При перемещении выделенного блока можно выбрать другую операцию из контекстного меню (правая кнопка мыши).

контекстное меню основного окна

2.2. Горячие клавиши

  • Чтобы просмотреть текущий список горячих клавиш нужно нажать "?" на клавиатуре.

  • Горячие клавиши можно отредактировать на вкладке Управление в диалоговом окне Параметров редактора схем (меню Настройки → Общие настройки).

Ниже показан список горячих клавиш со значениями по умолчанию.

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

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 Symbol

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

Любую горячую клавишу можно изменить используя редактор горячих клавиш (меню Настройки→Общие настройки→Управление).

Существует возможность импорта/экспорта установленных горячих клавиш через меню Настройки→Импорт/Экспорт горячих клавиш.

2.3. Сетка

В Eeschema курсор всегда перемещается по сетке. Шаг сетки можно менять:

  • Изменить шаг сетки можно через контекстное меню или основное меню "Настройки"→"Параметры".

  • Цвет можно изменить на вкладке Цвета в диалоговом окне Параметров редактора схем (меню Настройки → Общие настройки).

  • Видимость сетки можно переключить используя кнопку на левой панели инструментов.

По умолчанию шаг сетки равен 50 мил (0.050") или 1,27 мм.

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

Допускается работа и с сетками меньшего размера от 25 мил до 10 мил. Это приемлемо при построении символа компонента или расположении текста и комментариев, но не желательно при размещении выводов или проводников.

2.4. Изменение масштаба

Изменить масштаб можно с помощью:

  • Правой кнопки мыши: откроется контекстное меню из которого можно выбрать нужный масштаб.

  • Функциональных клавиш:

    • F1: Увеличить масштаб

    • F2: Уменьшить масштаб

    • F4 или щелчок средней кнопкой мыши (без перемещения курсора): Отцентровать изображение схемы по позиции курсора

  • Колеса мыши:

    • Колесо мыши: Увеличить или уменьшить масштаб

    • Shift+Колесо мыши: Панорамирование вверх или вниз

    • Ctrl+Колесо мыши: Панорамирование влево или вправо

2.5. Отображение координат курсора

Базовой единицей измерения в Eeschema является тысячная часть дюйма (0.001", мил). Не смотря на это, все размеры могут отображаться как в дюймах, так и в миллиметрах.

В правой нижней части окна отображается следующая информация:

  • Масштаб

  • Абсолютные координаты курсора

  • Относительные координаты курсора

Центр относительных координат устанавливается с помощью клавиши пробел. С помощью этих координат удобно измерять расстояния между двумя точками и выравнивать объекты.

панель_состояния

2.6. Основное меню

Основное меню позволяет открывать и сохранять схемы, настраивать программу, а также предоставляет доступ к справочным руководствам.

основное меню

2.7. Верхняя панель инструментов

Эта панель предоставляет доступ к главным функциям программы Eeschema.

Если Eeschema запущена в автономном режиме, то будет доступен следующий набор инструментов:

images/toolbar_schedit_standalone.png

Заметьте, что в режиме проекта (при запуске программы из менеджера проектов KiCad), первые две кнопки недоступны, так как они предназначены для работы с отдельными файлами.

New schematic icon

Создать новую схему (только в автономном режиме).

Open schematic icon

Открыть схему (только в автономном режиме).

Save schematic icon

Сохранить все (включая иерархические) листы.

Page Settings icon

Настроить параметры листа и заполнить основную надпись.

Print icon

Открыть диалог печати.

icons/paste_png

Вставить скопированный/вырезанный элемент или блок в текущий лист.

icons/undo_png

Отменить последнее изменение.

icons/redo_png

Повторить предыдущее изменение.

search icon

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

search replace icon

Открыть диалог для поиска и замены текста в схеме.

icons/zoom_redraw icons/zoom_fit_in_page_png

Обновить изображение схемы. Вместить схему в окно программы.

icons/zoom_in icons/zoom_out

Масштаб (увеличить, уменьшить).

hierarchy navigator icon

Навигация по иерархическим листам схемы.

icons/leave_sheet

Покинуть текущий лист и перейти на уровень выше.

icons/libedit_png

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

icons/library_browse_png

Просмотреть библиотеки компонентов.

icons_annotate_png

Обозначить компоненты схемы.

ERC icon

Выполнить проверку электрических правил проектирования (ERC).

run cvpcb icon

Запустить CvPcb для назначения посадочных мест компонентам схемы.

Netlist icon

Сформировать список цепей (для Pcbnew, SPICE и других).

Symbol fields editor icon

Редактировать поля компонента.

BOM icon

Сформировать перечень элементов (BOM).

icons/pcbnew_png

Запустить Pcbnew для проектирования печатной платы.

Import Footprint Names icon

Загрузить значения посадочных мест компонентов (выбранных в CvPcb) в соответствующие поля "Посадочное место".

2.8. Правая панель инструментов

Эта панель содержит инструменты для:

  • Размещения компонентов, проводников, шин, соединений, меток, текста и т.п.

  • Создания иерархических листов и их выводов

Cancel tool icon

Прервать выполнение текущей команды или инструмента.

Highlight net icon

Подсветить цепь, выделяя проводники и метки особым цветом. Если KiCad работает в режиме проекта, то в Pcbnew будут подсвечены медные проводники, относящиеся к выделенной цепи.

New Symbol icon

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

Add Power icon

Открыть диалог выбора символа питания для добавления в схему.

icons/add_line_png

Чертить проводник.

icons/add_bus_png

Чертить шину.

icons/add_line2bus_png

Разместить соединение проводника с шиной. На самом деле этот элемент носит лишь графический характер и не создает никаких соединений, поэтому с его помощью нельзя соединять проводники между собой.

icons/add_bus2bus_png

Разместить соединение шины с шиной.

icons/noconn_png

Разместить флаг "Не подключено". Этот флаг устанавливается на выводах, которые умышленно оставлены без соединений. Делается это для избежания предупреждений при выполнении проверки электрических правил проектирования.

icons/add_junction_png

Разместить соединение. Используется для соединения пересекающихся проводников или проводника с выводом в местах где это соединение не очевидно (например, когда один конец проводника или вывода упирается в другой проводник, а не соединяется с его концом).

icons/add_line_label_png

Разместить локальную метку (имя цепи). Два проводника с одинаковыми метками и расположенные на одном листе электрически соединены между собой. Для соединения проводников при помощи меток на разных листах нужно использовать глобальные или иерархические метки.

Global label icon

Разместить глобальную метку. Все проводники (включая иерархические листы) с одинаковыми глобальными метками электрически соединены между собой.

icons/add_hierarchical_label_png

Разместить иерархическую метку. Они позволяют соединять проводники между иерархическим листом и, содержащим его, родительским листом.

icons/add_hierarchical_subsheet_png

Разместить иерархический лист. При создании нужно указать имя файла для этого листа.

icons/import_hierarchical_label_png

Импорт иерархических меток из иерархического листа. Данный инструмент применим только к иерархическим листам. Он создает выводы на символе иерархического листа для каждой иерархической метки, содержащейся внутри этого листа.

icons/add_hierar_pin_png

Разместить вывод на символе иерархического листа. Данный инструмент применим только к иерархическим листам. Он создаёт вывод с указанным именем на символе иерархического листа.

icons/add_dashed_line_png

Чертить линию. Добавляет графическую линию, которая не вносит никаких электрических соединений.

icons/text.png

Разместить текстовый комментарий.

icons/image_png

Разместить графическое изображение.

icons/cancel_png

Удалить выбранный элемент.

2.9. Левая панель инструментов

Эта панель позволяет настроить параметры отображения:

icons/grid_png

Переключить видимость сетки.

icons/unit_inch

Использовать дюймы в качестве единиц измерения.

icons/unit_mm

Использовать миллиметры в качестве единиц измерения.

icons/cursor_shape

Изменить режим отображения курсора (на весь экран или малый).

icons/hidden_pin

Показать или скрыть "невидимые" выводы.

icons/lines90

Включить или выключить ортогональное черчение проводников и шин.

2.10. Контекстное меню и быстрое редактирование

Щелчок правой кнопки мыши открывает контекстное меню, которое позволит:

  • Изменить масштаб.

  • Настроить сетку.

  • Редактировать основные параметры выделенного элемента.

Обычное контекстное меню (без выделенных элементов).

eeschema_popup_without_element_png

Контекстное меню для метки.

eeschema_popup_edit_label_png

Контекстное меню редактирования компонента.

eeschema_popup_edit_component_png

3. Основное меню

3.1. Меню "Файл"

Меню

Новый

Закрыть текущую схему и создать новую (только в автономном режиме).

Открыть

Загрузить проект схемы (только в автономном режиме).

Открыть недавнее

Открыть проект схемы из списка недавно используемых файлов (только в автономном режиме).

Импортировать содержимое листа схемы

Вставить содержимое другого листа в текущую схему.

Импорт схемы из другой САПР

Импорт проекта схемы, сохранённого в другом формате файла.

Сохранить

Сохранить все листы схемы, включая иерархические.

Сохранить текущий лист схемы

Сохранить только текущий лист схемы, иерархические листы не сохраняются.

Сохранить текущий лист схемы как…

Сохранить текущий лист схемы под новым именем.

Настройки страницы

Настроить параметры листа и заполнить основную надпись.

Печать

Распечатать проект схемы (см. раздел Печать и черчение).

Чертить

Экспорт в PDF, PostScript, HPGL или SVG (см. раздел Печать и черчение).

Закрыть

Прервать выполнение приложения.

3.2. Меню "Настройки"

Меню

Менеджер библиотек компонентов

Добавить или удалить библиотеки компонентов.

Настроить пути

Установить пути для поиска по умолчанию.

Общие настройки

Основные параметры (ед.измерения, шаг сетки, названия полей и т.д.).

Установить язык

Выбрать язык для интерфейса пользователя.

Параметры иконок

Настроить видимость иконок.

Импорт и Экспорт

Сохранить/загрузить параметры в/из файла.

3.2.1. Менеджер библиотек компонентов

Таблицы библиотек компонентов

В Eeschema используются две таблицы для хранения перечня доступных библиотек компонентов, которые различаются областью применения:

  • Общие библиотеки

Библиотеки, перечисленные в общей таблице, доступны в любом проекте. Эта таблица хранится в файле sym-lib-table в домашнем каталоге пользователя (в общем, путь зависит от операционной системы; увидеть путь можно под таблицей).

  • Библиотеки проекта

Библиотеки, перечисленные в таблице проекта, доступны только в открытом в данный момент проекте. Эта таблица хранится в файле sym-lib-table в каталоге проекта (путь отображается под таблицей).

Увидеть любую из таблиц можно переходя по вкладкам "Общие библиотеки" или "Библиотеки проекта" под таблицей библиотек.

Добавление новой библиотеки

Добавить библиотеку можно либо нажатием кнопки Просмотр библиотек…, с последующим выбором файла, либо нажатием кнопки "Добавить библиотеку", с последующим указанием пути к файлу библиотеки. Выбранная библиотека будет добавлена в открытую в данный момент таблицу (общую или таблицу проекта).

Удаление библиотеки

Для удаления необходимо выбрать одну или более библиотек и нажать кнопку Удалить библиотеку.

Настройка библиотек

Каждая строка в таблице содержит несколько полей, описывающих библиотеку:

Использовать

Использовать или не использовать библиотеку. Это помогает временно уменьшить количество загружаемых библиотек.

Уникальное имя

Уникальное имя - это короткий, уникальный идентификатор библиотеки, который используется в свойствах компонента. Компонента обозначается в виде строки <Уникальное имя библиотеки>:<Имя компонента>.

3.2.2. Общие настройки

Отображение
Настройки отображения

Шаг сетки

Выбор шага сетки.

Рекомендуется работать с нормальным шагом сетки (0.050 дюймов или 1,27 мм). Меньший шаг используется при создании компонентов.

Толщина шины

Размер пера для черчения шин.

Толщина лилии

Размер пера для черчения объектов, которые не имеют специальных настроек толщины.

Индекс обозначения части

Тип суффикса для компонентов, состоящих из нескольких частей (U1A, U1.A, U1-1, и т.д.)

Масштаб иконок

Настройка размера иконок панели инструментов.

Показать сетку

Параметр отображения сетки.

Ограничить шины и проводники в ортогональной ориентации

Если отмечено, шины и проводники прокладываются только горизонтально или вертикально. В противном случае, шины и проводники прокладываются под любым углом.

Показать скрытые выводы

Показать невидимые (скрытые) выводы, как обычно, выводы питания.

Показать границы страницы

Если отмечено, на экране будут показаны границы листа.

Пред.просмотр посад.места при выборе компонента

Отображать панель предварительного просмотра посадочного места с возможность выбора в диалоге добавления компонента.

Примечание: могут возникать задержки, используйте на своё усмотрение.

Редактирование
Параметры редактирования

Единицы измерения

Выбор единиц измерения для отображения и координат курсора (дюймы или миллиметры).

Гориз. шаг повторения элементов

Смещение по оси X при дублировании элемента (по умолчанию 0) (после расположения такого элемента как компонент, метка или проводник, можно создать его дубликат с помощью клавиши Insert).

Верт. шаг повторения элементов

Смещение по оси Y при дублировании элемента (по умолчанию 0.100 дюйма или 2,54 мм).

Инкремент повторения меток

Величина, на которую увеличивается значение метки с числом в конце (например, номер шины), при дублировании (обычно 1 или -1).

Размер текста по умолчанию

Размер текста для новых текстовых полей и меток.

Интервал времени автосохранения

Интервал, в минутах, для создания резервных копий.

Автоматически размещать поля компонентов

Если отмечено, то поля компонента (такие как значение и обозначение) при его добавлении будут расположены так, чтобы не пересекаться с остальными элементами.

Разрешить при авторазмещении поля изменять выравнивание

Дополнение к параметру Автоматически размещать поля компонентов. Разрешает подстраивать выравнивание текста полей компонента при его добавлении.

Всегда выравнивать авторазмещенные поля по сетке 50 мил

Дополнение к параметру Автоматически размещать поля компонентов. Если отмечено, при автоматическом размещении полей будет использоваться сетка с шагом 50 мил, иначе — они будут размещены произвольно.

Управление

Редактирование горячих клавиш и настройка взаимодействия с интерфейсом пользователя.

Настройки управления

Новая горячая клавиша выбирается двойным щелчком по строке с командой или через контекстное меню:

Править

Указать новую горячую клавишу для команды (тоже, что и двойной щелчок).

Отменить изменения

Отменить последние изменения горячей клавиши для текущей команды.

Значение по умолчанию

Вернуть исходное значение горячей клавиши для текущей команды.

Отменить все изменения

Отменить последние изменения горячих клавиш для всех команд.

Все значения по умолчанию

Вернуть исходные значения горячих клавиш для всех команд.

Описание параметров:

Центрировать по курсору при масштабировании

Если отмечено, то при масштабировании точка под курсором будет перемещена в центр экрана.

Использовать сенсорную панель для панорамирования

Если отмечено, изображение прокручивается с помощью колёс мыши (или областей прокрутки сенсорной панели), а масштабирование выполняется при нажатой клавише Ctrl. В противном случае колесо мыши управляют масштабированием, а клавиши Ctrl/Shift позволяют прокручивать изображение.

Панорамирование при перемещении объекта

Если отмечено, при выходе курсора за пределы окна в процессе черчения или перемещения окно будет автоматически прокручиваться.

Цвета

Цветовая схема для разных графических элементов. Для выбора нового цвета какого-нибудь элемента щёлкните левой кнопкой мыши по кнопке с образцом текущего цвета.

Выбор цвета
Поля по умолчанию

Определение дополнительных пользовательских полей и их значений, которые будут добавлены при размещении новых компонентов.

Настройка шаблонов полей

3.3. Меню "Справка"

Предоставляет доступ к данному документу справки и детальному руководству пользователя KiCad.

Используйте кнопку "Копировать информацию о версии" при составлении отчета об ошибке для уточнения используемой сборки и операционной системы.

4. Верхняя панель инструментов

4.1. Настройки страницы

The Sheet Settings icon ( Sheet Settings icon ) allows you to define the sheet size and the contents of the title block.

Настройки страницы

Нумерация листов выполняется автоматически. Можно вставить сегодняшнюю дату с помощью кнопки со стрелками справа от "Даты создания". Дата автоматически не обновляется.

4.2. Инструмент поиска

The Find icon ( Find icon ) can be used to access the search tool.

Диалог поиска

You can search for a reference, a value or a text string in the current sheet or in the whole hierarchy. Once found, the cursor will be positioned on the found element in the relevant sub-sheet.

4.3. Инструмент формирования списка цепей

The Netlist icon ( Netlist icon ) opens the netlist generation tool.

The tool creates a file which describe all connections in the entire hierarchy.

In a multisheet hierarchy, any local label is visible only inside the sheet to which it belongs. For example: the label LABEL1 of sheet 3 is different from the label LABEL1 of sheet 5 (if no connection has been intentionally introduced to connect them). This is due to the fact that the sheet name path is internally associated with the local label.

Замечание
Even though there is no text length limit for labels in Eeschema, please take into account that other programs reading the generated netlist may have such constraints.
Замечание
Avoid spaces in labels, because they will appear as separated words in the generated file. It is not a limitation of Eeschema, but of many netlist formats, which often assume that a label has no spaces.
Диалог создания списка цепей

Параметр:

Default Format

Check to select Pcbnew as the default format.

Можно использовать и другие форматы:

  • Orcad PCB2

  • CadStar

  • Spice (simulators)

External plugins can be added to extend the netlist formats list (PadsPcb Plugin was added in the picture above).

There is more information about creating netlists in Create a Netlist chapter.

4.4. Инструмент обозначения элементов

The icon icons_annotate_png launches the annotation tool. This tool assigns references to components.

К частям составных компонентов (таких как 7400 ТТЛ, состоящих из 4-х частей), также, добавляется суффикс (в случае с 7400 ТТЛ с обозначением DD3, части будут обозначены как DD3.1, DD3.2, DD3.3 и DD3.4).

You can unconditionally annotate all the components or only the new components, i.e. those which were not previously annotated.

annotate-dialog_img

Обозначить

Use the entire schematic

All sheets are re-annotated (default).

Use the current page only

Only the current sheet is re-annotated (this option is to be used only in special cases, for example to evaluate the amount of resistors in the current sheet.).

Keep existing annotation

Conditional annotation, only the new components will be re-annotated (default).

Reset existing annotation

Unconditional annotation, all the components will be re-annotated (this option is to be used when there are duplicated references).

Reset, but do not swap any annotated multi-unit parts

Keeps all groups of multiple units (e.g. U2A, U2B) together when reannotating.

Порядок обозначения

Selects the order in which components will be numbered (either horizontally or vertically).

Выбор варианта обозначений

Selects the assigned reference format.

4.5. Инструмент проверки электрических правил проектирования

The icon ERC icon launches the electrical rules check (ERC) tool.

This tool performs a design verification and is able to detect forgotten connections, and inconsistencies.

Once you have run the ERC, Eeschema places markers to highlight problems. The error description is displayed after left clicking on the marker. An error report file can also be generated.

4.5.1. Диалоговое окно проверки электрических правил проектирования

Диалог ERC

Errors are displayed in the Electrical Rules Checker dialog:

  • Общее количество ошибок и предупреждений.

  • Количество ошибок.

  • Количество предупреждений.

Параметр:

Create ERC file report

Check this option to generate an ERC report file.

Команды:

Delete Markers

Remove all ERC error/warnings markers.

Run

Start an Electrical Rules Check.

Close

Close the dialog.

  • При выборе какого-нибудь сообщения об ошибке, курсор переместиться к соответствующей метке на схеме.

4.5.2. Настройка электрических правил проектирования

Диалоговое окно настроек ERC

This tab allows you to define the connectivity rules between pins; you can choose between 3 options for each case:

  • Без ошибок или предупреждений

  • Формировать предупреждение

  • Формировать ошибку

Каждый элемент матрицы можно редактировать с помощью мыши.

Параметр:

Test similar labels

Report labels that differ only by letter case (e.g. label/Label/LaBeL). Net names are case-sensitive therefore such labels are treated as separate nets.

Test unique global labels

Report global lables that occur only once for a particular net. Normally it is required to have at least two make a connection.

Команды:

Initialize to Default

Restores the original settings.

4.6. Инструмент формирования перечня элементов

The icon BOM icon launches the bill of materials (BOM) generator. This tool generates a file listing the components and/or hierarchical connections (global labels).

Диалоговое окно BOM

Eeschema’s BOM generator makes use of external plugins, either as XSLT or Python scripts. There are a few examples installed inside the KiCad program files directory.

Для составления перечня элементов можно использовать следующий набор полей:

  • Значение - уникальное имя для каждого элемента.

  • Посадочное место - введенное вручную или импортировано (см. ниже).

  • Поле1 - название производителя.

  • Поле2 - код по каталогу производителя.

  • Поле3 - код по каталогу поставщика.

Например:

Диалоговое окно свойств компонента.

On MS Windows, BOM generator dialog has a special option (pointed by red arrow) that controls visibility of external plugin window. + By default, BOM generator command is executed console window hidden 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 provides a graphical user interface.

Дополнительный параметр BOM на MS Windows

4.7. Edit Fields tool

The icon Edit Fields icon opens a spreadsheet to view and modify field values for all symbols.

Symbol Dialog

Once you modify field values, you need to either accept changes by clicking on Apply button or undo them by clicking on Revert button.

4.8. Import tool for footprint assignment

4.8.1. Доступ

The icon Import Footprint Names icon launches the back-annotate tool.

Этот инструмент позволяет импортировать изменения посадочных мест из Pcbnew в поля "Посад.место" компонентов в Eeschema.

5. Manage Symbol Libraries

Symbol libraries need to be made available in order to create schematics. The manner in which this is accomplished varies according to the version of KiCad being used.

5.1. Symbol Library Table

As of November 2017, Eeschema uses a new library management tool based on symbol library tables which is identical in design to the footprint library table used in CvPcb and Pcbnew.

The image below shows the symbol library table editing dialog which can be opened by invoking the «Manage Symbol Library Tables» entry in the «Preferences» menu.

sym lib table dlg

The symbol library table is used to map a symbol library of any supported library type to a library nickname. This nickname is used to look up symbols instead of the previous method which depended on library search path ordering. This allows Eeschema to access symbols with the same name in different libraries by ensuring that the correct symbol is loaded from the appropriate library.

5.1.1. Global Symbol Library Table

The global symbol library table contains the list of libraries that are always available regardless of the currently loaded project file. The table is saved in the file sym-lib-table in the user’s home folder. The location of this folder is dependent upon the operating system being used.

5.1.2. Project Specific Symbol Library Table

The project specific symbol library table contains the list of libraries that are available specifically for the currently loaded project file. The project specific symbol library table can only be edited when it is loaded along with the project file. If no project file is loaded or there is no symbol library table file in the current project path, an empty table is created which can be edited and later saved along with the project file.

5.1.3. Initial Configuration

The first time Eeschema is run and the global symbol table file sym-lib-table is not found in the user’s home folder, Eeschema will attempt to copy the default symbol table file sym-lib-table stored in the system’s KiCad template folder to the file sym-lib-table in the user’s home folder. If the default template sym-lib-table file cannot be found, a dialog will prompt for an alternate location for the sym-lib-table file. If no sym-lib-table is found or the dialog is dismissed, an empty symbol library table will be created in the user’s home folder. If this happens, the user can either copy sym-lib-table manually or configure the table by hand.

Замечание

The default symbol library table includes all of the symbol libraries that are installed as part of KiCad. This may or may not be desirable depending on usages and the speed of the system. The amount of time required to load the symbol libraries is proportional to the number of libraries in the symbol library table. If symbol library load times are excessive, remove rarely and/or never used libraries from the global library table and add them to the project library table as required.

5.1.4. Adding Table Entries

In order to use a symbol library, it must first be added to either the global table or the project specific table. The project specific table is only applicable when you have a project file open.

Each library entry must have a unique nickname.

This does not have to be related in any way to the actual library file name or path. The colon : and / characters cannot be used anywhere in the library nickname. Each library entry must have a valid path and/or file name depending on the type of library. Paths can be defined as absolute, relative, or by environment variable substitution (see section below).

The appropriate plug in type must be selected in order for the library to be properly read. KiCad currently supports only legacy symbol library files plug-in.

There is also a description field to add a description of the library entry. The option field is not used at this time so adding options will have no effect when loading libraries.

Please note that you cannot have duplicate library nicknames in the same table. However, you can have duplicate library nicknames in both the global and project specific symbol library table. The project specific table entry will take precedence over the global table entry when duplicate nicknames occur. When entries are defined in the project specific table, a sym-lib-table file containing the entries will be written into the folder of the currently open project file.

5.1.5. Environment Variable Substitution

One of the most powerful features of the symbol library table is environment variable substitution. This allows for definition of custom paths to where symbol libraries are stored in environment variables. Environment variable substitution is supported by using the syntax ${ENV_VAR_NAME} in the library path.

By default, at run time KiCad defines two environment variables:

  • the KIPRJMOD environment variable that always points to the currently open project directory. KIPRJMOD cannot be modified.

  • the KICAD_SYMBOL_DIR environment variable. This points to the path where the default symbol libraries that were installed with KiCad.

You can override KICAD_SYMBOL_DIR by defining it yourself in preferences/ Configure Path which allows you to substitute your own libraries in place of the default KiCad symbol libraries.

KIPRJMOD allows you to store libraries in the project path without having to define the absolute path (which is not always known) to the library in the project specific symbol library table.

5.1.6. Usage Patterns

Symbol libraries can be defined either globally or specifically to the currently loaded project. Symbol libraries defined in the user’s global table are always available and are stored in the sym-lib-table file in the user’s home folder. The project specific symbol library table is active only for the currently open project file.

There are advantages and disadvantages to each method. Defining all libraries in the global table means they will always be available when needed. The disadvantage of this is that load time will increase.

Defining all symbol libraries on a project specific basis means that you only have the libraries required for the project which decreases symbol library load times. The disadvantage is that you always have to remember to add each symbol library that you need for every project.

One usage pattern would be to define commonly used libraries globally and the libraries only required for the project in the project specific library table. There is no restriction on how to define libraries.

5.1.7. Legacy Project Remapping

When loading a schematic created prior to the symbol library table implementation, Eeschema will attempt to remap the symbol library links in the schematic to the appropriate library table symbols. The success of this process is dependent on several factors:

  • the original libraries used in the schematic are still available and unchanged from when the symbol was added to the schematic.

  • all rescue operations were performed when detected to create a rescue library or keep the existing rescue library up to date.

  • the integrity of the project symbol cache library has not been corrupted.

Внимание

The remapping will make a back up of all the files that are changed during remapping in the rescue-backup folder in the project folder. Always make a back up of your project before remapping just in case something goes wrong.

Внимание

The rescue operation is performed even if it has been disabled to ensure the correct symbols are available for remapping. Do not cancel this operation or the remapping will fail to correctly remap schematics symbols. Any broken symbol links will have to be fixed manually.

Замечание

If the original libraries have been removed and the rescue was not performed, the cache library can be used as a recovery library as a last resort. Copy the cache library to a new file name and add the new library file to the top of the library list using a version of Eeschema prior to the symbol library table implementation.

6. Создание и редактирование схем

6.1. Введение

Схема может быть представлена на одном листе или на нескольких, если проект достаточно большой.

Сложные схемы, представленные на нескольких листах, являются иерархическими. Все листы (каждому из которых соответствует отдельный файл) составляют единый проект схемы в Eeschema. Как работать с иерархическими листами будет рассказано в разделе Иерархические листы.

6.2. Основные положения

Схема, разработанная в Eeschema, является не просто графическим представлением электронного устройства. В общем случае, она является отправной точкой в цикле разработки и позволяет выполнять следующее:

Схема, в основном, состоит из компонентов, проводников, меток, соединений, шин и символов питания. Помимо этого, можно размещать и графические элементы, такие как выводы соединения с шиной, текстовые комментарии и графические линии.

6.3. Цикл разработки

dev-chain_png

Компоненты добавляются в схему из библиотеки. Затем, когда схема готова, создаётся список цепей, который позже используется для импорта соединений и посадочных мест в PcbNew.

6.4. Размещение и редактирование компонентов

6.4.1. Поиск и размещение компонента

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.

Диалог выбора компонента

Диалог выбора отфильтрует компоненты по имени, ключевым словам или описанию, согласно запросу, введенном в текстовое поле. Для более гибкого поиска можно использовать специальные фильтры:

  • Шаблоны: используйте символы ? и * чтобы указать "любой символ" и "множество любых символов", соответственно.

  • Метки: если в описании элементов библиотеки или в ключевых словах содержатся метки в формате "Key:123", можно выполнить относительный поиск по ним набрав "Key>123" (больше) или "Key<123" (меньше). К числу может прибавляться один из следующих не чувствительных к регистру суффиксов:

    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

  • Регулярные выражения: если имеется опыт работы с регулярными выражениям, то их можно применять тоже. Используется формат регулярных выражений wxWidgets Advanced Regular Expression style, подобный регулярным выражениям Perl.

Прежде чем расположить компонент на схему можно его вращать, отражать и редактировать значения полей с помощью горячих клавиш или контекстного меню. Эти же операции можно выполнить и после расположения.

Так выглядит компонент в процессе расположения:

компонент в процессе расположения

6.4.2. Символы питания

Символ питания представляет из себя компонент (все символы питания собраны в библиотеке “power”), поэтому его можно добавить с помощью диалога выбора компонента. Но, так как эти символы добавляются часто, существует отдельный инструмент Разместить порт питания . Этот инструмент аналогичен добавлению компонента, только список состоит из символов питания.

6.4.3. Редактирование размещённых компонентов

Редактировать компоненты можно двумя путями:

  • Редактирование самого компонента: позиция, ориентация, выбор части в составных компонентах.

  • Редактирование одного из полей компонента: обозначение, значение, посадочное место и т.д.

Как только компонент был размещен, можно задать его значение (в частности для резисторов, конденсаторов и т.д.). Но не стоит сразу указывать порядковый номер в обозначении или номер части (кроме случая, когда нужная часть выбирается вручную), так как это выполняется автоматически с помощью функции обозначения.

Изменение компонента

Для изменения какого-нибудь свойства компонента расположите курсор над ним и затем выполните:

  • Двойной щелчок левой кнопкой мыши для вызова редактора свойств компонента.

  • Щелчок правой кнопкой мыши для вызова контекстного меню и выбор одного из вариантов: Переместить, Ориентировать, Править, Удалить и т.д.

Изменение значения полей

Можно изменять значение, позицию, ориентацию, размер текста и видимость полей:

  • Двойной щелчок левой кнопки мыши на текстовом поле для начала редактирования.

  • Щелчок правой кнопкой мыши для вызова контекстного меню и выбор одной из команд: Переместить, Повернуть, Править, Удалить и т.д.

Чтобы получить больше опций или если нужно добавить поля, выполните двойной щелчок по компоненту для вызова диалога редактирования свойств компонента.

Диалоговое окно свойств компонента.

Каждое поле можно показать или спрятать, отобразить горизонтально или вертикально. Указанная позиция всегда соответствует нормально расположенному компоненту (без поворотов и отражения) и относительно точки привязки компонента.

Опция “Сбросить установки” устанавливает ориентацию в нормальное положение и сбрасывает свойства, размер и позицию для каждого поля. Но при этом, значения полей не изменяются, так как это может разрушить схему.

6.5. Проводники, шины, метки, символы питания

6.5.1. Введение

Все эти элементы черчения можно добавить с помощью инструментов на правой панели.

Вот эти элементы:

  • Проводник: большинство соединений между компонентами.

  • Шины: графическое соединение меток шины.

  • Графические линии: черчение графических элементов.

  • Соединения: создание соединения между пересекающимися проводниками или шинами.

  • Ввод шины: служит для соединения проводника с шиной. Соединение только визуальное!

  • Метки: для обозначения или создания соединений.

  • Глобальные метки: для соединений между листами.

  • Текст: для комментариев и надписей.

  • Флаг "Не подключено": для обозначения выводов, которые не нужно ни куда подключать.

  • Иерархический лист и его выводы для подключения.

6.5.2. Соединения с помощью проводников и меток

Есть два пути для создания соединения:

  • Проводник от вывода к вывод.

  • Метки.

Следующее изображение показывает оба метода:

Проводники и метки

Примечание 1:

Место “контакта” метки — нижний левый край её первого символа. Если метка не подключена, эта точка отображается в виде маленького квадрата.

Данная точка должна располагаться на проводнике или накладываться на конец вывода, чтобы принять вид подключенной.

Примечание 2:

Для образования соединения, сегменты должны подключаться концами друг к другу или к выводам.

При пересечении (если проводник проходит над выводом, но не соединяется с его концом) соединение не создается.

Примечание 3:

Пересекающиеся проводники сами по себе не соединяются. Их нужно соединять явно, с помощью точки соединения, если это необходимо.

На предыдущем изображении показано случай, когда используются точки для соединения (проводники подключенные к выводам 22, 21, 20, 19 компонента DB25FEMALE).

Примечание 4:

Если две разные метки расположены на одном проводнике, то они соединяются вместе и становятся эквивалентными: все прочие элементы, подключенные к одной или другой метке соединяются между собой.

6.5.3. Соединения с помощью шин

На следующей схеме множество выводов подключены к шине.

Пример схемы с шинами
Сигналы шины

С точки зрения схемы, шина — это совокупность проводников, метки которых имеют одинаковый префикс и заканчиваются порядковым номером. Например, PCA0, PCA1 и PCA2 являются сигналами шины PCA.

Законченная шина обозначается как PCA[N..m], где N и m — номера первого и последнего проводника этой шины. Таким образом, если шина PCA имеет 20 сигналов от 0 до 19, то, в итоге, шина будет обозначена как PCA[0..19]. Совокупность сигналов типа PCA0, PCA1, PCA2, WRITE, READ нельзя соединить в одну шину.

Соединение сигналов шины

Выводы, подключенные к одинаковым сигналам шины, соединяются по средствам меток. Невозможно подключить вывод напрямую к шине, такие соединения игнорируются в Eeschema.

На приведённом выше примере, соединения выполнены с помощью меток, расположенных на проводниках, которые подключены к выводам. Ввод шины (отрезок проводника под углом 45 градусов) всего лишь графический элемент и не требуется для создания логической связи.

На практике, использование команды повторения (клавиша Insert) позволяет значительно ускорить процесс создания соединений следующим образом, если шаг выводов соответствует шагу повторения (обычно, при работе с такими компонентами как память, микропроцессор и пр.):

  • Расположить первую метку (например, PCA0)

  • Использовать команду повторения столько раз, сколько нужно для создания всех сигналов. Eeschema автоматически создаст следующие метки (PCA1, PCA2, …), выровненные по вертикали и, предположительно, на уровне остальных выводов.

  • Начертить проводник под первой меткой. Затем использовать команду повторения для размещения остальных проводников под остальными метками.

  • Если необходимо, расположите вводы в шину таким же образом (сначала расположите первый ввод, затем остальные с помощью команды повторения).

Замечание

В меню Настройки/Параметры редактора схем можно установить параметры повторения:

  • Шаг по вертикали

  • Шаг по горизонтали

  • Инкремент метки (которая может увеличиваться на 2, 3 или уменьшаться).

Глобальные соединения между шинами

Иногда, может потребоваться соединить шины между собой, чтобы связать две шины с разными именами или, в случае иерархических схем, чтобы создать соединения между разными листами. Сделать это можно следующим способом.

Пример соединения шин

Шины PCA [0..15], ADR [0..7] и BUS [5..10] соединены вместе (заметьте, точка соединения используется для соединения вертикального отрезка шины с серединой горизонтального).

При этом, соответствующие сигналы тоже соединяются между собой: PCA0 с ADR0, PCA1 с ADR1, …, PCA7 с ADR7, и т.д.

Более того, PCA5, BUS5 и ADR5 тоже соединяются (также как и PCA6, BUS6, ADR6 или PCA7, BUS7, ADR7).

И PCA8 соединён с BUS8 (как и PCA9 с BUS9, и PCA10 с BUS10).

6.5.4. Подключение символов питания

Если выводы питания компонента видимы, то они должны подключаться также как и любые другие выводы.

Такие компоненты как логические элементы или триггеры могут иметь скрытые выводы питания. С ними нужно работать аккуратно, потому что:

  • К ним нельзя подключить проводники, так как они невидимы.

  • Их имена неизвестны.

Более того, не стоит делать их видимыми и соединять как обычные выводы, так как схема при этом становиться нечитаемой и не соответствует общим рекомендациям.

Замечание
Чтобы скрытые выводы стали видны, нужно установить параметр ``Показать скрытые выводы`` через меню Настройки/Параметры редактора схем или с помощью кнопки images/icons/hidden_pin.png на левой панели инструментов.

Eeschema автоматически соединяет невидимые выводы питания с одноимёнными силовыми линиями. Если нужно их подключить к линиям с другими именами (например, "GND" для компонентов ТТЛ-логики, а "VSS" для КМОП-компонентов) — используйте символы питания.

Не рекомендуется использовать метки для соединения выводов питания. Они имеют только локальную область действия и не соединяются со скрытыми выводами.

На рисунке ниже показан пример подключения символов питания.

Пример символов питания

В этом примере земля (GND) соединена с выводом питания VSS, а символ питания VCC соединён с VDD.

Здесь видно два флага PWR_FLAG. Они указывают на то, что оба символа питания VCC и GND подключены к источнику питания. Без этих флагов, при проверке электрических правил, будет показано сообщение: Предупреждение: символы питания не запитаны.

Все эти символы — компоненты библиотеки «power».

6.5.5. Флаг "Не подключено"

Эти символы очень полезны при контроле схемы с помощью электрических правил проектирования. С их помощью можно указать что выводы оставлены без соединений намеренно.

Так, если выводы нужно оставить не подключенными, расположите флаг "Не подключено" на их концах с помощью инструмента Флаг не подключено . Эти символы никак не влияют на создаваемый список соединений.

6.6. Чертежные элементы

6.6.1. Текстовые комментарии

Может быть полезным (для уточнений в схеме) размещение пояснений в виде текста или рамок. Текстовые поля (кнопка images/icons/text.png ) и графические линии (кнопка images/icons/add_dashed_line.png ) предназначены для этих целей, в отличии от меток и проводников, которые служат для создания соединений.

Здесь представлен пример рамки с текстовым комментарием.

Пример рамки с текстом

6.6.2. Основная надпись

Содержимое основной надписи изменяется с помощью инструмента Редактор основной надписи .

Диалог параметров страницы
Основная надпись

Количество листов (Лист/Листов) подсчитывается автоматически.

6.7. Восстановление кэшированных компонентов

По умолчанию, Eeschema загружает компоненты из библиотек согласно порядку настроенных путей. Это может создать проблемы при загрузке старых проектов: если компонент библиотеки изменился с момента использования его в проекте, то он будет автоматически обновлён до новой версии. Обновлённый компонент может иметь другие размеры или ориентацию, что в свою очередь испортит схему.

При сохранении проекта рядом с ним создается кэш библиотеки компонентов, в котором сохраняются все используемые компоненты. Это позволяет распространять проект без предоставления всех используемых библиотек. Если при загрузке проекта компонент существует в обоих библиотеках, кэшированной и системной, то Eeschema выполнит поиск конфликтов между ними. Все найденные проблемы будут показаны в таком диалоговом окне:

Диалог решения проблем :)

Из данного примера видно, что проект изначально использовал диод с катодом вверху, но теперь в библиотеке он расположен катодом вниз. Такое изменение разрушит проект! Если нажать кнопку OK, старый компонент будет сохранён в специальной «rescue» библиотеке под новым именем, что решает проблему конфликта с новой версией компонента.

Если нажать кнопку Cancel, никаких действий по восстановлению не будет предпринято и Eeschema загрузит новую версию компонента из библиотеки. Если на данном этапе сохранить схему, кэш будет перезаписан и старые компоненты станет невозможно восстановить. Если схема была сохранена, всё равно, можно вернуться и запустить процесс восстановления заново с помощью пункта меню "Инструменты"→"Спасти старые компоненты".

Чтобы этот диалог больше не отображался нужно нажать кнопку "Больше никогда не показывать". По умолчанию, ни какие действия не будут предприниматься и будут загружаться новые версии компонентов. Это поведение можно изменить (вернуть обратно) в диалоговом окне настроек библиотек.

7. Иерархические схемы

7.1. Введение

Иерархическое представление схемы, в общем случае, является хорошим решением для проектов из нескольких листов. Использование проектов данного типа понадобиться при:

  • Больших форматах листов, что приводит к проблема при печати и в использовании.

  • Множестве листов, которые лучше привести к иерархической структуре.

Законченная схема состоит из основного листа, называемого корневым (root), и вложенных листов, которые формируют иерархию. При этом, умелое разделение проекта на отдельные листы часто повышает читаемость схемы.

Из корневого листа должны быть доступны все вложенные. Управлять иерархическими схемами с помощью Eeschema очень просто благодаря встроенному "Навигатору по иерархии", который вызывается с помощью кнопки icons/hierarchy_nav_png на верхней панели инструментов.

Всего существует два типа иерархий: первый и наиболее распространённый только что был рассмотрен. Суть второго состоит в том, чтобы создать компонент в библиотеке, который внешне похож на обычный компонент схемы, но при этом связан со схемой, которая описывает его внутреннюю структуру.

Второй тип используется при разработке микросхем (интегрированных схем) и при этом нужно использовать библиотеки функций в проектируемых схемах.

Eeschema на данный момент не охватывает иерархии второго типа.

Иерархия может быть:

  • простой: содержит схемы, которые используются только единожды

  • сложной: содержат схемы, которые используются несколькими листами (имеют несколько инстанций)

  • плоской: простая иерархия, но без указания соединений между листами

Eeschema может работать со всеми этими иерархиями.

Создать иерархическую схему просто, вся иерархия строится начиная с корневого листа, так же как и обычная схема, состоящая из одного листа.

Далее, нужно изучить две важные операции:

  • Создание вложенных листов.

  • Построение электрических соединений между вложенными листами.

Перемещаться между листами очень легко благодаря инструменту навигации, который вызывается с помощью кнопки icons/hierarchy_nav_png на верхней панели инструментов.

hierarchy_navigator_dialog_png

К каждому листу можно получить доступ с помощью щелчка левой кнопкой мыши по его имени. Для быстрого доступа, нажмите правой кнопкой мыши на имени листа и выберите "Войти в лист" или дважды щёлкните левой кнопкой мыши внутри символа листа.

Также, чтобы покинуть текущий лист и перейти к родительскому листу, нажмите правую кнопку мыши на любом пустом месте схемы, где нет никаких объектов, и левой кнопкой мыши выберите пункт контекстного меню "Покинуть лист" или нажмите клавиши Alt+Backspace.

7.3. Локальные, иерархические и глобальные метки

7.3.1. Свойства

Локальные метки, инструмент icons/add_line_label_png , соединяет сигналы только внутри листа. Иерархические метки (инструмент icons/add_hierarchical_label_png ) соединяет сигналы только между самим листом и иерархическими выводами, расположенными на родительском листе.

Глобальные метки (инструмент Global label icon ) соединяет сигналы внутри всей иерархии. Выводы питания (типа вход питания и выход питания) скрыты, как и глобальные метки, потому что они соединены между собой во всей иерархии.

Замечание
В иерархии (простой или сложной) можно использовать как иерархические так и глобальные метки.

7.4. Создание иерархических схем

Нужно:

  • Разместить символ иерархического листа на основной схеме.

  • Войти в новый лист схемы (вложенный) с помощью навигатора и начертить её как и любую другую схему.

  • Разместить электрические соединения между двумя схемами используя глобальные или иерархические метки внутри вложенного листа и выводы иерархических листов с такими же именами на корневом листе. Эти иерархические выводы добавляются к символу листа на корневой схеме. Проводники подключаются к ним также как и к обычным выводам компонента.

7.5. Символ листа

Чертите прямоугольник по двум диагональным точкам для создания символа вложенного листа.

Размер этого прямоугольника должен позволять позже разместить специальные метки, иерархические выводы, соответствующие глобальным и иерархическим меткам из вложенного листа.

Эти метки подобны обычным выводам компонентов. Используйте инструмент icons/add_hierarchical_subsheet_png .

Нажмите левой кнопкой мыши для расположения верхнего левого угла. Затем, нажмите еще раз для расположения нижнего правого угла, образуя достаточно большой прямоугольник.

После этого появится запрос на ввод имени файла схемы и имени листа (в основном для доступа к соответствующей схеме из навигатора).

hsheet_properties_1_png

Нужно ввести, как минимум, имя файла схемы. Если имя листа оставить пустым, то в его качестве будет использовано имя файла (обычно так и поступают).

7.6. Иерархические выводы

Здесь будет рассказано как создать точки соединения (иерархические выводы) символа листа, который был создан ранее.

Эти точки соединения подобны обычным выводам компонентов, но с возможность подключения целой шины к одному выводу.

Создать их можно двумя способами:

  • Разместить разные выводы перед черчением вложенной схемы (ручное размещение).

  • Разместить разные выводы после черчения вложенной схемы и глобальных меток (полуавтоматическое размещение).

Второе решение более предпочтительно.

Ручное размещение:

  • Выберите инструмент icons/add_hierar_pin_png .

  • Нажмите на символ листа, на котором хотите расположить вывод.

Ниже приведён пример создания иерархического вывода с именем "CONNECTION":

eeschema_hierarchical_pin_png

Можно задать имя, размер и тип вывода в процессе его создания или позже, используя правую кнопку мыши для вызова контекстного меню и выбора "Править вывод листа".

На вложенной схеме иерархические метки должны называться точно так же, как и иерархические выводы. За этим нужно самостоятельно следить, именно из-за этого второй способ, описанный ниже, более предпочтителен.

Автоматическое расположение:

  • Выберите инструмент icons/import_hierarchical_label_png .

  • Нажмите левой кнопкой мыши на символе иерархического листа, из которого нужно импортировать выводы соответствующие глобальным меткам, расположенными на вложенной схеме. Иерархический вывод добавляется только для новой глобальной метки, т.е. той, у которой ещё нет соответствующего иерархического вывода.

  • Нажмите на месте, где нужно расположить этот вывод.

Таким образом можно расположить все необходимые выводы быстро и без ошибок. И все они будут соответствовать связанным глобальным меткам.

7.7. Иерархические метки

Каждый вывод, добавленный на символ листа, должен соответствовать метке на вложенном листе. Такие метки называют иерархическими. Иерархические метки подобны локальным, но образуют соединение между вложенным листом и корневым. Внешнее представление обоих иерархических элементов (вывода и метки) похоже. Иерархические метки добавляются с помощью инструмента icons/add_hierarchical_label_png .

Ниже, для примера, показан участок корневого листа:

hierarchical_label_root_png

Заметьте, вывод VCC_PIC подключён к разъему JP1.

Вот как выглядят соответствующие соединения на вложенном листе:

hierarchical_label_sub_png

Можно увидеть две соответствующие иерархические метки, образующие соединение между двумя иерархическими листами.

Замечание
Можно использовать иерархические метки и выводы для соединения двух шин, соответствующих синтаксису (Шина [N..m]), описанному ранее.

7.7.1. Локальны, иерархические, глобальные метки и скрытые выводы питания

Здесь приведены примечания для разных способов образования соединений без использования проводников.

Обычные метки

Обычные метки действуют локально, т.е. ограничены листом схемы, в котором расположены. Это связано с тем, что:

  • Каждый лист имеет свой номер.

  • Локальная метка связана с номером листа.

Таким образом, если расположить метку "АБВ" на листе №3, в итоге получим "АБВ_3". Также, если расположить метку "АБВ" на листе №1 (корневом листе), то в итоге получим "АБВ_1", что отличается от "АБВ_3". Это справедливо всегда, даже если лист всего один.

Иерархические метки

Все что сказано о простых метках, относится и к иерархическим меткам.

Так, на одном листе, иерархическая метка "АБВ" соединяется с соответствующей локальной меткой "АБВ", но не соединяется с иерархическими или локальными метками "АБВ" из других листов.

Но, в то же время, иерархическая метка может быть подключена к соответствующему иерархическому выводу, размещенном на символе листа корневой схемы.

Скрытые выводы питания

Как уже было показано, скрытые выводы питания соединяются вместе, если они имеют одинаковые имена. Таким образом, выводы питания объявленные "скрытыми" и обозначены VCC — соединяются и формируют единую цепь VCC, на листе, в котором расположены.

Это значит что, если разместить метку VCC на вложенном листе, то она не будет соединена с выводами VCC, так как эта метка примет вид VCC_n, где n — номер листа.

Если, все же, нужно соединить метку VCC с цепью выводов питания VCC, необходимо явно подключить скрытый вывод питания к символу питания VCC.

7.7.2. Глобальные метки

Глобальные метки, имеющие одинаковые имена, соединяются между собой во всей иерархии.

(метки питания, такие как VCC, — это тоже глобальные метки)

7.8. Сложные иерархии

Рассмотрим такой пример. Одна и та же схема используется дважды (существует две инстанции). Два листа ссылаются к одной и той же схеме, так как имя файла одинаковое у обоих листов («other_sheet.sch»). Имена листов должны быть уникальными.

eeschema_complex_hierarchy_png

7.9. Плоские иерархии

Можно создавать проекты, использующие множество листов, которые не имеют между собой явных соединений (плоская иерархия) если выполняются следующие правила:

  • Создан корневой лист, содержащий остальные листы, и служащий связующим между ними.

  • Непосредственные соединения не нужны.

  • Используйте глобальные метки вместо иерархических во всех листах.

Здесь показан пример такого корневого листа.

eeschema_flat_hierarchy_png

На нём два вложенных листа, соединённых посредством глобальных меток.

Так выглядит pic_programmer.sch.

eeschema_flat_hierarchy_1_png

А так pic_sockets.sch.

eeschema_flat_hierarchy_2_png

Обратите внимание на глобальные метки.

eeschema_flat_hierarchy_3_png

8. Инструмент обозначения элементов

8.1. Введение

Инструмент обозначения компонентов позволяет автоматически присвоить уникальный порядковый номер каждому компоненту в схеме. В составных компонентах суффиксы присваиваются частям таким образом, чтобы использовать как можно меньше целых компонентов. Инструмент обозначения компонентов вызывается с помощью кнопки icons_annotate_png . Ниже показано его диалоговое окно.

annotate-dialog_img

Доступны следующие варианты обозначения компонентов:

  • Обозначить все компоненты (параметр: Сбросить существующие обозначения)

  • Обозначить все компоненты, но не изменять назначенные ранее суффиксы частей.

  • Обозначить только необозначенные компоненты. Необозначенным компонентом называется компонент, порядковый номер которого обозначен вопросительным знаком ?.

  • Обозначить всю иерархию листов (параметр: По всей схеме).

  • Обозначить только текущий лист (параметр: Только текущий лист).

Параметр «Сбросить, но не менять аннотированные части компонентов» позволяет сохранить все присвоенные суффиксы частям составных компонентов. Таким образом, если имеются компоненты U2A и U2B, то их можно заново обозначить как U1A и U1B, соответственно, но никак не U1A и U2B или U2B и U2A. Это будет полезным в случае, когда уже спланировано где каждая часть будет расположена и нужно сохранить соответствие выводов.

Выбранный порядок обозначения будет использоваться на каждом листе иерархии.

Исключением является случай, когда вся схема уже обозначена (на всех листах) и добавляются новые компоненты, которые обозначаются отдельно, чтобы не нарушать уже присвоенные обозначения.

Выбор варианта обозначения позволяет использовать разные методы для образования порядкового номера:

  • Использовать первый свободный номер в схеме: компоненты обозначаются от 1 (для каждого типа элемента). Если присутствуют уже обозначенные компоненты, будут использоваться не занятые номера.

  • Начать с номер_листа*100 и использовать первый свободный: порядковые номера начинаются с 101 для первого листа, с 201 для второго и т.д. Если имеется более 99 элементов одного типа (DA, R, …) внутри первого листа то инструмент обозначения будет использовать порядковый номер 200 и более, а обозначения на втором листе начнутся со следующего свободного.

  • Начать с номер_листа*1000 и использовать первый свободный. Порядковые номера начинаются с 1001 на первом листе, с 2001 на втором и т.д.

8.2. Примеры работы инструмента

8.2.1. Порядок обозначения

На этом примере показано 5 элементов без обозначения.

eeschema_annotation_order_none_png

После работы инструмента обозначения компонентов будет получен следующий результат.

Сортировка компонентов по X-координате.

eeschema_annotation_order_x_png

Сортировка компонентов по Y-координате.

eeschema_annotation_order_y_png

Как можно заметить, четыре части элемента 74LS00 образуют один компонент U1, а пятый — U2.

8.2.2. Выбор варианта обозначений

Далее приведён пример обозначения на листе №2 с применением параметра "Использовать первый свободный номер на схеме".

eeschema_annotation_choice_free_png

Применение параметра "Начать с номер листа*100 и использовать первый свободный номер" даст следующий результат.

eeschema_annotation_choice_x100_png

Применение параметра "Начать с номер листа*1000 и использовать первый свободный номер" даст следующий результат.

eeschema_annotation_choice_x1000_png

9. Проверка электрических правил проектирования

9.1. Введение

Инструмент проверки электрических правил (ERC) выполняет автоматический контроль схемы. Он обнаружит любые ошибки в схеме, такие как не подключенные выводы компонентов, иерархических листов или неверные соединения. Вообще-то, автоматическая проверка правил не без изъянов, подпрограмма, отвечающая за поиск всех возможных ошибок еще не на все 100% завершена. Тем не менее, этот инструмент очень полезен, потому что позволяет определить оплошности и мелкие ошибки.

На деле, все обнаруженные ошибки должны быть проверены и исправлены прежде чем двигаться далее. Качество проверки напрямую зависит от того, насколько точно установлен тип каждого вывода при проектировании библиотеки компонентов. В процессе проверки электрических правил сообщения выдаются как "ошибки" или "предупреждения".

Диалог ERC

9.2. Как производить проверку правил

Проверку правил проектирования начинают с нажатия кнопки Кнопка ERC .

Предупреждения располагаются на элементах схемы в месте обнаружения ошибки (выводы или метки).

Замечание
  • В диалоговом окне, с помощью нажатия на сообщение об ошибке можно перейти к соответствующему маркеру на схеме.

  • В схеме, щелчок правой кнопки мыши на маркере предоставляет доступ к соответствующему поясняющему сообщению.

Также, из диалогового окна можно удалять маркеры ошибок.

9.3. Пример выполнения проверки правил

Маркеры ERC

Здесь показано четыре ошибки:

  • Два выхода были ошибочно соединены вместе (красная стрелка).

  • Два входа оставлены не подключенными (зелёные стрелки).

  • Ещё одна ошибка на скрытом выводе питания из-за отсутствия флага питания (зелёная стрелка вверху).

9.4. Получение информации об ошибках

Щелчок правой кнопки мыши на маркере вызывает контекстное меню, позволяющее открыть информационное окно об ошибке.

Получение информации о маркере

И если выбрать пункт "Информация о маркере" — появится сообщение с описанием ошибки.

erc_pointers_message_png

9.5. Выводы питания и флаги питания

Очень часть появляются ошибки или предупреждения на выводах питания, хотя все выглядит нормально, как на примере выше. Это происходит потому, что в большинстве проектов питание подаётся через разъемы, которые, сами по себе, не являются источниками (в отличии от регуляторов, в которых выход обозначен как "выход питания").

Если инструмент проверки электрических правил обнаружит цепь питания, в которой нет ни одного выхода питания, то будет создано сообщение о том, что выводы, подключенные к данной цепи — не запитаны.

Дабы избежать подобных сообщений, нужно разместить флаг "PWR_FLAG" на соответствующий символ питания. Посмотрите на следующий пример:

eeschema_power_pins_and_flags_png

Метки ошибок исчезнут при следующей проверке правил.

В большинстве случаев, флаг PWR_FLAG должен быть подключён к GND, так как регуляторы имеют только вывод выхода обозначенный как выход питания, а общий вывод — нет (он обозначается как вход питания). Таким образом, общий провод всегда будет оставаться не запитанным, если не использовать PWR_FLAG.

9.6. Настройка

Вкладка Параметры позволяет настроить правила соединений и установить уровень сообщений (ошибка или предупреждение).

eeschema_erc_options_png

Правила настраиваются путём нажатия левой кнопки мыши на квадратах матрицы, циклически перебирая варианты: нормально, предупреждение, ошибка.

9.7. Отчёт проверки правил

Если отмечена опция "Создать файл ERC отчета", то будет создан и сохранён файл с информацией о проверке правил проектирования. Расширение таких файлов — .erc. Далее приведен пример содержимого файла отчёта.

Отчет ERC (Сб 24 сен 2016 11:50:12, Кодировка UTF8 )

***** Sheet /
ErrType(4): Конфликт между выводами. Серьезность: предупреждение
    @ (256,54 мм,83,82 мм): Вывод B12 (Двунаправленный) компонента U9 соединен с
    @ (72,39 мм,237,49 мм): вывод 1 (Выход питания) компонента #PWR07 (цепь 41).

 >> Сообщения ERC: 4

10. Создание списка соединений

10.1. Обзор

Список соединений — это файл, содержащий описание электрических соединений между компонентами. В нём находятся:

  • Перечень компонентов.

  • Глобальные соединения между шинами

Существует несколько форматов списка соединений. Иногда, список компонентов и список эквипотенциальных связей хранятся в отдельных файлах. Список соединений является основой при использовании приложений проектирования схем, так как с его помощью осуществляется связь с другим программным обеспечением САПР:

  • Приложения трассировки печатных плат.

  • Симуляторы схем и переходных процессов.

  • Компиляторы ПЛИС и других программируемых микросхем.

Eeschema поддерживает несколько форматов списков соединений.

  • Формат PCBNEW (печатные платы).

  • Формат ORCAD PCB2 (печатные платы).

  • Формат CADSTAR (печатные платы).

  • Формат Spice (различные симуляторы).

10.2. Форматы списков соединений

Нажмите кнопку Netlist icon , чтобы открыть диалоговое окно формирования списка соединений.

Выбран формат Pcbnew

eeschema_netlist_dialog_pcbnew_png

Выбран формат Spice

eeschema_netlist_dialog_spice_png

С помощью разных вкладок можно выбрать желаемый формат. В формате Spice можно формировать список соединений с упрощенными именами цепей, что делает SPICE-файлы более читабельными, или нумерованными, которые использовались в старых версиях формата Spice. При нажатии кнопки Сформировать будет запрошено имя файла для списка цепей.

Замечание
Формирование списка соединений для больших схем может занять несколько минут.

10.3. Примеры списков соединений

Ниже показан проект схемы, использующий библиотеку PSPICE:

eeschema_netlist_schematic_png

Пример содержимого файла списка цепей в формате 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

В формате PSPICE список цепей выглядит так:

* 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

10.4. Замечания о списках соединений

10.4.1. Предостережение об именовании элементов списка соединений

Множество приложений, которые используют списки соединений, не поддерживают пробелы в именах компонентов, выводов, цепей и прочих данных. Избегайте пробелов в метках, полях обозначений и значений компонентов или их выводов для обеспечения максимальной совместимости.

По той же причине, специальные символы, отличные от латинских букв и цифр, могут вызывать проблемы. Заметьте, это ограничение не связанно с Eeschema, оно нужно для приложений, которые используют особый формат списка цепей.

10.4.2. Списки соединений в формате PSPICE

Для симулятора Pspice нужно, помимо всего прочего, включать в список соединений ещё и некоторые командные строки (.PROBE, .AC, и т.д.).

Любая строка текста, расположенная на схеме и начинающаяся с ключевого слова -pspice или -gnucap будет вставлена (без этих ключевых слов) в начало списка цепей.

Любая строка текста, расположенная на схеме и начинающаяся с ключевого слова +pspice или +gnucap будет вставлена (без этих ключевых слов) в конец списка цепей.

Здесь представлен пример использования нескольких одно-строчных текстовых полей и одного много-строчного:

eeschema_pspice_netlist_png

К примеру, если набрать следующий тест (без использования меток!):

-PSPICE .PROBE

то строка .PPOBE будет вставлена в список соединений.

В предыдущем примере три строки были вставлены в начало списка цепей, а две — в его конец, по этому методу.

При использовании много-строчного текста, ключевые слова +pspice или +gnucap нужно указывать только один раз:

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

при этом будет создано четыре строки:

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

Также, заметьте, что цепь GND должна называться 0 (ноль) для Pspice.

10.5. Прочие форматы

Для формирования списков соединений в других форматах можно использовать конвертеры в виде плагинов. Эти конвертеры автоматически запустятся из Eeschema. В разделе 14 даны некоторые пояснения и примеры таких конвертеров.

Конвертер — это текстовый файл в xls-формате, хотя могут использоваться и другие языки, такие как Python. Когда используется xls формат, приложение (xsltproc.exe или xsltproc) считывает временный файл, созданный Eeschema, и файл конвертера для создания выходного файла. В данном случае, файл конвертера (таблица стилей) очень мал его легко писать.

10.5.1. Подготовка диалогового окна

Добавить новый плагин для создания списка соединений можно с помощью кнопки "Добавить плагин."

eeschema_netlist_dialog_add_plugin_png

Здесь показано окно настройки плагина PadsPcb:

eeschema_netlist_dialog_padspcb_png

Для настройки нужно указать:

  • Наименование (например, имя формата списка цепей).

  • Команду для запуска плагина.

При формировании списка соединений:

  1. Eeschema создает временный файл *.tmp, например, test.tmp.

  2. Eeschema запускает плагин, который считывает test.tmp и создает test.net.

10.5.2. Формат командной строки

Далее приведён пример, в котором используется xsltproc.exe в качестве инструмента преобразования файлов .xsl и netlist_form_pads-pcb.xsl в качестве конвертера:

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

где:

f:/kicad/bin/xsltproc.exe

Приложение для преобразования файлов xsl.

-o %O.net

Выходной файл: %O определяет имя выходного файла.

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

Имя файла конвертера (таблицы стилей в формате xsl).

%I

Будет заменено именем временного файла (*.tmp).

Для схемы с именем test.sch командная строка будет построена так:

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

10.5.3. Конвертер и таблица стилей (плагин)

Это очень простая часть программы, потому что её задача только преобразовать входной текстовый файл (временный текстовый файл) в другой текстовый файл. Более того, из временного текстового файла можно создать перечень элементов.

При использовании xsltproc в качестве инструмента преобразования нужно создать только таблицу стилей.

10.5.4. Формат временного файла списка соединений

Смотрите раздел 14, чтобы получить больше подробностей о xsltproc, формате временного файла и некоторых примеров таблиц стилей для конвертеров.

11. Черчение и печать

11.1. Введение

Доступ к обоим командам, печати и черчения, можно получить через меню "Файл".

eeschema_file_menu_plot_png

Поддерживаются следующие выходные форматы: Postscript, PDF, SVG, DXF и HPGL. Также, можно напрямую печатать на принтере.

11.2. Основные команды печати

Чертить текущий лист

создаст один файл только для текущего листа.

Чертить все листы

позволяет начертить всю иерархию (по одному файлу для каждого листа).

11.3. Чертить в формате Postscript

Этот параметр позволяет создавать PostScript файлы.

eeschema_plot_postscript_png

В качестве имени файла используется имя листа с расширением .ps. Можно отключить опцию "Чертить форматную рамку". Это будет полезно при последующем преобразовании в Encapsulated PostScript (формат .eps) для передачи полученных чертежей в текстовые редакторы. Поле сообщений содержит список созданных файлов.

11.4. Чертить в формате PDF

eeschema_plot_pdf.png

Позволяет создавать файлы чертежей используя формат PDF. Имя файла образуется из имени листа с добавлением расширения .pdf.

11.5. Чертить в формате SVG

eeschema_plot_svg_png

Позволяет создавать файлы чертежей используя формат SVG. Имя файла образуется из имени листа с добавлением расширения .svg.

11.6. Чертить в формате DXF

eeschema_plot_dxf_png

Позволяет создавать файлы чертежей используя формат DXF. Имя файла образуется из имени листа с добавлением расширения .dxf.

11.7. Чертить в формате HPGL

Позволяет создавать файлы чертежей используя формат HPGL. В этом формате можно задать:

  • Размер листа.

  • Начало координат.

  • Толщину пера (в мм).

Диалоговое окно черчения выглядит как показано далее:

eeschema_plot_hpgl_png

Имя файла образуется из имени листа с добавлением расширения .plt.

11.7.1. Установка размера листа

По умолчанию, выбран формат схемы. При этом, будет использован размер листа, установленный в настройках страницы, и масштаб, равный 1. Если выбран другой размер листа (А4 при размере A0 или А при размере E), то масштаб будет подобран так, чтобы заполнить страницу.

11.7.2. Настройка смещения

Для всех стандартных размеров, можно подстроить смещение центра чертежа так точно, как только это возможно. Дело в том, что плоттеры могут чертить или относительно центра, или относительно нижнего левого угла листа, и необходимо задать верное смещение для правильной постройки чертежа.

Другими словами:

  • Для плоттеров с опорной точкой в центре листа — смещение должно быть отрицательным и равным половине размера листа.

  • Для плоттеров с опорной точкой в нижнем левом углу — смещение должно быть равным 0.

Для установки смещения:

  • Выберите размер листа.

  • Установите смещение по координатам X и Y.

  • Подтвердите установленное смещение.

Команда, доступная через кнопку icons/print_button_png , позволяет просматривать и создавать файлы печати для обычного принтера.

print_dialog_png

Параметр "Печатать форматную рамку" разрешает или запрещает печать форматной рамки и основной надписи.

Параметр "Печать в черно-белом режиме" переводит печать в монохромный режим. Этот параметр, в основном, нужен при использовании чёрно-белых лазерных принтеров, так как цвета печатаются в полутонах, из-за чего часто схемы становится не читаемыми.

12. Symbol Library Editor

12.1. General Information About Symbol Libraries

A symbol is a schematic element which contains a graphical representation, electrical connections, and fields defining the symbol. Symbols used in a schematic are stored in symbol libraries. Eeschema provides a symbol library editing tool that allows you to create libraries, add, delete or transfer symbols between libraries, export symbols to files, and import symbols from files. The library editing tool provides a simple way to manage symbol library files.

12.2. Symbol Library Overview

A symbol library is composed of one or more symbols. Generally the symbols are logically grouped by function, type, and/or manufacturer.

A symbol is composed of:

  • Графических элементов (линий, окружностей, дуг, текста и пр.), определяющих его графическое представление.

  • Выводов, которые имеют как графические свойства (линия, динамический, инверсный, тактовый по заднему фронту и пр.) и электрические свойства (вход, выход, двунаправленный и т.д.), которые используются для проверки электрических правил проектирования (ERC).

  • Полей, таких как обозначение, значение, назначенное посадочное место для проекта печатной платы и другие.

  • Aliases used to associate a common symbol such as a 7400 with all of its derivatives such as 74LS00, 74HC00, and 7437. All of these aliases share the same library symbol.

Proper symbol designing requires:

  • Defining if the symbol is made up of one or more units.

  • Defining if the symbol has an alternate body style also known as a De Morgan representation.

  • Начертить его графическое обозначение используя линии, прямоугольники, окружности, полигоны и текст.

  • Добавить выводы, внимательно назначая каждому графическое представление, имя, номер и электрический тип (вход, выход, трехстабильный, вывод питания и т.п.).

  • Adding an alias if other symbols have the same design and pin out or removing one if the symbol has been created from another symbol.

  • Добавить дополнительные поля, такие как имя посадочного места, используемого при проектировании печатной платы, и/или установить их видимость.

  • Documenting the symbol by adding a description string and links to data sheets, etc.

  • Сохранить его в спроектированной библиотеке.

12.3. Symbol Library Editor Overview

The symbol library editor main window is shown below. It consists of three tool bars for quick access to common features and a symbol viewing/editing area. Not all commands are available on the tool bars but can be accessed using the menus.

libedit_main_window_png

12.3.1. Основная панель инструментов

The main tool bar typically located at the top of the main window shown below consists of the library management tools, undo/redo commands, zoom commands, and symbol properties dialogs.

images/ru/toolbar_libedit.png

icons/save_library_png

Сохранить выбранную в данный момент библиотеку. Кнопка не активна, если не выбрана ни одна из библиотек или не было сделано никаких изменений в текущей библиотеке.

icons/library_png

Выбрать библиотеку для редактирования.

icons/delete_png

Delete a symbol from the currently selected library or any library defined by the project if no library is currently selected.

icons/library_browse_png

Open the symbol library browser to select the library and symbol to edit.

icons/new_symbol_png

Create a new symbol.

icons/import_cmp_from_lib_png

Load symbol from currently selected library for editing.

icons/copy_symbol_png

Create a new symbol from the currently loaded symbol.

icons/save_part_in_mem_png

Save the current symbol changes in memory. The library file is not changed.

icons/import_png

Import one symbol from a file.

icons/export_png

Export the current symbol to a file.

icons/new_library_png

Create a new library file containing the current symbol. Note: new libraries are not automatically added to the project.

icons/undo_png

Отменить последнее изменение.

icons/redo_png

Повторить предыдущее изменение.

icons/part_properties_png

Edit the current symbol properties.

icons/text.png

Edit the fields of current symbol.

icons/erc_png

Test the current symbol for design errors.

images/icons/zoom_in.png

Увеличить масштаб.

images/icons/zoom_out.png

Уменьшить масштаб.

images/icons/zoom_redraw.png

Обновить изображение.

images/icons/zoom_fit_in_page.png

Zoom to fit symbol in display.

icons/morgan1_png

Select the normal body style. The button is disabled if the current symbol does not have an alternate body style.

icons/morgan2_png

Select the alternate body style. The button is disabled if the current symbol does not have an alternate body style.

icons/datasheet_png

Show the associated documentation. The button will be disabled if no documentation is defined for the current symbol.

images/toolbar_libedit_part.png

Select the unit to display. The drop down control will be disabled if the current symbol is not derived from multiple units.

images/toolbar_libedit_part.png

Select the alias. The drop down control will be disabled if the current symbol does not have any aliases.

icons/pin2pin_png

Pin editing: independent editing for pin shape and position for symbols with multiple units and alternate symbols.

icons/pin_table_png

Показать таблицу выводов.

12.3.2. Панель инструментов чертёжных элементов

The vertical toolbar typically located on the right hand side of the main window allows you to place all of the elements required to design a symbol. The table below defines each toolbar button.

icons/cursor_png

Инструмент выделения. Щелчок правой кнопки мыши на выделенном элементе открывает контекстное меню для объекта под курсором. При нажатии левой кнопки мыши, на информационной панели, внизу основного окна, будут показаны свойства объекта, находящегося под курсором. Двойной щелчок левой кнопки мыши откроет диалоговое окно свойств объекта, что находится под курсором.

icons/pin_png

Добавить вывод. Щелчок левой кнопки мыши для добавления нового вывода.

icons/text.png

Добавить текст. Щелчок левой кнопки мыши для добавления нового текстового элемента.

icons/add_rectangle_png

Добавить прямоугольник. Щелчок левой кнопки мыши для расположения первого угла прямоугольника. Ещё один щелчок для расположения второго, противоположного, угла прямоугольника.

icons/add_circle_png

Добавить окружность. Щелчок левой кнопки мыши для начала черчения новой окружности от центра. Ещё один щелчок для установки радиуса окружности.

icons/add_arc_png

Добавление дуги. Щелчок левой кнопки мыши для начала черчения новой дуги, начиная из центра. Ещё один щелчок для установки первой конечной точки. Последний щелчок для установки второй конечной точки.

icons/add_polygon_png

Polygon tool. Left-click to begin drawing a new graphical polygon item in the current symbol. Left-click for each addition polygon line. Double-left-click to complete the polygon.

icons/anchor_png

Anchor tool. Left-click to set the anchor position of the symbol.

icons/import_png

Import a symbol from a file.

icons/export_png

Export the current symbol to a file.

icons/delete_png

Delete tool. Left-click to delete an object from the current symbol.

12.3.3. Панель инструментов параметров

Вертикальная панель инструментов, расположенная с левой стороны основного окна, позволяет установить некоторые параметры редактирования. В таблице ниже приведена таблица с описанием каждой кнопки.

icons/grid_png

Переключить видимость сетки (вкл. или выкл.)

icons/unit_inch_png

Установить в качестве единиц измерения — дюймы.

icons/unit_mm_png

Установить в качестве единиц измерения — миллиметры.

icons/cursor_shape_png

Переключить режим отображения курсора.

12.4. Выбор и управление библиотекой

The selection of the current library is possible via the icons/library_png which shows you all available libraries and allows you to select one. When a symbol is loaded or saved, it will be put in this library. The library name of symbol is the contents of its value field.

Замечание
  • Сначала нужно загрузить библиотеку в Eeschema, чтобы потом получить доступ к её содержимому.

  • Содержимое текущей библиотеки можно сохранить после внесённых изменений с помощью кнопки icons/save_library_png из главной панели инструментов.

  • A symbol can be removed from any library by clicking on the icons/delete_png .

12.4.1. Select and Save a Symbol

When you edit a symbol you are not really working on the symbol in its library but on a copy of it in the computer’s memory. Any edit action can be undone easily. A symbol may be loaded from a local library or from an existing symbol.

Symbol Selection

Clicking the icons/import_cmp_from_lib_png on the main tool bar displays the list of the available symbols that you can select and load from the currently selected library.

Замечание
If a symbol is selected by its alias, the name of the loaded symbol is displayed on the window title bar instead of the selected alias. The list of symbol aliases is always loaded with each symbol and can be edited. You can create a new symbol by selecting an alias of the current symbol from the images/toolbar_libedit_alias.png . The first item in the alias list is the root name of the symbol.
Замечание
Alternatively, clicking the icons/import_png allows you to load a symbol which has been previously saved by the icons/export_png .
Save a Symbol

After modification, a symbol can be saved in the current library, in a new library, or exported to a backup file.

To save the modified symbol in the current library, click the icons/save_part_in_mem_png . Please note that the update command only saves the symbol changes in the local memory. This way, you can make up your mind before you save the library.

To permanently save the symbol changes to the library file, click the icons/save_library_png which will overwrite the existing library file with the symbol changes.

If you want to create a new library containing the current symbol, click the icons/new_library_png . You will be asked to enter a new library name.

Замечание

Новые библиотеки не добавляются в текущий проект автоматически.

Нужно добавлять все новые, необходимые для схемы, библиотеки в таблицу библиотек проекта с помощью соответствующего диалогового окна в Eeschema.

Click the icons/export_png to create a file containing only the current symbol. This file will be a standard library file which will contain only one symbol. This file can be used to import the symbol into another library. In fact, the create new library command and the export command are basically identical.

Transfer Symbols to Another Library

You can very easily copy a symbol from a source library into a destination library using the following commands:

  • Выбрать исходную библиотеку, нажав кнопку icons/library_png .

  • Load the symbol to be transferred by clicking the icons/import_cmp_from_lib_png . The symbol will be displayed in the editing area.

  • Выбрать конечную библиотеку, нажав кнопку icons/library_png .

  • Save the current symbol to the new library in the local memory by clicking the icons/save_part_in_mem_png .

  • Save the symbol in the current local library file by clicking the icons/save_library_png .

Discarding Symbol Changes

When you are working on a symbol, the edited symbol is only a working copy of the actual symbol in its library. This means that as long as you have not saved it, you can just reload it to discard all changes made. If you have already updated it in the local memory and you have not saved it to the library file, you can always quit and start again. Eeschema will undo all the changes.

12.5. Creating Library Symbols

12.5.1. Create a New Symbol

A new symbol can be created by clicking the icons/new_symbol_png . You will be asked for a symbol name (this name is used as default value for the value field in the schematic editor), the reference designator (U, IC, R…), the number of units per package (for example a 7400 is made of 4 units per package) and if an alternate body style (sometimes referred to as DeMorgan) is desired. If the reference designator field is left empty, it will default to "U". These properties can be changed later, but it is preferable to set them correctly at the creation of the symbol.

eeschema_symbol_properties_png

A new symbol will be created using the properties above and will appear in the editor as shown below.

eeschema_libedit_new_png

12.5.2. Create a Symbol from Another Symbol

Often, the symbol that you want to make is similar to one already in a symbol library. In this case it is easy to load and modify an existing symbol.

  • Load the symbol which will be used as a starting point.

  • Click on the icons/copy_symbol_png or modify its name by right-clicking on the value field and editing the text. If you chose to duplicate the current symbol, you will be prompted for a new symbol name.

  • If the model symbol has aliases, you will be prompted to remove aliases from the new symbol which conflict with the current library. If the answer is no the new symbol creation will be aborted. Symbol libraries cannot have any duplicate names or aliases.

  • Edit the new symbol as required.

  • Update the new symbol in the current library by clicking the icons/save_part_in_mem_png or save to a new library by clicking the icons/new_library_png or if you want to save this new symbol in an other existing library select the other library by clicking on the icons/library_png and save the new symbol.

  • Сохраните файл текущей библиотеки на диске с помощью кнопки icons/save_library_png .

12.5.3. Symbol Properties

Symbol properties should be carefully set during the symbol creation or alternatively they are inherited from the copied symbol. To change the symbol properties, click on the icons/part_properties_png to show the dialog below.

eeschema_properties_for_symbol_png

Очень важно, чтобы было правильно указано количество частей и наличие дополнительного начертания, потому что, редактирование или создание выводов затронет каждую из частей. Если количество частей изменено уже после создания и редактирования выводов, то нужно дополнительно обработать выводы и обозначение новых частей.

The graphic options "Show pin number" and "Show pin name" define the visibility of the pin number and pin name text. This text will be visible if the corresponding options are checked. The option "Place pin names inside" defines the pin name position relative to the pin body. This text will be displayed inside the symbol outline if the option is checked. In this case the "Pin Name Position Offset" property defines the shift of the text away from the body end of the pin. A value from 30 to 40 (in 1/1000 inch) is reasonable.

The example below shows a symbol with the "Place pin name inside" option unchecked. Notice the position of the names and pin numbers.

eeschema_uncheck_pin_name_inside_png

12.5.4. Symbols with Alternate Symbolic Representation

If the symbol has more than one symbolic repersentation, you will have to select one representation to edit them. To edit the normal representation, click the icons/morgan1_png .

To edit the alternate representation, click on the icons/morgan2_png . Use the images/toolbar_libedit_part.png shown below to select the unit you wish to edit.

eeschema_libedit_select_unit_png

12.6. Графические элементы

Graphical elements create the representation of a symbol and contain no electrical connection information. Their design is possible using the following tools:

  • Линии и полигоны, задаются начальной и конечной точками.

  • Прямоугольники, задаются двумя противоположными углами.

  • Окружности, задаются центром и радиусом.

  • Дуги, задаются начальной и конечной точками дуги и её центром. Дуга может быть в пределах от 0° до 180°.

The vertical toolbar on the right hand side of the main window allows you to place all of the graphical elements required to design the representation of a symbol.

12.6.1. Графические элементы в частях и дополнительных начертаниях

Каждый графический элемент (линия, дуга, окружность, и пр.) можно определить как общий для всех частей и/или дополнительных начертаний или отдельный для данной части и/или начертания. К параметрам элемента можно легко получить доступ через щелчок правой кнопки мыши на на нём для вызова контекстного меню. Ниже показано контекстное меню для линии.

eeschema_libedit_context_menu_png

Также, можно дважды щёлкнуть на элементе для изменения его параметров. Ниже приведён диалог настройки элемента полигона.

eeschema_libedit_polyline_properties_png

Свойства графического элемента:

  • Толщина определяет толщину линии элемента в текущих единицах измерения.

  • The "Common to all units in symbol" setting defines if the graphical element is drawn for each unit in symbol with more than one unit per package or if the graphical element is only drawn for the current unit.

  • The "Common by all body styles (DeMorgan)" setting defines if the graphical element is drawn for each symbolic representation in symbols with an alternate body style or if the graphical element is only drawn for the current body style.

  • Стилем заливки определяется каким образом будет закрашен графический элемент: без заливки, заливкой переднего плана, заливкой заднего фона.

12.6.2. Графический текст

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

12.7. Multiple Units per Symbol and Alternate Body Styles

Symbols can have two symbolic representations (a standard symbol and an alternate symbol often referred to as "DeMorgan") and/or have more than one unit per package (logic gates for example). Some symbols can have more than one unit per package each with different symbols and pin configurations.

Consider for instance a relay with two switches which can be designed as a symbol with three different units: a coil, switch 1, and switch 2. Designing a symbol with multiple units per package and/or alternate body styles is very flexible. A pin or a body symbol item can be common to all units or specific to a given unit or they can be common to both symbolic representation so are specific to a given symbol representation.

По умолчанию, выводы являются уникальными для каждого начертания и для каждой части, так как номера выводов отличаются. Если вывод должен быть общим для всех начертаний и частей, его нужно создать всего лишь раз, общим для всех частей и начертаний (обычно так поступают с выводами питания). Это касается и графических элементов обозначения и текста, которые также могут быть общими для всех частей (но, обычно, разными для каждого начертания).

12.7.1. Example of a Symbol Having Multiple Units with Different Symbols:

Это пример реле, состоящего из трёх частей: контакта 1, контакта 2 и реле:

Параметр: не связанные выводы. Можно добавлять или редактировать выводы в каждой из частей отдельно без изменения остальных частей.

eeschema_libedit_pins_per_part_png

Все части не взаимозаменяемы, это нужно указать.

eeschema_libedit_not_interchangeable_png

Часть 1

eeschema_libedit_unit1_png

Часть 2

eeschema_libedit_unit2_png

Часть 3

eeschema_libedit_unit3_png

Она отличается обозначением и расположением выводов, следовательно, не может быть заменена ни частью 1, ни частью 2.

Элементы графического обозначения

Shown below are properties for a graphic body element. From the relay example above, the three units have different symbolic representations. Therefore, each unit was created separately and the graphical body elements must have the "Common to all units in symbol" disabled.

eeschema_libedit_disable_common_png

12.8. Создание и редактирование выводов

Чтобы создать и добавить новый вывод нужно нажать кнопку icons/pin_png . Редактирование всех свойств вывода выполняется с помощью двойного щелчка мыши по нему или через контекстное меню, используя правую кнопку мыши. Выводы нужно создавать внимательно, потому что любая ошибка скажется, в итоге, на печатной плате. Любой, уже добавленный, вывод можно отредактировать, удалить и/или переместить.

12.8.1. Общие сведения о выводах

Вывод объединяет в себе графическое представление, имя и "номер". "Номер" вывода может содержать до четырех букв и/или цифр. Чтобы использовать инструмент проверки электрических правил проектирования (ERC), нужно также корректно указать тип вывода (вход, выход, трехстабильный и т.д.). Если же тип указан не точно, результат проверки ERC в схеме будет не верным.

Важные замечания:

  • Не используйте пробелы в именах и номерах выводов.

  • Чтобы задать имя выводу с обозначением инверсии (подчёркнутым сверху), используйте символ ~ (тильда). Следующий символ ~ завершит подчёркивание. Например, слово ~FO~O будет отображено как FO O.

  • Если имя вывода уменьшиться до одного символа, то вывод будет считаться безымённым.

  • Имена выводов, начинающиеся с #, зарезервированы для символов питания.

  • "Номер" вывода состоит из 1-4 букв и/или цифр. 1,2,..9999 — допустимые значения. A1, B3, Anod, Wire и т.д. — тоже допустимые значения.

  • Duplicate pin "numbers" cannot exist in a symbol.

12.8.2. Свойства выводов

eeschema_libedit_pin_properties_png

Диалог свойств вывода позволяет редактировать все его параметры. Этот диалог автоматически отображается при создании вывода или при двойном щелчке на существующем выводе. Данный диалог позволяет изменять:

  • Имя и размер текста имени.

  • Номер и размер текста номера.

  • Длину.

  • Электрический и графический тип.

  • Принадлежность к части или альтернативному начертанию.

  • Видимость.

12.8.3. Графическое представление выводов

На изображении ниже показаны разные стили начертания вывода. Выбор внешнего вида вывода никак не отразится на его электрическом типе.

eeschema_libedit_pin_properties_style_png

12.8.4. Электрический тип выводов

Правильное назначение электрического типа важно для инструмента проверки ERC в схеме. Электрические типы определены как:

  • Двунаправленный — указывает на двунаправленный обмен данными между входом и выходом (шина данных микропроцессора, к примеру).

  • Трехстабильный — выход с тремя состояниями.

  • Passive is used for passive symbol pins, resistors, connectors, etc.

  • Не определено — может использоваться в случае, когда проверка ERC не нужна.

  • Power input is used for the symbol’s power pins. Power pins are automatically connected to the other power input pins with the same name.

  • Выход питания — используется для обозначения выходов стабилизаторов напряжения.

  • Открытый эмиттер и открытый коллектор — можно использовать для обозначения выходов логических элементов.

  • Not connected is used when a symbol has a pin that has no internal connection.

12.8.5. Глобальные свойства выводов

You can modify the length or text size of the name and/or number of all the pins using the Global command entry of the pin context menu. Click on the parameter you want to modify and type the new value which will then be applied to all of the current symbol’s pins.

eeschema_libedit_pin_context_menu_png

12.8.6. Установка выводов в компонентах с частями и альтернативными начертаниями

Symbols with multiple units and/or graphical representations are particularly problematic when creating and editing pins. The majority of pins are specific to each unit (because their pin number is specific to each unit) and to each symbolic representation (because their form and position is specific to each symbolic representation). The creation and the editing of pins can be problematic for symbols with multiple units per package and alternate symbolic representations. The symbol library editor allows the simultaneous creation of pins. By default, changes made to a pin are made for all units of a multiple unit symbol and both representations for symbols with an alternate symbolic representation.

Единственное исключение при этом — это графический тип вывода и его имя. Эта зависимость была установлена, чтобы упростить создание и редактирование выводов в большинстве случаев. Данную зависимость можно отключить с помощью кнопки icons/pin2pin_png из главной панели инструментов. Это позволит создавать выводы для каждой части и начертания отдельно.

A symbol can have two symbolic representations (representation known as`‘DeMorgan’') and can be made up of more than one unit as in the case of symbols with logic gates. For certain symbols, you may want several different graphic elements and pins. Like the relay sample shown in the previous section, a relay can be represented by three distinct units: a coil, switch contact 1, and switch contact 2.

The management of the symbols with multiple units and symbols with alternate symbolic representations is flexible. A pin can be common or specific to different units. A pin can also be common to both symbolic representations or specific to each symbolic representation.

По умолчанию, выводы устанавливаются отдельно для каждой части и для каждого начертания, так как их номера для каждой из частей и внешний вид для каждого из начертаний различные. Если вывод общий для всех частей, его достаточно установить один раз, как в случае с выводами питания.

An example is the output pin 7400 quad dual input NAND gate. Since there are four units and two symbolic representations, there are eight separate output pins defined in the symbol definition. When creating a new 7400 symbol, unit A of the normal symbolic representation will be shown in the library editor. To edit the pin style in alternate symbolic representation, it must first be enabled by clicking the icons/morgan2_png button on the tool bar. To edit the pin number for each unit, select the appropriate unit using the images/toolbar_libedit_alias.png drop down control.

12.9. Symbol Fields

All library symbols are defined with four default fields. The reference designator, value, footprint assignment, and documentation file link fields are created whenever a symbol is created or copied. Only the reference designator and value fields are required. For existing fields, you can use the context menu commands by right-clicking on the pin. Symbols defined in libraries are typically defined with these four default fields. Additional fields such as vendor, part number, unit cost, etc. can be added to library symbols but generally this is done in the schematic editor so the additional fields can be applied to all of the symbols in the schematic.

12.9.1. Editing Symbol Fields

To edit an existing symbol field, right-click on the field text to show the field context menu shown below.

eeschema_libedit_field_context_menu_png

Чтобы изменить пустое поле, добавить новое или удалить одно из них, используйте icons/text_png из главной панели инструментов, чтобы открыть диалог свойств полей, который показан ниже.

eeschema_libedit_field_properties_png

Fields are text sections associated with the symbol. Do not confuse them with the text belonging to the graphic representation of this symbol.

Важные замечания:

  • Modifying value fields effectively creates a new symbol using the current symbol as the starting point for the new symbol. This new symbol has the name contained in the value field when you save it to the currently selected library.

  • Диалог редактирования полей, показанный выше, должен использоваться при редактировании пустых или скрытых полей.

  • Посадочное место указывается как абсолютный путь, используя формат LIBNAME:FPNAME, где LIBNAME — имя библиотеки посадочных мест из таблицы библиотек (см. раздел "Таблица библиотек посадочных мест" из руководства пользователя Pcbnew) и FPNAME — имя посадочного места из библиотеки LIBNAME.

12.10. Символы питания

Power symbols are created the same way as normal symbols. It may be useful to place them in a dedicated library such as power.lib. Power symbols consist of a graphical symbol and a pin of the type "Power Invisible". Power port symbols are handled like any other symbol by the schematic capture software. Some precautions are essential. Below is an example of a power +5V symbol.

eeschema_libedit_power_symbol_png

Для создания символа питания применяйте следующие шаги:

  • Добавьте вывод типа "Вход питания" с именем +5V (это важно, так как это имя будет использовано для соединения с цепью +5V), номером 1 (значение номера не важно), длиной 0 и графическим стилем "Линия".

  • С помощью графических элементов изобразите внешний вид символа питания, как показано на рисунке.

  • Установите точку привязки на выводе.

  • The symbol value is +5V.

  • The symbol reference is \#+5V. The reference text is not important except the first character which must be # to indicate that the symbol is a power symbol. By convention, every symbol in which the reference field starts with a # will not appear in the symbol list or in the netlist and the reference is declared as invisible.

Более простой способ создания нового символа питания, используя другой как шаблон:

  • Загрузить существующий символ питания.

  • Изменить имя вывода на имя нового символа питания.

  • Изменить поле значения на то же имя, что и у вывода, если хотите, чтобы оно было показано.

  • Save the new symbol.

13. LibEdit - Symbols

13.1. Обзор

A symbol consist of the following elements

  • Графическое обозначение (графические линии, текст).

  • Выводы.

  • Fields or associated text used by the post processors: netlist, symbols list.

Two fields are to be initialized: reference and value. The name of the design associated with the symbol, and the name of the associated footprint, the other fields are the free fields, they can generally remain empty, and could be filled during schematic capture.

However, managing the documentation associated with any symbol facilitates the research, use and maintenance of libraries. The associated documentation consists of

  • Строки комментария.

  • Строки ключевых слов, таких как TTL CMOS NAND2, разделяемых пробелами.

  • Имени приложенного файла (например, пример использования или pdf-файл).

    Каталог по умолчанию для приложенных файлов:

    kicad/share/library/doc

    Или:

    kicad/library/doc

    В Linux:

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

    /usr/share/kicad/library/doc

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

Key words allow you to selectively search for a symbol according to various selection criteria. Comments and key words are displayed in various menus, and particularly when you select a symbol from the library.

The symbol also has an anchoring point. A rotation or a mirror is made relative to this anchor point and during a placement this point is used as a reference position. It is thus useful to position this anchor accurately.

A symbol can have aliases, i.e. equivalent names. This allows you to considerably reduce the number of symbols that need to be created (for example, a 74LS00 can have aliases such as 74000, 74HC00, 74HCT00…).

Finally, the symbols are distributed in libraries (classified by topics, or manufacturer) in order to facilitate their management.

13.2. Position a symbol anchor

Точка привязки имеет координаты (0,0) и отображается в виде синих осей на дисплее.

eeschema_libedit_anchor_png

Точку привязки можно установить заново, выбрав icons/anchor_png и нажав левой кнопкой мыши в точке её новой позиции. Изображение будет автоматически перерисовано с новым центром в указанной точке.

13.3. Symbol aliases

An alias is another name corresponding to the same symbol in the library. Symbols with similar pin-out and representation can then be represented by only one symbol, having several aliases (e.g. 7400 with alias 74LS00, 74HC00, 74LS37 ).

Применение псевдонимов позволяет строить целые библиотеки быстрее. Плюс ко всему, эти библиотеки будут намного компактнее и будут проще загружаться в KiCad.

Чтобы изменить список псевдонимов, нужно вызвать окно редактирования главных свойств с помощью icons/part_properties_png и выбрать вкладку псевдонимов.

eeschema_libedit_alias_png

Здесь можно добавлять или удалять нужные псевдонимы. Текущий псевдоним нельзя удалить, пока он загружен в редактор.

To remove all aliases, you have firstly to select the root symbol. The first symbol in the alias list in the window of selection of the main toolbar.

13.4. Symbol fields

Редактор полей вызывается с помощью кнопки icons/text_png .

There are four special fields (texts attached to the symbol), and configurable user fields

eeschema_libedit_field_properties_png

Стандартные поля:

  • Обозначение.

  • Value. It is the symbol name in the library and the default value field in schematic.

  • Посадочное место. Здесь хранится имя посадочного места, используемого при проектировании печатной платы. При использовании CvPcb для назначения посадочных мест оно не очень полезно, но в противном случае — необходимо.

  • Документация. Это зарезервированное поле и пока не используется.

13.5. Symbol documentation

To edit documentation information, it is necessary to call the main editing window of the symbol via the icon icons/part_properties_png and to select the document folder.

eeschema_libedit_description_png

Be sure to select the right alias, or the root symbol, because this documentation is the only characteristic which differs between aliases. The "Copy Doc" button allows you to copy the documentation information from the root symbol towards the currently edited alias.

13.5.1. Symbol keywords

Keywords allow you to search in a selective way for a symbol according to specific selection criteria (function, technological family, etc.)

Инструмент поиска в Eeschema не чувствителен к регистру. В библиотеках в основном используются следующие ключевые слова:

  • CMOS TTL — для микросхем стандартной логики

  • AND2 NOR3 XOR2 INV… — для логических элементов (AND2 = элемент логического И с двумя входами, NOR3 = элемент логического ИЛИ-НЕ с тремя входами).

  • JKFF DFF … — для JK или D триггеров.

  • ADC, DAC, MUX, …

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

13.5.2. Symbol documentation (Doc)

The line of comment (and keywords) is displayed in various menus, particularly when you select a symbol in the displayed symbols list of a library and in the ViewLib menu.

If this Doc. file exists, it is also accessible in the schematic capture software, in the pop-up menu displayed by right-clicking on the symbol.

13.5.3. Связанный файл документации

Указан файл (документации, примера применения), связанный с компонентом (pdf-файл, файл схемы или другое).

13.5.4. Фильтры посадочных мест для CvPcb

You can enter a list of allowed footprints for the symbol. This list acts as a filter used by CvPcb to display only the allowed footprints. A void list does not filter anything.

eeschema_libedit_footprint_png

Допускается использование символов обобщения (масок, wild-card).

SO14* указывает CvPcb отобразить все посадочные места, имена которых начинаются с SO14.

В случае с резисторами, R? покажет все посадочные места с именем из двух букв, первая из которых R.

Далее пример: с использованием фильтрации и без:

С фильтрацией

eeschema_cvpcb_with_filtering_png

Без фильтрации

eeschema_cvpcb_without_filtering_png

13.6. Библиотека символов

You can easily compile a graphic symbols library file containing frequently used symbols. This can be used for the creation of symbols (triangles, the shape of AND, OR, Exclusive OR gates, etc.) for saving and subsequent re-use.

These files are stored by default in the library directory and have a .sym extension. These symbols are not gathered in libraries like the normal symbols because they are generally not so many.

13.6.1. Экспорт (создание) символа

A symbol can be exported 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.

13.6.2. Импорт символа

Importing allows you to add graphics to a symbol you are editing. A symbol is imported with the button Import graphic icon . Imported graphics are added as they were created in existing graphics.

14. Просмотр библиотек компонентов

14.1. Введение

The Symbol Library Browser allows you to quickly examine the content of symbol libraries. The Symbol Library Viewer can be accessed by clicking icons/library_browse_png icon on the main toolbar, selecting "Library Browser" entry in the "View" menu or double clicking symbol image on "Choose Symbol" window.

eeschema_viewlib_choose_png

14.2. Главное окно

eeschema_viewlib_select_library_png

Чтобы просмотреть содержимое нужной библиотеки, нужно выбрать её в первой колонке слева. Доступные компоненты будут показаны во второй колонке, где можно выбрать нужный компонент для просмотра.

eeschema_viewlib_select_component_png

14.3. Верхняя панель инструментов просмотрщика компонентов библиотеки

Верхняя панель инструментов просмотрщика библиотеки компонентов показана ниже.

images/toolbar_viewlib.png

Доступны следующие команды:

icons/library_png

Выбор необходимой библиотеки, которую также можно выбрать из показанного списка.

icons/add_component_png

Выбор необходимого компонента, который также можно выбрать из показанного списка.

icons/lib_previous_png

Показать предыдущий компонент.

icons/lib_next_png

Показать следующий компонент.

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

Инструменты масштабирования.

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

Выбор начертания (нормальное или альтернативное), если присутствует.

images/toolbar_viewlib_part.png

Выбор части сложного компонента, который состоит из нескольких частей.

icons/datasheet_png

Если присутствует — показать назначенную документацию. Эта кнопка появляется, только при вызове из Eeschema для добавления компонента.

icons/export_png

Закрыть просмотрщик компонентов и расположить выбранный компонент в Eeschema. Эта кнопка отображается только в том случае, если просмотрщик был запущен из Eeschema (также, можно выбрать с помощью двойного щелчка по компоненту).

15. Создание списков цепей и перечней элементов в различных форматах

15.1. Промежуточный файл списка цепей

Перечни элементов и списки цепей можно создавать из промежуточного файла списка цепей, который создаёт Eeschema.

Этот файл построен с применением синтаксиса XML и называется промежуточным. Он содержит в себе большое количество данных о печатной плате и, благодаря этому, может быть использован для последующего преобразования в перечень элементов или файл другого формата.

В зависимости от выходного формата (перечень элементов или список цепей), будут использоваться различные области промежуточного файла, при генерации.

15.1.1. Пример схемы

Пример схемы

15.1.2. Пример промежуточного файла списка цепей

Промежуточный файл списка цепей (в формате XML), соответствующий приведённой выше схеме, показан далее.

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

15.2. Преобразование списка цепей в другой формат

Применяя сценарии преобразования, можно из промежуточного файла списка цепей получить упрощенный список цепей или перечень элементов. Так как выполняется преобразование из текстового файла в текстовый, то сценарий для преобразования можно составить на языках Python, XSLT или любом другом, умеющем работать с XML данными.

XSLT сам по себе построен на синтаксисе XML и очень удобен для работы с XML-файлами. Существует бесплатное приложение xsltproc, которое можно загрузить и установить. Приложение xsltproc можно использовать для считывания промежуточного файла списка цепей в формате XML, применить сценарий для преобразования полученных данных и сохранить результат в выходной файл. Использование xsltproc требует написания сценария на языке XSLT. Весь процесс преобразования контролирует Eeschema, нужно лишь один раз настроить её для запуска xsltproc.

15.3. Основы XSLT

Документ, объясняющий преобразования XSL (XSLT - XSL Transformations), доступен здесь:

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

15.3.1. Создание списка цепей в формате Pads-Pcb

Формат pads-pcb состоит из двух частей.

  • Списка посадочных мест.

  • Списка соединений: контактные площадки сгруппированы по именам цепей.

Сразу под этим, показан сценарий для преобразования промежуточного списка цепей в файл в формате 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>

А здесь, показано содержимое выходного файла в формате pads-pcb после работы 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*

Командная строка для запуска этого преобразования:

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

15.3.2. Создание списка цепей в формате Cadstar

Формат Cadstar состоит из двух частей.

  • Списка посадочных мест.

  • Списка соединений: контактные площадки сгруппированы по именам цепей.

Далее показан файл сценария для выполнения необходимых преобразований:

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

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

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

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

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

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

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

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

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

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

</xsl:stylesheet>

Это выходной файл в формате Cadstar.

.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

15.3.3. Создание списка цепей в формате OrcadPCB2

Этот формат имеет только одну часть, которая является списком посадочных мест. Каждое посадочное место содержит перечень его контактных площадок с указанием подсоединённых цепей.

Здесь приведён сценарий для выполнения необходимых преобразований:

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

Здесь показан выходной файл в формате 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 )
 )
)
*

15.3.4. Подключение плагинов в Eeschema

Инструменты преобразования промежуточного списка цепей можно автоматически запускать из Eeschema.

Настройка диалогового окна

Каждый может добавить вкладку для нового плагина генерации списка соединений с помощью кнопки "Добавить плагин".

eeschema_plugin_add_plugin_png

Здесь показано как выглядит вкладка с параметрами нового плагина PadsPcb:

eeschema_plugin_padspcb_png
Параметры плагина

Диалоговое окно настройки плагина в Eeschema требует следующую информацию:

  • Наименование: имя формата списка цепей, к примеру.

  • Командная строка для запуска преобразования.

Как только будет нажата кнопка Сформировать, произойдет следующее:

  1. Eeschema создаст промежуточный файл списка цепей *.xml, например, test.xml.

  2. Eeschema запустит плагин, который считает test.xml и создаст test.net.

Создание списка цепей с помощью командной строки

Предположим, используется приложение xsltproc.exe для выполнения сценария по преобразованию промежуточного файла, тогда командная строка для запуска xsltproc.exe будет выглядеть так:

xsltproc.exe -o <имя выходного файла> <имя сценария> <имя входного XML файла для преобразования>

Если KiCad работает в операционной системе Windows, то командная строка будет иметь следующий вид:

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

В операционных системах на базе Linux командная строка будет такой:

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

Где netlist_form_pads-pcb.xsl — файл сценария, который нужно применить. Не забывайте ставить кавычки вокруг имён файлов, это позволит Eeschema обрабатывать файлы с пробелами в именах.

Командная строка поддерживает команды для указания имен файлов:

Поддерживаемые параметры форматирования.

  • %B ⇒ базовое имя — полное имя выходного файла без пути и расширения.

  • %I ⇒ полное имя временного входного файла (промежуточный файл списка цепей).

  • %O ⇒ полное имя выходного файла.

%I будет заменено актуальным именем промежуточного файла

%O будет заменено актуальным именем выходного файла.

Формат командной строки: пример для xsltproc

Формат командной строки для xsltproc следующий:

<путь к xsltproc> xsltproc <параметры для xsltproc>

В Windows:

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

В Linux:

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

В приведённых выше примерах предполагается, что все файлы xsltproc на ПК с ОС Windows установлены в каталог kicad/bin.

15.3.5. Создание перечня элементов

Так как промежуточный файл списка цепей содержит всю информацию об использованных компонентах, то из него можно извлечь перечень элементов. Далее показано диалоговое окно с настроенным плагином (в Linux) для генерации перечня элементов (Bill Of Materials — BOM):

bom-netlist-tab_png

Путь к файлу сценария bom2csv.xsl зависит от используемой операционной системы. На данный момент, лучший сценарий XSLT для создания перечня элементов называется bom2csv.xsl. Если нужно, его всегда можно изменить и, если в результате получится что-то полезное для всех, попросить сделать новый сценарий частью проекта KiCad.

15.4. Формат командной строки: пример сценария на языке Python

Командная строка для скрипта на языке Python выглядит, приблизительно, так:

python <имя файла скрипта> <имя входного файла> <имя выходного файла>

В Windows:

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

В Linux:

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

Предполагается, что Python уже установлен на ПК.

15.5. Структура промежуточного файла списка цепей

Этот пример даёт представление о формате файла списка цепей.

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

15.5.1. Основные элементы файла списка цепей

Промежуточный файл насчитывает пять разделов.

  • Раздел оглавления (design).

  • Раздел компонентов (components).

  • Раздел частей компонента (libparts).

  • Раздел библиотек (libraries).

  • Раздел цепей (nets).

Содержимое файла ограничивается разделителем <export>

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

15.5.2. Оглавление

Оглавление ограничивается разделителем <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>

Этот раздел может содержать подраздел с комментариями.

15.5.3. Компоненты

Раздел компонентов ограничивается разделителем <components>

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

Этот раздел содержит перечень компонентов используемых в схеме. Каждый компонент имеет следующее описание:

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

libsource

имя библиотеки, из которой был взят компонент.

part

имя компонента в библиотеке.

sheetpath

путь к листу иерархии: указан лист из всей иерархии схемы

tstamps (time stamps)

метка времени файла схемы.

tstamp (time stamp)

метка времени компонента.

Замечание о метке времени компонента

Для сопоставления компонентов из списка цепей, компонентам из печатной платы, используют метки времени в качестве уникального идентификатора для каждого компонента. Этот способ используется в KiCad как вспомогательный, для нахождения соответствующего компонента из списка цепей на печатной плате. Это позволяет заново обозначать компоненты в проекте схемы и не терять при этом связь с посадочным местом.

Метка времени — это уникальный идентификатор для каждого компонента или листа в проекте схемы. Но, в сложных иерархиях, где один файл схемы может использоваться несколькими листами, компоненты из этих листов имеют одни и те же метки времени.

Каждый лист сложной иерархии имеет свой уникальный идентификатор: его путь (sheetpath). Каждый компонент (из листа сложной иерархии), тоже, имеет уникальный идентификатор: путь листа + его метка времени.

15.5.4. Части компонента

Раздел частей компонента ограничивается разделителем <libparts> и содержит описания из библиотеки схемы. Этот раздел содержит:

  • Подходящие имена посадочных мест (фильтры для CvPcb) — разделитель <fp>.

  • Поля, указанные в библиотеке — разделитель <fields>.

  • Перечень выводов — разделитель <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>

Строки типа <pin num="1" type="passive"/> также содержат электрический тип вывода. Доступны следующие электрические типы:

Input

Вход — обычный входной вывод

Output

Выход — обычный выходной вывод

Bidirectional

Двунаправленный — может быть как входом, так и выходом

Tri-state

Трехстабильный — ввод/вывод шины

Passive

Пассивный — обычный вывод пассивных компонентов

Unspecified

Не определено — не известный электрический тип

Power input

Вход питания — вход питания компонента

Power output

Выход питания — выход, на подобии выхода стабилизатора напряжения

Open collector

Открытый коллектор — часто используется в аналоговых компараторах

Open emitter

Открытый эмиттер — иногда используется в логических элементах

Not connected

Не подсоединен — должен остаться без подключения в схеме

15.5.5. Библиотеки

Раздел библиотек ограничивается разделителем <libraries>. Этот раздел состоит из списка библиотек компонентов, используемых в проекте схемы.

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

15.5.6. Цепи

Раздел цепей ограничивается разделителем <nets>. Этот раздел состоит из "подключений" в схеме.

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

В этом разделе перечисляются все цепи, присутствующие в схеме.

Обычно цепь состоит из следующего:

<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

внутренний идентификатор данной цепи

name

имя цепи

node

содержит ссылку на вывод компонента, подключенного к данной цепи

15.6. Более подробно о xsltproc

Просмотрите страницу: http://xmlsoft.org/XSLT/xsltproc.html

15.6.1. Введение

xsltproc — это консольное приложение для выполнения сценариев XSLT по преобразованию XML-файлов. На данный момент оно разрабатывается как часть проекта GNOME, но может использоваться отдельно от рабочего окружения GNOME.

xsltproc вызывается из командной строки (терминала) с указанием сценария и имени файла, к которому этот сценарий должен быть применён. Если нужно преобразовать стандартный ввод вместо файла, используют - (дефис).

Если сценарий содержится в самом XML-файле, то его не нужно указывать в командной строке. xsltproc автоматически определит наличие сценария в файле и применит его. По умолчанию, результат преобразования будет выведен на экран (stdout). Можно, вместо этого, указать имя выходного файла с помощью параметра -o.

15.6.2. Формат командной строки

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* ]
[ *....* ]

15.6.3. Параметры командной строки

-V или --version

Показать версию используемых библиотек libxml и libxslt.

-v или --verbose

Выводить описание каждого шага работы xsltproc в процессе применения сценария к документу.

-o или --output имя_файла

Направляет вывод в файл под именем имя_файла. При множественном выводе параметр -o имя_каталога/ указывает выводить файлы в указанный каталог. Данный каталог должен существовать.

--timing

Отобразить время, затраченное на считывание сценария, выполнение преобразования и сохранение результата. Отображается в миллисекундах.

--repeat

Выполнить преобразование 20 раз. Используется для тестирования времени обработки.

--debug

Выводит дополнительный файл с древовидной XML-структурой в целях отладки.

--novalid

Пропустить загрузку элемента DTD из документа.

--noout

Не выводить результат.

--maxdepth значение

Настроить максимальную глубину стека, чтобы обеспечить выход из бесконечного цикла в libxslt. Значение по умолчанию — 500.

--html

Входной файл в формате HTML.

--param параметр значение

Передать параметр параметр со значением значение в сценарий. Можно передавать несколько параметров (до 32). Если в качестве значения будет передаваться строка, нужно использовать параметр --stringparam.

--stringparam параметр значение

Передать параметр параметр со значением значение, где значение — строка. (Примечание: строка должна быть в формате utf-8).

--nonet

Не использовать Интернет для получения DTD, объектов или документов.

--path пути

Использовать список (разделённый пробелами или точками с запятой) путей файловой системы, указанных в пути для загрузки DTD, объектов или документов.

--load-trace

Показать в стандартном выводе stderr все документы, загруженные в процессе работы.

--catalogs

Использовать каталог SGML, указанный в SGML_CATALOG_FILES, для установки расположения внешних объектов. По умолчанию, xsltproc ищет их в каталоге, указанном в XML_CATALOG_FILES. Если он не задан, используется /etc/xml/catalog.

--xinclude

Преобразовать входной документ используя спецификацию Xinclude. Больше информации об этом можно найти здесь: http://www.w3.org/TR/xinclude/

--profile --norman

Выводить профильную информацию с детальным описанием времени, потраченного на каждую часть сценария. Это будет полезным для оптимизации быстродействия сценария.

--dumpextensions

Вывести перечень всех зарегистрированных расширений на экран.

--nowrite

Запретить запись в любой файл или источник.

--nomkdir

Запретить создание каталогов.

--writesubtree каталог

Разрешить записывать файл только внутри указанного каталога.

--nodtdattr

Не применять значение по умолчанию для атрибута DTD в файле.

15.6.4. Возвращаемые значения xsltproc

xsltproc возвращает код результата, который может быть очень полезен при работе из командной строки.

0: норма

1: нет аргументов

2: слишком много параметров

3: неизвестный параметр

4: невозможно загрузить сценарий

5: ошибка в сценарии

6: ошибка в одном из документов

7: не поддерживаемый метод вывода xsl

8: строковый параметр содержит как одинарные, так и двойные кавычки

9: внутренняя ошибка обработки

10: работа была прервана внешним сигналом

11: невозможно записать результат в выходной файл

15.6.5. Больше подробностей о xsltproc

Страница о libxml: http://www.xmlsoft.org/

Страница о W3C XSLT: http://www.w3.org/TR/xslt

16. Simulator

Eeschema provides an embedded electrical circuit simulator using ngspice as the simulation engine.

When working with the simulator, you may find the official pspice library useful. It contains common symbols used for simulation like voltage/current sources or transistors with pins numbered to match the ngspice node order specification.

There are also a few demo projects to illustrate the simulator capabilities. You will find them in demos/simulation directory.

16.1. Assigning models

Before a simulation is launched, components need to have Spice model assigned.

Each component can have only one model assigned, even if component consists of multiple units. In such case, the first unit should have the model specified.

Passive components with reference matching a device type in Spice notation (R* for resistors, C* for capacitors, L* for inductors) will have models assigned implicitly and use the value field to determine their properties.

Замечание
Keep in mind that in Spice notation M stands for milli and Meg corresponds to mega. If you prefer to use M to indicate mega prefix, you may request doing so in the simulation settings dialog.

Spice model information is stored as text in symbol fields, therefore you may either define it in symbol editor or schematics editor. Open symbol properties dialog and click on Edit Spice Model button to open Spice Model Editor dialog.

Spice Model Editor dialog has three tabs corresponding to different model types. There are two options common to all model types:

|=== |Disable symbol for simulation |When checked the component is excluded from simulation. |Alternate node sequence |Allows one to override symbol pin to model node mapping. To define a different mapping, specify pin numbers in order expected by the model.

Example:

* connections: + * 1: non-inverting input + * 2: inverting input + * 3: positive power supply + * 4: negative power supply + * 5: output
.subckt tl071 1 2 3 4 5

Generic operational amplifier symbol

To match the symbol pins to the Spice model nodes shown above, one needs to use an alternate node sequence option with value: "1 3 5 2 4". It is a list of pin numbers corresponding to the Spice model nodes order. |===

16.1.1. Passive

Passive tab allows the user to assign a passive device model (resistor, capacitor or inductor) to a component. It is a rarely used option, as normally passive components have models assigned implicitly, unless component reference does not match the actual device type.

Замечание
Explicitly defined passive device models have priority over the ones assigned implicitly. It means that once a passive device model is assigned, the reference and value fields are not taken into account during simulation. It may lead to a confusing situation when assigned model value does not match the one displayed on a schematic sheet.
Passive device model editor tab

|=== |Type |Selects the device type (resistor, capacitor or inductor). |Value |Defines the device property (resistance, capacitance or inductance). The value may use common Spice unit prefixes (as listed below the text input field) and should use point as the decimal separator. Note that Spice does not correctly interpret prefixes intertwined in the value (e.g. 1k5). |===

16.1.2. Model

Model tab is used to assign a semiconductor or a complex model defined in an external library file. Spice model libraries are often offered by device manufacturers.

The main text widget displays the selected library file contents. It is a common practice to put models description inside library files, including the node order.

Semiconductor device model editor tab

File

Path to a Spice library file. This file is going to be used by the simulator, as it is added using .include directive.

Model

Selected device model. When a file is selected, the list is filled with available models to choose from.

Type

Selects model type (subcircuit, BJT, MOSFET or diode). Normally it is set automatically when a model is selected.

16.1.3. Source

Source tab is used to assign a power or signal source model. There are two sections: DC/AC analysis and Transient analysis. Each defines source parameters for the corresponding simulation type.

Source type option applies to all simulation types.

Source model editro tab

Refer to the ngspice documentation, chapter 4 (Voltage and Current Sources) for more details about sources.

16.2. Spice directives

It is possible to add Spice directives by placing them in text fields on a schematic sheet. This approach is convenient for defining the default simulation type. This functionality is limited to Spice directives starting with a dot (e.g. ".tran 10n 1m"), it is not possible to place additional components using text fields.

16.3. Simulation

To launch a simulation, open Spice Simulator dialog by selecting menu Tools→Simulator in the schematics editor window.

Main simulation dialog

The dialog is divided into several sections:

16.3.1. Menu

File

|=== |New Plot | Create a new tab in the plot panel. |Open Workbook | Open a list of plotted signals. |Save Workbook | Save a list of plotted signals. |Save as image | Export the active plot to a .png file. |Save as .csv file | Export the active plot raw data points to a .csv file. |Exit Simulation | Close the dialog. |===

Simulation

|=== |Run Simulation | Perform a simulation using the current settings. |Add signals… | Open a dialog to select signals to be plotted. |Probe from schematics | Start the schematics Probe tool. |Tune component value | Start the Tuner tool. |Show SPICE Netlist… | Open a dialog showing the generated netlist for the simulated circuit. |Settings… | Open the simulation settings dialog. |===

View

|=== |Zoom In | Zoom in the active plot. |Zoom Out | Zoom out the active plot. |Fit on Screen | Adjust the zoom setting to display all plots. |Show grid | Toggle grid visibility. |Show legend | Toggle plot legend visibility. |===

16.3.2. Toolbar

Simulation dialog top toolbar

The top toolbar provides access to the most frequently performed actions.

|=== |Run/Stop Simulation | Start or stop the simulation. |Add Signals | Open a dialog to select signals to be plotted. |Probe | Start the schematics Probe tool. |Tune | Start the Tuner tool. |Settings | Open the simulation settings dialog. |===

16.3.3. Plot panel

Visualizes the simulation results as plots. One can have multiple plots opened in separate tabs, but only the active one is updated when a simulation is executed. This way it is possible to compare simulation results for different runs.

Plots might be customized by toggling grid and legend visibility using View menu. When a legend is visible, it can be dragged to change its position.

Plot panel interaction:

  • scroll mouse wheel to zoom in/out

  • right click to open a context menu to adjust the view

  • draw a selection rectangle to zoom in the selected area

  • drag a cursor to change its coordinates

16.3.4. Output console

Output console displays messages from the simulator. It is advised to check the console output to verify there are no errors or warnings.

16.3.5. Signals list

Shows the list of signals displayed in the active plot.

Signals list interaction:

  • right click to open a context menu to hide signal or toggle cursor

  • double click to hide signal

16.3.6. Cursors list

Shows the list of cursors and their coordinates. Each signal may have one cursor displayed. Cursors visibility is set using the Signals list.

16.3.7. Tune panel

Displays components picked with the Tuner tool. Tune panel allows the user to quickly modify component values and observe their influence on the simulation results - every time a component value is changed, the simulation is rerun and plots are updated.

For each component there a few controls associated:

  • The top text field sets the maximum component value.

  • The middle text field sets the actual component value.

  • The bottom text field sets the minimum component value.

  • Slider allows the user to modify the component value in a smooth way. Save button modifies component value on the schematics to the one selected with the slider. X button removes component from the Tune panel and restores its original value.

The three text fields recognize Spice unit prefixes.

16.3.8. Tuner tool

Tuner tool lets the user pick components for tuning.

To select a component for tuning, click on one in the schematics editor when the tool is active. Selected components will appear in the Tune panel. Only passive components might be tuned.

16.3.9. Probe tool

Probe tool provides an user-friendly way of selecting signals for plotting.

To add a signal to plot, click on a corresponding wire in the schematics editor when the tool is active.

16.3.10. Simulation settings

Simulation settings dialog

Simulation settings dialog lets the user set the simulation type and parameters. There are four tabs:

  • AC

  • DC Transfer

  • Transient

  • Custom

The first three tabs provide forms where simulation parameters might be specified. The last tab allows the user to type in custom Spice directives to set up a simulation. You can find more information about simulation types and parameters in the ngspice documentation, chapter 1.2.

An alternative way to configure a simulation is to type Spice directives into text fields on schematics. Any text field directives related to simulation type are overridden by the settings selected in the dialog. It means that once you start using the simulation dialog, the dialog overriddes the schematics directives until the simulator is reopened.

There are two options common to all simulation types:

|=== |Adjust passive symbol values | Replace passive symbol values to convert common component values notation to Spice notation. |Add full path for .include library directives | Prepend Spice model library file names with full path. Normally full path is required by ngspice to access a library file. |===