Технологии в электронной промышленности №6'2007

Altium Designer 6 в примерах. Cоздании библиотек в Altium Designer 6. Продолжение

Владимир Пранович


В статье приводится последовательность действий при создании библиотек в Altium Designer 6, разработке схемы, трассировке печатных платы и подготовке выходных файлов и технологических и других документов на конкретных примерах. Автор не претендует на уникальность и полноту предложенных подходов, а просто рассматривает один из способов по написанию правил, созданию классов, компонентов и других действий, которые были применены в приведенных проектах. Многие способы и приемы в статье рассмотрены поверхностно или вообще не затронуты, так как подробно описаны автором ранее в статьях по Altium Designer 6.


Пример 2.8-канальный аналого-цифровой преобразователь в Altium Designer 6

Создание нового проекта в Altium Designer 6на основе старого

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

  1. Создадим новую папку Training_03.
  2. Скопируем в нее все файлы вместе с поддиректориями из папки Training_02 (папка с файлами предыдущего проекта).
  3. Переименуем файлы проекта Altium Designer в новой папке и ее поддиректориях, стобы они не совпадали с названиями старого проекта Altium Designer, например, изменив часть названия в файлах (*02*.* вместо *03*.*).
  4. Откроем новый проект Training_03 и, так как мы переименовали все файлы, командой ADD/Existing to Project добавим к проекту все файлы, относящиеся к схемам, библиотекам и т. п. из созданной папки, включая вложенные папки, а также ссылки на иные файлы, не имеющие прямого отношения к проекту Altium Designer 6, но обеспечивающие информационную поддержку, например, на данную статью, как показано на рис. 20.
Первоначальный вид развернутой панели нового проекта Altium Designer

Первоначально в проекте Altium Designer 6 у нас находятся:

  1. Непосредственно файлы схемы и PCB.
  2. Файл настройки и ссылки на базу данных.
  3. Библиотеки проекта Altium Designer 6.
  4. Вспомогательные файлы, которые мы подключили. В нашем случае это непосредственно файл базы данных DB_TR03.xls и ссылка на файл Altium Designer 6 в примерах_часть вторая.doc, который является прототипом данной статьи.

Аналогично к проекту Altium Designer 6 можно подключать файлы:

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

Использование этой возможности существенно облегчает быстрый доступ к нужным документам и особенно удобно при параллельной работе над несколькими проектами Altium Designer.

Подготовка проекта Altium Designer 6 и листов схемы

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

  1. Открываем лист Tr03Sh01 и командой File/Save Copy as сохраняем его под именем Tr03Sh02.
  2. Удаляем все компоненты с листа Tr03Sh01 схемы.
  3. Командой Add Existing to Project добавляем к нашему проекту Altium Designer лист Tr03Sh02 со схемой канала АЦП.
  4. Командой Design/Template подключаем для второго листа проекта Tr03Sh02 файл сшаблоном второго листа схемы.
  5. Командой Tools/Number Sheet и последующим нажатием кнопок Auto Sheet Number, Auto Document Number, Update Sheet Count устанавливаем нумерацию листов схемы, порядковый номер файла в проекте и общее количество листов в схеме.
  6. Так как проект Altium Designer 6 содержит два листа схемы, необходимо настроить опции проекта для определения типа связи между листами. Командой Project/Project Option вызываем окно параметров проекта, а затем вкладку Option. В списке Net Option снимем все флажки, в списке Net Identifier Scope установим значение Hierarchical (Sheet entry <-> port connections) (рис. 21). В нашем случае это означает, что Sheet entry и Port не будут использоваться для присвоения имен электрическим цепям, а связь между листами проекта Altium Designer будет проводиться на основе связки Sheet entry <-> port connections, то есть будет иметь иерархический тип.
Пример задания типа связи для многолистовых и иерархических проектов Altium Designer

Итак, новый проект Altium Designer содержит два листа схемы, первый на данный момент пустой (с форматкой первого листа), а на втором (с форматкой второго листа) находится схема АЦП для одного канала.

