Altium Designer Documentation

Многолистовые и многоканальные проекты_AD

Created: 15.04.2020 | Updated: 19.06.2020
Полное содержание

Главная страница: Подробнее о схемах

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

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

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

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

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

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

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

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

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

Существует два подхода к структурированию многолистового проекта: плоский или иерархический.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Файловая система называется листами устройств. Здесь вы размещаете существующий лист из библиотеки листов устройств непосредственно в создаваемый проект. Чтобы узнать больше о листах устройств, перейдите на страницу Листы устройств.
  • Серверная система называется управляемыми листами. Здесь вы размещаете существующую схему с сервера управляемых данных непосредственно в создаваемый проект. Чтобы узнать больше об управляемых листах, перейдите на страницу Управляемые листы.

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

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

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

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

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

Режим Sheet Symbol панели Properties, где показаны свойства выделенного символа листа
Свойство File Name связывает этот символ листа с дочерним листом схемы.

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

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

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

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

  • Design » Create Sheet From Sheet Symbol – используйте эту команду, чтобы создать новый лист схемы для указанного символа листа. На дочерний лист добавляются порты, которые соответствуют всем входам в лист, найденным в этом символе листа. Не беспокойтесь, если вы еще не включили в символ листа все нужные входы в лист – если позже понадобится добавить больше входов лист, вы сможете повторно синхронизировать входы в лист и порты, как описано далее.

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

  • Design » Create Sheet Symbol From Sheet or HDL – используйте эту команду, чтобы создать символ из указанного листа схемы. Для использования этой команды сначала перейдите на лист, где будет находиться новый символ листа, затем запустите команду. Символ листа будет включать в себя входы в лист, соответствующие всем найденным портам. Если на более позднем этапе порты или входы в лист будут добавляться/удаляться, их можно будет повторно синхронизировать, как описано далее.

Для реорганизации размещения цепей в проекте используйте эту команду:

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

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

► Узнайте больше о Синхронизации проекта

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

Главная страница: Реструктуризация проекта

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

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

Перемещение подцепи на другой лист

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

Используйте команду реструктуризации для перемещения цепи с одного листа на другой, если была создана плата
Выделенную часть схемы можно легко переместить на другой лист в проекте с помощью команды Move Selected Subcircuit to Different Sheet.

► Узнайте больше о Реструктуризации проекта.

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

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

  • Для определенного символа листа – щелкните ПКМ по символу листа, чтобы отобразить контекстное меню, и выберите команду Sheet Symbol Actions » Synchronize Sheet Entries and Ports, чтобы проанализировать только символ листа, находящийся под курсором.
  • Для всех символом листов в проекте – выберите команду 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 используется для обеспечения того, что входы в лист соответствуют портам на дочернем листе. Обратите внимание на две вкладки – это значит, что в этом проекте есть два символа листов с несоответствиями входов в лист и портов.

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

Кнопки работают следующим образом:

  • Кнопка для обновления порта в соответствии с входом в лист – использует свойства входа в лист и применяет их к выбранному порту.
  • Кнопка для обновления входа в лист в соответствии с портом – использует свойства порта и применяет их к выбранному входу в лист.

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

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

Многоканальный проект

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

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

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

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

Динамическая компиляция

Связанная страница: Компиляция и верификация проекта

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

  1. Формирует иерархию проекта.
  2. Создает связность цепей между всем листами проекта.
  3. Строит внутреннюю унифицированную модель данных (Unified Data Model – UDM) проекта.

Благодаря автоматической компиляции все внесенные проектные изменения сразу отражаются в панелях Navigator и Projects.

Скомпилированная модель проекта называется унифицированной моделью данных (Unified Data Model – UDM). Эта модель включает в себя подробное описание каждого компонента в проекте и его связность с другими компонентами.

Для работы динамической компиляции, в диалоговом окне Advanced Settings должна быть включена опция Schematic.DynamicCompiler. Эта опция включена по умолчанию.

Для проверки модели UDM на логические, электрические и графические ошибки в соответствии с настройками компилятора необходимо провести валидацию проекта. Вызов этой команды осуществляется выбором Project » Validate Project из главного меню или щелчком ПКМ по записи проекта в панели Projects и выбором Validate Project из контекстного меню.

