Многолистовые и иерархические проекты

Altium Training

Altium Essentials: Navigating Schematics

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

Краткий обзор

В этой статье объясняется, почему размещение принципиальной схемы на нескольких листах упрощает её разработку, чтение, совместную работу и печать, даже если сама схема не отличается высокой сложностью. Рассматриваются два ключевых вопроса многолистового проектирования: структурные связи между листами и организация электрических соединений. Затем основное внимание уделяется структуре: сравниваются плоский и иерархический подходы в Altium Designer. Вы также узнаете, в каких случаях лучше использовать каждый из них, какие компромиссы следует учитывать и какую роль символы листов играют в организации многолистовой схемы. Это практическое руководство поможет выбрать подходящую структуру ещё до начала проектирования. Продолжайте чтение, чтобы заложить более прочную основу для своей следующей схемы.

- Узнайте, чем отличаются плоская и иерархическая структуры многолистовых схем и в каких случаях лучше подходит каждая из них.
- Разберитесь, как многолистовая организация улучшает читаемость, упрощает совместную работу, обеспечивает модульность и повышает удобство печати.
- Посмотрите, как символы листов используются для представления подчинённых листов и организации структуры схемы в Altium Designer.
Узнайте больше с ИИ:

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

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

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

Если вы планируете распределить схему по нескольким листам, необходимо принять два решения:

  • определить структурные взаимосвязи между листами;

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

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

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

Плоская или иерархическая структура проекта

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

Существует два подхода к организации многолистового проекта: flat или hierarchical.

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

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

Плоский проект

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

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

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

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

Иерархическое проектирование

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

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

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

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

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

The connectivity is from a Port on the child sheet up to a matching Sheet Entry in the Sheet Symbol on the parent sheet

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

Связность между листами определяется параметром Net Identifier Scope. Он задается на вкладке Options диалогового окна Options for Project. Подробнее о создании соединений см. на странице Создание соединений. Обратите внимание, что параметр Net Identifier Scope включает вариант Automatic — это хороший выбор, если у вас нет особых требований к соединениям.

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

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

  • Система на основе файлов называется Device Sheets (листы устройств). Она позволяет размещать существующую схему из библиотеки листов устройств непосредственно в создаваемом проекте. Подробнее о листах устройств см. на странице Работа с листами устройств.

  • Система на основе рабочего пространства называется Managed Schematic Sheets (управляемые листы схем). Она позволяет размещать существующую схему из подключенного рабочего пространства непосредственно в создаваемом проекте. Подробнее об управляемых листах см. на странице Работа с управляемыми листами схем.

Добавление перекрестных ссылок

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

Включите параметр Automatic Cross References в области General и настройте параметры в области Cross References на вкладке Options диалогового окна Project Options. Вы можете задать определенный стиль перекрестных ссылок для активного проекта или включить параметр Follow Cross References settings in Preferences, чтобы унаследовать настройки из области Port Cross References на странице Schematic – General диалогового окна Preferences. Здесь также можно выбрать объекты (порты, межлистовые соединители, входы листа), для которых будут отображаться перекрестные ссылки.

Чтобы быстро открыть вкладку Options диалогового окна Project Options, выберите команду Reports » Automatic Cross References Settings в главном меню или щелкните правой кнопкой мыши в рабочей области и выберите команду Sheet Actions » Automatic Cross References Settings в контекстном меню.

Настройте автоматические перекрестные ссылки для активного проекта на вкладке Options диалогового окна Project Options.
Настройте автоматические перекрестные ссылки для активного проекта на вкладке Options диалогового окна Project Options.

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

Перекрестные ссылки можно просматривать на схемах, а для выбранного объекта — также на панели Properties. Здесь показан пример перекрестных ссылок для порта.
Перекрестные ссылки можно просматривать на схемах, а для выбранного объекта — также на панели Properties. Здесь показан пример перекрестных ссылок для порта.

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

В выходном PDF-файле схемы можно легко переходить к нескольким связанным объектам с помощью всплывающего меню.
В выходном PDF-файле схемы можно легко переходить к нескольким связанным объектам с помощью всплывающего меню.

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

Как только вы добавляете в проект второй лист схемы, проект становится многолистовым. Если вы планируете создать плоский проект без верхнего листа, просто продолжайте добавлять в проект листы схемы (щелкните правой кнопкой мыши по записи проекта на панели Projects и выберите команду Add New to Project » Schematic в контекстном меню), а затем убедитесь, что параметр Net Identifier Scope задан правильно.

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

Ссылка на дочерний лист

Именно свойство Filename символа листа ссылается на лист нижнего уровня. Обратите внимание: это поле должно содержать только имя файла схемы, а не путь к нему (данные о расположении файла хранятся в файле проекта).