Внесение изменений в схему

Рассмотрим процесс и некоторые нюансы создания общих элементов схемы для многоканального АЦП. Все новые элементы схемы будут находиться на первом листе. Открываем лист Tr03Sh01.

Начнем с создания ссылки на подчиненную схему канала АЦП.

  1. Командой Design/Create Sheet Symbol from Sheet or HDL создадим Sheet Symbol (ссылка на схему АЦП для одного канала) из листа Tr03Sh02 и расположим его в нужной части схемы листа Tr03Sh01.
  2. Откроем свойства Sheet Symbol. Введем вместо значения U_Tr03Sh02 (присвоенного по умолчанию для Designator нашего Sheet Symbol) значение A1 или иное в соответствии с требованием ГОСТ.
  3. Примечание. Отметим главное — желательно иметь короткое значение Designator для Sheet Symbol, так как оно будет добавлено к обозначению компонентов конкретного Room в PCB. Длинные имена Designator компонентов на PCB вызывают определенные трудности, так как не всегда нужно работать с короткими логическими значениями Designator. Более того, при формировании перечня и спецификаций удаление ненужных длинных записей занимает много времени. И, наконец, при передаче данных через Excel есть ограничение на длину записи в одной ячейке, и часть обозначений Designator при группировании по идентичным компонентам может быть «обрезана» и, соответственно, утеряна.

  4. Откроем вкладку Parameters свойств Sheet Symbol. Добавим новый параметр Module и присвоим ему значение Canal ADC.
  5. Настроим свойства отображения всех параметров Sheet Symbol. Вид Sheet Symbol до и после настройки показан на рис. 22.
  6. Настройка параметров Sheet Symbol
  7. Перейдем на вкладку листа схемы. Возле информационной надписи Text String=DocumentName (отображаемой как Tr03Sh01.SchDoc) добавим еще одну Text String=Module (отображаемую как Canal ADC). Таким образом, название модуля схемы, введенное в Sheet Symbol, передается на соответствующий подчиненный лист схемы.
  8. Примечание. Таким образом можно передавать не один, а несколько параметров из первого листа в подчиненную иерархическую схему. В нашем примере все каналы будут идентичны по номиналам компонентов, и необходимости передавать индивидуальные параметры не возникнет. Но для иерархических схем, например, имеющих одинаковую схематику, но различные значения параметров элементов или других характеристик, такую передачу можно произвести. В этом случае для соответствующего параметра компонента (на подчиненной схеме) с переменным номиналом нужно задать его значение таким образом: ValueSCH=Module, где ValueSCH — параметр компонента на подчиненной схеме модуля, Module — один из параметров Sheet Symbol.

  9. Для построения 8 идентичных каналов АЦП откроем лист Tr03Sh01, затем свойства Sheet Symbol и вместо значения Designator=A1 введем Designator=Repeat(A,1,8). Такая запись означает: Sheet Symbol ссылается на группу идентичных модулей (типа A), нумерация которых будет с A1 по A8.
  10. Все Sheet Entry нашего модуля должны вводить одинаковые электрические связи к различным модулям, за исключением сигнала выбора модуля Сs, сигнала готовности Drdy и непосредственно входных сигналов ADC. Рассмотрим пример, когда Sheet Entry=Cs. Для ввода индивидуального входа электрической связи каждому из модулей следует для данного Sheet Entry ввести значение Repeat(Cs). При подключении к этому Sheet Entry линии электрической связи с именем, например, NetLabel=Cs_ADC, к модулям A1–A8 соответственно подключатся сигналы Cs_ADC1–Cs_ADC8. Аналогично поступаем и с другими идентичными Sheet Entry. Вид Sheet Symbol и подключение сигналов к нему представлены на рис. 23, где указано:
    1. Значение Designator, имя файла, где хранятся подчиненная схема, и пояснительные параметры модуля.
    2. Sheet Entry, через которые на все модули вводится одна единая электрическая связь.
    3. Sheet Entry, через которые на модули вводятся индивидуальные электрические связи.
    4. Примеры обычных подключений: для электрических цепей, имеющих заданное имя (+5Va) и без указания имени цепи (имя будет присвоено автоматическим генератором).
    5. Подключение индивидуальной электрической связи. Указано имя (In) электрической связи. Имя и пределы шины (In[1..8]) из 8 электрических связей (In1, In2, … In8) могут быть указаны в любой части схемы. При этом пределы в обозначении шины [1..8] не обязаны совпадать с пределами (Repeat(A,1,8)) значений модуля в обозначении Sheet Entry.
