Определение логической структуры устройства из нескольких электронных модулей
Главная страница: Проектирование устройств из нескольких электронных модулей
Современные электронные устройства состоят, как правило, из множества плат, соединение которых представляет собой законченную функциональную систему. От устройств на материнской плате и LCD-модулем на передней панели до сложных соединительных систем с врезными платами – все проекты этого широкого спектра являются устройствами из нескольких электронных модулей.
В связи с этим, необходима система проектирования высокого уровня, которая позволяет моделировать электрические и физические соединения множества плат. В Altium Designer для поддержки проектирования таких систем и моделирования логических (схема) и физических (плата) соединений используется среда Multi-board Design.
Пользователь определяет модель устройства из нескольких электронных модулей в Altium Designer в проекте Multi-board (*.PrjMbd
) и во входящих в него документов схемы (*.MbsDoc
) и сборки (*.MbaDoc
). Эти типы документов позволяют добавить существующие проекты плат Altium Designer в среду проектирования устройств из нескольких электронных модулей и связать их в единую систему.
Основные шаги по созданию схемы многомодульного устройства из дочерних проектов плат:
- В Altium Designer создайте проект Multi-board и добавьте документ схемы Multi-board в проект.
- Разместите графические блоки (модули) в схеме для логического представления дочерних проектов.
- Добавьте связи каждого модуля с соответствующим дочерним проектом.
- Импортируйте данные о соединении дочерних проектов.
- Добавьте соединения между модулями, чтобы создать логическое представление проекта.
Включение проектов плат в Multi-board
Проекты плат Altium Designer, которые представляют собой дочерние платы системы Multi-board, содержат специальные соединители, такие как торцевые и штыревые разъемы, с помощью которых плата электрически и физически соединяется с другими платами в конструкции.
Эти соединители и связанные с ними цепи необходимо определить в документе схемы, чтобы определить соединения между платами на уровне системы. Сделать это можно с помощью определенного параметра System
(Система), задав ему значение Connector
(Соединитель).
Для каждого соединителя в проекте платы, который будет использоваться для соединения плат, выберите элемент-соединитель и затем добавьте специальный параметр элемента на вкладке Parameters панели Properties.
Проект Multi-board
Проектирование многомодульной конструкции в Altium Designer осуществляется в проекте Multi-board, который, как и проекты других типов, создается с помощью меню File » New » Project – здесь выберите параметр Multi-board Design Project (Проект многомодульной конструкции). Либо выберите команду File » New » Project » Project, чтобы открыть диалоговое окно New Project (Новый проект) с дополнительными параметрами создания проекта, такими как управляемый или VCS проект и автоматическим созданием специальной папки.
Базовым элементом проекта Multi-board является логическое представление конструкции, определение которое осуществляется в документе схемы Multi-board (*.MbsDoc
). Добавьте файл этого типа в проект Multi-board из панели Projects, щелкнув правой кнопкой мыши по проекту и выбрав Add New to Project » Multi-board Schematic в контекстном меню, или выберите File » New » Multi-board Schematic в главном меню.
Схема Multi-board
Связь между проектами плат, которые составляют систему Multi-board, задается размещением соответствующих им блоков (модулей) на схеме и соединением их соединителей (входов) с помощью виртуальных соединений и/или проводников.
Модули, представляющие дочерние платы, размещаются в рабочей области из меню Place » Module или выбором кнопки в панели инструментов Active Bar – см. ниже.
Выберите размещенный модуль и в панели Properties задайте его Designator (Обозначение) и Title (Заголовок), а также исходный проект платы, с которым связан модуль. В параметре Source (Источник) можно задать локальный проект или проект, управляемый сервером, и желаемую плату в указанном проекте (Assembly/Board).
Добавьте другие модули и связи с их дочерними проектами в схему проекта.
Информация о проекте связанной с модулем платы импортируется с помощью команды Design » Import from Child Projects или Design » Import from Selected Child Projects. Наиболее важным в этом процессе является то, что обрабатываются данные о контактах и цепях каждого соединителя, которому присвоен специальный параметр System:Connector
.
После того, как импорт завершен, для каждого из этих соединителей будет автоматически создан Entry (Вход) на соответствующем графическом представлении блока. Этот вход связан с выводами и цепями соединителя в дочернем проекте.
Связь с дочерними проектами
Чтобы соединить модули дочерних проектов между собой, поместите логические соединения между входами модулей.
В меню Place (Разместить) и в панели инструментов Active Bar (в верхней части редактора) доступны несколько типов соединителей, в том числе Direct Connection (Прямое подключение) и Wire (Проводник). Нажмите и протяните линию соединения между точками входов модулей, чтобы создать логическое соединение. Обратите внимание, что все элементы в редакторе схемы системы можно перетащить в новое расположение.
Структура проекта
Проект Multi-board имеет иерархическую структуру, которая включает в себя исходные документы (схема и сборка Multi-board), а также дочерние подпроекты, связанные с модулями в схеме проекта. Структура дочерних проектов немедленно добавляется в проект Multi-board, когда модуль связывается с этим внешним проектом.
Разверните структуру проекта в панели Projects, чтобы показать файлы проекта Multi-board и его дочерних проектов. Скомпилируйте дочерний проект, чтобы в панели появились базовые элементы этого проекта, такие как Components (Элементы) и Nets (Цепи). Чтобы скомпилировать проект, нажмите правой кнопкой мыши по его названию в дереве панели Projects и выберите команду Compile PCB Project [..name..] (Скомпилировать проект платы).
Работа с соединениями
Соединения между модулями в схеме 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
.
Выберите соединение в рабочей области, чтобы увидеть входящие в него цепи в панели Properties. В примере часть цепей соединителя HDR6
соединена с HDR3
через проводное соединение W-PS
, которое представляет три линии питания между платой Main Board (M1
) и источником питания Power Supply (M3
). Как показано выше, каждый виртуальный провод из списка в области Connections (Соединения) панели Properties также включает в себя название входа, контакт и цепь на каждом из концов в столбцах From (От) и To (До).
Редактирование соединений
Соединения между модулями не обязательно должны соответствовать поконтактно, например когда соединитель разделен для его проводного соединения с различными платами.
Чтобы изменить соответствие между контактами/цепями соединения модулей, выберите соединение в рабочей области и измените назначения в разделе Connections панели Properties.
Используйте выпадающие списки From (От) и To (До), чтобы задать новое назначение цепи для этого отдельного соединения или провода между модулями.
Диспетчер соединений
Вся информация о соединениях в проекте 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 для повторного импорта данных о соединениях модулей, выделенных в рабочей области. Эти команды также доступны в контекстном меню графического обозначения модуля.
Исполнение 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. Обе команды доступны в контекстном меню модуля.
После запуска команды редактор сравнит данные о соединении проекта 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
.
Прочие обнаруженные и разрешенные изменения, такие как несоответствие названия цепей, синхронизируется прямым обновлением дочернего проекта.