Все найденные компилятором нарушения будут приведены как предупреждения и/или ошибки в списке в панели Messages. При проверке исходных документов проекта на нарушения, компилятор использует опции, заданные на вкладках Error Reporting и Connection Matrix диалогового окна Project Options (в соответствии с типом проекта).

В версиях системы до Altium Designer 20.0, для построения унифицированной модели данных было необходимо компилировать проект вручную. Сейчас модель данных проекта обновляется инкрементально после каждой операции благодаря динамической компиляции, что формирует так называемую динамическую модель данных (Dynamic Data Model – DDM). Нет ручной компиляции проекта, она осуществляется автоматически.

Унифицированная модель данных

Для понимания многоканальных проектов будет полезно понять, как осуществляется управление проектными данными. Фундаментальным элементом системы является унифицированная модель данных (Unified Data Model – UDM). При автоматической компиляции проекта формируется единая, целостная модель, которая лежит в основе процесса проектирования. К данным в этой модели можно получить доступ из различных редакторов и служб системы. Вместо использования отдельных наборов данных, которые хранятся для каждого отдельного аспекта проектирования, модель UDM организована для хранения всей информации для всех аспектов проектирования, в том числе данных о компонентах и их связности.

Концептуальное изображение, где показано, как проект создает модель UDM, предоставляющую всем редакторам доступ к проектным данным
Модель Unified Data Model делает все проектные данные доступными для всех редакторов и позволяет использовать такие расширенные возможности, как многоканальное проектирование.

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

Поскольку в оперативной памяти находится полное описание проекта, готовое к передаче на плату, то возможно повторить часть схемы, так как существует систематический подход к обработке повторяемых объектов, таких как позиционные обозначения компонентов и цепи. Систематическое именование определяется на вкладке Multi-Channel диалогового окна Project Options, как описано ниже.

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

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

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

Пример многоканального проекта, где дочерняя схема повторяется путем размещения четырех экземпляров ее символа листа Пример многоканального проекта, где дочерняя схема повторяется путем добавления ключевого слова <code>Repeat</code> в ее символ листа
На первом изображении показаны четыре символа листа, которые все ссылаются на один дочерний лист схемы (PortIO.SchDoc). На втором изображении показана схема InputChannel.SchDoc, повторенная восемь раз, и схема OutputChannel.SchDoc, повторенная дважды с помощью ключевого слова Repeat.

Существует два подхода к созданию многоканальных проектов, как показано на изображениях выше. На первом из них показаны четыре символа листа, которые все ссылаются на один дочерний лист (PortIO.SchDoc). На втором изображении схема InputChannel.SchDoc повторяется восемь раз, а схема OutputChannel.SchDoc – дважды, с помощью ключевого слова Repeat в поле Designator символа листа.

Обработка повторяющихся позиционных обозначений компонентов и имен цепей осуществляется применением стандартной схемы именования. Например, на изображении ниже показано применение схемы именования, которая добавляет повторяемым компонентам и идентификаторам цепей (объектам Net Label и Port) индекс канала.

Обратите внимание на вкладки, которые появляются под схемой при открытии проекта. Вкладка Editor содержит в себе логический проект, который вы создали, а остальные скомпилированные вкладки (COUT1 и COUT2) представляют физический проект, который будет передан в редактор плат. Для каждого физического канала есть отдельная вкладка.

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

Схема именования каналов определяется на вкладке Multi-Channel диалогового окна Project Options.

Ключевое слово Repeat

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

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

Каждый канал обозначается идентификатором канала, который берется из поля Designator символа листа. Когда каналы в проекте создаются путем размещения множества символов листов, обозначением канала является значение поля Designator, заданное для каждого символа листа. Если каналы в проекте создаются с помощью ключевого слова Repeat, то обозначением канала является строка ИдентификаторКанала+ИндексКанала, заданная ключевым словом Repeat.

Синтаксис поля Designator при использовании ключевого слова Repeat:

Repeat(<ИдентификаторКанала>,<ИндексКанала_1>,<ИндексПоследнегоКанала_n>)

Обратите внимание, что диапазон индексов должен начинаться с 1. Начальный индекс 0 (ноль) не поддерживается.

Именование многоканальных проектов

Концепция ввода части схемы и ее повторения, т.е. многоканальное проектирование, доступна благодаря унифицированной модели данных. Именование повторяющихся компонентов осуществляется с помощью систематической схемы именования, которая настраивается на вкладке Multi-Channel диалогового окна Project Options, как показано ниже.

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