Sheet Symbol: пример многоканальной ссылки и вид подключения электрических цепей

Примечание. Необязательно, чтобы имена электрических цепей (NetLabel), Port и Sheet Entry совпадали.

Добавим в схему остальные компоненты, необходимые для построения 8-канального АЦП. Эти операции произведем аналогично тому, как мы создавали схему АЦП.

На рис. 24 представлен общий вид первого листа иерархической схемы, где указаны основные элементы и типовые узлы подобных схем:

  1. Схема подачи аналогового питания.
  2. Схема защиты по выходным цепям.
  3. Коннектор для подключения сигналов от внешних датчиков.
  4. Sheet Symbol (8 идентичных модулей) со ссылкой на лист схемы одного канала.
  5. Необходимая «обвязка» 8-канального модуля. Данная схемотехника использована для построения в следующем примере иерархической схемы с более сложной структурой.
  6. Дешифратор формирования сигналов выбора канала АЦП.
  7. Схема объединения сигналов готовности от разных каналов АЦП.
Sheet Symbol

После всех действий производим компиляцию схемы целиком для всего проекта Altium Designer командой Project/Compile Project Training_03.PrjPcb, и после устранения причин появления некоторых сообщений типа Warning и Error (действуя аналогичными способами, как и в предыдущем примере) проект с точки зрения схемы будем считать завершенным.

Передача изменений на PCB

В предыдущем примере мы произвели компоновку элементов, и сделали часть топологии печатной платы для одного канала АЦП. В данном примере у нас проведена не только полная перенумерация компонентов схемы, но и изменена сама ее структура. Так как предыдущий пример является небольшим по объему работы, можно было бы провести расстановку компонентов и сделать заново топологию печатной платы. Однако в принципе возможны ситуации с достаточно сложными проектами Altium Designer, где нежелательна потеря предварительной топологии старых проектов, используемых в качестве модулей иерархического проекта. Поэтому рассмотрим процесс передачи данных из схемы в PCB с учетом максимального сохранения результатов размещения и топологии как иерархических проектов, так и простых проектов Altium Designer, выполненных на основе старых заготовок.

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

  1. Открываем проект Altium Designer 6 Training_03.PcbDoc.
  2. Находим Room Definition c именем Tr01Sh01 и переименовываем его в Tr01Sh01 :=>A1. (Наш первый канал АЦП получит именно такое значение Room Definition, так как мы его задали на первом листе схемы, введя соответствующее значение Designator для Sheet Entry.
  3. Командой Project/Component Link «связываем» компоненты из PCB проекта с идентичными компонентами, принадлежащими модулю А1, как показано на рис. 25, где отмечены столбцы:
    1. Обозначение (Designator) компонентов из схемы, не имеющих аналогов на PCB.
    2. Описание параметров CurrentFootpint и Comment компонента из схемы.
    3. Аналогичные столбцы для компонентов из PCB.
    4. Designator, CurrentFootpint и Comment компонентов из схемы, имеющих соответствующие компоненты на заготовке PCB, взятой из предыдущего проекта Altium Designer.
    5. Аналогичный столбец для компонентов из PCB.
  4. Окно Component Links

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

  5. Командой Design/Import Changes From Training_03.PrjPcb переносим данные проекта из схемы в PCB. При этом следует провести следующие действия и учесть указанные возможности:
    1. При переносе данных аналогично связываем и классы компонентов. В нашем случае класс A1 из нового проекта должен соответствовать классу Tr01Sh01 из проекта прототипа.
    2. Аналогично можно связать и непосредственно имена цепей в окне Match Nets и классы цепей в окне Match Nets Classes, но на данном этапе мы пропустим этот пункт, и цепи переименуются автоматически. Это позволит рассмотреть далее порядок ввода правил из других проектов Altium Designer.
    3. Для того чтобы классы цепей не удалялись при передаче данных из схемы в PCB, следует командой Project/Project Option (при активном окне одного из листов схемы проекта) вызвать окно параметров проекта Altium Designer, перейти на вкладку Option, изменить в ECO-генераторе параметр Remove Net Classes, запретив передачу данных изменений из схемы в PCB.
  6. После выполнения всех операций компоненты из старого проекта Altium Designer синхронизировались с компонентами модуля A1, а элементы топологии сохранились с присвоением новых имен электрических связей. Компоненты модулей A2–A8 и общие компоненты первого листа схемы расположились в свободной области справа от платы. Правда, поскольку мы за этим не следили (см. пункт 4b), у нас удалились все классы цепей, и проверка DRC дает нарушение правил.

  7. Восстановим классы цепей, потерянные при передаче изменений в PCB, взяв за основу предыдущий проект Altium Designer. Для этого:
    1. Загрузим старый проект Altium Designer Training_02.PcbDoc.
    2. Командой Design/Rule вызовем окно PCB Rule and Constraints Editor. Из контекстного меню выполним команду Export Rule и сохраним нужные или все правила в файл Training_02.rul.
    3. Закроем старый проект и перейдем на нашу PCB. Аналогичными действиями (команда Import Rule) загрузим в наш проект требуемые или все правила из файла Training_02.rul.
  8. После этого в разведенной части модуля A1 (бывший проект Altium Designer Training_02) проверка DRC находит только одно несоответствие для цепи +5Va. И действительно, бывшей цепи +Va на первом листе схемы присвоено имя +5Va, а оно отсутствует в классе цепей Power.

  9. Как и в предыдущем примере, командой Design/Classes вызываем окно редактирования классов и в класс Power добавляем цепь +5Va, а заодно и некоторые другие, появившиеся в новом проекте, которые относятся к цепям с повышенным токопотреблением.

На этом процесс передачи всех изменений из схемы в PCB завершен.

Работа с идентичными Room в PCB

В проекте Altium Designer сформированы восемь (А1–А8) идентичных Room, соответствующих каналам АЦП, и еще один, в котором расположены общие компоненты. Для того, чтобы быстро разместить и повторить разводку для одинаковых по структуре модулей АЦП, совершим следующие действия:

  1. Применим команду Design/Rooms/Copy Room Format и выделим (указатель превратится в перекрестие) сначала Room A1, а затем любую из A2…A8 для вызова опций переноса размещения и топологии.
  2. Вызовем окно Confirm Channel Format Copy и настроим правила переноса размещения и топологии. В частности, снимем флажок указания копирования топологии, так как компоненты еще не размещены на плате. Настройки по умолчанию показаны на рис. 26. Все Room A1…A8 примут одинаковый размер и будут идентичны по размещению компонентов.
  3. Окно Confirm Channel Format Copy
  4. Автоматически разместим все идентичные Room. Для этого:
    1. Будем размещать наши Room горизонтально, в один ряд. Поэтому уменьшим горизонтальный размер Room A1 до минимально возможного, при котором еще можно выполнить размещение элементов и в будущем сделать топологию Room с выполнением правил DRC.
    2. Выделим все идентичные Room (в нашем случае их 8).
    3. Применим команду Design/Rooms/Arrange Room и установим в ней параметры, как указано на рис. 27.
    4. Окно Arrange Room
    5. Укажем точку привязки начала левого нижнего угла Arrange Room для первого Room на PCB.
    6. В результате операции все Room переместятся в указанную зону, расположившись в один ряд, и будет выполнено идентичное размещение компонентов.
  5. Предварительно оптимально размещаем наши каналы АЦП на плате и применяем еще раз операцию Copy Room Format, только настраиваем Confirm Channel Format Copy, как во втором пункте, для переноса на этот раз и топологии разводки Room. Результат операций представлен на рис. 28.
  6. Вид первичного применения автоматического расположения каналов

Данный результат, с одной стороны, достаточно неплох, так как получен быстро и без особых усилий. Но для демонстрации еще больших возможностей данной функции по переносу топологии идентичных Room, а также учитывая перспективу расположения в дальнейших примерах на этой площади множества других объектов (еще 8 каналов АЦП, схемы микроконтроллера, интерфейсной части), площадь платы под размещение каналов АЦП нужно уменьшать. В данном случае выход один — двустороннее размещение на плате компонентов каналов АЦП, что может уменьшить занимаемую площадь практически в два раза (тем более, что на данный момент для топологии используется только 2 слоя из 4). Единственную трудность представляет желание использовать только сквозные переходные отверстия. Применение исключительно сквозных переходных отверстий снижает стоимость печатной платы, однако при копировании топологии нужно следить, чтобы переходные отверстия, принадлежащие разным электрическим цепям, не накладывались друг на друга. Для нашего проекта Altium Designer это можно сделать, и мы в данном примере ограничимся только сквозными переходными отверстиями.

Сделаем новую топологию нашего канала АЦП таким образом, чтобы при переносе элементов топологии канала на обратную сторону печатной платы переходные отверстия не наложились друг на друга или на «чужую» дорожку канала, находящегося на противоположной стороне печатной платы. Для этого требуется взаимозамена идентичных конденсаторов и резисторов в соответствующих сборках. Процесс внесения изменения в схему и в PCB пропустим и приведем схему канала АЦП (рис. 29) с учетом оптимальной топологии. Вопросы применения операций замены идентичных элементов в сборках с помощью операции SWAP мы не рассматриваем, так как в данном случае нарушится «читаемость» схемы. Мы вернемся к этому в других примерах.

Вариант схемы канала АЦП для оптимальной трассировки

Теперь приступим к двустороннему расположению каналов АЦП. С верхней стороны поместим нечетные каналы, а с нижней — четные. Для этого произведем следующее:

  1. Изменим топологию с учетом приведенных выше замечаний. Опустим сам процесс создания топологии, так как он был описан в предыдущем проекте Altium Designer, и сразу приведем результат представлен на рис. 30а (левая часть), где показано:
    1. Месторасположение резисторных сборок (сверху и снизу платы).
    2. Месторасположение сборки конденсаторов (сверху и снизу платы).
    3. Расположение микросхемы АЦП.
    4. Разводка во внутреннем слое шин питания и общих сигнальных шин.
    5. Место для размещения сборок по пунктам а и b для канала АЦП, расположенного с противоположной стороны платы.
  2. Главная цель приведенной топологии канала АЦП — получить возможность симметричного расположения такого же канала на противоположной стороне печатной платы.

  3. Теперь повторяем прежние и выполняем дополнительные действия при переносе топологии Room на нижний слой печатной платы (рис. 30а, правая часть):
    1. Применим еще раз операцию Copy Room Format ко всем идентичным Room.
    2. Выделим Room A2 и «перенесем» его на слой Bottom нажатием клавиши L.
  4. Расположение идентичных Room на противоположных сторонах платы

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

  5. «Перетаскиваем» Room A2 и совмещаем его с Room A1 (рис. 30б). При этом расположение некоторых переходных отверстий нарушит правила DRC, о чем свидетельствует ярко-зеленая подсветка этих элементов.
  6. Очевидно, что некоторые переходные отверстия явно излишни, так как дублируют друг друга. Удаляем ненужные переходные отверстия и снова поправляем топологию. В итоге получаем результат: топология двух идентичных каналов АЦП при расположении их с разных сторон печатной платы (рис. 30в).
  7. «Переносим» на слой Bottom оставшиеся четные Room (A4, A6, A8).
  8. Размещаем Room A3–A8 аналогично паре A1 и А2 (пары A3 и А4, A5 и А6, A7 и А8).
  9. Применяем еще раз операцию Copy Room Format к Room A1, A3, A5 A7, взяв за основу формат Room A1. Особенности окна при копировании показаны на рис. 31, где отмечены Room, находящиеся на стороне TOP. Сторона подсвечивается цветом слоя.
  10. Вид окна и настройки при копировании идентичных Room с двусторонним расположением
  11. Так как Room у нас по размерам идентичны, нет смысла в данном примере делать такую же операцию для Room A2, A4, A6 A8, взяв за основу формат Room A2.
  12. И, наконец, проводим общие электрические связи, проходящие через все каналы АЦП. В нашем случае это будут прямые отрезки силовых и общих информационных связей.

Довольно кропотливые, но понятные действия приводят к получению завершенной топологии идентичной части всех 8 каналов АЦП за короткий промежуток времени и без усобых усилий. Результат представлен на рис. 32. После нескольких «переделок» следующие подобные проекты Altium Designer можно будет осуществлять значительно быстрее за счет пропуска повторных действий и тщательной подготовки предварительной топологии.

Вид предварительной топологии 8 каналов AЦП

Рассмотренный способ — не единственный для работы с идентичными по топологии блоками. Рассмотрим еще один простой и удобный способ переноса топологии. Вернемся к рис. 30в. При разводке идентичных каналов АЦП автор сознательно «забыл» провести ряд дорожек. Формально можно полностью развести Room, повторив все предыдущие пункты. Однако на это уйдет неоправданно много времени, включая «подчистку» топологии при копировании и восстановлении удаленных сегментов. Ниже представлена последовательность действий при другом способе копирования топологии. Она хороша, когда топология всех идентичных каналов уже сделана и приходится добавлять только элементы топологии.

  1. Окончательно создаем топологию внутри области совмещенных Room A1 и А2.
  2. Выделяем вновь добавленные элементы топологии (дорожки, переходные отверстия), принадлежащие этим Room.
  3. «Нажимаем» кнопку Rubber Stamp (рис. 33).
  4. Перенос элементов топологии копированием объектов
  5. Указываем точку привязки, выбрав в качестве нее один из PAD какого-либо элемента (желательно, чтобы PAD принадлежал части копируемой топологии), при этом указатель «мышки» превратится в «крест» увеличенного размера, а при наведении на выбранный PAD появится восьмиугольник.
  6. Копируем (в нашем случае 3 раза) данную топологию на совмещенные Room A3 и А4, A5 и А6, A7 и А8, при этом указываем в качестве точки привязки при копировании соответствующий PAD.

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

Завершение работы в PCB

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

  1. Общие элементы входных цепей каналов АЦП.
  2. Непосредственно (в красной рамке) компоненты каналов АЦП. Видны компоненты 4 каналов, расположенных с верхней стороны платы, и топология всех 8 каналов.
  3. Общие элементы каналов АЦП (усилитель шинных сигналов и микросхема питания).
  4. Общие элементы каналов АЦП (дешифратор сигнала выбора канала АЦП на стороне TOP и схема формирования сигнала готовности данных на стороне Bottom, а также общие фильтрующие конденсаторы).
Топология 8-канального модуля АЦП

В следующей статье будет рассмотрен пример реализации 16-канального АЦП со схемой управления и передачи данных.

Продолжение следует

Литература

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

Другие статьи по этой теме


 
ПОДПИСКА НА НОВОСТИ

Оцените, пожалуйста, удобство и практичность (usability) сайта:
Хорошо
Нормально
Плохо