Разработка схемы в иерархической форме (часть 1)

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

Задачи разработки электрической схемы

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

Почему схемы получили повсеместное распространение для изображения сложных процессов?

Человечество сравнительно недавно использует электричество. Однако за сравнительно небольшой период времени, около 160 лет, нам удалось интегрировать электричество практически во все сферы деятельности настолько эффективно, что произошел переход на новый технологический уклад.

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

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

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

Логично, что для представления передачи и управления электрическим током применяют электрические схемы.

Цель проектирования электронного устройства – сделать так, чтобы оно выполняло требуемые функции. То есть разработка устройства должна начинаться с рассмотрения его функций и взаимосвязей между ними. Результат такого рассмотрения должен быть представлен в виде электрической функциональной схемы. Реализация каждой функции с помощью доступных технических средств должна быть представлена в виде электрической принципиальной схемы – схемы, показывающей принципы функционирования электронного устройства. То есть электрическая принципиальная схема – это способ представления функций электронного устройства и связей между ними, изложенных в функциональной схеме. Все эти выводы формализованы в определениях стандартов ЕСКД.

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

При этом разработка электрической принципиальной схемы не будет продуктивной без разработки электрической функциональной схемы.

Зачастую разработкой электрической функциональной схемы пренебрегают в силу разных причин. Если инженер решается на разработку сразу электрической принципиальной схемы, то она должна быть выполнена так, чтобы выделять функции устройства, то есть она должна быть гибридной, «принципиально-функциональной». Такой способ представления электрической принципиальной схемы известен, кроме того, некоторые положения ЕСКД приводят конструктора к разработке электрической схемы с выделением функций устройства. Данный способ представления схемы получил исторически сложившееся неофициальное название «иерархический». В такой форме представления электрической принципиальной схемы функциональные группы включают подчиненные функциональные группы и элементы, образуя иерархию подчинения функциональных частей схемы. Применение иерархического представления электрической принципиальной схемы в средствах автоматизации проектирования электроники насчитывает уже больше 25 лет.

Виды представления схем в Altium Designer

Altium Designer позволяет разрабатывать электрическую принципиальную схему в традиционной «плоской» форме, а также в иерархической форме (рис. 1).

Верхний уровень электрической принципиальной схемы в иерархической форме в Altium Designer
Рис. 1 Верхний уровень электрической принципиальной схемы в иерархической форме

«Плоская» форма схемы позволяет создавать ее многолистовой с обозначением переходов линий связи между листами. При этом переходами линий связи с одного листа на другой достаточно просто управлять. Для обозначения перехода можно использовать, например, метки цепей (Net Label) схемного редактора. Линии связи, имеющие идентичные метки, соответствуют одному узлу электрической цепи. То же правило действует для линий групповой связи, в этом случае количество сопряженных узлов соответствует числу компонентов линии связи.

Также для обозначения переходов между листами допустимо применять условные обозначения перехода на другой лист, традиционно принятые в стандартах ISO. В Altium Designer соответствующий прими- тив называется Off Sheet Connector.

Линии связи, соединенные с такими одноименными примитивами, соответствуют одному узлу электрической цепи.

Аналогично вместо Off Sheet Connector можно применить условное обозначение перехода линии связи в виде примитива схемы типа Port. Такой примитив имеет сходную методику применения с Off Sheet Connector. Однако он выгодно отличается тем, что облегчает трансляцию структурированных линий электрической взаимосвязи типа Signal Harness за счет специального свойства Harness Type, которое отсутствует у примитива Off Sheet Connector.

Специальные обозначения функциональных групп на отдельных листах с помощью примитивов Sheet Symbol при «плоской» форме электрической схемы не применяют. Однако это не означает, что функциональные группы не могут быть определены для схемы в «плоской» форме, ведь функциональная группа – это лишь совокупность функциональных частей схемы, выполняющих некоторую функцию. Для определения компонентов в качестве функциональной группы для них нужно определить пользовательский класс компонентов. Сделать это можно при помощи добавления компонентам функциональной группы параметра с названием Class Name и одинаковым значением, которое определяет название класса компонентов.

Иерархическая форма позволяет применить концепцию функциональных групп с электрическими схемами на отдельных листах в форме объектов схемы Sheet Symbol и Device Sheet Symbol. Присутствие в схеме примитивов этих типов однозначно указывает Altium Designer на то, что электрическая схема разработана в иерархической форме. По умолчанию для каждого примитива Sheet Symbol и Device Sheet Symbol создается индивидуальный класс компонентов с названием, соответствующим обозначению (свойство Designator) такого примитива.