Для именования компонентов, вариант $Component$ChannelAlpha или $Component_$ChannelIndex обеспечит самый краткий и самый простой для восприятия способ обозначения компонентов. Также возможно создать собственную схему именования обозначений с помощью доступных ключевых слов.

Вкладка Multi-channel диалогового окна Project Options, опции в которой определяют, как будут именоваться повторяющиеся компоненты и цепи
Обработка повторяющихся компонентов (и цепей) осуществляется путем применения систематической схемы именования, выбранной на вкладке Multi-Channel диалогового окна Project Options.

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

Назначение комнат

Комната (объект Room) – это объект редактора плат, используемый для определения области на плате, которая может использоваться двумя способами:

  1. Размещение объектов – хотя комната размещается подобно любому полигональному объекту, она также создает правило проектирования Placement. В определении комнаты задаются объекты, которые должны находиться в ней – зачастую это компоненты. При перемещении комнаты, все компоненты в ней также будут перемещаться.
  2. Определение области действия других правил проектирования – помимо того, что комната сама по себе является правилом, ее также можно использовать для определения области действия других правил. Например, одно правило Width определяет ширину трасс определенного класса цепей, а другое правило с более высоким приоритетом, областью действия которого является комната, может определять иную ширину для этого класса цепей внутри комнаты.

Комнаты применяются для многоканальных проектов. Они могут быть созданы автоматически для каждого символа листа при передаче проекта из редактора схем в редактор плат, в соответствии с настройками на вкладке Class Generation диалогового окна Project Options. Помимо объединения компонентов в этом канале, комнату также можно использовать в именовании компонентов внутри этой комнаты. О комнатах и их назначении в процессе конструирования платы сказано далее, в разделе Конструирование платы многоканального проекта.

Если вы предпочитаете использовать плоскую систему нумерации компонентов, возможно заменить систематическую схему именования путем проведения аннотирования на уровне платы – Board Level Annotation. Оно называется так, потому что позиционные обозначения компонентов применяются только к полному, скомпилированному проекту (физическому проекту), который должен стать платой.

Связность в многоканальном проекте

Для многоканального проекта задайте область действия идентификаторов цепей Net Identifier Scope как Automatic, Hierarchical или Strict Hierarchical. Многоканальный проект должен быть иерархическим, поскольку система использует эту структурную модель для формирования каналов в оперативной памяти при компиляции проекта.

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

  • общей для всех каналов либо
  • быть уникальной для каждого из каналов.

Уровень этой поддержки зависит от того, какой метод использовался для определения каналов (множество символов листов или ключевое слово Repeat). Если использовалось множество символов листов (отдельный символ листа для каждого канала), то связность цепей является явной, определяемой линиями связи, которые размещает проектировщик.

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

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

Передача цепи во все каналы Если нужно, чтобы цепь была доступна во всех каналах, ее линия связи просто прокладывается ко входу в лист, как показано на изображении выше, где цепь Monitor подключена к символу листа InputChannel.SchDoc. Цепи Effects, MB1 и MB2 также будут доступны во всех каналах. Цепи в шине обрабатываются таким же образом – при подключении шины ко входу в лист каждый элемент этой шины будет доступен во всех каналах.
Передача цепи в определенный канал Чтобы передать одну цепь из шины в каждый канал, во входе в лист используется ключевое слово Repeat, как это показано для шины Headphone на изображении выше, где у входа в лист задано имя Repeat(Headphone). В этом случае, цепь Headphone1 будет подключена к каналу CIN1, цепь Headphone2 – к каналу CIN2 и т.д. Если для создания каналов используется ключевое слово Repeat, невозможно передать отдельную цепь только одному каналу. Если это необходимо, нужно разместить отдельный символ листа для каждого канала.

Как именуются цепи

В конечном итоге, у каждой цепи может быть только одно имя на печатной плате (у одной цепи на плате не может быть задано двух имен). Система автоматически обрабатывает цепи со множеством имен, чтобы в проекте было только одно имя – важно, какие опции именования вы задаете в многоканальном проекте, чтобы цепи были обозначены осмысленным для вас способом. Опции именования цепей находятся в области Netlist Options на вкладке Options диалогового окна Project Options.

Изображение, где показаны опции, управляющие именованием цепей