Свойство Filename связывает этот символ листа с дочерним листом схемы.
Свойство Filename связывает этот символ листа с дочерним листом схемы.

Обратите внимание: дочерняя схема не обязательно должна храниться в той же папке, что и родительская. Если файл хранится во вложенной папке относительно папки родительской схемы, используется относительный путь. Если файл хранится в другом месте, используется абсолютный путь. Будьте осторожны при перемещении файлов такого проекта или используйте Project Packager для упаковки файлов в ZIP-архив: при архивации проекта этот инструмент учитывает пути к файлам.

Навигация по многолистовой схеме

Редактор схем предоставляет инструменты для быстрого перехода между документами многолистового проекта и связанными объектами в них.

Команда Tools » Up/Down Hierarchy используется для перехода из текущего документа на один уровень выше или ниже в иерархии проекта. После запуска команды курсор примет вид перекрестия и вам будет предложено выбрать точку перехода. Если щелкнуть по входу листа, откроется соответствующий порт на дочернем листе; если щелкнуть по символу листа, откроется весь дочерний лист. Для перехода вверх по иерархии щелкните по порту — откроется соответствующий вход листа на родительском листе.

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

Чтобы открыть дочерний лист, на который ссылается символ листа под курсором, щелкните правой кнопкой мыши по размещенному символу листа и выберите команду Sheet Symbol Actions » Open SubSheet <SchematicDocumentName> в контекстном меню. После запуска команды документ схемы, на который ссылается символ, будет открыт (если он еще не открыт) и станет активным документом в главном окне проектирования.

Если для соответствующих объектов включены автоматические перекрестные ссылки, для перехода между портами, входами листов и межлистовыми соединителями можно также использовать команды Jump To из подменю Port Actions, Sheet Entry Actions и Off Sheet Actions (для плоской структуры проекта) контекстного меню объектов. Например, если включен параметр Automatic Cross References и для параметра Ports на вкладке Options диалогового окна Options for Project выбрано значение Sheet Entry & Ports, можно щелкнуть правой кнопкой мыши по порту и выбрать нужную команду Port Actions » Jump to Port <PortName> on <SchematicDocumentName> или Port Actions » Jump to Sheet Entry <PortName> on <SchematicDocumentName> в контекстном меню. Документ, содержащий указанный порт или вход листа, станет активным, а курсор будет установлен на этом порту или входе листа. Все порты с таким же именем (и все подключенные к ним соединения) в целевом документе будут подсвечены.

Используйте команду Jump to для перехода к соответствующему объекту в любой части проекта.
Используйте команду Jump to для перехода к соответствующему объекту в любой части проекта.

  • При переходе между объектами соответствующий объект подсвечивается в рабочей области. Его отображение определяется настройками Highlight Methods (затемнение, масштабирование, выделение), заданными на странице System - Navigation диалогового окна Preferences.
  • Для перехода по иерархии также можно удерживать клавишу Ctrl и дважды щелкнуть по порту, входу листа или символу листа.
  • Для перехода по иерархии также можно использовать функцию Interactive Navigation на панели Navigator.

Создание иерархии

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

Используйте следующую команду для построения иерархии сверху вниз:

  • Create Sheet From Sheet Symbol (главное меню Design или подменю Sheet Symbol Actions контекстного меню символа листа) — эта команда создает новый лист схемы уровнем ниже выбранного символа листа. Порты, соответствующие входам на символе листа, будут размещены в левом нижнем углу нового документа. Не беспокойтесь, если вы еще не добавили все входы в символ листа: если впоследствии появятся новые входы, их можно будет повторно синхронизировать с портами, как описано ниже.

    • Создаваемый документ схемы получает имя файла, указанное в символе листа. Можно либо ввести нужное имя документа в поле File Name символа листа вместе с расширением (например, <DocumentName>.SchDoc), либо оставить имя пустым и указать его позже при сохранении документа.
    • Будьте внимательны при создании листа на основе символа листа, если лист с таким именем файла уже существует. Будет создан новый лист с тем же именем файла. Устранить совпадение имен можно при сохранении: сохраните новый лист под другим именем или при необходимости перезапишите существующий.
    • Электрические типы ввода/вывода портов, созданных на новом дочернем листе, будут такими же, как у соответствующих входов на символе листа исходного родительского листа.

Используйте следующую команду для построения иерархии снизу вверх:

  • Create Sheet Symbol From Sheet (главное меню Design или подменю Sheet Actions контекстного меню рабочей области) — эта команда создает символ листа на основе выбранного листа схемы. Для использования команды сначала перейдите на лист, на котором будет размещен новый символ листа, а затем запустите команду. Откроется диалоговое окно Choose Document to Place — выберите в нем документ схемы, на который должен ссылаться создаваемый символ листа. В символ листа будет добавлен вход для каждого найденного порта. Если впоследствии порты или входы листа будут добавлены или удалены, их можно будет повторно синхронизировать, как описано ниже.

    • Поскольку символ листа создается и размещается на активном листе, этот лист не будет отображаться в диалоговом окне Choose Document to Place . Это связано с тем, что символ листа не может ссылаться на тот же лист, на котором он размещен.
    • Электрические типы ввода/вывода для выводов, созданных в новом символе родительского листа, будут такими же, как у портов на исходном дочернем листе.

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

  • Edit » Refactor » Move Selected Sub-circuit to Different Sheet — используйте эту команду для перемещения выбранных компонентов и соединений на другой лист проекта. Откроется диалоговое окно Choose Destination Document, в котором можно выбрать любой существующий лист схемы в проекте. Подробнее эта команда описана ниже.

Если вы задаетесь вопросом, зачем нужны специальные команды для перемещения компонентов с одного листа на другой, причина в том, что стандартные команды вырезания и копирования автоматически сбрасывают уникальный идентификатор каждого компонента. UID связывает компонент схемы с компонентом на печатной плате. Если UID компонента схемы был сброшен, при каждой синхронизации проекта (при использовании команды Design » Update) вам будет предложено выполнить сопоставление по позиционным обозначениям. При необходимости UID можно повторно синхронизировать с помощью команды Project » Component Links в редакторе печатных плат.

► Подробнее: Синхронизация проекта

Реструктуризация проекта

Main article: Рефакторинг проекта

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

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

Перемещение фрагмента схемы на другой лист

Самый простой способ переместить фрагмент схемы с одного листа на другой — выделить его и выполнить команду Edit » Refactor » Move Selected Sub-circuit to Different Sheet. Откроется диалоговое окно Choose Destination Document. Выберите целевой лист и нажмите OK: откроется этот лист, а фрагмент схемы будет прикреплен к курсору и готов к размещению.

Выбранный фрагмент схемы можно легко переместить на другой лист проекта с помощью команды Move Selected Subcircuit to Different Sheet.
Выбранный фрагмент схемы можно легко переместить на другой лист проекта с помощью команды Move Selected Subcircuit to Different Sheet.

► Подробнее: Рефакторинг проекта.

Синхронизация портов и выводов символа листа

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

  • A specific Sheet Symbol — щелкните правой кнопкой мыши по символу листа, чтобы открыть контекстное меню, и выберите команду Sheet Symbol Actions » Synchronize Sheet Entries and Ports для анализа только символа листа под курсором.
  • All Sheet Symbols in the design — выберите команду Design » Synchronize Sheet Entries and Ports для анализа всех символов листов во всем проекте. В диалоговом окне будет отдельная вкладка для каждого символа листа проекта в соответствии с настройкой Only Show unmatched sheet symbols в нижней части окна.

При выполнении любой из этих команд откроется диалоговое окно Synchronize Ports to Sheet Entries. В правой части окна будут перечислены уже сопоставленные порты и выводы символов листов, а в левой части, в двух столбцах, — несопоставленные порты и выводы символов листов. Символ листа считается синхронизированным с дочерним листом, на который он ссылается, если все его выводы соответствуют портам на этом дочернем листе как по имени, так и по типу ввода/вывода.

Диалоговое окно Synchronize Ports to Sheet Entries используется для обеспечения соответствия выводов символа листа портам на дочернем листе. Обратите внимание на две вкладки: это означает, что в данном проекте есть два символа листов с несоответствиями между выводами и портами.
Диалоговое окно Synchronize Ports to Sheet Entries используется для обеспечения соответствия выводов символа листа портам на дочернем листе. Обратите внимание на две вкладки: это означает, что в данном проекте есть два символа листов с несоответствиями между выводами и портами.

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

Кнопки выполняют следующие действия:

  • Button, update the Port to Match the Sheet Entry — применить свойства вывода листа к выбранному порту.
  • Button, update the Sheet Entry to Match the Port — применить свойства порта к выбранному выводу листа.

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

  • Если при выполнении команды добавляются новые выводы листа или порты, после ее завершения их необходимо правильно разместить на листе схемы.
  • Обратите внимание: любые изменения, внесенные в диалоговом окне, вступают в силу немедленно. Отменить изменение через диалоговое окно нельзя. Для отмены изменения необходимо воспользоваться функцией Undo документа.
AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Меню
Contents
Доступность функций

Доступные вам функции зависят от того, какое решение Altium вы используете: Altium Develop, Altium Agile Teams, Altium Agile Enterprise или Altium Designer (при активной подписке).

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

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Contents