Xsignals altium как использовать

young woman 731142 1920 Советы на день

A_D Electronics

development and research

Altium Designer 19 — советы и фишки, упрощающие проектирование

Наконец-то я собрался написать по Альтиуму что-то по объёму более, чем заметка со ссылкой на видосик. 🙂 Материал ниже — это сборник советов или просто фишек как нового 19-го Альтиума, так и прошлых версий. Думаю, это будет интересно как начинающему радиолюбителю, так и инженеру, уже давно работающему с Альтиумом.

Статья разбита по отдельным советам\фишкам, начинается с верхушки (проект и схемотехника) и далее переходит по следующим ступеням (печатная плата, сборка плат) сквозного проектирования.

b81 0

Начнём с самого простого и не всегда популярного почему-то (видел, что далеко не все этим пользуются или даже не знают об этих инструментах):

Глобальное обновление количества листов схемы и их нумерация

Инструмент Number Schematic Sheets… находится в меню Tools->Annotation:

b81 1

Выглядит он следующим образом:

b81 2

Как можно видеть, в открытом проекте 4 листа схемы и общее количество листов (колонка SheetTotal) = 3, а также номера конкретных листов (колонка SheetNumber) не соответствуют фактическому количеству\позиции листа. Для автоматического назначения обоих параметров внизу нажимаем две кнопки (Auto Sheet Number и Update Sheet Count):

b81 3

После чего можно видеть вносимые изменения (помечены синими треугольниками на изменённых ячейках таблицы). Также можно вручную подкорректировать и внести изменения на листы путём нажатия кнопки ОК.

b81 4

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

Следующий инструмент удобен для быстрого и глобального обновления\замены компонентов простых типов, к примеру, используемые вами конденсаторы заимели статус NRND (Not Reccomend to New Designs), вы нашли замену, а свежий проект у вас на 5-10 листов схемы, а этих конденсаторов там сотни. Что делать? Да всё просто, используем инструмент Update From Libraries… (предварительно занеся новый тип конденсаторов в библиотеку компонентов, конечно же) из меню Tools:

b81 5

Открывается следующее окно:

b81 6

Здесь можно выбрать листы проекта, типы компонентов, которые будем обновлять или заменять. Далее происходит проверка наличия выбранных компонентов в библиотеке, и если их нет, будет отображен статус Not Found. На скриншоте ниже я уже выбрал новые конденсаторы взамен старых (кроме последнего, выделенного):

b81 7

На примере последнего замена делается легко — просто выделяем строку с нужным компонентов (или группой, Ctrl+ и Shift+ здесь работают) и нажимаем ПКМ, выбираем Choose Component… :

b81 8

Далее вручную или поиском по Part Number находим нужную замену:

b81 9

Теперь слева можно отметить только те компоненты, которые мы хотим обновить\заменить, а справа, сняв галочку Full Replace, можно также выбрать, обновлять ли графическое представление, параметры и\или модели. Более того, выделив компоненты и нажав кнопку внизу Parametrs Changes… :

b81 10

Можно увидеть в открывшемся окне все параметры компонентов (по колонкам) с отметками, какие будут изменены (синий треугольник), какие удалены (красный минус), а какие добавлены (зелёный плюс):

b81 11

Также можно отменить изменения, выделяем нужные ячейки (у меня, к примеру, на схеме вручную для некоторых компонентов был добавлен параметр ClassName со значением DirectConnect) и нажимаем ПКМ, выбираем пункт Reject:

b81 12

Теперь эти параметры не будут удаляться:

b81 13

После чего можно успешно обновить компоненты на схеме кнопкой Finish из главного окна инструмента Update From Libraries. Результат обновления будет выведен в отдельном окне:

b81 14

Глобальные параметры проекта и их использование

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

Находятся они в опциях проекта:

b81 15 1

Вкладка Parametrs:

b81 16

Здесь можно объявить идентификационный номер проекта, его имя, идентификационный номер платы и ревизию проекта. К примеру, объявлен параметр PCB_ID — идентификационный номер платы. И его можно использовать для автоматической подстановки в качестве сокращённого номера печатной платы на верхнем и нижнем слоях таким способом (свойства обычного текста на любом слое):

b81 20

Выглядит на плате это так (текст на верхнем слое меди):

b81 19

Тут кстати видна одна небольшая фишка культуры разработки печатной платы — дата проектирования. Состоит она из последних 2 цифр года и номер недели на момент завершения проектирования и разводки печатной платы (на скриншоте выше: 1911).

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

b81 18

И теперь, накидав простой сборочный чертёж для пайки прототипа, вставить текст с номерами проекта и платы:

b81 17

Ещё одно место, где удобно использовать глобальные параметры проекта — это файлы OutJob. Смотрите, делаем задачи по генерации документации:

b81 21

А в настройках задачи можно подставлять параметры проекта:

b81 22

Таким образом, файл сразу генерируется с именем, соответствующим текущему идентификационному номеру проекта, содержанию файла и ревизии.

Классы цепей (Net Class и Diff. Pair Net Class) и правила для них

Инструмент Parametr Set используется обычно для установки правил на группу или одиночную цепь:

b81 23

К примеру, можно задать для группы цепей правило на допустимую разницу величины всех длин цепей в пределах группы:

b81 25

А также в свойствах этого инструмента содержится и колонка с именем класса, к которому будет относится цепь или группа цепей:

b81 24

Более того, в инструменте определения дифференциальной пары — Differential Pair:

b81 26

Также есть колонка с именем класса, к которому будет относиться эта дифференциальная пара:

b81 27

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

Вот можно видеть правило, созданное инструментом Parametr Set из схемы (с припиской Schematic * в имени правила):

b81 28

А вот правила, созданные вручную для конкретного класса:

b81 29

Более того, во втором правиле толщины и зазоры дифференциальной пары берутся из профиля импеданса D100 (про который будет рассказано далее):

b81 30

Основное отличие же — это создание правил для платы двумя основными путями:

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

Инструмент Smart Paste

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

b81 93

И наглядно увидеть, что с его помощью можно сделать, можно на гифке ниже:

b81 94

Здесь я взял группу Net Labels, относящихся к I2S, и с помощью Smart Paste я могу их вставить как такую же группу, но другого типа объектов (порты, шина Harness, просто текст и т. д.), что может значительно ускорить проектирование схемы.

Правила технологических возможностей производства

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

Итак, вначале нам надо определиться, где мы хотим изготавливать печатную плату, и посмотреть, что завод-изготовитель может сделать. Возьмем для примера технологические возможности от Резонита. Для печатной платы с 18 мкм толщиной фольги и коэффициентом стоимости 1.5 (более сложное изготовление в сравнении со стандартным) можно отметить следующие основные параметры:

Эти два пункта взаимосвязаны и необходимо задать минимально-возможные значения для переходного отверстия (отверстие собственно = 0,2 мм, а внешний диаметр = 0,2 + 2 * 0,1 = 0,4 мм):

b81 31

Аналогично необходимо сделать и для контактных площадок.

Здесь всё просто, это минимально возможная толщина дорожки (максимальную стоит задавать в разумных пределах, исходя из величин токов на вашей плате):

b81 92

Здесь также всё просто — это минимальный зазор между любыми токопроводящими дорожками\полигонами\заливками:

b81 32

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

Тоже ничего сложного, просто минимальное расстояние между двумя масками (к примеру, на падах QFN корпуса):

b81 33

Насколько пад дополнительно открыт от маски относительно базового пада:

b81 34

Минимальное расстояние от каких-либо элементов до края платы:

b81 35

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

Примечание: Для удобства эти правила можно сохранить в файл с названием производителя и стека, чтобы в дальнейшем легко экспортировать правила в новые платы (ПКМ на Design Rules, и там есть соответствующие пункты меню).

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

Возьмем для примера стандартный стек для 8 слоёв, 18 мкм от Резонита. Выглядит он следующим образом:

b81 36

Инструмент Layer Stack Manager для редактирования стека печатной платы находится здесь:

b81 37

Выглядит определение стека следующим образом:

b81 38

Добавляются\удаляются слои через ПКМ. Также можно видеть, что ядро и препреги не из стандартной библиотеки материала Альтиума. Добавление корректных типов материалов, которые использует завод-изготовитель печатных плат, даёт более точные расчеты импедансов и симуляцию. Инструмент Material Library находится здесь:

b81 39

Выглядит он следующим образом:

b81 40

Примечание: Для удобства эти материалы можно сохранить в файл с названием производителя, чтобы в дальнейшем легко экспортировать материалы на новом рабочем месте (кнопки Load \ Save слева внизу).

Рядом c Material Library также есть инструмент Layer Stack Visualizer, который позволяет наглядно оценить порядок слоёв, габариты стека в 2D\3D видах:

b81 41

Также в Layer Stack Manager следующая вкладка — это Impedance:

b81 42

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

b81 43

Выбрать его тип (одиночная цепь или дифференциальная пара), задать допуск импеданса, а также сделать выбор, каким образом производить расчёт:

В обоих вариантах толщина дорожки во время разводки может варьироваться: минимальная — номинальная (заданной) — максимальная в пределах заданного допуска импеданса.

Для чего нужны эти профили?

Да всё просто, их теперь можно использовать в правилах:

b81 44

Выше — правило для LVDS, задающее толщины дорожек и зазор между ними на основании профиля D100. Таким же образом можно задавать толщину дорожки и для одиночной цепи:

b81 45

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

Менеджер сеток привязки

Просмотр и редактирование всех сеток привязки для печатной платы находится в свойствах платы отдельным блоком — Grid Manager:

b81 46

По умолчанию там одна глобальная сетка привязки (и она же переключается по клавише G), в которой обычно и работает инженер. Для примера вот так выглядит BGA корпус с сеткой 0,25 мм (её, правда, почти не видно, т. к. стоит точечный вид):

b81 47

Нажмём Add и добавим новую сетку, укажем центр в центре BGA корпуса и сделаем шаг 0,1 мм:

b81 48

Как можно видеть, сетка появилась:

b81 49

Таким же образом можно добавлять и полярные сетки:

b81 50

b81 51

А для чего это нужно то?

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

Привязка дорожки с переходом от декартовой сетки к полярной:

b81 52

Номера внутренних слоёв в специальном окне

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

b81 52

b81 53

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

Тип подключения компонента к полигону

Делаем DC-DC, к примеру, вот такая схема:

b81 54

И тут есть необходимость подключения DA2, L3, C36 и других компонентов без термобарьеров к полигонам. Как это сделать?

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

b81 55

Все смежные по имени параметры здесь будут видны, но при различии их значения в качестве значения будет «*«, а в совпадающих по значению параметрах будет отображено их значение. Так вот, нажимаем кнопку Add внизу и добавляем параметр ClassName со значением DirectConnect (значение может быть и любое другое, главное, что бы оно легко запоминалось и четко идентифицировалось с предназначением). Теперь все эти компоненты находятся в классе компонентов DirectConnect.

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

b81 56

b81 57

DA2, L3, C36 и другие занесённые в этот класс компоненты будут теперь всегда подключаться без термобарьеров к любым полигонам.

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

Тип подключения отдельного пина компонента к полигону

Бывает такое, что нет необходимости подключения целого компонента к полигону без термобарьера, а надо подключить только 1-2 пина. Сделать это быстрее, чем через схему, можно с помощью классов контактных площадок (Pad Class). Заходим в обозреватель всех классов печатной платы:

b81 58

Добавляем новый класс в Pad Classes с именем PadDirectConnect (имя может быть и любое другое, главное, чтобы оно легко запоминалось и четко идентифицировалось с предназначением) и добавляем в него необходимые пины компонентов (удобно пользоваться фильтром вверху для более быстрого поиска):

b81 59

Далее заходим в правила печатной платы и создаём привило подключения полигона для указанного класса контактных площадок:

b81 60

b81 61

C29, C30 были добавлены в PadDirectConnect класс и на них теперь действует правило прямого подключения полигона.

Тип подключения переходного отверстия к полигону

Ранее для этого необходимо было создавать отдельное правило с проверкой на IsVia и указанием подключения к полигону, в последних версиях Альтиума же просто заходим в базовое правило PolygonConnect, тут можно в Advanced режиме настроить подключение как переходных отверстий, так и отдельно выводных и планарных контактных площадок:

b81 62

Настройка вида заливок и полигонов

Мелочь, но ощутимо влияет на наглядность разводки и нахождение ошибок и недоработок. Открываем View Configuration через Panels:

b81 63

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

b81 64

Переходим во View Options и настраиваем параметр прозрачности (Transparency) для полигонов и регионов:

b81 65

b81 66

Примечание: Зайдите во View Options в 3D-режиме отображения печатной платы, опции отображения поменяются и можно настроить вид 3D более удобно для вас.

Фильтр объектов для выделения

Фильтр объектов для выделения находится здесь:

b81 95

Если он активен, то появляется зелёный кружок на значке фильтра:

b81 96

И наглядное отображение, как он работает:

b81 97

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

Да, к слову, если необходимо выделить контактные площадки компонента, которые не выделяются отдельно, то их необходимо выделять с Shift-ом:

b81 98

Инструмент Paste Special

Инструмент Paste Special находится здесь:

b81 99

Наглядно для чего его можно использовать:

b81 100

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

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

Элемент культуры проектирования. Снова. Вот этот вырез справа, сверху:

b81 67

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

b81 68

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

Создание xSignals правил

Удобный инструмент для согласования по длине для DDR3, DDR4, USB 3.0 или группы специальных сигналов с наличием последовательных терминирующих резисторов (типа HyperBus). Классы xSignals можно глянуть в панели PCB:

b81 69

Для создания новых классов и правил разводки стоит воспользоваться xSignal Wizard, который находится здесь:

b81 70

На старте требуется выбрать тип сигналов, для примера выбираем Custom:

b81 71

Далее поиском по компонентам выбираем источник сигналов (Source Component):

b81 72

Какие сигналы требуется анализировать (Source Nets):

b81 73

И указываем приёмник сигналов (Destination Component):

b81 74

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

b81 75

Да, при выборе какого-либо пути на плате можно в этот момент посмотреть, как он пролегает (также и альтернативные пути с ремапом):

b81 76

После выбора путей для всех сигналов создаётся класс для них и правило разводки (для HyperBUS здесь максимальная разница в длине указывается = 0,6 мм):

b81 77

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

b81 78

Автоматически созданное правило для класса xSignals:

b81 79

Примечание: При каких-либо изменениях (замена компонента или переброс интерфейса на другие пины), затрагивающих компоненты, участвующие в xSignals классе, к сожалению, его придётся создавать заново. По крайне мере, в 19.0.13 класс и его проверки ломались…

Мультибоард проект

И последнее. Мультибоард проект — сборка плат в одном проекте:

b81 80

После создания мультибоард проекта и добавления в него документа структурной схемы, следующий шаг — добавление модулей (проектов плат), этот инструмент находится здесь:

b81 81

Рисуем 2 прямоугольника или квадрата — это будет структурное отображение 2-х проектов, входящих в сборку. Заходим в параметры каждого и указываем проект-источник и плату в нём:

b81 82

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

Да, нюанс, если вы хотите показать разъёмы, которыми сочленяются эти два проекта, то необходимо у каждого из разъёмов добавить параметр System со значением Connector :

b81 83

После чего при выполнении импорта с проектов сборки с помощью ПКМ на любом модуле и выборе пункта Import From Child Projects:

b81 84 1

Будет предложено добавить соответствующие разъёмы (у которых в схеме был добавлен параметр System со значением Connector) в составы моделей:

b81 85

Теперь они выглядят так:

b81 86

Только вот у XS1 вид не розетки, а вилки — надо исправить! Выделяем его и в параметрах указываем тип Female:

b81 87

Примечание: Вот этот момент для меня несколько не ясен, почему нельзя было сразу в качестве значения параметра System указывать и тип. Загадка…

Далее можно провести соединение:

b81 88

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

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

b81 89

b81 90

Их можно сочленить по межплатному разъёму и наглядно увидеть проблемы или отсутствие оных по габаритам и размещению компонентов на платах в сборе:

b81 91

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

На этом всё, если есть замечания или знаете как сделать лучше — пишите комментарии, буду рад! Спасибо, что прочитали. 😉

Источник

Оцените статью
Добавить комментарий

Adblock
detector