Как сделать интегрированную библиотеку в altium designer
Перейти к содержимому

Как сделать интегрированную библиотеку в altium designer

Как сделать интегрированную библиотеку в altium designer

В статье описан процесс создания интегрированных библиотек Altium Designer и их использование (перевод документации Building an Integrated Library сайта wiki.altium.com [1]).

Интегрированные библиотеки комбинируют в себе схематические библиотеки вместе со связанными с ними посадочными местами деталей (PCB footprints) и/или моделями SPICE и сигнальными интегрированными моделями, причем содержимое библиотеки находится в нередактируемой форме. Вся информация по моделям копируется в интегрированную библиотеку из библиотек моделей или файлов, и таким образом вся информация о компоненте хранится совместно, независимо от местонахождения оригинального источника информации. Эта особенность делает интегрированные библиотеки по настоящему портативными и мобильными.

Исходные библиотеки, включая любое количество библиотек для схем и соответствующие библиотеки моделей и файлы (посадочные места PCB, модели SPICE или сигнальные интегрированные) добавляются в проект пакета библиотеки (Library Package), который затем компилируется в готовую интегрированную библиотеку. Чтобы изменить интегрированную библиотеку, Вы должны сначала изменить исходную библиотеку, и затем перекомпилировать интегрированную библиотеку.

Altium Designer (далее просто AD) поставляется с набором исходных библиотек и интегрированных библиотек (файлы *.IntLib), рассортированных по имени производителя в папке \Library, находящейся в месте инсталляции AD. Исходные библиотеки для схем (файлы *.SchLib) включаются в эти интегрированные библиотеки и могут быть распакованы оттуда, если открыть интегрированные библиотеки. Модели посадочных мест (PCB footprint) размещаются в папке \Library\PCB, в форме библиотек PCB (файлы *.PcbLib).

AltiumDesigner-Libraries-panel-with-1N4934-diode

Модели SPICE используются для симуляции узлов электронных схем (файлы *.ckt и *.mdl), они размещаются в составе интегрированных библиотек в папке \Library, и сигнальные интегрированные модели размещаются в папке \Library\SignalIntegrity.

[Использование интегрированных библиотек Altium Designer]

Использование интегрированных библиотек очень похоже на использование схемотехнических библиотек для размещения компонентов и добавления имен моделей. Отличие только в том, что вся информация о компоненте и его связанных моделях была уже добавлена для Вас к схемному символу. Вы можете проверить список моделей (Models list) в диалоге свойств компонента (Component Properties), чтобы посмотреть, какие имена моделей присоединены к схемному символу (schematic symbol). Имена моделей можно поменять или добавить из модели библиотеки PCB или других моделей, как только Вы разместили компонент на лист принципиальной схемы проекта.

Когда принципиальная схема перенесена из редактора схем Schematic Editor в чистый проект PCB с использованием команды меню Design -> Update PCB, поля диалога компонента Source Reference Links (исходные ссылки) для каждого PCB footprint заполняются исходными путями библиотек, так что Вы можете легко отследить — где находятся исходные компоненты и модели, если Вам их нужно изменить.

Имейте в виду, что Вы все равно можете использовать отдельные schematic или PCB библиотеки (они могут быть не в составе интегрированной библиотеки) путем добавления их в список библиотек (Library list), как обычно это делается.

Добавление и удаление используемых в AD библиотек

Все библиотеки должны быть добавлены в Library list на панели библиотек (Libraries panel), для того чтобы символы компонентов были доступны для размещения в схеме и посадочные места компонентов были доступны при создании PCB.

Чтобы добавить интегрированные библиотеки в Libraries list:

1. Кликните на закладку Libraries или выберите в меню View -> Workspace Panels -> System -> Libraries. Отобразится панель Libraries (библиотеки).

2. Кликните на кнопке Libraries в верхней части панели, чтобы открыть диалог Available Libraries (доступные библиотеки).

AltiumDesigner-Available-Libraries-dialog

3. Кликните на закладку Installed (установленные) и кликните на кнопку Install. чтобы добавить библиотеки.

4. Найдите файл нужной Вам библиотеки в диалоге выбора файла и кликните Open (можно выбрать сразу несколько файлов). Выбранная библиотека (или библиотеки) появится в списке установленных библиотек.

AltiumDesigner-Installed-Libraries-list

5. Кликните на Close, и интегрированная библиотека будет добавлена в список библиотек (Libraries list) панели Libraries. Имя библиотеки появится в панели Libraries, и эта библиотека становится активной (её можно использовать в проекте).

6. Если открыт документ принципиальной схемы, то Вы можете выбрать нужный компонент из списка компонентов (Components list) панели Libraries. Кликните Place < component name > чтобы разместить этот компонент на схеме.

Чтобы удалить библиотеку из Library list:

1. Кликните на кнопке Libraries . в верхней части панели Libraries, чтобы открыть диалог Available Libraries. Кликните на закладку Installed.

2. Выберите библиотеку library, которую хотите удалить. Используйте клавиши Shift или Ctrl, чтобы выбрать несколько библиотек. Кликните на Remove.

3. Имя пути библиотеки исчезнет из списка Installed Libraries. Кликните Close. Теперь библиотеки, что Вы удалили, больше не будут доступны в панели Library. Вы можете их добавить впоследствии, когда они понадобятся.

[Как найти нужный компонент в интегрированных библиотеках]

Если Вы не знаете, где находится нужный Вам компонент, используйте возможность поиска по библиотекам (Libraries Search).

1. Кликните на закладке Libraries, и отобразится панель Libraries.

2. Кликните на кнопку Search (поиск) в верхней части панели Libraries, чтобы открыть диалог поиска по библиотекам (Libraries Search).

AltiumDesigner-Libraries-Search-dialog

Искать можно по установленным библиотекам (Available libraries) и по файлам библиотек в указанном пути (Libraries on path). Поиск по установленным библиотекам происходит намного быстрее.

3. В верхнем текстовом поле поиска диалога Libraries Search введите имя компонента, который ищете. Символ * можно использовать так wildcard, чтобы иметь в виду различные префиксы и суффиксы, используемые разными производителями, например * 396* строка найдет все компоненты с этой строкой в составе имени. Система будет интерпретировать искомый текст как запрос, который будет виден в следующий раз, когда Вы зайдете снова в диалог поиска, то есть к примеру снова появится * 396* (имя Name наподобие ‘396’) или (описание Description наподобие ‘396’). Кликните на кнопку помощника Helper. чтобы получить больше информации по составлению поисковых запросов или обратитесь к руководству языка запросов (Query Language) [2].

4. Выберите тип поиска в выпадающем списке Search Type, например Components чтобы найти все библиотеки компонентов, которые соответствуют Вашему запросу.

5. Выберите Scope (область поиска) для поиска в установленных библиотеках или в библиотеках, доступных по настроенным путям поиска (search path) кликом на иконке папки поля Path. Проверьте выбранность опции Include Subdirectories (включая поддиректории), если Вы хотите также искать по библиотекам, находящимся в поддиректориях указанного пути.

6. Кликните на кнопку Search для начала поиска. Через некоторое время (зависит от скорости компьютера и количества просматриваемых поиском библиотек) в Query Results отобразятся результаты поиска.

7. В списке компонентов панели Libraries кликните на компонент, который Вам нужен — для его выбора и отображения его моделей имен и графических представлений.

8. Кликните на кнопке Place < component name >, чтобы разместить компонент. Альтернативно можно сделать двойной клик на имени компонента в списке Components. Если Вы выбрали компонент в библиотеке, которая пока не установлена (не в списке Installed), то система запросит у Вас подтверждение инсталляции этой библиотеки, перед тем как разместит компонент на Вашей схеме. Кликните Yes для установки библиотеки, и компонент окажется под курсором в редакторе, готовый к размещению.