Примитивы Sheet Symbol и Device Sheet Symbol представляют собой условное обозначение функциональной группы, электрическая схема которой расположена на отдельном листе. На таком листе должны быть размещены элементы схемы, линии электрической связи и дополнительные условные обозначения перехода линий связи между листами. Согласно ГОСТ 2.701-2008 функциональная группа – это совокупность элементов, выполняющих в изделии определенную функцию и не объединенных в единую конструкцию. Принципиальную схему функциональной группы достаточно изобразить лишь однажды, на отдельном листе схемы, а чтобы показать ее экземпляры, достаточно использовать только условные графические отображения, обладающие гораздо меньшей детальностью. Такой способ разработки электрической принципиальной схемы является рекомендуемым в соответствии с положениями ЕСКД.

Преимуществами разработки схемы в иерархической форме в Altium Designer являются:

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

В Altium Designer структура проекта на панели Projects дает точное представление о взаимоотношениях между листами принципиальной схемы для случая разработки электрической принципиальной схемы в иерархической форме (рис. 2).

Дерево проекта электронного устройства со схемой в иерархической форме в Altium Designer
Рис.2 Дерево проекта электронного устройства со схемой в иерархической форме

Методика разработки иерархической схемы в Altium Designer

Перечень настроек проекта и их назначение

Разработку принципиальной схемы в иерархической форме лучше начать с определения настроек проекта (Project → Project Options).

Интерпретация схемы системой определяется настройкой Option → Net Identifier Scope. На выбор доступны пять значений:

  1. Automatic – автоматическое определение формы представления схемы на основе применяемых способов обозначения переходов линий связи между листами и наличия условных графических обозначений функциональных групп на отдельных листах.
  2. Flat – «плоская» схема. Переходы линий связи на другие листы можно обозначить с помощью примитивов Power Port, Off Sheet Connector, Port. Для обозначения перехода линии связи в пределах одного листа можно использовать примитивы типа Net Label, Power Port, Off Sheet Connector, Port.
  3. Global – «плоская» схема. Переходы линий связи на другие листы можно обозначить с помощью примитивов Net Label, Power Port, Off Sheet Connector, Port. Для обозначения переходов линии связи в пределах одного листа подходят те же примитивы.
  4. Hierarchical – иерархическая схема. Переходы линий связи между функциональными группами можно обозначить с помощью примитивов Port ←→ Sheet Entry и Power Port, в пределах нескольких листов одной функциональной группы действуют примитивы Off Sheet Connector, Port и Power Port, в пределах одного листа схемы действуют примитивы Net Label, Off Sheet Connector и Power Port.
  5. Strict Hierarchical – строго иерархическая схема. Соответствует иерархической схеме за исключением того, что примитив Power Port не позволяет обозначать переходы линий связи между функциональными группами и между листами одной функциональной группы.

Шаблон для обозначения физических имен компонентов на печатной плате по умолчанию (без файла *.Annotation) и имен узлов цепей для многоканальных схем определяется настройкой Multi-Channel → Designator Format. Обозначение строится на основе произвольных символов и названий специальных переменных. Названия специальных переменных начинаются с символа $ [1]. При этом переменная $Component для узлов цепей трактуется как собственное локальное имя узла, которое определяется автоматически по обозначению присоединенного вывода одного из компонентов (например, NetU1_13) или по свойству Net Name примитива Net Label, присоединенного к линии связи, соответствующей данному узлу.

Все примитивы, служащие для обозначения переходов линии связи, имеют текстовое свойство Name или Net Name. Можно разрешить именование узлов цепей, соответствующих линиям связи, если к ним присоединены такие примитивы. За управление соответствующими разрешениями отвечает область Option → Netlist Options [2].

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

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

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

Электрическая принципиальная схема функциональной группы DisplayPort Connector в Altium Designer
Рис. 3 Электрическая принципиальная схема функциональной группы DisplayPort Connector
Функциональная группа DisplayPort Connector (выделена красным контуром) на электрической принципиальной схеме другой функциональной группы (Display Port Interface) в Altium Designer
Рис. 4 Функциональная группа DisplayPort Connector (выделена красным контуром) на электрической принципиальной схеме другой функциональной группы (Display Port Interface)

Дедуктивный способ основан на представлении сначала функциональных групп и их взаимосвязей с помощью примитивов Sheet Symbol и Device Sheet Symbol и линий связи трех видов. Затем каждой функциональной группе назначается лист схемы. Получается в некотором роде «каркас» будущей схемы (рис. 5). После создания «каркаса» следует разработать принципиальную схему для каждой функциональной группы (рис. 6).

Электрическая принципиальная схема подсистемы ОЗУ в Altium Designer
Рис. 5 Электрическая принципиальная схема подсистемы ОЗУ
Электрические принципиальные схемы функциональных групп подсистемы ОЗУ в Altium Designer
Рис. 6 Электрические принципиальные схемы функциональных групп подсистемы ОЗУ

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

Автор: Ю. Леган, технический специалист, представительство компании Altium в г. Москве

Статья размещена в журнале Электроника НТБ, No10 (00191) 2019