Хорошим подходов к настройке многоканального проекта является включение опции Higher Level Names Take Priority, а также размещение меток для всех цепей, которые подключаются к дочерним листам каналов.

В качестве примера рассмотрим изображение ниже. Обратите внимание, что оба символа листов указывают на лист PCB_Decoder.SchDoc, поэтому есть два канала этого участка схемы, обозначенные как U_PCB_DecoderA и U_PCB_DecoderB.

Символ листа включает в себя вход в лист под названием TDI, который является входом тестовых данных (Test Data In line) в цепочке пограничного сканирования JTAG. Выход тестовых данных TDO (Test Data Out) из канала DecoderA затем соединяется со входом TDI следующего устройства в этой цепочке, которое находится в канале DecoderB.

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

При открытии проекта, под схемой отображаются вкладки каналов U_PCB_DecoderA и U_PCB_DecoderB. Они показывают физический проект, который будет передан в редактор плат. На изображении ниже, схема декодера, как она была создана, показана на вкладке Editor внизу слева, за ней показаны два физических канала этой схемы: U_PCB_DecoderA и U_PCB_DecoderB.

В изначально созданной схеме цепь была помечена проектировщиком как TDI (первое изображение). Обратите внимание, что система применила название цепи TDO_CONTROLLER на вкладке DecoderA (второе изображение), поскольку это название цепи более высокого уровня (которому в этом проекте был задан более высокий приоритет). Для канала DecoderB не задано имени цепи более высокого уровня, поэтому изначальное имя цепи TDI было обозначено в этом канале как TDI_2 (третье изображение) в соответствии со схемой именования, заданной на вкладке Multi-Channel диалогового окна Project Options (схема Component Naming используется для идентификации как компонентов, так и цепей в каждом канале).

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

Отображение скомпилированных имен

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

Отображение скомпилированных имен объектов настраивается на странице Schematic - Compiler диалогового окна Preferences. Они показаны на изображении ниже.

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

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

Если выбрана опция Display superscript if necessary, идентификаторы объектов из невидимой части будут отображены в текущем документе в виде верхних индексов. Задайте эту настройку в соответствии со своими предпочтениями.

Изображение, где показано, как повторяющиеся объекты, которые были переименованы, отображают исходные имена в виде верхних индексов
Вид второго канала (CIN2) многоканального проекта. Обратите внимание, что позиционные обозначения компонентов и имена цепей из логической схемы отображаются в виде верхних индексов.

Почему некоторые элементы схемы затенены на вкладке канала? По умолчанию объекты, которые можно отредактировать на вкладке канала, отображаются стандартным образом, в то время как нередактируемые объекты затенены. Настройка затенения осуществляется на странице System - Navigation диалогового окна Preferences. Затенение объектов указывает вам на то, что выполнение каких-либо операций редактирования над ними недоступно, например перемещение метки цепи на вкладке канала. Задайте необходимый уровень затенения.

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

Устранение ошибок множества имен цепей

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

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

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

  • Задайте режим No Report для проверки Nets with multiple names на вкладке Error Reporting диалогового окна Project Options. Это не является предпочтительным, поскольку так будут заблокированы все проверки этой ошибки в проекте.
  • Разместите директиву Specific No ERC на соответствующих цепях, щелкнув ПКМ по ошибке/предупреждении в панели Messages и выбрав команду Place Specific No ERC Marker for this violation. Вы перейдете в режим размещения объекта NoERC, где к курсору будет прикреплен предварительно настроенный маркер Specific NoERC, готовый к размещению на цепи с ошибкой. После размещения дважды щелкните ЛКМ по объекту, чтобы задать его стиль и цвет.

Изображение, где показан пример использования маркера Specific No ERC для подавления предупреждения о множестве имен цепей  Режим No ERC панели Properties, настроенный на подавление предупреждения о множестве имен цепей
Обратите внимание на небольшой треугольник, выделенный оранжевым кругом. Это маркер Specific No ERC, который был размещен для отключения ошибок дублирующихся имен цепей MB1 и MB2.

Аннотирование проекта

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

► Узнайте больше об Аннотировании компонентов

► Узнайте больше о Нумерации листов

Конструирование платы многоканального проекта

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

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

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

Назначение комнат