9. При размещении символа нажмите клавишу TAB, чтобы отобразить диалог свойств компонента — для установки его обозначения (designator).

AltiumDesigner-Component-Properties-dialog

10. Проверьте список моделей (Models list), чтобы удостовериться в требуемой информации моделей, например что модель footprint уже добавлена из интегрированной библиотеки.

11. Кликните OK, и затем кликните для размещения символа компонента на листе принципиальной схемы. Сделайте правый клик мышью или нажмите ESC для завершения режима размещения компонента.

[Создание интегрированных библиотек]

Есть три пути для создания интегрированной библиотеки:

1. Добавление имеющихся схематических и PCB символов или моделей библиотек в пакет библиотеки (Library Package).

2. Из открытого документа принципиальной схемы или документа PCB командой Make Integrated Library.

3. Из имеющейся базы данных библиотек (Database Library) или из базы данных библиотек SVN (SVN Database Library), используя Offline Integrated Library Maker Wizard.

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

Создание integrated library с использованием Library Package

Library Package создается сначала с установленными путями как минимум schematic библиотек. Используя команды меню Project, затем Library Package может быть скомпилирован для создания интегрированной библиотеки. Любые ошибки, возникающие в процессе компиляции интегрированной библиотеки, отображаются в панели сообщений (Messages) — для анализа.

Создание исходного Library Package

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

1. Выберите File -> New -> Project -> Integrated Library. Альтернативно кликните на чистый проект (Blank Project Library Package) в секции New панели Files.

2. Панель Projects покажет пустой файл Library Package с именем Integrated_Library1.LibPkg. Пока еще нет добавленных исходных библиотек (schematic или PCB) в Library Package.

AltiumDesigner-Projects-panel1

3. Переименуйте новый Library Package используя команду меню File -> Save Project As и сохраните его (с расширением файла *.LibPkg) в выбранное Вам место. Путь pathname к файлу Library Package добавится в поле Output Path (выходной путь) закладки Options для диалога Integrated Library (Project -> Project Options). Когда интегрированная библиотека будет скомпилирована, результирующий файл (с расширением файла *.IntLib) будет сохранен в выходную папку (output folder), указанную в Project Outputs для Integrated_Libraryname (путь сохраняемой библиотеки будет генерироваться из имени пути Library Package, то есть файл *.IntLib появится в той же папке, что и файл *.LibPkg).

Создание библиотеки принципиальной схемы (schematic library)

Перед тем, как Вы можете добавить любые библиотеки schematic в Library Package, Вам конечно же нужно их создать (если не используете готовые). Вы можете создать schematic library из компонентов, которые уже размещены в принципиальной схеме проекта, используя команду Design -> Create Schematic Library, которая доступна в Schematic Editor.

Если документ принципиальной схемы не является частью проекта, Вы все равно можете создать schematic library из него, когда откроете. Отличие только в том, что сгенерированная schematic library не будет добавлена в проект и будет видна после создания как свободный документ в панели Projects.

Альтернативно Вы можете создать schematic library с нуля командой File -> New -> Library -> Schematic Library. Тогда создайте свои собственные компоненты, используя Schematic Library Editor, или скопируйте компоненты из других открытых библиотек schematic, используя команду Tools -> Copy Component. См. секцию Декомпиляция интегрированной библиотеки (Decompiling an integrated library) далее в этом руководстве для получения дополнительной информации — как распаковать schematic library из имеющейся integrated library.

Для получения дополнительной информации по поводу создания компонентов и посадочных мест (footprint) обратитесь к руководству Creating Library Components [3].

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

Чтобы создать библиотеку schematic из компонентов во всех документах принципиальных схем в проекте:

1. Откройте документы в проекте правым кликом на имя файла проекта в панели Projects и выберите Open Project Documents (открыть документы проекта).

2. С документами схем, которые содержат все компоненты, которые Вы хотите добавить к уже активной новой схематической библиотеке, выберите Design -> Make Project Library в редакторе схемы (Schematic Editor). Нажмите OK, чтобы подтвердить.

3. Когда создастся новая schematic library, она откроется в Schematic Library Editor. Все компоненты открытых файлах схем будут скопированы в новую schematic library. Новая schematic library получит имя Project_name.SCHLIB, и будет сохранена в той же папке, что и файл проекта (Project_name.PRJPCB). Имя файла появится в панели Projects, в папке Libraries\Schematic Library Documents.

4. Сохраните или переименуйте новую schematic library командой File -> Save As и закройте её.

Создание PCB library

Библиотеки PCB поставляются совместно с AD, и по умолчанию сохранены в папке \Library\PCB относительно директории установки. Однако Вы можете создать новую библиотеку PCB из посадочных мест открытого файла PCB, точно таким же способом, как создается schematic library.

1. В документе печатной платы (PCB), который содержит все посадочные места, которые Вам надо добавить в новую, уже активную PCB library, выберите Design -> Make PCB Library.

2. После создания новая PCB library будет открыта в PCB Library Editor. Все посадочные места (footprints) в открытом документе платы скопируются в новую библиотеку, которая получит имя PCBfilename.PcbLib, и будет сохранена в той же папке, что и исходный документ платы. Имя файла появится в панели Projects как свободный документ.

3. Переименуйте новую библиотеку PCB командой File -> Save As и закройте её.

Добавление исходных библиотек в Library Package

1. Добавьте исходные библиотеки в Library Package выбором Project -> Add Existing to Project или сделайте правый клик на выбранном файле .LibPkg и выберите Add Existing to Project. Отобразится диалог выбора документов Choose Documents to Add to Project [Integrated_Libraryname.LibPkg].

AltiumDesigner-Choose-Documents-to-Add-to-Project

AltiumDesigner-Projects-panel2

2. Найдите и выберите в диалоге библиотеки schematic (*.schlib), которые Вы хотите добавить к Library Package. Компоненты schematic сохраняют в себе всю необходимую информацию, чтобы найти связанные модели в диалогах свойства компонента (Component Properties), так что это самые важные элементы, которые включены в интегрированную библиотеку.

3. Кликните Open и добавленные библиотеки появятся в списке как Source Documents (исходные документы) панели Projects.

Добавление моделей в Library Package

Теперь у Вас есть в пакете библиотеки добавленные schematic символы, и следующий шаг — привязка требуемых моделей к каждому символу. Это включает PCB footprint, модель симуляции, модель signal integrity и 3D-модель.

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

  • Инсталляция библиотеки / модели в список Installed Library.
  • Добавление библиотеки / модели в проект.
  • Задание пути поиска для модели.

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

Инсталляция библиотеки / модели в список Installed library

Библиотека или модель, добавленная в список Installed Libraries (установленные библиотеки) на закладке Installed панели Libraries, будет доступна для всех проектов и останется в списке, пока не будет удалена.

Поддерживаются следующие типы библиотечных файлов:

  • Integrated Libraries (*.IntLib), интегрированные библиотеки.
  • Schematic Libraries (*.SchLib), библиотеки для принципиальных схем.
  • Database Libraries (*.DBLib).
  • SVN Database Libraries (*.SVNDBLib).
  • Footprint Libraries (*.PcbLib), библиотеки посадочных мест (для создания печатных плат).
  • Sim Model Files (*.Mdl), симуляционная модель.
  • Sim Subcircuit Files (*.Ckt), симуляционная модель подузлов.
  • PCB3D Model Libraries (*.PCB3DLib) (унаследованный тип, не используемый в Altium Designer 10/12, Altium Designer 2013).

Для дополнительной информации по установке и удалению библиотеки см. секцию «Добавление и удаление используемых в AD библиотек» (Adding and removing libraries).

Добавление моделей в качестве исходных библиотек для Library Package

Добавление библиотек моделей в Library Package, например библиотек PCB, происходит точно так же, как и добавление библиотек schematic.

1. Выберите Project -> Add Existing to Project, или сделайте правый клик на выбранный файл *.LibPkg и выберите Add Existing to Project.

2. Выберите библиотеки моделей, которые хотите добавить в Ваш Library Package.

3. Кликните Open и добавленные библиотеки появятся в списке Source Documents панели Projects.

Установка пути (pathname) для библиотек моделей и файлов

Альтернативно, если библиотеки PCB footprints, моделей SPICE или моделей signal integrity не добавлены к Library Package, символы schematic в интегрированной библиотеке будут ссылаться на них, используя настроенный в диалоге Integrated Library Options путь pathname, и этот путь будет сохранен в файле проекта Library Package (*.LibPkg).

1. Настройте pathname на библиотеки PCB, которые Вы хотите использовать совместно с символами schematic в интегрированной библиотеке, путем выбора Project -> Project Options, или правым кликом на имени файла Library Package в панели Projects и выбором Project Options. Кликните на закладку Search Paths (пути поиска) диалога Options для Integrated Library.

AltiumDesigner-Options-for-Integrated-Library-dialog1

2. Добавьте в упорядоченный список Search Paths пути pathnames на те места, где имеются нужные посадочные места и модели, путем клика на кнопке Add в секции Ordered List of Search Paths на закладке Search Paths.

3. Найдите нужные папки в диалоге Edit Search Path, путем клика на кнопку . и указания размещения нужных библиотек моделей. В примере ниже добавляется pathname на папку C:\MySimModels где сохранены некоторые модели симуляции (SIM models, *.mdl) и подузлов (sub-circuits, *.ckt).

4. Кликните на кнопку Refresh List чтобы увидеть файлы, найденные в пути поиска, и затем кликните OK, чтобы закрыть диалог.

AltiumDesigner-Edit-Search-Path

5. Кликните Refresh List на закладке Search Paths диалога Options для интегрированной библиотеки, чтобы убедиться, что модели корректно размещены.

6. Когда у Вас открыт диалог Options для интегрированной библиотеки, кликните на закладку Error Reporting, чтобы увидеть, какие ошибки и предупреждения появятся при компиляции интегрированной библиотеки.

AltiumDesigner-Options-for-Integrated-Library-dialog2

7. Вы можете поменять строгость проверки нарушений кликом на Report Mode на требуемый тип нарушения и выбором другого режима из выпадающего списка. Кликните на OK, чтобы сохранить опции проекта и закрыть диалог.

[Компилирование интегрированной библиотеки]

Как только Вы добавили библиотеки и установили требуемые пути, скомпилируйте пакет библиотеки, чтобы создать интегрированную библиотеку.

1. Выберите Project -> Compile Integrated Library или сделайте правый клик на выбранный файл Library Package (.LibPkg) и выберите Compile Integrated Library.

2. Исходные библиотеки и модели скомпилируются в интегрированную библиотеку. Компилятор проверит любые нарушения, такие как пропущенные модели или задублированные ножки, которые установлены на закладке Error Checking диалога опций интегрированной библиотеки (Project -> Project Options). В панели Messages отобразятся любые ошибки и предупреждения, которые произошли при компиляции. Кликните на кнопку System в нижней части окна AD и выберите Messages, чтобы просмотреть ошибки и предупреждения, или выберите View -> Workspace Panels -> System -> Messages.

3. В этом месте исправьте любые ошибки и недочеты в отдельных исходных библиотеках, и заново рекомпилируйте интегрированную библиотеку. См. «Модифицирование интегрированной библиотеки» (Modifying an integrated library) для дополнительной информации.

4. Сгенерируется новый файл Integrated_Libraryname.IntLib, и будет сохранен в выходной папке, указанной на закладке Options в диалога настройки опций интегрированной библиотеки. Интегрированная библиотека автоматически добавится к списку текущих библиотек панели Libraries и будет готова для использования.

[Создание интегрированной библиотеки из документов схем или печатных плат]

Вы также можете создать интегрированную библиотеку из всех схем проекта выбором команды меню Design -> Create Integrated Library редактора схем Schematic Editor. Интегрированная библиотека (она получит имя Project_name.IntLib) будет сгенерирована (скомпилирована), добавлена в папку Libraries\Compiled Libraries панели Projects и установлена в Libraries.

Вы также можете запустить команду Design -> Create Integrated Library из редактора печатной платы PCB Editor.

Создание интегрированной библиотеки из Database Library

AD предоставляет возможность компилировать интегрированную библиотеку напрямую из database library — либо из неуправляемой системой версий Database Library (DBLib), либо управляемой системой версий SVN Database Library (SVNDBLib). Таким образом, Ваши библиотекари CAD могут все так же пользоваться базами данных библиотек под контролем систем управления версиями, в то время как Ваши проектировщики пользуются регулярно восстанавливаемыми интегрированными библиотеками, работая привычным ‘оффлайновым’ способом.

Преобразование выполняется с использованием специального мастера, Offline Integrated Library Maker Wizard. Этот мастер может быть запущен либо из активного документа DBLib, либо SVNDBLib, с использованием команды Tools -> Offline Integrated Library Maker.

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

Для получения дополнительной информации см. [4], а также документацию по использованию компонентов из базы данных Вашей компании (Using Components Directly from Your Company Database) и документацию по работе с базами данных библиотек, находящихся под управлением системы управления версиями (Working with Version-Controlled Database Libraries).

Модифицирование интегрированной библиотеки

Интегрированные библиотеки используются только для размещения компонентов, и их нельзя редактировать напрямую. Чтобы внести изменения в интегрированную библиотеку, сделайте сначала изменения в исходных библиотеках и затем перекомпилируйте интегрируемую библиотеку, чтобы в неё перешли изменения. Чтобы модифицировать интегрированную библиотеку:

1. Откройте требуемый файл Library Package (*.LIBPKG), из которого компилируется интегрированная библиотека. Выберите File -> Open и в диалоге открытия файла Choose Document to Open в найдите файл Library Package, например Integrated_Library1.LibPkg, и кликните Open.

2. Откройте исходный файл библиотеки, который Вы хотите изменить, например libraryname.schlib, путем двойного клика на имя библиотеки в списке Source Documents панели Projects. Библиотека откроется в редакторе Schematic Library Editor.

Если хотите поменять footprint, Вы должны были бы добавить требуемую библиотеку PCB перед редактированием моделей. Чтобы сделать это, выполните правый клик на имени файла .LIBPKG в панели Projects и выберите Add Existing to Project, или альтернативно кликните на кнопке Libraries панели Libraries, выберите нужную библиотеку на закладке Project и кликните Add Library. Вы можете также напрямую использовать меню File -> Open чтобы открыть файл модели.

Дополнительную информацию по созданию компонентов и посадочных мест см. [3].

3. Сделайте необходимые изменения, сохраните измененные библиотеки и закройте их.

4. Перекомпилируйте интегрированную библиотеку выбором Project -> Compile Integrated Library (или сделайте правый клик на имени файла .LIBPKG в панели Projects и выберите Compile Integrated Library). Интегрированная библиотека будет заново скомпилирована и любые встретившиеся ошибки будут отображены в панели Messages. Модифицированная The modified интегрированная библиотека добавится в панель Libraries и будет готова к использованию.

Декомпиляция интегрированной библиотеки

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

1. Откройте интегрированную библиотеку (*.IntLib), которая содержит данные для исходной библиотеки, которую Вы хотели бы изменить. Выберите File -> Open, найдите в диалоге открытия файла нужную интегрированную библиотеку и кликните Open.

2. Подтвердите, что Вы хотите открыть интегрированную библиотеку для распаковки исходного содержимого, и не хотите просто установить библиотеку. Кликните Extract Sources (распаковать исходное содержимое). Будут сгенерированы исходные библиотеки схематических символов и моделей, и сохранены в новой папке под названием Integrated_libraryname, которая будет создана в папке, где хранится интегрированная библиотека.

Library Package (integrated_libraryname.LibPkg) будет также создан и исходные библиотеки schematic будут распакованы и появятся в списке панели Projects. Библиотеки PCB (*.PcbLib) будут также сгенерированы и сохранены в новую папку Library Package, однако они не добавятся автоматически в панель Projects. В диалоге опций интегрированной библиотеки на закладке Search Paths (Project -> Project Options) будут показано, где будут искаться компоненты schematic, когда потребуются файлы посадочных мест и моделей.

3. Сделайте необходимые изменения в исходных библиотеках, сохраните их (File -> Save) и закройте.

4. Выберите файл Library Package (*.LIBPKG) в панели Projects и выберите Project -> Compile Integrated Library. Интегрированная библиотека будет перекомпилирована, и любые встретившиеся ошибки будут перечислены в панели Messages. Модифицированная интегрированная библиотека будет добавлена в панель Libraries и будет готова к использованию.

5. Закройте Library Package и сохраните его в ту же папку, где находятся исходные библиотеки.

[Словарик]

designator текстовый маркер, обозначающий компонент на схеме и на печатной плате (R1, R2, C1, VT1 и т. п.). Он также называется RefDes, Reference Designator.
footprint, PCB footprint посадочное место детали на печатной плате
integrated library интегрированная библиотека, файл с расширением *.IntLib. В этой библиотеке хранятся схемотехнические символы, посадочные места, модели для симуляции схем и другая информация. Интегрируемую библиотеку редактировать нельзя, можно только перекомпилировать.
Library list список используемых в AD библиотек.
Library Package пакет библиотеки, используется для создания интегрированной библиотеки.
model модель. Довольно широко интерпретируемый термин. Моделями называют как посадочные места на плате, так и симуляционные модели SPICE. В среде AD есть также и другие модели.
PCB Printed Circuit Board, печатная плата.
PCB library библиотека посадочных мест электронных компонентов, файл с расширением *.PcbLib. Посадочные места используются для создания проекта печатной платы (в системе P-CAD посадочные места называют корпусами, package).
schematic принципиальная схема.
Schematic Editor редактор принципиальной схемы.
schematic library схемотехническая библиотека, используемая для построения принципиальных схем, файл с расширением *.SchLib. В этом файле находятся схемотехнические представления электронных компонентов (в системе P-CAD их называют символами, symbol).
schematic symbol схемный символ, используется для рисования принципиальной электрической схемы.
wildcard обобщенный метод описания искомого имени. Обычно для составления wildcard используются специальные символы * и ? вместе с обычными буквами и цифрами. Звездочка * означает любое количество любых символов, а знак вопроса ? означает один любой символ.

Библиотека для Altium Designed. Как использовать библиотеку в виде базы данных.

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

Эта заметка именно для сомневающихся или незнающих. Если останутся ещё вопросы, то пишите в комментах.

Главный файл библиотеки — это файл с расширением DbLib , он содержит в себе некоторые настройки и собственно связывает всё воедино, именно его мы будем подключать к проекту и через него брать компоненты.

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

Ещё несколько файлов это обычные библиотеки УГО и футпринтов (посадочных мест).

На этом собственно и всё, больше знать о ней пока не нужно.

Подготовка

Для работы моей библиотеки, так как она создана на основе Excel файла, необходимо установить Microsoft Access Database Engine 2016 . В последний раз можно было найти по этому адресу — Download Microsoft Access Database Engine 2016 Redistributable from Official Microsoft Download Center, возможно в будущем измениться.

Следует понимать, что разрядность Altium Designer версии 18 и новее- x64, следовательно такую же разрядность необходимо выбирать и для Database Engine .

В принципе с установкой проблем быть не должно.

Как подключить библиотеку

Для подключения библиотеки к проекту необходимо, как не странно, добавить её в проект, сделать это очень просто, клацаем правой кнопкой мыши по имени проекта в окне Projects и выбираем пункт Add Existing to Project. . Далее необходимо найти наш файл DbLib и подтвердить. Такая же команда есть в меню Project .

Так же можно подключить библиотеку ко всем проектам сразу, то есть в среду разработки.

В итоге у нас в панеле Components появляется список компонентов.

components-panel.png

На этом большинство вопросов отпадают, однако в последствии .

Как добавить компонент в базу

Необходимо добавить УГО в библиотеку с УГО, добавить посадочное место в библиотеку футпринтов. Запомнить имена этих УГО и футпринта.

В настройках УГО следует учесть некоторые поля.

Вариант для микросхемы

sch-properties-ics.png

Вариант для конденсатора

sch-properties-cap.png

Далее просто открываем файл library.xlsx , переходим на нужный лист, если него нет, то создаем.

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

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

  • Part Number (обязательно, пользовательское) — Поле содержит полное наименование компонента, такое как в каталоге производителя
  • Library Ref (обязательно, системное) — это имя нашего УГО в библиотеке с УГО
  • Package — Человекочитаемое описание корпуса, часто совпадает с реальным
  • Footprint Ref (обязательно, системное) — Имя футпринта в библиотеке футпринтов.
  • Footprint Ref2 — Поле не обязательное, это второй вариант футпринта для данного компонента. Имя не должно меняться. Для третьего варианта будет с 3 в конце и так далее.
  • Library Path (обязательно, системное) — имя файла библиотеки УГО, например sch.SchLib
  • Footprint Patch (обязательно, системное) — имя файла с футпринтами, например ic.PcbLib
  • BOM — строка для перечня элементов или спецификации, обычно это формула склеивающая парт номер и производителя или другие необходимые параметры.
  • Alias (устаревшее) — компонент заменитель, сейчас не использую его
  • Tmin — минимальная рабочая температура
  • Tmax — максимальная рабочая температура
  • Core — ядро микроконтроллера
  • ETH — количество периферии Ethernet, число если есть и прочерк если нет
  • CAN — аналогично с CAN
  • CPU Speed — Производительность микроконтроллера, общая или на МГц.
  • FREQ — максимальная рабочая частота
  • EEPROM — если есть, то объем
  • RAM — ОЗУ, объём
  • FLASH — аналогично с флэшем
  • ComponentType (устаревшее) — тип компонента, например микросхема
  • ComponentLink1URL (необязательно, системное) — ссылка на документацию или ещё что-то
  • ComponentLink1Description (необязательно, системное) — название меню с ссылкой, если нужно больше ссылок, необходимо продублировать поля URL и Description несколько раз, собственно так же как с Footprint Ref
  • Description (необязательно, системное) — описание компонента
  • Manufacturer — производитель
  • Category (устаревшее) — категория компонента, уже и не помню зачем было нужно

Как видно, многие поля не являются обязательными, но заполняются.

Теперь после заполнения строки можно сохранить файл таблицы. После этого компонент появится в списке и его можно будет установить на схему.

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

Корпоративная библиотека компонентов для Altium Designer своими руками

В одной из предыдущих статей я описывал как создать библиотеку компонентов для Altium Designer на основе базы данных. В качестве бэкэнда был использован Access из пакета MS Office, который хранит все данные в одном файле. Это удобно, потому что MS Access доступен, не требует какой-либо настройки, а также потому, что Altium умеет с ним работать из коробки.

