Определение логической структуры устройства из нескольких электронных модулей
Главная страница: Проектирование устройств из нескольких электронных модулей
Современные электронные устройства состоят, как правило, из множества плат, соединение которых представляет собой законченную функциональную систему. От устройств на материнской плате и LCD-модулем на передней панели до сложных соединительных систем с врезными платами – все проекты этого широкого спектра являются устройствами из нескольких электронных модулей.
В связи с этим, необходима система проектирования высокого уровня, которая позволяет моделировать электрические и физические соединения множества плат. В Altium NEXUS для поддержки проектирования таких систем и моделирования логических (схема) и физических (плата) соединений используется среда Multi-board Design.
Пользователь определяет модель устройства из нескольких электронных модулей в Altium NEXUS в проекте Multi-board (*.PrjMbd
) и во входящих в него документов схемы (*.MbsDoc
) и сборки (*.MbaDoc
). Эти типы документов позволяют добавить существующие проекты плат Altium NEXUS в среду проектирования устройств из нескольких электронных модулей и связать их в единую систему.
Основные шаги по созданию схемы многомодульного устройства из дочерних проектов плат:
- В Altium NEXUS создайте проект Multi-board и добавьте документ схемы Multi-board в проект.
- Разместите графические блоки (модули) в схеме для логического представления дочерних проектов.
- Добавьте связи каждого модуля с соответствующим дочерним проектом.
- Импортируйте данные о соединении дочерних проектов.
- Добавьте соединения между модулями, чтобы создать логическое представление проекта.
Включение проектов плат в Multi-board
Проекты плат Altium NEXUS, которые представляют собой дочерние платы системы Multi-board, содержат специальные соединители, такие как торцевые и штыревые разъемы, с помощью которых плата электрически и физически соединяется с другими платами в конструкции.
Эти соединители и связанные с ними цепи необходимо определить в документе схемы, чтобы определить соединения между платами на уровне системы. Сделать это можно с помощью определенного параметра System
(Система), задав ему значение Connector
(Соединитель).
Для каждого соединителя в проекте платы, который будет использоваться для соединения плат, выберите элемент-соединитель, затем добавьте специальный параметр элемента на вкладке Parameters панели Properties.
Проект Multi-board
Проектирование многомодульной конструкции в Altium NEXUS осуществляется в проекте Multi-board, который, как и проекты других типов, создается с помощью меню File » New » Project. Будет открыто диалоговое окно Create Project. Выберите здесь опцию под заголовком Multiboard в области Project Type.
Базовым элементом проекта Multi-board является логическое представление конструкции, определение которое осуществляется в документе схемы Multi-board (*.MbsDoc
). Добавьте файл этого типа в проект Multi-board из панели Projects, щелкнув правой кнопкой мыши по проекту и выбрав Add New to Project » Multi-board Schematic в контекстном меню.
Схема Multi-board
Связь между проектами плат, которые составляют систему Multi-board, задается размещением соответствующих им модулей (объектов Module) на схеме и соединением их входов (объектов Module Entry) с помощью виртуальных соединений и/или проводников.
Модули, представляющие дочерние платы, размещаются в рабочей области из меню Place » Module или выбором кнопки в панели инструментов Active Bar – см. ниже.
Дважды щелкните мышью по размещенному объекту Module и в панели Properties задайте его свойства Designator (Обозначение) и Title (Заголовок), а также исходный проект платы, с которым связан модуль. Используйте кнопку в поле Source (Источник), чтобы задать локальный или управляемый проект и нужную плату в указанном проекте (Assembly/Board).
Добавьте другие модули и ссылки с их дочерними проектами в схему проекта.
Информация о проекте связанной с модулем платы импортируется с помощью команды Design » Import From Child Projects или Design » Import From Selected Child Projects. Наиболее важным в этом процессе является то, что обрабатываются данные о контактах и цепях каждого соединителя, которому присвоен специальный параметр System:Connector
.
После того, как импорт завершен, для каждого из этих соединителей будет автоматически создан объект Entry (Вход) на соответствующем графическом представлении блока. Этот вход связан с выводами и цепями соединителя в дочернем проекте.
Связь с дочерними проектами
Чтобы соединить объекты Module дочерних проектов между собой, поместите логические соединения (объекты Connection) между входами модулей (объектами Module Entry).
В меню Place и в панели инструментов Active Bar (в верхней части редактора) доступны несколько типов соединителей, в том числе Direct Connection (Прямое подключение) и Wire (Проводник). Нажмите и протяните линию соединения между точками входов модулей, чтобы создать логическое соединение. Обратите внимание, что все элементы в редакторе схемы системы можно перетащить в новое расположение.
Структура проекта
Проект Multi-board имеет иерархическую структуру, которая включает в себя исходные документы (схема и сборка Multi-board), а также дочерние подпроекты, связанные с модулями в схеме проекта. Структура дочерних проектов немедленно добавляется в проект Multi-board, когда модуль связывается с этим внешним проектом.
Разверните структуру проекта в панели Projects, чтобы показать файлы проекта Multi-board и его дочерних проектов. Чтобы проект Multi-board извлек и обработал корректные данные из дочерних проектов, плата каждого из этих проектов должна быть синхронизирована со схемой, а в проектах не должно быть проектных или графических ошибок. Чтобы произвести валидацию дочернего проекта, щелкните ПКМ по его названию в панели и выберите команду Validate PCB Project <название> – найденные нарушения будут отображены в списке в панели Messages.
Работа с соединениями
Соединения между модулями в схеме Multi-Board представляют связь между соединителями дочерних проектов, а также контакты и цепи этих соединителей. Среда редактирования схемы Multi-board предлагает дополнительные возможности, которые позволяют изменять, проверять и обновлять соединения в процессе разработки проекта.
Разделить соединение
В тех случаях, когда соединитель дочернего проекта служит для связи более чем с одним проекта, то контакты/цепи этого соединителя можно логически разделить с помощью функции Split (Разделить) в редакторе Multi-board – на практике это означает, что один модуль соединен с двумя другими.
Например, это может быть проект с гнездом соединителя на плате, куда будут подключены два разъема других плат – разделенные сигналы от одного (например, 20-контактного) соединителя будут распределены на два разъема (например, 10-контактных) других плат.
Чтобы разделить соединение, выберите модуль, а затем вход в панели Properties. Нажмите кнопку и в открывшемся диалоговом окне Split Entry выберите контакты/цепи, которые вы хотите отделить в другой вход. Нажмите кнопку , чтобы подтвердить выбор.
В редакторе будет автоматически создан новый вход модуля с контактами/цепями, которые были отделены и которые затем можно соединить с другим модулем при необходимости.
В показанном примере вход HDR6
модуля M1
необходимо соединить со входами модулей M2
(LCD-дисплей) и модулем M3
(плата источника питания). Вход HDR6
был логически разделен, чтобы соединить три цепи питания со входом HDR3
модуля питания M3
. Будет создан дополнительный вход HDR6
модуля M1
(HDR6 [1-2,15]
), три цепи которого необходимо соединить с модулем M3
, а изначальному входу HDR6
будут автоматически переназначены оставшиеся 17 соединений, которые необходимо соединить со входом HDR1
модуля M2
.
Выделите объект Connection в рабочей области, чтобы увидеть входящие в него цепи в панели Properties. В примере часть цепей соединителя HDR6
соединена с HDR3
через проводное соединение W-PS
, которое представляет три линии питания между платой Main Board (M1
) и источником питания Power Supply (M3
). Как показано выше, каждый виртуальный провод из списка в области Connections панели Properties также включает в себя название входа, контакт и цепь на каждом из концов в столбцах From (От) и To (До).
Редактирование соединений
Соединения между модулями не обязательно должны соответствовать поконтактно, например когда соединитель разделен для его проводного соединения с различными платами.
Чтобы изменить соответствие между контактами/цепями соединения модулей, выделите объект Connection в рабочей области и измените назначения в разделе Connections панели Properties.
Используйте выпадающие списки From (От) и To (До), чтобы задать новое назначение цепи для этого отдельного соединения или провода между модулями.
Connection Manager (Диспетчер соединений)
Вся информация о соединениях в проекте Multi-board собрана в диалоговом окне Connection Manager (Design » Connection Manager).
В этом диалоговом окне находится список всех назначений контактов/цепей, сгруппированные по обозначениям их родительских соединений и типам (провод, прямое соединение и т.д.). Также здесь содержится их системные ID, названия цепей и информация о контактах. С помощью параметра вы можете отобразить в списке информацию о точном совпадении контактов.
В нижней области Conflict Resolution (Устранение конфликтов) диалогового окна будут отображены обнаруженные в ходе изменений проекта противоречия между текущим проектом Multi-board и исходными (дочерними) проектами.
Изменения проекта Multi-board
При проектировании системы Multi-board его дочерние проекты могут изменяться в процессе разработки, и эти изменения необходимо синхронизировать с Multi-board. Процесс обновления осуществляется путем повторного импорта дочерних проектов в проект Multi-board с помощью Engineering Change Order (ECO).
Импортируйте изменения всех дочерних проектов в Multi-board с помощью команды Design » Import From Child Projects, либо используйте Design » Import From Selected Child Projects для повторного импорта данных о соединениях модулей, выделенных в рабочей области. Эти команды также доступны в контекстном меню Design графического обозначения модуля.
Исполнение ECO обнаружит все различия между текущими данными о соединениях и данными, которые были импортированы из дочерних проектов. Эта информация содержится в диалоговом окне Connection Manager (Design » Connection Manager), который также используется, чтобы принять или отклонить обновленные данные из дочерних проектов.
Устранение конфликтов
В списке диалогового окна Connection Manager будут выделены все соединения, оцененные как конфликтные, что на практике означает, что изменения импортированных данных не согласуются с текущими соединениями. Выберите подсвеченную цепь в списке, чтобы увидеть графическое представление конфликта и перейти к опциям, которые позволят устранить его.
Информация о цепях, показанная в подсвеченных полях в списке Connection Manager, представляет предлагаемое изменение. В показанном примере цепи на контактах 4
и 5
HDR1
в дочернем проекте LCD Module
находятся в другом порядке – по сути, они поменяны местами.
Диспетчер соединений Connection Manager обработает это изменение и предложит подходящие исправления в Conflict Resolution. Варианты устранения конфликта включают в себя:
- Confirm (Подтвердить) – цепи контактов
4
и5
для соединителяHDR1
в модулеM2
будут изменены в проекте Multi-board для соответствия обновленным назначениям. - Revert (Обратить) – Текущее соответствие цепей и контактов для
HDR1
в модулеM2
будет сохранено. Изменение будет проигнорировано проектом Multi-board. Обратите внимание, что проект Multi-board не будет сопоставлять назначения цепей в дочерних проектах. - Swap Pins (Поменять местами контакты) – Назначения контактов/цепей на другом конце соединения (в
HDR6
модуляM1
, главной платы) будет изменено для соответствия между модулямиM1
иM2
. - Swap Wires (Поменять местами провода) – Виртуальные провода, соединяющие
HDR1
модуляM2
иHDR6
модуляM1
, будут изменены (в данном случае – переставлены местами), чтобы исправить конфликт соединения цепей, а на назначения контактов/цепей соединителей не будут изменены. В примере проводW2
будет соединять контакт4
вHDR6
и контакт5
вHDR1
, аW3
– контактыHDR6-5
иHDR1-4
.
После выбора варианта устранения конфликта появится диалоговое окно, подтверждение в котором выполнит действие по устранению всех конфликтов того же типа.
Исправленные назначения цепей будут выделены зеленым, и они будут отражены в нижней графической части диалогового окна. Нажмите кнопку , чтобы применить все обновленные назначения в проекте Multi-board.
После применения изменений для устранения конфликтов их можно изучить в панели Properties, когда соответствующее соединение выбрано в рабочей области.
В примере, показанном ниже, конфликт для соединения W-LCD
был устранен вариантом Swap Wires, где были заменены провода W2
и W3
, и цепи Reset и Read/Write теперь соответствуют соединению между модулями (LCD_RW#
→ RSW
и LCD_RS#
→ RS
соответственно).
Изменение дочерних проектов
Чтобы поддерживать синхронизацию между схемой Multi-board и дочерним проектом, проект многомодульной конструкции позволяет проводить двунаправленный обмен данными о контактах/цепях. Данные о соединениях импортируются в проект Multi-board из дочерних проектов, как описано выше, и данные о соединениях из проекта Multi-board могут быть переданы обратно в исходные дочерние проекты с помощью функции обновления – Design » Update Child Projects. Чтобы обновить отдельный дочерний проект, выберите соответствующий модуль и выберите команду Design » Update Selected Child Projects. Обе команды доступны в контекстном меню Design модуля.
После запуска команды редактор сравнит данные о соединении проекта Multi-board и дочерних проектов. Все обнаруженные различия будут выведены в список диалогового окна Engineering Change Order (ECO), либо появится диалоговое окно с сообщением, что различий не было обнаружено, т.е. для синхронизации проектов не нужно проводить никаких изменений.
В примере ниже было обнаружено различие, что цепи RS
и RSW
были заменены в соединителе HDR1
в дочернем проекте платы LCD (M2
в проекте Multi-board), и ECO предлагает замену контактов в исходном проекте для синхронизации цепей.
При выполнении ECO (после их опциональной валидации) контакты соединителя HDR1
в модуле LCD поменяются местами.
Обратите внимание, что процесс обновления дочерних проектов обычно выполняется после устранения всех конфликтов в диалоговом окне Connection Manager, чтобы синхронизировать дочерние проекты в соответствие с проектом Multi-board.
В примере выше связь контактов/цепей дочернего проекта была восстановлена в состояние, предшествующее ее изменениям. Это эквивалентно тому, что измененные данные дочернего проекта были импортированы в проект Multi-board, и конфликт соединения был решен вариантом Revert. Если для устранения конфликта был использован вариант Swap Pins, в проекте главной платы были бы заменены контакты 4
и 5
соединителя HDR6
.
Прочие обнаруженные и устраненные изменения, такие как несоответствие названия цепей, синхронизируется прямым обновлением дочернего проекта.