Комната (объект Room) – это объект редактора плат, используемый для определения области на плате, которая может использоваться двумя способами:

  1. Размещение объектов – хотя комната размещается подобно любому полигональному объекту, она также создает правило проектирования Placement. В определении комнаты задаются объекты, которые должны находиться в ней – зачастую это компоненты. При перемещении комнаты, все компоненты в ней также будут перемещаться.
  2. Определение области действия других правил проектирования – помимо того, что комната сама по себе является правилом, ее также можно использовать для определения области действия других правил. Например, одно правило Width определяет ширину трасс определенного класса цепей, а другое правило с более высоким приоритетом, областью действия которого является комната, может определять иную ширину для этого класса цепей внутри комнаты.

Комнаты применяются для многоканальных проектов. Они могут быть созданы автоматически для каждого символа листа при передаче проекта из редактора схем в редактор плат, в соответствии с настройками на вкладке Class Generation диалогового окна Project Options. Помимо объединения компонентов в этом канале, комнату также можно использовать в именовании компонентов внутри этой комнаты.

Полезные команды при работе с комнатами

  • Design » Rooms – подменю, в котором находится ряд полезных команд для создания и изменения комнат.
  • Design » Rooms » Copy Room Formats – используйте эту команду для дублирования размещения компонентов и трассировки из одной комнаты (канала) в другие комнаты (каналы).
  • Design » Rooms » Move Room – комнату можно переместить, зажав ЛКМ, когда под курсором нет других объектов. Курсор будет привязан к ближайшей контактной площадке компонента или вершине комнаты (в зависимости от того, что ближе). Используйте эту команду, если вы не можете зажать ЛКМ, не щелкнув по какому-либо объекту.
  • Edit » Select » Room Connections – используйте эту команду, чтобы выделить все сегменты трасс, которые начинаются и заканчиваются на контактных площадках внутри комнаты.

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

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

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

\UIDСимволаЛиста\UIDСхемногоКомпонента

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

\ИндексКанала+UIDСимволаЛиста\UIDСхемногоКомпонента

Управление связью между компонентами осуществляется в диалоговом окне Edit Component Links (команда Project » Component Links в редакторе плат). При применении изменений в этом диалоговом окне уникальные идентификаторы компонентов на плате обновляются в соответствии с идентификаторами компонентов на схеме.
Приведенное здесь объяснение лишь описывает то, как компоненты связываются между собой. Обратите внимание, что в новых версиях Altium Designer (начиная с 18.0) уникальные идентификаторы не отображаются в панелях и диалоговых окнах.

Отображение позиционных обозначений на плате

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

Вы можете выбрать между отображением логических и физических обозначений компонентов на плате с помощью раздела Other в панели Properties редактора плат (View » Panels » Properties). Если вы выберите отображение только логических обозначений компонентов в многоканальном проекте, это будет отражено на плате и во всех выходных документах, таких как распечатки и файлы Gerber. Однако при формировании состава изделия всегда используются уникальные физические обозначения.

► Узнайте больше об Аннотировании компонентов

Если вы предпочитаете использовать плоскую систему нумерации компонентов, возможно заменить систематическую схему именования путем проведения аннотирования на уровне платы – Board Level Annotation. Оно называется так, потому что позиционные обозначения компонентов применяются только к полному, скомпилированному проекту (физическому проекту), который должен стать платой.

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

Параметрический многоканальный иерархический проект

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

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

Например, у графического эквалайзера один участок схемы может повторяться множество раз, с единственным отличием в значениях компонентов для разных каналов. Конденсатор может принимать значения 0.12µF, 0.056µF и 0.033µF в различных каналах. Реализация этого случая проста, поскольку вы указываете эти значения в символах листов каждого из каналов, что избавляет от необходимости создавать множество одинаковых схем, которые отличаются лишь значениями компонентов.

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

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

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

Изображение, где подробнее показано, как работает параметрическая иерархия
Поскольку в поле Value параметра задано =C2_Value, компилятор понимает, что ему нужно обратиться за значением компонента к символу листа на более высоком уровне.

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

Загрузите образец проекта \Parametric Hierarchy\AudioEqualizer.PrjPcb, чтобы увидеть, как корректно настроить параметры символов листов и компонентов.
Обнаружили проблему в этом документе? Выделите область и нажмите Ctrl+Enter, чтобы оповестить нас.

Связаться с нами

Связаться с нашими Представительствами напрямую

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
Вы сообщаете о проблеме, связанной со следующим выделенным текстом
и/или изображением в активном документе: