Современные решения для производства электроники

Altium - Пранович В. 02. Cистема проектирования Altium Designer 6. Часть 2.

Cистема проектирования Altium Designer 6. Часть 2.

Владимир Пранович, pranovich@bsu.by

 

(Оригинал статьи опубликован в журнале
Технологии в Электронной Промышленности)

 

Параметры проекта

Перед передачей данных в PCB-проект желательно задать параметры проекта в целом, так как от этого зависят условия передачи данных. Командой Project\Project Option открываем окно параметров проекта. Мы оставим все установки заданными по умолчанию. Однако, чувствуя себя опытным пользователем, вы можете их установить по вашим требованиям. Те изменения, которые нужно будет делать при создании сложных проектов, будут указаны в соответствующих разделах.

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

На вкладке Connection Matrix аналогично задается проверка схем на целостность сигналов.

На вкладках Class Generation задаются методы образования классов NET и ROOM для компонентов на PCB.

На вкладке Comparator задаются правила нахождения различий между схемой и PCB.

На вкладке ECO Generator можно включить или отключить формирование ECO для отдельных классов отличий.

На вкладке Option задаются порядок хранения документов проекта, правила связи иерархических схем, а также функции SWAP.

На вкладке Multi-Channel задается порядок имен NET и позиционных номеров для иерархических и сложных схем.

Вкладка Default Prints — вид документов и их наполнение при формировании отчетов и выходных файлов. Удобная вещь: когда вы подготовите уже не один документ, то сможете быстро формировать выходные файлы. Это же касается и вкладки Search Patch.

На вкладке Parameters зададим параметры, общие для всех листов проекта. Например, таким параметром является номер разработки Dec_N = EXAP.EXAMPLE.000.01 Э3. Для PCB нужна только общая часть Dec_N, и для нее вводим параметр Dec_N = EXAP.EXAMPLE.001.01. Для того чтобы общая часть передавалась в схему, проверьте, чтобы у конкретного листа схемы не был прописан собственный параметр Dec_N. Как правило, его забывают удалить при создании TITLE, и он кочует из схемы в схему. Если он есть, его следует удалить.

 

PCB редактор

(TU0117 Getting Started with PCB Design)

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

 

Создание рамки

Создадим в слое, например, Mechanical16 рамку, идентичными методами, как и для схемы. Учтите, общие названия с рамкой из схемы могут быть автоматически переданы из проекта через его параметры. Для этого при вставке текста перед параметром ставится точка (рис. 14). Для задания рабочего поля (на весь размер выбранного нами листа) используйте команду Design\Board Shape\Redefine Board Shape. После этого его можно сохранить в качестве Template в соответствующую папку.

Рис. 14. Пример заполнения полей при оформлении титульного листа

 

Передача данных между схемой и PCB и создание простых проектов

Передача данных из схемного редактора в PCB производится командой Design\Update PCB…. Эта команда идентична импорту данных в редакторе PCB из Design\Import Change … из исходного проекта (рис. 15). Для передачи изменений, сделанных в PCB-редакторе в схемный редактор, используется команда Design\ Update Schematic …. Пока нам понадобятся только первые две.

Рис. 15. Связь между компонентами схем проекта и PCB

Связь между компонентами схем проекта и PCB производится по уникальным номерам. В результате многократных изменений в схеме или PCB, связь между проектами может быть нарушена. Для изменения задания связи между компонентами схемы и PCB при активном PCB-документе используется команда Project\Component Link…. В первых двух колонках указаны компоненты схемы и PCB, связь между которыми не установлена, справа — связанные компоненты. Вы легко можете устранить связь, ввести ее вручную или автоматически, указав критерии связи по параметрам (Designator, Comment, Footprint).

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

Из схемы в PCB-проект всегда передаются параметры Designator, Comment. Установив для параметра Comment значение, например, =ValueSCH, можно передать соответствующий параметр. Для желающих иметь одновременно не один, а несколько параметров компонента в PCB-проекте, при создании Footprint следовало добавить текст, например, .Designator или .Comment указав слой и параметры шрифта. Однако рекомендуем этот прием использовать только чувствуя себя уверенным пользователем. Тем более, что большой необходимости в этом нет.

Контур будущей платы задается линиями и окружностями в одном из слоев Mechanical, область, доступная для разводки в слое Keep Out. Если они совпадают, можно ограничиться последним. Начнем с простого прямоугольного контура. Переключение между слоями производится нажатием «*» на дополнительной клавиатуре или нажатием на закладку соответствующего слоя. Если вы этого слоя не видите, включите его из окна «Контекстное меню \Option\Board layer & colors…» (рис. 16). Здесь же вы можете настроить цвета, добавить слои и т. п. После создания контура платы следует всем элементам контура установить свойство Locked, чтобы избежать случайных перемещений элементов контура.

Рис. 16. Вид окна Board layer & colors…

Перейдем теперь к компонентам. У нас платка маленькая. В ней образована одна Room под именем Example_1, совпадающим с именем листа схемы, так как мы использовали установки по умолчанию. Чтобы поместить/удалить компоненты внутрь Room, используйте команды Tools\Component Placement\Arrange Components Within Room, …\Arrange Components Outside Board. Перемещая Room, мы перемешаем и все компоненты. Нам проще переместить и изменить формы Room по размерам будущей платы, сделать для Room опцию Room Locked, а затем переместить все компоненты внутрь Room. После этого у нас все элементы стоят, как на рис. 17. Для пользователей, знакомых с любой системой проектирования плат, не составит труда получить и конечный продукт разводки.

Рис. 17. Начальное расположение элементов на Board

Отметим только ряд действий, которые придется совершить:

1. Установленный по умолчанию параметр Clearance имеет значение 0,254 мм. Это не позволит провести дорожки, например, к контактным площадкам корпуса MSOP (RM-8) MO-187AA. Для изменений этого параметра используется команда Design\Rules:Electrical+Clearance, где наглядно устанавливается данный параметр. Делаем его значение равным 0,2 мм. Здесь сразу же можете ознакомиться с большим числом правил при проектировании плат. Определить их значения и есть одно из главных действий для опытных пользователей.

2. Аналогично устанавливаем параметр Design\Rules:Routing+Width (минимальное значение — 0,15 мм, по умолчанию — 0,25 мм, максимальное — 0,5 мм).

Будем считать процесс создания трассировки завершенным (рис. 18).

Рис. 18. Пример разводки

Наиболее часто используемый способ при проектировании — это возможность установки на плату одного из нескольких вариантов корпуса компонента. При этом речь не идет о выборе одного из вариантов корпуса (этот вопрос легко решаем и не вызывает затруднений), а о соответствии компонента сложному посадочному месту, включающему одновременно несколько вариантов исполнения корпуса, например для SMD элементов корпуса типоразмеров 0805 и 1206, для транзисторов — совмещение корпусов SOT23, SOT223, DPACK, для микросхем — SOIC и DIP. Остановимся на создании составного корпуса для микросхемы LM5008, включающего две разновидности MSOP8 и LLP8.

Вернемся в редактор PCB Library (TU0103 Creating Library Components) и дополнительно к существующему посадочному месту MSOP8, которое мы уже использовали, создадим LLP8. Затем создадим совмещенный корпус MSOP8_LLP8 копированием в него изображений его составляющих. Заметьте, что новый корпус будет содержать по два PAD c номером 1, по два PAD c номером 2 и так далее. В слое Top Layer командой Place\Line соединяем PAD с одинаковыми номерами. Новый компонент готов. Таким же образом можно задать сложную форму для контактной площадки, положив сверху полигон. Но при использовании полигона, если требуется освобождение его от маски, соответствующая графика должна быть прорисована отдельно, так как для полигонов, в отличие от PAD, автоматической генерации ее нет.

Теперь подключаем новый компонент в качестве текущего в схему (напрямую, или введя соответствующие изменения в Schematic Library) и обновляем PCB-проект. К сожалению, изображение данного составного корпуса не совсем информативно, так как корпус LLP8 можно смонтировать на месте посадочного места MSOP8. Поэтому на рис. 19 показано также и составное посадочное место SOT23_SOT223_DPACK. В последнем примере PAD корпуса SOT23 выполнены полигонами и соединены линиями с PAD корпуса DPACK; PAD корпуса SOT223 совмещены.

Рис. 19. Примеры составных посадочных мест

 

Подготовка документации и файлов для производства

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

 

Формирование файлов для производства печатных плат

Команда File\Fabrication Output\Gerber Files используется для создания Gerber файлов.

— В окне General задаем размерность и формат формируемых файлов.

— В окне Layers задаем слои, для которых формируются выходные данные. В нашем случае (считаем, что плата однослойная) это:

– Top Layer — верхний слой;

– Top Overlay — верхний слой шелкографии (надписей);

– Keep Out Layer — контур обрезки.

— В окне Drill Drawing происходит задание отображения символов сверловки. Мы будем формировать файл сверловки отдельно.

Поэтому можно их не задавать.

— В окне Apertures — задание апертур. Ставим галочку RS274X.

— В окне Advance — размеры фотошаблонов. Оставляем по умолчанию.

При оформлении документации можно прикрепить к формируемым Gerber Files дополнительный слой, скажем, с нашей рамкой, выполненной по ГОСТу.

Команда File\Fabrication Output\\NC Drill Files используется для формирования файла сверловки.

 

Формирование сборочного и монтажного чертежа

Команда File\Assembly используется при формировании вспомогательных файлов для удобства монтажа печатных плат. Предварительно все слои и тип выводимой информации задаются в окне Project\ProjectOption\ Default Prints:Assembly Output: Assembly Drawing. Здесь же можно задать и вывести на печать большое количество созданных вами заготовок для документов.

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

Для подготовки сборочного чертежа для монтажного участка расположение и распечатка позиционных обозначений элементов, используемых в слое Top Layer, не совсем удобна. Во-первых, надписи в этом слое могут иметь малый размер и при выводе на печать, во-вторых, при плотном монтаже они вообще могут не насены на чертеж или плату, и в-третьих, что самое принципиальное, они могут иметь не адекватное прочтение, что вызывает некорректную сборку печатной платы. Эту проблему можно решить двумя способами:

— Первый. В редакторе PCB выделим все компоненты и установим свойства для параметра Designator — размещение (autoposition) в центре и нужный слой — и дальше готовим вариант для печати. Это самый простой и очевидный способ, но у него есть несколько недостатков. Во-первых, необходимо делать «откат» от произведенных действий, чтобы не изменить надписи в слое Top Layer (изображение надписей на плате не должно меняться), а про это часто забывают. Во-вторых, надписи для удобства чтения лучше сделать максимально большими — по размеру корпуса компонента.

— Второй способ может показаться сложнее. Зато он в принципе позволяет получать независимые изображения Designator для Top Layer и другого технологического слоя, который и может использоваться при создании чертежей для монтажного участка. Более того, таким же способом можно получить и другие чертежи, например, с маркировкой элементов или их номиналами.

Для этого вернемся в редактор PCB Library (TU0103 Creating Library Components).

Здесь для всех компонентов командой Place\String ввести на слой, который будет использоваться при изготовлении чертежа для монтажного участка, например, Mechanical 1, надпись .Designator и выбрать положение шрифта и его размер в соответствии с конкретным корпусом. Будьте внимательны!

Именно точка в начале надписи означает, что данные будут передаваться из схемы в PCB-проект. Затем все компоненты в PCB-проекте следует обновить Tool\Update… в соответствии с измененной библиотекой и установить галочку Convert Special String в установках PCB-редактора (DXP\Preferences\PCB Editor\Display). Далее останется только провести редактирование тех надписей, которым присвоены значения Designator, состоящие из длинных записей и не вписывающиеся из-за этого в размер корпуса. При грамотном подходе эти надписи править не нужно, и для того, чтобы они были закрыты по умолчанию, для редактирования в свойстве надписи (в PCB Library) следует установить свойство Locked. На рис. 20 приведены рисунки исходного вида чертежа части платы до и после проведения указанных действий.

Рис. 20. Вывод Designator в дополнительном слое

Таким образом, можно из схемы в PCB-проект передавать и значения любых других параметров, например, ранее введенный нами параметр MarkPCB (маркировку, нанесенную на корпус элемента). Однако, здесь есть ограничение. Для этого при создании посадочного места используется параметр Comment, а для передачи значения другого параметра из схемы на PCB используется его переопределение Comment=MarkPCB. Это удобно для поиска и определения типа смонтированных компонентов, так как на малых по размеру корпусах наносят несколько символов, по которым можно найти полное название элемента.

 

Формирование заготовки перечня элементов схемы и спецификации сборочного чертежа

Для этого используется команда Reports\Bill of Materials. Она доступна и из схемного редактора, и из редактора PCB. Типовые настройки показаны на рис. 21. В колонку Grouped Columns из колонки All Columns переместите параметры, по которым должно производиться группирование, при создании спецификации. В обеих этих колонках отметьте галочками те параметры, которые будут присутствовать в спецификации. В правом окошке перетаскиванием колонок создайте их порядок следования в спецификации. Внизу укажите формат сохраняемого файла. Удобно сразу подключить файл, содержащий заготовку спецификации. В этом случае вы получите практически готовый перечень элементов или спецификацию. При использовании EXCEL есть одно ограничение. Для больших проектов надписи, например в колонке Designator, могут не поместиться в ячейку EXCEL, и тогда они игнорируются. На рис. 21 выведены установки для стандартных колонок в перечне элементов.

Рис. 21. Создание перечня элементов

 

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

Так как описано выше, вы можете создать указанные документы для вашего проекта. Однако каждый раз формировать и прописывать параметры формируемых документов нет необходимости. Достаточно один раз настроить их для типовых проектов и затем использовать как стандартные. Для этого введем в проект новый документ Project\Add New to Project\Output Job File. В открывшемся документе вы можете подготовить любые формируемые выходные файлы и их параметры, включая различные модификации. В том числе для схем, поддерживающих наличие различных элементов и номиналов, в зависимости от исполнения изделия. Один раз прописанный файл типа Output Job File может быть легко скопирован или добавлен к новому проекту, это дает существенное сокращение времени на подготовку выходных файлов для каждого нового проекта.

 

Иерархические схемы

Перейдем к одному из принципиальных отличий Altium Designer 6 от PCAD200x — это возможность построения иерархических схем и автоматический перенос трассировки идентичных блоков в PCB-проекте.

 

Требования к иерархическому проекту и подготовка к его созданию

Итак поставим себе задачу создать проект, включающий в себя 6 DC/DC преобразователей, схема которых нами использовалась в предыдущем проекте, на формирующие уровни питания: один на 3,3 В, четыре на 5,0 В и один на 10 В.

Как уже делали ранее, сформируем новый проект Example2. Хотя проект можно перенести и обычным копированием. Единственное необязательное требование: дайте всем файлам проекта и самому проекту другие имена, откройте его и добавьте к новому проекту переименованные документы. Откроем пока единственный лист нашей схемы и сохраним (перенесем) в новом проекте под именем Example_2_L2 и изменим в свойствах проекта общие параметры …EXAMPLE.000.01 на …EXAMPLE.000.02.

Заменим Template с первого листа рамки ГОСТа на второй. Все это не обязательные требования, а лишь следование требованиям ГОСТа.

 

Изменение схемы модуля

Изменим частично схему, заменив все Power Port на простые Net Label, так как все изменения в иерархии вначале мы передадим через Port. Добавим ко всем входным и выходным сигналам Port. После преобразований схема выглядит так, как показано на рис. 22.

Рис. 22. Пример схемы

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

 

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

Создадим в проекте новый первый лист схемы Example_2_L1. Воспользуемся командой Design\Create Sheet Symbol From Sheet Or HDL. В открывшемся окне в списке листов проекта появится единственный, отличный от этого лист схемы Example_2_L2. Выбираем его и у нас появится на схеме Sheet Symbol. Изменяем значение его Designator на A1 Подключаем лист к Sheet Entry, как показано на рис. 23 и имеем законченную ссылку на модуль DC/DC для аналогового питания на 10 В.

Рис. 23. Пример Sheet Symbol

Переход в иерархии производится при нажатой клавише Ctrl на изображении Sheet Symbol, обратно тоже, но по любому из Port. При этом оба документа должны быть открыты. После этого проделайте операцию Project\Compile PCB Project, и изображение в панели Project для схем проекта будет иметь вложенный характер.

Однако это самый простой, правда, и наиболее распространенный способ применения иерархических схем. Перейдем ко второму случаю — блоку питания на 3,3 В. Он ничем не отличается от первого, за исключением номиналов резисторов R3 и R4. Ради этого нет смысла полностью перерисовывать схему. Осуществим следующие действия (AR0112 Multi-Channel Design Concepts).

1. В уже имеющемся Sheet Symbol введем следующие параметры:V_Out=10V; R3=3.01k; R4=1.0k, означающие, что для уровня 10 В номиналы резисторов R3 и R4 имеют указанные значения. Сделаем видимым как само имя параметров, так и его значение.

Отредактируем Sheet Symbol.

2. Скопируем Sheet Symbol, изменим его параметры для условия формирования выходного напряжения 3,3 В и добавим соответствующую обвязку.

3. Перейдем на нижний уровень и в параметрах ValueSCH для резисторов R3 и R4 введем значения, соответственно, =R3 и =R4 и сделаем их видимыми, а параметр Comment невидимым. После чего следует провести компиляцию проекта, и значения из верхней схемы иерархии передадутся в нижнюю. Параметр из Sheet Symbol передается напрямую в указанный параметр конкретного компонента модуля, но через него в Comment нет. Будем надеяться, что в ближайших релизах пакета это будет устранено, что принципиально не меняет сущности этого подхода. Переключаясь между модулями A1 и А2 листа Example_2_L2, вы наглядно видите изменение номинала резистора R3, как и было задано.

Перейдем к введению в схему четырех идентичных модулей на 5 В. После копирования и введения соответствующего параметра для резисторов R3 и R4 нужно указать, что таких модулей у нас 4. Для этого в его Designator делаем запись Repeat(A,3,6), где

— надпись Repeat означает повторяющийся модуль;

— в скобочках первый символ «А» —  это и есть значение Designator для модуля;

— 3,6 — первый и последний номер в повторяющейся серии.

Рис. 24. Пример схемы с несколькими одинаковыми модулями

Таким образом, мы создадим четыре идентичных модуля с позиционными номерами A3, A4, A5, A6 (рис. 24). Заметим, что линии связи, подводимые к Sheet Entry с именами In_Vcc (входной уровень питания) и GND («земля») являются общими, а Shutdown (включение питания) и Vcc_Out (выходной уровень питания) в принципе могут отличаться. На последнем и остановимся. Для этих сигналов в Sheet Entry также нужно вписать Repeat(…). Соответственно скорректируем схему: для шинных сигналов в квадратных скобочках указываем начальное и конечное значение сигнала в шине. Так как мы сами формируем имена связей и одному Sheet Entry в нашей схеме соответствуют разные связи, галочку Project\Project Option:Option-Allow Sheet Enter to Name Net следует снять.

Мы сознательно остановимся на незавершенной схеме первого листа, так как принцип иерархии она все равно отображает. В общем случае по завершении нужно сделать операцию Annotate и Compile. При операции Annotate вы можете установить порядок листов при присвоении позиционных номеров, но лучше сделать это при помощи операции Tool\Number Sheets. При Compile у нас создались сообщения об ошибках Floating Power Object. Мы их игнорируем, это связано с незавершенностью схемы.

 

Связь иерархических проектов

(AR0123 Connectivity and Multi-Sheet Design)

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

 

Работа в редакторе PCB

Создаем новую заготовку PCB и передаем данные из схемы в PCB. Для этого используем команды Design\Update PCB… при активной схеме или Design\Import Change…. При постоянном внесении изменений в схеме и PCB и для полного согласования компонентов схемы и PCB следует поддерживать и отслеживать связь, используя команду Project\Component Links, доступную при активном документе PCB.

На PCB видим 6 Room. Берем любую из них и, как делали ранее, расставляем компоненты и разводим связи. Делая эти операции, вы могли воспользоваться и результатами предыдущей разводки в проекте Example. Однако сейчас на этом останавливаться не будем. У нас на PCB Designator включает имя Room. Это, с точки зрения автора, дает много ненужной информации, а главное — длинные надписи сложно затем разместить на слое TopSilk. Переключение отображения между физическими позиционными номерами (с включением дополнительной информации) и логическими (только позиционные номера на соответствующем листе схемы модуля) производится командой Design\Board Option.

Перемещаем одну из Room на поле, где и производим расстановку элементов и создание топологии в Room. C остальными поступаем проще, а именно:

— выбираем команду Design\Room\Copy Room Format, мышкой отмечаем Room, формат которого берется за основу, затем один из тех Room, куда нужно перенести формат;

— устанавливаем все галочки в параметрах для копирования формата и все Room (далее вы сможете переносить только формат расположения элементов или разводку, указать конкретные Room для переноса формата).

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

— выделите все Room;

Рис. 25. Результат трассировки 6 идентичных модулей

— используя команду Design\Room\Arrange Room, расставьте выделенные Room в выбранной вами последовательности. При этом перенесутся только те объекты, которые находятся полностью внутри Room, а находящиеся за пределами (такое может быть, если Room накладывались друг на друга) останутся на месте. В последнем случае операцию …\Copy Room Format следует повторить, а остатки линий удалить. Эти функции существенно сокращают процесс трассировки сложных плат с идентичными блоками. В результате у нас получилась трассировка 6 идентичных блоков (рис. 25). Нам остается вручную произвести трассировку только тех линий связи, которые связывают между собой Room.

Окончание следует

Литература

1. Пранович В. Система проектирования Altium Designer 6 // Технологии в электронной промышленности. 2006. № 5.

Полный цикл статей

Уроки Altium Designer
Урок 13
Раздел правил Electrical Clearance. Раздел правил Routing Widht. Раздел правил Routing/Routing Topology. Раздел правил Routing/Routing Layer. Раздел правил Routing/Routing Corners. Раздел правил Routing/Routing Vias Style. Раздел правил Routing/Differential Pours Routing. Раздел правил SMT. Раздел правил Mask. Раздел правил Plane.
Урок 6
Топология идентичных блоков модуля. Реализация типовых схемных и топологических решений в примере. Использование полигонов. Подготовка и размещение текстовой и пояснительной информации на печатной плате.
Урок 7
Подготовка файлов для изготовления печатных плат. Подготовка файлов и документации с помощью Job File. Assembly Drawing из группы настроек Assembly Output. Generates pick and Places File (сведения о координатах компонентов). Gerber Files, NC Drill Files, ODB++ Files. Test Point Report. Группа Report Output Bill off materials. Формирование 3D изображения печатной платы. Формирование PDF файла проекта.
Урок 8
Параметры проекта. Первый лист схемы. Второй лист схемы. Третий лист схемы. Четвертый и пятый листы схемы. Шестой лист схемы. Создание шаблона печатной платы. Создание контура печатной платы. Размещение компонентов. Топология шины PCI. Автоматическое формирование (Fanout) отводов от микросхем. Полуавтоматическая трассировка шинных электрических связей. Общая топология платы.