Headings:
5 - Создание схемы/Редактирование.
5.3 - Последовательность разработки.
5.4 - Размещение компонент/редактирование.
5.4.1 - Найти и разместить компонет.
5.4.2 - Подключение питания (Power ports).
5.4.3 - Редактирование компонент / Модификация (уже размещенных компонент).
5.4.3.1 - Модификация компонента.
5.4.3.2 - Модификация текстовых полей.
5.5 - Проводники, Шины, Метки, Питание (Power ports).
5.5.2 - Соединения (Wires-провода и Labels-метки).
5.5.3 - Соединения (Шины-Buses).
5.5.3.1 - Элементы шины (Bus members).
5.5.3.2 - Соединения между членами шины.
5.5.3.3 - Глобальные соединения между шинами.
5.5.5 - “NoConnection” символы.
5.7.3 - Создание иерархии. Заголовок.
5.7.4 - Символ листа (Sheet symbol).
5.7.5 - Соединения : Иерархические выводы (Hierarchy pins).
5.7.6 - Соединения: глобальные метки.
5.7.7 - Метки, GLabels и невидимые Power Pins (выводы питания).
Схема может быть представлена на единственном листе, но, главным образом, она потребует нескольких листов.
Схемы, представленные на нескольких листах, по этой причине названы иерархическими, и все эти листы (каждый из них представлен своим собственным файлом) составляют EESchema проект.
Проект (project) состоит из основной схемы, названной корневой (root schematic), и суб-листов, образующих иерархию.
С тем, чтобы можно было отыскать каждый из файлов проекта, вы должны выполнять определенные правила рисования, которые описаны далее.
Ниже, когда мы говорим о проекте, мы будем иметь в виду как проект на одном листе, так и иерархический многостраничный проект.
Специальные дополнительные символы поддерживают использование иерархии и ее характеристик.
Схемы, разработанные с помощью EESchema – это большее, чем простое графическое представление электронного устройства.
Это, как правило, отправная точка или начальное звено в цепи конструирования, которое позволяет :
Проверить правила электрического соединения (проверка E.R.C.), что в свою очередь позволяет обнаружить ошибки или пропуски в схеме.
Автоматическую генерацию спецификации (bill of material).
Генерацию netlist (список соединений) для симуляции в такой, например, программе, как Pspice.
Генерацию netlist для печати разводки принципиальной схемы (PCBNEW). Последовательная сверка схемы и разводки (printed circuit board) автоматизирована и немедлена.
Чтобы извлечь пользу из этих возможностей, вы должны придерживаться некоторых правил и соглашений. Это позволит избежать неприятных сюрпризов и ошибок.
Схема, главным образом, состоит из компонент, соединений (проводников), меток (этикеток-labels), точек соединений (или пересечений), шин и точек подключения питания (power ports).
Для ясности схемы вы можете размещать чисто графические элементы, такие как вводы шины, комментарии и штриховые линии для прорисовки структуры.
Программа разработки схемы использует библиотеки компонент (component libraries).
В дополнение к файлу разработки схемы файл спецификации (netlist) чрезвычайно важен, поскольку он используется в других программах разработки.
Файл netlist дает список компонент и соединений непосредственно из схемы.
Существует (к несчастию для пользователя) великое множество форматов спецификаций (netlist formats), некоторые более известны. Как в случае формата Spice, например.
Для
загрузки компонент используйте инструмент
Для размещения нового компонента щелкните по месту его предполагаемой установки.
Диалоговое окно позволит вам впечатать имя модуля для загрузки.
В окне диалога отображаются два последних загруженных элемета.
Если вы введете *, или если выберете клавишу “list all (весь список)”, EESchema отобразит список библиотек, а затем доступные компоненты.
Если впечатать символ “=“, сопровождаемый ключевыми словами, EESchema отобразит список компонент, соответствующих всем ключевым словам.
Вы можете также добавить список выбора: например, если вы введете LM2 *, все имена компонент, начинающиеся с LM2 будут представлены в списке.
Выбранный компонент появится на экране в режиме размещения.
Перед размещением в выбранном месте (щелчком левой клавиши мышки) вы можете повернуть компонент (на 90 градусов за раз), осуществить отражение, соответственно, по оси X или Y, или выбрать его представление через выпадающее меню быстрого редактирования.
Это все можно легко сделать и после размещения.
Если нужный компонент отсутствует, помните, что вы можете зачастую загрузить схожий компонент, а затем модифицировать его: если нужен 54LS00, вы можете, естественно, загрузить 74LS00 и изменить его имя с 74LS00 на 54LS00.
Вот компонент в процессе размещения:
Символ питания это компонент (символы сгруппированы в библиотеке “power”).
Так что вы можете использовать предыдущую команду.
Но если
это размещение частое, есть средство
инструментальной панели.
Этот инструмент подобен предшественнику, исключая то, что поиск осуществляется непосредственно в библиотеке “power library”, экономя время.
Редактирование / модификация есть двух видов.
Модификация собственно компонента (позиция, ориентация, выбор элемента многоэлементного компонента).
Модификация одного из полей (ссылка, значение или другие) компонента.
Как только компонент размещен, вы можете изменить его значение (актуально для резисторов, конденсаторов…), но бесполезно пытаться сделать это немедленно для присвоенного номера ссылки или для выбранного элемента многоэлементного компонента (наподобие 7400).
Это может быть сделано автоматически через функцию аннотации (annotation function).
Для выполнения этого позиционируйте курсор мышки на компоненте (но не на поле компонента). Затем можно:
Дважды щелкнуть по компоненту, чтобы открыть диалоговое окно полного редактирования.
Щелкнуть правой клавишей мышки, чтобы открыть выпадающее меню, и воспользоваться одной из отображаемых команд (Move-переместить, Orientation-ориентация, Edit-редактировать, Delete-удалить).
Вы можете модифицировать ссылку, значение, позицию, ориентацию, размер и видимость полей.
Для простого редактирования:
Дважды щелкните по текстовому полю, чтобы модифицировать его.
Щелкните правой клавишей и выполните одну из команд (Move-переместить, Rotate-повернуть, Edit-редактировать, Delete-удалить) в выпадающем меню.
Для более полного редактирования или с целью создания полей дважды щелкните по компоненту; этим открывается диалоговое окно “component properties – свойства компонента” :
Каждое поле может затем редактироваться:
Каждое поле может быть видимым, отображаться горизонтально или вертикально.
Отображаемая (и изменяемая) позиция всегда индицируется для нормального отображения компонента (без поворота или отражения) и относится к точке закрепления компонента.
Все эти элементы прорисовки могут быть также размещены с помощью инструментов правой вертикальной инструментальной панели.
И эти элементы:
Wires-проводники для обычного соединения.
Buses-шины (которые используются только для соединения меток шин, для эстетического восприятия чертежа)
Dotted lines-штриховые линии для графического представления.
Junctions-пересечения для обязательного соединения между перекрещивающимися проводами или шинами.
Bus entries-входы в шину для присоединения проводников к шине или шины к шине, для эстетического восприятия чертежа.
Labels-метки для обычного соединения.
Global labels-глобальные метки для соединения между листами.
Texts-тексты комментария.
“NoConnection-нет соединения” символы.
Hierarchy sheets-иерархия листов и их выводов соединения.
Есть два пути установить соединение:
Проводником от вывода к выводу (Pin to pin wires).
Метки (Labels).
Следующий рисунок показывает оба метода :
Примечание 1:
Точка « контакта-contact » (или закрепления) метки – это левый нижний угол первой буквы метки.
Эта точка должна, следовательно, контактировать с проводником, или быть наложена на точку контакта вывода так, чтобы эта метка бралась в расчет.
Примечание 2:
Для создания соединения часть проводника должна соединяться его концом с другим участком или выводом.
Если есть перекрытие (если проводник проходит поверх вывода, но без соединения с концом этого вывода), соединения не будет.
Однако метка будет соединяться с проводником, какая бы часть точки закрепления метки не оказалась на этом проводнике.
Примечание 3:
Если проводник должен соединяться с другим проводником, иначе, чем их концами, необходимо разместить символ пересечения (junction symbol) на точке пересечения.
Предыдущий рисунок (проводники соединенные с DB25FEMALE выводы 22, 21, 20, 19) показывает подобный случай соединения с использованием символа пересечения (junction symbol).
Примечание 4:
Если две разные метки помещены на то же самый проводник, они соединены между собой и становятся эквивалентны: все другие элементы контактирующие с одной или другой меткой становятся соединены между собой.
Давайте рассмотрим следующую схему:
Множество выводов (особенно компоненты U1 и BUS1) соединены с шинами.
С точки зрения схемы шина – это подборка сигналов, начинающихся с общего префикса, а заканчивающаяся числом.
Эта концепция такая же, как используемая для микропроцессорных шин. Каждый сигнал - member-член (элемент) шины.
PCA0, PCA1, PCA2 – это элементы шины PCA.
Полная шина названа PCA [N. .m], где N и m – это первый и последний номер проводника этой шины.
Так что, если PCA имеет 20 элементов от 0 до 19, полная шина обозначается, как PCA [0..19].
Но подборка сигналов подобно PCA0, PCA1, PCA2, WRITE, READ не может содержаться в шине.
Выводы, соединяемые между теми же членами шины, должны быть соединены с помошью меток (labels).
Действительно, прямое соединение вывода и шины не ощутимо, поскольку шина – это подборка сигналов, и подобное соединение будет проигнорировано EESchema.
В примере выше соединение выполнено метками, размещенными на проводниках, присоединненных к выводам.
Соединения через ввод в шину (сегменты проводников под 45 градусов) к проводникам шины имеет только эстетическое значение, и не является необходимым на чисто схемном уровне.
Фактически, благодаря команде повтора - repetition command (Insert клавиша), соединение может быть очень быстро сделано следующим образом, если выводы компонента выстроены по возрастанию (общий случай в практике для таких компонент, как память, микропроцессоры…):
Разместите первую метку (например, PCA0)
Используйте команду повтора столько раз, сколько необходимо для размещения всех элементов. EESchema будет автоматически создавать следующие метки (PCA1, PCA2…), вертикально выстроенные, теоретически в позиции других выводов.
Нарисуйте проводник под первой меткой. Затем воспользуйтесь командой повтора для размещения других проводников под метками.
Если нужно, разместите входы шины тем же путем (поместите первый вход, затем используйте команду повтора).
Примечание:
В меню Preferences/Options (Свойства/Опции) вы можете задать параметры повтора:
Вертикальный шаг (Vertical step).
Горизонтальный шаг.
Инкремент (шаг увеличения) метки (который может, соответственно, быть 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).
С другой стороны, вы не можете соединить элементы разных « весовых категорий » подобным же образом.
Если вы хотите соединить члены разных « весовых категорий » разных шин, вы должны сделать это элемент за элементом подобно двум обычным меткам, располагая их на тех же соединениях.
Когда выводы питания компонент видимы, они должны быть соединены, как и любые другие сигналы.
Трудности приходят со стороны компонент (таких как логические элементы и триггеры-защелки) для которых выводы питания обычно невидимы (невидимые выводы питания - invisible power pins).
Трудность двойная, поскольку :
- Вы не можете присоединить проводники, из-за их невидимости.
- Вы не знаете их имен.
И более того, это будет плохой идеей, сделать их видимыми и соединить подобно другим выводам, поскольку схем станет совсем « не читабельна », и не будет соответствовать обычным соглашениям.
Примечание:
Если
вы хотите принудительно отобразить эти
невидимые выводы питания, вы должны
установить опцию "Show invisible power pins"
в диалоговом окне Option основного меню,
или через иконку
левой инструментальной панели (панель
опций)
EESchema соединяет автоматически невидимые выводы питания :
Все невидимые выводы питания с одинаковыми именами автоматически соединяются между собой без дополнительных оповещений.
Однако эти автоматические соединения должны быть дополнены:
- Соединением с другими видимыми выводами, соединенными с этим портом питания.
- Возможно, соединением между группами невидимых выводов с другими именами (например, общесхемные (земляные) выводы, обычно назваются “GND” у TTL компонент и “VSS” у MOS, и они должны быть соединены между собой).
Для таких соединений вы должны использовать символы портов питания (компоненты специально разработанные для этого использования, которые вы можете создавать и модифицировать с помощью редактора библиотеки).
Эти символы состоят из невидимых выводов питания, связанных с желаемым чертежом.
Не используйте метки, которые имеют только возможности локального (“local”) соединения, и которые не будут соединять невидимые выводы питания. (Смотрите раздел о иерархической концепции, где это рассматривается более детально).
Рисунок ниже показывает пример соединения портов питания.
В этом примере земля (GND) соединена с портом питания VSS, а порт питания VCC соединен с VDD.
Два символа PWR_FLAG видимы. Они индицируют, что два порта питания VCC и GND в действительности присоединены к источнику питания.
Без этих двух флагов инструмент ERC диагностирует : Warning: power port not powered (Предупреждение: порт питания не запитан).
Все эти символы – компоненты схемной библиотеки "power".
Эти символы очень полезны для E.R.C. (проверка электрических соединенй), чтобы избежать нежелательных предупреждений. (Электрические правила проверяются с целью гарантировать, что соединения были преднамеренно оставлены неприсоединенными).
Если
выводы реально остаются оборваны,
необходимо разместить символ NoConnection
(инструмент
)
на этих выводах.
Эти символы, однако, не имеют никакого влияния на генерируемые netlists (списки соединений, спецификацию).
Может оказаться полезным (для хорошего понимания схемы) разместить индикаторы, такие как текстовые поля, структурные рамки (frames).
Текстовые
поля (средство
)
и штриховые линии (средство
)
предназначены для этой цели, в
противоположность меткам и проводникам,
являющимся элементами соединения.
Пример рамки (frame) :
Штамп
редактируется инструментом
:
Полный штамп в итоге:
Дата и номер листа (Sheet X/Y) автоматически обновляются:
Дата : когда вы изменяете схему.
Номер листа (полезно в иерархии листов) : функцией аннотации (annotation function).
Иерархическое изображение, главным образом, хорошее решение для проектов больших, чем на нескольких листах. Если вы хотите управлять такого рода проектом, будет необходимо :
- Использовать большие листы, которые создадут проблемы при печати и поддержке.
- Использовать несколько листов, которые выльются для вас в иерархическую структуру.
Полная схема тогда состоит из основного листа схемы, называемого корневым листом, и суб-листов составляющих иерархию.
Более того, искусное разбиение разработки на отдельные листы зачастую улучшает ее восприятие.
От корневого листа вы должны иметь возможность найти все суб-листы.
Управление
иерархическими схемами очень просто с
EESchema, благодаря интегрированному
“hierarchy navigator – навигатор по иерархии”
(клавиша
верхней и правой инструментальных
панелей, позже детализируем это).
Фактически есть два типа иерархии (которые могут существовать одновременно):
Первый только что был вызван, и общего использования.
Второй состоит в создании компонент в библиотеке, которая появляется подобно традиционным компонентам в схеме, но которая фактически соответствует схеме, описывающей их внутреннюю структуру.
Второй тип скорее используется для конструирования интегральных цепей, поскольку в этом случае вам приходится использовать функциональные библиотеки в схеме, которую вы отрисовываете.
EESchema в настоящий момент не обрабатывает этот второй случай.
Создание иерархической схемы просто – вся иерархия поддерживается, начинаясь с корневой схемы, как если бы это была только единственная схема.
Два момента, о которых следует знать :
Как создать суб-лист.
Как строить электрические соединения между суб-листами.
Это очень
легко, благодаря навигатору (инструмент
горизонтальной инструментальной
панели), показанному здесь :
Каждый лист доступен щелчком по его имени.
Быстрая навигация:
Щелкните правой клавишей по имени листа и выберите enter sheet – ввести лист.
Вы также
можете быстро добраться до корневого
листа или суб-листа, благодаря инструменту
правой вертикальной инструментальной
панели.
После выбора инструмента :
Щелкните по имени листа для выбора этого листа.
Щелкните где-нибудь еще для выбра основного листа.
Вы должны :
Разместить на корневом листе символ иерархии, названный “sheet symbol – символ листа”.
Войти в новую схему (суб-листа) с помоющью навигатора и нарисовать ее, подобно другим схемам.
Отрисовать электрические соединения между двумя схемами, располагая Глобальные Метки – Glabal Labels (Glabels) на новой схеме (суб-листе), и метки, имеющие те же имена на корневом листе, названные SheetLabels (метки листов). Эти метки листов будут соединены с символами листов корневго листа, с дургими элементами схемы, подобно стандартным выводам компонент.
Нарисуйте прямоугольник, обозначенный двумя диагональными точками, символизирующими суб-лист.
Размер этого прямоугольника должен позволить вам позже разместить специальные метки, иерархические выводы, соответствующие глобальным меткам (Glabels) на суб-листе.
Эти метки похожи на обычные выводы компонента.
Выберите
инструмент
.
Щелкните для размещения верхний левый угол прямоугольника. Щелкните еще раз для размещения нижний правый угол, чтобы достаточно увеличить прямоугольник.
Пример :
Затем вам будет предложено ввести имя файла и имя листа для этого суб-листа (с целью достижения соответствующей схемы, используйте навигатор по иерархии).
Вы должны задать хотя бы имя файла. Если нет имени листа, имя файла будет использовано, как имя листа (обычный способ выполнения).
Вы создадите здесь выводы соединений (Иерархические выводы) для символа, который был только что создан.
Эти точки соединения похожи на обычные выводы компонента, однако с возможностью соединения полной шины через единственную точку соединения.
Есть два способа сделать это:
Разместите разные выводы перед прорисовкой суб-листа (ручное размещение).
Разместите разные выводы после прорисовки суб-листа, и глобальные метки (полу-автоматическое размещение).
Второе решение предпочтительнее, насколько оно возможно.
Ручное размещение:
-
Выберите инструмент
.
- Щелкните по символу иерархии, где хотели бы разместить этот вывод.
Посмотрите ниже пример создания иерархического вывода, названного “CONNEXION”.
Вы можете затем определить его графические атрибуты, размер (Щелкните правой клавишей и выберите Edit в выпадающем меню) :
Доступны разные символы выводов :
- Input (ввод)
- Output (вывод)
- BiDir (двунаправленный)
- TriState (с тремя состояниями)
- NotSpecified (не определен)
Эти символы выводов только графические элементы, и не играют другой роли.
Автоматическое размещение:
Выберите
инструмент
.
Щелкните по символу иерархии там, откуда вы хотите импортировать вывод, соответствующий размещению глобальной метки на соответствующей схеме. Появится иерархический вывод, если новая глобальная метка существует, то есть, не соответствует уже размещенному выводу.
Щелкните там, где вы хотите разместить этот вывод.
Все необходимые выводы могут таки образом размещаться быстро и без ошибок. Их вид находится в согласии с соответствующими глобальными метками.
Каждый вывод символа листа, только созданный, должен соответствовать метке, называемой глобальной меткой или GLabel на суб-листе.
Glabels похожи на метки, но они обеспечивают соединение между суб-листами и корневым листом.
Графическое представление двух дополнительных меток (вывод и GLabel) схоже.
Создание
GLabel выполняется инструментом
.
Посмотрите ниже пример корневого листа :
Заметьте, выводы TRANSF1 и TRANSF2 соединены с коннектором JP3.
Вот соответствующие соединения на суб-листе :
Вы вновь найдете две соответствующие Glabels, обеспечивающие соединение между двумя иерархическими листами.
Заметьте:
Вы можете использовать GLabels и иерархические выводы для соединения двух шин, соответственно с синтаксисом (Bus [N. .m]), описанным ранее.
Вот несколько пояснений по разным способам обеспечения соединений иных, чем соединение проводниками.
Простые метки имеют локальную емкость соединения, то есть, ограничены листом схемы, на котором расположены.
Это происходит, благодаря тому факту, что :
Каждый лист имеет номер листа.
Этот номер листа связан с меткой.
Итак, если вы размещаете метку “TOTO” на листе № 3, фактически, настоящая метка это “TOTO_3“.
Если вы также размещаете метку “TOTO” на листе № 1 (корневой лист), вы фактически размещаете метку, названную “TOTO_1“, отличную от “TOTO_3“.
Это всегда верно, даже если есть всего одни лист.
Что сказано относительно простых меток, то же истинно для глобальных меток или GLabels.
Таким образом, на том же листе GLabel “TOTO” считается соединенной с локальной меткой “TOTO”, но не соединенной с GLabel или меткой, названной “TOTO” на другом листе.
Однако GLabel считается, как бы соединенной с соответствующим символом SheetLabel в иерархических символах, помещенных на корневой лист.
Было показано, что они соединены вместе, если они имели одинаковые имена.
Таким образом, все выводы питания, объявленные “Invisible Power Pins“ и названные VCC, соединены и формируют эквипотенцил VCC, где бы на листе они ни располагались.
Этим объясняется, что если вы располагаете метку VCC на суб-листе, она не будет соединена с выводом VCC, поскольку эта метка фактически VCC_n, где n – номер листа.
Если вы хотите, чтобы эта метка VCC была реально соединена с эквипотенциалом VCC, она должна будет явно присоединена к невидимому выводу питания, благодаря VCC порту питания.