Однако, в этом удобстве и заключается главный недостаток. Всё хорошо пока вы работаете сами, и являетесь единоличным пользователем базы данных. Проблемы начинаются, когда нужно организовать корпоративную библиотеку, пользоваться которой будут несколько человек, и часто одновременно. В чем же проявляются недостатки хранения библиотеки в БД MS Access?

Во-первых, всем пользователям библиотеки необходимо предоставить доступ к .mdb файлу. В принципе, это решаемо сетевыми папками, если вы находитесь в одной локальной сети. Или можно использовать облачные файлохранилища вроде Dropbox или Google Drive для синхронизации файла между компьютерами. Но эти сервисы не умеют обрабатывать ситуацию, когда файл изменился на двух компьютерах одновременно: сохранится тот, который правили последним. Таким образом вы можете потерять изменения в базе данных. А файл в расшаренной папке может быть открыт на запись только одним пользователем, что доставляет неудобства при одновременной работе нескольких человек.

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

Чтобы решить проблему одновременной доступности БД мы откажемся от MS Access и посмотрим что мы можем сделать.

Если мы откроем файл .DBLib и внимательно посмотрим, то увидим там опцию Use Connection String. При помощи этой строки вы можете подключить к Altium (поправьте меня, если я не прав) любой источник данных, поддерживающий SQL запросы. Например, для подключения к серверу MySQL вам нужно будет установить драйвер MySQL Connector/ODBC и ввести параметры подключения в поле Use Connection String. Чтобы не писать всё вручную, можно воспользоваться кнопочкой Build (скоро мы к ней вернёмся). Но использование MySQL (как и любого другого движка БД) решает только первую проблему. Возможности посмотреть историю изменений нет (без танцев с бубном). Поэтому вариант с классической БД мы отметаем.

Чтобы видеть историю изменений в библиотеке нам необходимо иметь возможность каким-то образом сравнивать файлы, в которых хранятся данные. И в этом нам могут помочь обычные текстовые файлы. Ну не обычные, а с данными, разделёнными табуляторами (TAB-delimited Text Files). Их можно редактировать прямо в блокноте (хоть и неудобно). Но что самое важное, их легко сравнивать при помощи утилит сравнения файлов. Их вы можете найти в любом клиенте системы контроля версий, таких как SVN, Git или Mercurial, или установить отдельно, например WinMerge. Почему используется именно разделение табуляторами? Потому что по результатам экспериментов так оказалось удобнее: случайно закравшийся разделительный символ в описании компонента не нарушит работу библиотеки.

Систему контроля версий, каждый выбирает ту, что ему удобнее. Для себя я выбрал Mercurial по нескольким причинам: относительно невысокий порог входа, есть возможность offline коммитов и есть бесплатные приватные хостинги для репозиториев: Bitbucket, Gitlab и т.д.

Перейдём к практике. Для работы Altium Designer’а с текстовыми файлами нам необходим ODBC драйвер… от MS Access (вернулись к тому, от чего ушли). Где достать? Можно просто поставить MS Access и необходимый драйвер станет в комплекте, а можно установить сам драйвер отдельно. Тем более, что он бесплатен и лицензионно чист. Скачать можно тут.

Помните, что для Altium Designer 18+ нужно ставить x64 версию драйвера, для 17.1 и более ранних — 32-битную.

Вторая программа, которая нам понадобится это клиент любимой системы контроля версий. Поскольку сам я пользуюсь Mercurial, то и примеры будут для него. Очень удобный клиент для работы с Mercurial называется TortoiseHG, скачивать тут. Вообще, рекомендую версию 4.4-rc2 как самую стабильную.

Итак, все необходимые компоненты для нашей системы у нас есть, начнём её собирать.

Создание библиотеки

Шаг 1

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

  • каталог, в котором будут храниться таблицы компонентов: пусть будет database.
  • каталог с символами (УГО): symbols
  • каталог с футпринтами: footprints

Шаг 2

Далее создадим файлы таблиц. Для этого нам понадобится Excel и Блокнот. Зачем Блокнот сейчас объясню.

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

Сохраняем эту таблицу в текстовый файл, разделённый табуляторами. Грамотные люди скажут, то Excel умеет сохранять их через File->Save As… и будут правы. Но проблема в том, что при этом он добавляет вокруг некоторых текстовых полей кавычки. Или дублирует кавычки или ещё какая-то чертовщина с этими кавычками происходит. А это важно, поскольку при неправильно расположенных кавычках поля “съезжают” и библиотека ломается.

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

Повторяем операцию столько раз, сколько считаем нужным. У меня получилось 14.

Имя файла определяет наименование таблицы, а значит и библиотеки в панели Libraries в Altium Designer. Разделение на разные таблицы делается не только для удобства поиска, но и для того чтобы разные типы компонентов могли иметь разный набор параметров (столбцов таблицы). Это удобно.

Шаг 3

Следующим шагом необходимо создать подключение ODBC. Постараюсь описать кратко, с картинками.

Ищем ярлык Data Sources (ODBC) или запускаем odbcad32.exe из командной строки. Откроется мастер управления источниками данных, где нам нужно добавить новый источник: кнопка “Add. ”.

Выбираем драйвер “Microsoft Access Text Driver (*.txt, *.csv)

Задаём название источника данных, например vault (запомните его, оно нам пригодится далее). Далее необходимо снять галочку “Use current directory” и указать каталог с нашими таблицами компонентов (в моём случае это каталог database).

Нажимаем кнопку "Options>>", затем “Define Format. " и настраиваем формат наших таблиц: указываем, что наши таблицы имеют заголовки (“Column Name Header”) и разделяются табуляторами (Format: “Tab Delimited”).

Запомните этот шаг: от этих настроек зависит правильность работы БД.

Тут надо предупредить отдельно: в общем случае указаний настроек таблиц по умолчанию (пункт «default») вполне достаточно, чтобы библиотека заработала, однако, не всегда. Бывают случаи, когда драйвер по каким-то причинам неправильно определяет тип данных в столбцах, и некотрые параметры компонентов могут не отобразиться в Altium’е. Тогда нужно будет выбрать проблемную таблицу в списке слева, а в правой части настроить типы данных (используйте кнопочку «Guess»).

Сохраняем результаты настройки, нажимая на OK. В окне мастер управления источниками данных должно получиться примерно так:

Также в папке \database появится файл schema.ini. В нём как раз хранятся эти настройки таблиц, не удалите его случайно.

Шаг 4

Далее создаём в Altium’е новую .DbLib библиотеку. Этот шаг мало отличается от настройки .DbLib для MS Access за исключением настроек подключения к БД. Щёлкаем меню “File” -> “New” -> “Library” -> “Database Library”
Выбираем режим “Use Connection String” и нажимаем кнопку “Build”.

В мастере настройки подключения выбираем “Microsoft OLE DB Provider for ODBC Drivers”, жмём «Next>>»

Указываем имя созданного нами источника данных. Сохраняем: «OK».

Подключение настроено. Нажимаем кнопку “Connect” и если всё сделано правильно, то слева должен появиться список наших таблицы (текстовых файлов), а внизу — список колонок в выбранной таблице.

Если же вместо колонок вы видите что-то вроде такого, значит драйвер неправильно распарсил текстовые файлы. Тогда надо вернуться на шаг 3 и внимательно проверить настройки текстовых таблиц.

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

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

На этом настройка нашей библиотеки завершена, и она готова к использованию, пусть пока она пустая и доступна только на этом компьютере. Осталось настроить синхронизацию библиотеки на другие рабочие места. Это мы сделаем при помощи системы контроля версий Mercurial и бесплатного сервиса Bitbucket.

Шаг 5

