Я создавал давно несколько своих деталей в Autodesk EAGLE. В основном это лампы. И представляю, как это непросто. Вот мне понадобились модели ЦАПов (DAC) в схеме - ES9023 и UDA1334, а их нет в библиотеке EAGLE. Поискал поиском и первую таки нашёл, а второй нет, ну хоть убей. Пришлось искать, как это делать самому. Оказалось, что всё очень просто. Но нужна короткая и наглядная инструкция, чтобы не забыть, как это делается.
Благо, у микросхем как правило стандартные корпуса, которые уже есть в библиотеке. Нужно просто взять корпус, указать, где у него что, и сохранить это в библиотеку.
Итак, мне нужна uda1334ats. Корпус у неё SSOP16.
Первым делом нужно создать библиотеку, которую мы будем наполнять. Открываем Control Panel (главное окно при старте), и переходим по "Файл > Новый > Библиотека":
Появляется такое окно новой (пустой) библиотеки:
Сохраняем её. И после сохранения, не закрывая окно новой библиотеки, возвращаемся в Control Panel. Если же вы закроете окно новой библиотеки, у вас не получится скопировать в неё нужные корпуса на следующем шаге.
Корпус, как и многое прочее, можно искать поиском. А можно найти самостоятельно. Большая база корпусов хранится в библиотеке ref-packages.lbr:
Просто разворачиваем её, далее разворачиваем Footprints и выбираем:
Правая кнопка мыши по корпусу в списке и выбираем "Копировать в библиотеку":
Если пункт неактивен, вы закрыли библиотеку. Копировать некуда.
Если корпусов несколько у этого типа микросхемы или другого элемента, то можно добавить все нужные варианты.
Для микросхем есть специальный ULP-скрипт для создания "символа элемента" - make-symbol-device-package-bsdl.ulp. Благодаря нему не нужно ничего самому рисовать. Просто вводим наши данные и он всё делает автоматически. Чтобы его вызвать, кликаем по оранжевой пиктограмме UPL:
Вводим make-s:
Запускаем скрипт и видим такое вот окно:
Из описания скрипта видим, что он создаёт генерирует "Symbol" и "Device" из текстового файла. Соответственно, этот текст нужно составить и вписать в главное окно выше. Там должно быть три колонки: название контакта, номер пина и его назначение.
Возможные значения (третья колонка):
NC - не подключён, обычно в даташите обозначен NC
IN - вход
OUT - выход
IO - вход/выход
OC - выход с открытым коллектором
HIZ - высокоимпедансный выход (Hi-Z)
PAS - контакт, предназначенный для подключения пассивных компонентов (резисторов, конденсаторов, кварцевых осцилляторов и т.п.)
PWR - контакт питания/земли
Я составил такой текст:
BCK 1 IO
LRCK 2 IO
SDI 3 IO
DIF 4 IO
AVCC 5 PWR
VREG 6 PAS
AOUTL 7 OUT
AOUTR 8 OUT
CP 9 PAS
CN 10 PAS
NEG 11 PWR
AGND 12 PWR
MCLK 13 IO
DGND 14 PWR
MUTE_B 15 PAS
ZD 16 NC
Строк должно быть столько, сколько пинов у микросхемы. В моём случае - 16. Этот текст лучше дополнительно где-то сохранить, так как в EAGLE он нигде не сохраняется и если захотите переделать, то придётся вбивать всё заново.
Если над пином нужно поставить черту, то добавьте восклицательный знак вначале строки.
Когда текст ввели и проверили, нажимаем кнопку "Parse -->>" справа и у нас получается такая картина:
Далее переходим во вкладку "Use Package" и выбираем там наш корпус (SSOP16 в нашем случае):
Возвращаемся на вкладку "Make" и заполняем основные поля:
- Package Name - там уже должен быть наш корпус, который бы выбрали ранее. Галочку ставить не обязательно.
- Symbol Name - название микросхемы. Пишем своё. У меня это UDA1334. Ставим галочку.
- Device Name - повторяем предыдущий пункт.
- Variant - тут ставится постфикс микросхемы, если их несколько вариантов. В моём случае это как минимум А и В. Я ставлю "А".
Должно получиться примерно так:
Нажимаем "Ок".
Если у вас задача сложнее или остались непонятные моменты и вы хотите их прояснить, то есть подробный документ с описанием скрипта. Он находится в директории C:\EAGLE (версия программы)\doc\ulp\make-symbol-device-package-bsdl-2011-en.pdf
Вот что получилось в итоге:
Конечно, ширину тут можно уменьшить. В итоге, в работе наш новый элемент в редакторе схем будет выглядеть так:
А в редакторе печатных плат (PCB) так:
Добавление альтернативных корпусов я решил вынести во вторую часть, так как и так получилось многовато текста и картинок для такой простой задачи. Добавление корпусов не всем нужно, да и путаницы меньше.
Ещё я слегка напутал с ES9023 и UDA1334. На самом деле, мне нужна была модель ES9023, а в заметке я упоминию UDA1334, используя распиновку от первой, а корпус от второй. Но для обучения это совершенно неважно.
Комментариев: 2 RSS
1Аноним28-08-2023 17:09
"Конечно, ширину тут можно уменьшить. В итоге, в работе наш новый элемент в редакторе схем будет выглядеть так:" - Как именно уменьшить ширину? Каким инструментом?
2vovans29-08-2023 00:03
Да какая уже разница. Eagle rip. Да здравствует KiCAD - вот это действительно мощная штука. При этом полностью бесплатная, свободная и кроссплатформенная. С eagle уже не вижу никакого смысла заморачиваться.