Настройка репозитория. Все, кто в курсе как работают DVCS могут дальше не читать, итак всё понятно. Однако, как показала моя практика, немногие «железячники» используют в своей работе какие-либо системы контроля версий.

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

Сначала необходимо репозиторий создать: в контекстном меню папки с библиотекой выберите “TortoiseHG” -> “Create Repository Here” и в появившемся окне нажмите кнопку “Create”.

Если всё сделано правильно, содержимое папки с библиотекой должно выглядеть примерно так.

Делаем первый коммит. В контекстном меню папки с библиотекой выберите «Hg Commit. ». Отметьте все файлы (сейчас можно все, впредь внимательно смотрите что вы добавляете в коммит, чтобы не разводить свалку) и напишите какой-нибудь комментарий.

Если вы вы впервые используете TortoiseHg, то при первом коммите он попросит вас представиться, чтобы использовать ваше ник\почту в качестве подписи. Просто заполните поле «Username» в открывшихся настройках. Учтите, что изменить подпись в уже подписанных коммитах будет очень сложно.

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

После нажатия на кнопку «Create repository» вы увидите подсказку как в командной строке клонировать или импортировать существующий репозиторий на Bitbucket. Нас это не интересует, нам нужен только адрес. Скопируйте вот эту часть.

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

Нажмите на «дискетку» рядом с адресной строкой, чтобы сохранить этот адрес на будущее. После того как адрес сохранён нажмите на кнопку PUSH (туда) сверху для того, чтобы залить коммиты на сервер.

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

Если всё хорошо, то обновив страницу Bitbucket вы увидите свой первый коммит.

Всё, на этом рабочем месте справились. Осталось слить библиотеку на оставшиеся рабочие места. Для этого запустите Hg Workbench в режиме синхронизации, вставьте адрес репозтитория и нажмите кнопку PULL (сюда). После того как разберётесь с логинами\паролями, и синхронизация завершится, вы получите на всех рабочих местах одинаковый набор файлов.

Работа с библиотекой

Итак, библиотека создана, синхронизация настроена, теперь посмотрим как это работает.

Добавление нового компонента

Для начала попробуем добавить новый компонент в базу. Как обычно для библиотеками в виде БД, «запчасти» (символ и футпринт) компонента необходимо поместить в соответствующие папки. Затем нужно добавить запись в одну из таблиц. Проще всего сделать это в Excel’е, предварительно скопировав туда содержимое текстового файла (таблицы). После редактирования, точно так же, копи-пастом, все изменения сохраняются обратно в текстовый файл.

После добавления записи в таблицу можно обновить в Altium’е библиотеки и компонент появится в списке, и вы уже можете им пользоваться. Однако для того, чтобы сохранить компонент в истории и дать возможность коллегам его использовать, необходимо сделать коммит.

Делаем коммит («Hg Commit. » в контекстном меню папки с библиотекой). Не забываем включить в коммит файлы символа и футпринта. В идеале, на каждый компонент должен быть свой коммит, своя точка в истории. Тогда будет проще прослеживать изменения в библиотеке, и откатывать их в случае если что-то пойдёт не так. На практике такое редко получается, но страшного в этом немного: как правило концы удаётся найти.

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

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

Загрузка изменений с сервера

Для того, чтобы получить изменения необходимо нажать кнопку PULL. Если какие-то новые коммиты есть, то вы увидите их в истории сверху от того, что уже было. Обратите внимание, что строка с последним «старым» коммитом выделена жирным.

Важно: Когда вы загрузили коммиты с сервера, то в вашей папке библиотеки на самом деле ещё ничего не изменилось, и Altium не будет видеть новые компоненты. Чтобы применить изменения к вашей папке библиотеки, необходимо выбрать самый верхний коммит и в контекстном меню выбрать «Update».

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

Разрешение конфликтов

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

После загрузки коммитов с сервера будет видно разделение истории.

Чтобы выполнить слияние ветвей нужно в контекстном меню «чужого» коммита выбрать «Merge with Local. »

В появившемся диалоге снимаем галочку «Automatically resolve merge conflicts», чтобы система не решала за вас какие изменения оставить, а какие откинуть (иногда у меня так терялись новые компоненты).

Жмём далее, система пробует совместить изменения, и если есть изменения в одном и том же файле, то предложит вам эти конфликты «разрулить».

При нажатии на надпись «resolved» появится окно, где вам для каждого конфликтного файла нужно будет выбрать что с ним делать: позволить системе самой решить (Mercurial Resolve), «разрулить» конфликт при помощи специальной утилиты (Tool Resolve), оставить ваш файл как есть (Take Local), оставить файл вашего напарника как есть (Take Other) или вообще ничего не делать (Mark as Resolved). Поскольку мы хотим быть уверены, что остались изменения и наши и нашего коллеги, то нужно выбирать «Tool Resolve».

В окне утилиты сравнения будет показано сразу все имеющиеся версии файла: тот, что был до каких либо изменений (A); файл с вашими ищменениями (B) и файл с изменениями напарника (C). При помощи кнопочек «A», «B» и «C»на панели инструментов указываем какие изменения оставляем (обычно это комбинация «B» и «C»). Результат показывается внизу, проверяем чтобы там было всё как надо.

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

Делаем коммит слияния и в результате у вас должна получиться снова одна ветка в истории, а все изменения (суть новые компоненты) должны быть видны в библиотеке.

Не забываем залить коммит слияния на сервер, иначе всё начнётся сначала.

Заключение

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

Из минусов:
— не очень удобное добавление новых компонентов и редактирование существующих — потому что нужно вручную следить за правильностью заполнения всех полей, в том числе и уникального идентификатора компонента (в отличие от обычных БД тут могут быть дубликаты записей), однако, думаю это несложно решить самописными программами;
— невозможно править записи прямо из Altium Designer’а — это вроде как ограничение драйвера, не получится решить;
— относительно сложно объяснить правила работы тем, кто не знаком с системами контроля версий.

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

Altium — Пранович В. 10. Altium Designer 7. Создание библиотеки на основе базы данных

Начиная с этой статьи, все действия будут приводиться для версии Altium Designer Summer 08. Здесь мы рассмотрим вопросы создания и подключения библиотек, которые используют пользовательские базы данных, базы данных производителей комплектующих изделий или организаций, занимающихся контрактной сборкой.

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

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

Проблема создания непосредственно самой базы данных частично затрагивалась автором в статье [1], где была показана возможность ее использования. Более подробно этот вопрос описан в [2], где приведен пример организации базы, а также синхронизация параметров схемы с параметрами, хранящимися в базе. В данной статье мы продемонстрируем использование такой базы данных непосредственно в качестве библиотеки. За основу возьмем пример созданной ранее базы [2], модифицировав ее так, чтобы применить и в новом качестве.

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

Создание и организация библиотеки на основе базы данных приведены в документе AP0133 Using Components Directly from Your Company Database. Мы советуем внимательно его изучить. В данном документе описаны, например, параметры, по которым Altium Designer находит элемент, указанный в базе данных, имя компонента для использования в электрической схеме и имя библиотеки, где он находится. Аналогичным образом указываются ссылки на посадочное место и библиотеку для него, а также для моделей 3D−графики и других моделей, которые можно использовать в проекте. Следует отметить, что так же можно вводить информацию и для служебных параметров, например параметра Description. Эта информация просто заносится в соответствующие столбцы в базы данных. Однако вначале предложим создать базу данных из уже существующих библиотек, потому что такой путь в большей степени позволяет раскрыть структуру взаимосвязей между базой данных и библиотеками. Более того, этот способ может стать основой для создания новой базы.

Дополнительно советуем изучить документ AP0143 Database Library Migration Tools.

Создание Database Library из существующих библиотек

Рассмотрим процесс добавления к проекту библиотеки на основе базы данных (рис. 1):

1. В качестве примера автор использует собственные библиотеки, а для данной статьи специально создана группа проектов Workspace=EDA_Expert. DsnWrk (1a). Все библиотеки собраны в одном проекте 2006.PkgLib (1b). Помимо библиотек для компонентов и посадочных мест проект содержит ряд других файлов, назначение которых было описано в ТвЭП № 8 ‘2007, (1с). Однако сейчас для нас главное — наличие в проекте хотя бы одной библиотеки с компонентами. В данном случае это, например, библиотека 2006−D.SchLib (1d), которую мы и возьмем за основу, но читатель может использовать для этого любую библиотеку из собственного проекта.

Рис. 1. Добавление к проекту библиотеки на основе базы данных

2. Командой Project >> Add New to project >> Other вызываем панель Files.

3. На панели Files находим вкладку New, в ней строку Other Documents и в открывшемся окне выбираем тип нового документа, в данном случае DataBase Library File. Таким образом, мы добавим к проекту новый файл. По умолчанию ему будет присвоено имя Database_Libs1.DbLib. Командой File >> Save AS присвоим ему новое имя, например 2008.DbLib.

4. В результате в браузере проекта появится ссылка на созданный нами файл для библиотеки 2008.DbLib (библиотека на основе базы данных).

5. Сделаем активным (откроем) созданный нами документ 2008.DbLib.

6. Применим команду Tool >> Import From Integrated Library, вызвав транслятор библиотек.

Рис. 2. Импорт данных из библиотек в базу данных

Опишем работу транслятора библиотек подробнее (рис. 2):

1. В окне Integrated Library to Database Library Translator Wizard устанавливаем флаг New Access Database, для создания новой базы данных, а также укажем место и имя (например, \\Pranovich\ini\Altium\LIB\2008\2008.MD), где будет храниться созданная база. После проверки на доступность места нужно подтвердить данный путь (на рис. 2 это не показано).

2. В следующем окне можно добавить те библиотеки, импорт данных из которых будет произведен в базу данных. После нажатия кнопки ADD и указания пути, где находятся библиотеки, можно выбрать и конкретный состав библиотек для импорта. Если библиотеки лежат в разных папках, данную операцию следует повторить несколько раз.

3. Тип импортируемых библиотек по умолчанию — «интегральная», с расширением *.IntLib. Если вы используете только такие библиотеки, этого достаточно. Однако для примера мы импортируем и другие типы библиотек (библиотеки изображений компонентов для схемы *.SchLib, библиотеки посадочных мест *.PcbLib). В этом случае указываем тип расширения All Files (*.*), а конкретный состав библиотек выбираем явно, выделив нужные в окне.

4. Список импортируемых библиотек. Новая библиотека (на основе новой базы данных) создана. Однако если при импорте мы не указали хотя бы одну интегральную библиотеку, элементы в созданной библиотеке будут отсутствовать, но сформируются поля с нужными параметрами для связи между базой и библиотеками.

Эти действия мы произвели только для того, чтобы посмотреть структуру библиотеки на основе базы данных и, соответственно, переделать уже имеющуюся базу данных [2] для поддержки формата связей с библиотекой DbLib или наполнить эту базу нужной дополнительной информацией.

Итак, рассмотрим структуру созданной библиотеки. Так как ранее мы создавали базу данных на основе электронных таблиц формата EXCELL, будем и далее ориентироваться на такой формат. В то же время автоматически импортированная база данных имеет формат ACCEES. Поэтому мы экспортируем базу данных в формат EXCELL, изучим структуру записей в базе данных и затем уже подключим к библиотеке базу данных в этом формате.

Рис. 3. Структура полей в базе данных для библиотеки

Итак, на рис. 3 указана структура созданной библиотеки 2008.DbLib и отмечено:

1. Имя созданной базы данных (2008.DbLib).

2. Список импортированных библиотек. Справа есть флаг доступности той или иной библиотеки. В этом окне дополнительно выделено имя первой в списке библиотеки, а именно 2006−D, справа внизу при этом будут отображены ее параметры. У автора это библиотека для компонентов микросхем. Признаком того, что библиотека доступна, является флаг Enable.

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

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

• Library Path — ссылка на файл библиотеки компонентов *.SchLib;

• Library Ref — имя компонента в указанной библиотеке;

• Part Number — имя компонента для новой библиотеки типа Database Library.

Заметьте, заголовки столбцов могут носить и другие имена, но информация из базы данных должна передаваться параметрам в библиотеке с именно такими названиями (Design Parameter, правая колонка, второй столбец). Нам нет необходимости придумывать специальные имена параметров, оставим их такими же. Но если у вас уже есть база данных со столбцами, где прописаны указанные имена и пути, то нет необходимости их переименовывать. Достаточно только установить взаимное соответствие между требуемыми столбцами в существующей базе данных и их аналогами в проекте. Последний параметр (Part Number) имеет одно ограничение — он должен быть уникальным. Действительно, в базе данных не должно быть компонентов с одинаковыми названиями, так как именно по этому критерию производятся поиск компонента в библиотеке и визуальное отображение его моделей в соответствующей панели Altium Designer.

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

Таблица 1. Наименование и назначение параметров для подключения компонентов и моделей в базе данных

Теперь мы можем приступить к модификации базы данных, рассмотренной в [2].

Модификация базы данных для использования в качестве Database Library

Сначала определим минимальный набор параметров, необходимых для создания полнофункциональной базы данных с поддержкой требований Database Library. Ограничимся в данном примере только подключением компонентов для схемы и посадочного места для топологии. Более того, будем использовать ссылку только на одно посадочное место для каждого компонента. 3D−модели подключать вообще не будем, как и другие модели. Пока выполним только тот минимум, который необходим для разработки проекта и топологии печатной платы.

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

Таблица 2. Наименование и назначение столбцов в базе данных. Формат EXCELL

Итак, в таблице 2 буквами A, B, C, D, F обозначены те столбцы, по которым производятся идентификация библиотечного элемента и связь с компонентом для электрической схемы и посадочным местом для печатной платы (в таблице сокращен или удален текст неинформационных параметров):

• Footprint Ref — имя посадочного места. Заполнить ячейку в данном столбце можно, например, путем поиска и копирования нужного названия посадочного места в одной из библиотек, либо просто скопировать такую же информацию из другой ячейки.

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

• Library Ref и Library Path — имя компонента (изображение компонента для схемы) и библиотека, где данный компонент находится (для отображения в схеме). Действия такие же, как в предыдущих пунктах.

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

• GlobalLink — это аналог указанного выше параметра Part Number. В этом столбце не должно быть одинаковых записей, и данные в таблице 2 рекомендуем всегда сортировать соответственно его содержанию. Именно под этим компонент будет добавлен далее в схему. Поэтому принцип присвоения названия вы должны определить сами. Автор не будет навязывать используемую им систему присвоения имен и приводить ее не будет. Однако вы можете о ней судить по приведенным в таблице наименованиям.

Перейдем теперь к рекомендуемым автором столбцам в базе данных. Основная часть названий столбцов заимствована из описанной в статье [2] базы данных. Вы можете добавлять и видоизменять столбцы и их назначение (далее они приведены так, как использованы автором):

• SkladLink — столбец зарезервирован под ссылку на место хранения указанных компонентов на складе.

• Type — используется для определения на схеме начальных букв в параметре Designator, так как одно и то же изображение компонента можно использовать для разных типов элементов, например для аналоговых (DA) и цифровых (DD) микросхем. Более того, при разработке проекта не только для российского рынка, но и для зарубежного, можно использовать и другую буквенную кодировку.

• Modify — дата внесения последнего изменения в строку; используется только для
контроля.

• PDF — ссылка на основной (Datasheet) где приведено описание компонента. На этом параметре остановимся немного позже, так как при правильной записи ссылки вы можете ее вызвать непосредственно из схемы. Однако это потребует еще одного дополнительного параметра. Пока она присутствует в базе только для облегченного поиска документа другими средствами.

• Description Pdf — краткое описание элемента, взятое из PDF. Как правило, именно его можно использовать в качестве зарезервированного параметра Description в библиотечном компоненте схемного изображения элемента.

• ValueSCH — именно значение этого параметра автор использует в качестве отображения номинала или краткого названия компонента на схеме.

• NoteSCH — это дополнительный параметр, который может быть отображен на схеме, например точность для резисторов, ТКЕ для конденсаторов и т. п.

• Description — краткое стандартизированное описание компонента. Автору импонирует формат, предложенный на http:// соответствующая ячейка просто копируется оттуда или заполняется по аналогии.

• Supplier, Supplier P/N, Vendor, Vendor P/N— наименования каталога, номера в каталоге для данного компонента, производителя и обозначение компонента. Назначение данных столбцов понятно, а более подробно эти параметры описаны в [2].

• ValueBOM — слияние записей предыдущих пяти столбцов. Это наиболее близкая запись, которая может быть размещена в графе «Наименование» для перечня элементов проекта.

• NoteBOM — зарезервировано для дополнительных записей в графе «Примечание» перечня элементов.

• Provider — зарезервировано для указания организации, поставщика компонента.

• Package — обозначение посадочного места в известных стандартах, например в EIA, JEDEC.

• Package Description — описание посадочного места.

• Marking — обозначение на корпусе посадочного места (для сборочного чертежа).

Подключение базы данных к Database Library

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

Процесс подключения базы данных аналогичен тому, как мы это делали ранее с обычной базой [2], однако мы приведем это описание полностью, включая особенности для Database Library.

1. Открываем файл Database Library 2008.DbLib, созданный в предыдущем разделе (рис. 4).

Рис. 4. Подключение базы данных к Database Library

2. Изменяем тип Database с Microsoft Access на Microsoft Excel.

3. Нажимаем кнопку Browse и указываем ссылку на нашу базу данных, в примере это файл GlobalDb.XLS, который имеет один лист с именем All. На этом листе и находится вся информация нашей базы. Сразу отметим, что в базе может быть несколько листов. Соответственно группироваться информация на листах может, например, по однородным типам компонентов. Однако мы рассмотрим пример только одного листа.

4. Если вы работаете над проектом на разных компьютерах, советуем установить флаг Store Path Relative to Database Library. В этом случае путь к базе данных при переносе проекта можно будет не устанавливать заново.

5. Нажимаем кнопку Connected, и в левом окне появится список доступных листов базы данных, в нашем случае это единственный лист All. Внизу в окне появится таблица с перечнем параметров (названий столбцов базы данных).

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

7. Не будем создавать себе сложностей и оставим это имя параметру и библиотеке.

8. Выбранный параметр для связи будет замаскирован в таблице. Настройка остальных параметров при использовании базы данных только для обновления параметров в схеме подробно описана автором в [2] и к вопросу, освещаемому в этой статье, не имеет отношения.

Инсталляция библиотеки Database Library

Рассмотрим процесс инсталляции Database Library и настройки свойств поиска библиотечных компонентов.

1. Вызываем панель Library (рис. 5). Если она еще у вас не настроена, следует в панели Access вызвать список System, выбрать панель Library и установить ее в любом месте на экране, либо на одной из сторон общего окна (на рис. 5— справа).

Рис. 5. Вызов панели Library и инсталляция библиотеки

2. Открываем панель Library, а в ней — вкладку Installed. Поскольку база данных у нас общая, нам нужно инсталлировать библиотеку из этой вкладки — тогда библиотека будет доступна всем будущим проектам.

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

4. Для инсталляции новой библиотеки нажимаем соответствующую кнопку.

5. Указываем тип инсталлируемой библиотеки. В нашем случае это Database Library
(*.DbLib).

6. Выделяем инсталлируемые библиотеки (в примере одна, а именно созданная ранее 2008.DbLib). Наша библиотека появится в списке инсталлированных библиотек.

Установленный флаг Activated означает, что библиотека доступна для любых проектов.

Настройка библиотеки Database Library

На рис. 6 представлен вид панели Library при отображении компонентов из базы данных, где в частности показано:

1. Имя (2008.DbLib) библиотеки и имя (All) листа базы данных. Примечание: если бы в базе данных было несколько листов, они все отображались бы отдельными строками в этом окне.

2. В библиотеке специально выбран элемент, указанный в первой строке таблицы 2. Этот элемент носит то же имя, что указано в параметре GlobalLink. Однако на настройках формы представления информации в данном окне остановимся далее.

3. Это типичный вид изображения компонента для схемы. Изображение взято из библиотеки 2006−RLC.SchLib для компонента C_Gost в полном соответствии с таблицей 2.

4. К компоненту подключены две модели:

а) C2012(0805)200−2M— ссылки на эту модель в базе данных не было. Однако она присутствует в списке, так как была подключена непосредственно в библиотеке 2006−RLC.SchLib к компоненту C_Gost. Отметим: все модели, подключенные непосредственно к компонентам в библиотеках *.SchLib, будут доступны и в библиотеках, сформированных на основе базы данных;

б) CAPC1005X06[0402]N. Этой модели не было в исходной библиотеке 2006RLC.SchLib. К компоненту данная модель подключена дополнительно, в нашем примере это сделано в соответствии с параметрами в таблице 2 из библиотеки 2006new.PcbLib.

Рис. 6. Вид панели Library для открытой библиотеки типа Database Library

Надо признать, что наличие дополнительных моделей, которые подключены к компоненту C_Gost не через базу данных, только осложняет правильный выбор посадочного места. Поэтому при пользовании только библиотеками типа Database Library рекомендуем вообще отказаться от подключения моделей непосредственно в библиотеке (Schematic Library *.SchLib) изображений посадочных мест. Для подключения в этом случае нужно использовать только записи в базе данных.

Рис. 7. Настройка параметров отображения в панели Library

5. Вид выбранной модели. В окне (рис. 6, указатель 2) может быть отображена и дополнительная информация. Поскольку на момент выбора компонента еще нет ни отображения его вида, ни его моделей, вполне резонно отобразить в этом окне не только имя GlobalLink, но и имена моделей и, например, параметр ValueBOM (табл. 2). Для этого (рис. 7):

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

2. Правый «клик» мышки вызывает контекстное меню, в котором следует выбрать строку Select Columns.

3. В открывшемся окне Select Parameter Columns переносим из левой в правую колонку требуемые параметры, например: Footprint Ref, GlobalLink, Library Ref, ValueBOM. Именно эти параметры и будут отображены в данном окне.

4. Располагаем выбранные столбцы в удобном для нас порядке простым перетаскиванием заголовков столбцов.

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

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

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

Рис. 8. Параметры компонента из Database Library

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

1. Параметр Description. Значение данного параметра взято из соответствующего столбца базы данных.

2. Имя компонента присвоено по параметру GlobalLink.

3. Имя библиотеки дает ссылку на файл 2008.DbLib, который подключает базу данных.

4. Имя листа в базе данных. Заметьте, для компонента из «обычной» библиотеки данный параметр был недоступен.

5. Здесь все параметры компонента — и те, что введены непосредственно в библиотеку, и те, что были введены в базу данных. Причем при совпадении имен параметров их значение берется из базы данных.

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

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

Литература

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

2. Пранович В. Altium Designer 6 в примерах // Технологии в электронной промышленности. 2007. № 5–8.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *