Изучаем Cadence Orcad

По запросу 993

Лучший способ научиться – сделать что-то практически полезное.
В данном случае это будет Current sink на 40А.

Пакет разработки: Cadence SPB 16.6 + Solidworks, version control – mercurial

Характеристики

Вход управления – аналоговый 1mV/10mA
Допуск по току – 0.1%
Диапазон рабочей температуры – 0…+50°С
Диапазон напряжения – до +30V
Питание управления – +-15V
Каналов управления – 1
Активный элемент – 4 x MOSFET IRF90N20D
Исполнение – модуль на радиатор
Контрольные выходы – аналоговые, мониторинг тока, напряжения и температуры

—-

Конструктив

Принудительно охлаждаемый радиатор с транзисторами,
поверх которых монтируется 4-слойная печатная плата с управлением и интерфейсом.
Основой блока измерения и стабилизации тока является шунт FC4L64R005FER (5 мОм, 2W, +-50ppm/°C).

——

Создание проекта

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

Назначение директорий репозитория:

/pdf – здесь будем хранить относящуюся к проекту документацию, даташиты, аппноты
/doc – файлы для этого гайда
/sch – исходные файлы схемы, библиотека
/lib – библиотека компонентов и футпринты для cadence
/pcb – исходные файлы печатной платы
/pcb/netlist – сгенерированный нэт-лист из схемы
/gerber – финальный гербер
/solid – файлы solidworks
/solid/sim – файлы симуляций solidworks
/photo – фотографии относящиеся к проекту

—-

Разработка схемы электрической

Вопросы проектирования и собственно самого принципа работы данной схемы в
данном материале рассматриваться не будут, основной упор – использование инструментария Cadence
для разработки.

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

Создаем проект Cadence:

Указываем нашу директорию /sch (локально на диске она указана в пути на скриншоте)

Итак, чистый лист. Создаем библиотеку:

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

По умолчанию создается библиотека с стандартным именем.
Сохраняем библиотеку под нужным именем в /sch

Теперь можно приступить непосредственно к созданию элемента:

Создание компонента

При создании нужно заранее определить тип компонента, его обозначение на схеме (в данном случае
мы создадим операционный усилитель Linear LTC2057 в исполнении S8)
А также тип (Homogeneous – все подблоки одинаковые, к примеру – сборка резисторов, Heterogeneous – компоненты различны (к примеру 74HC04)).

PCB Footprint – это соответствующий элементу футпринт для печатной платы. Этот параметр можно задать позже,
но поскольку у меня уже был готовый футпринт для SO8 – я указал его сразу. Footprint состоит минимум из двух файлов -
.psm и .dra. Редактирование футпринта осуществляется в PCB или Package Editor. На самом деле на скриншоте в директории нехватает
еще файлов падов (в данном случае один файл – smt080×026.pad). Вернемся к этому вопросу позже, во время создания футпринтов.

Теперь мы можем рисовать наш элемент.

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

Теперь используя place pin – добавим пины. Наш усилитель имеет 8 контактов, поэтому нам нужно 8 пинов.

Пины имеют имя (отображается только на схеме), номер (должен совпадать с номером на футпринте!), тип и форму.

Добавим названия..

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

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

Также в данном случае названия пинов налаживаются друг на друга и превращают элемент в кашу,
поэтому отключим автоматическую видимость (Pin Names Visible = False).

Другое дело, но теперь нужно добавить вручную названия на нужные пины.

Дорисуем линии для пинов внутри границы УГО:

Добавлены текстовые “+” и “-” для входов ОУ и питаний.

Пинам можно задать различное представление. Например no-connect тип логично
отобразить с нулевой длиной (Zero Length).

А вот пины питания стоит использовать с типом Power. При этом нужно не забыть
отметить “Pin visible”, иначе данный пин будет скрыт и подключиться к нему
можно будет только явным указанием net alias на схеме. Также пины типа
Power допускают идентичное название (например десяток пинов GND). Для других типов одинаковое название в Cadencе
будет выдавать предупрежение.

Также обычно добавляю минимум два дополнительных аттрибута:

  • XPN – xDevs.com Part Number (для большего удобства работы с БОМом в дальнейшем)
  • MFG – производитель компонента

Для резисторов и конденсаторов также добавляю

  • Tol – допуск (например 1%)
  • TC – тепловой коэффициент (например 50ppm/°C)


По умолчанию добавленные элементы не будут отображаться, для этого нужно
открыть меню Display и задать тип отображения (Value only в данном случае)

Финальный элемент выглядит теперь так:

Сохраним его и вернемся в схему:

Теперь созданный элемент доступен для размещения на схеме из нашей библиотеки

Пять ОУ добавлены в схему.

Примечание: можно не создавать элемент, в случае если нужный уже был создан
ранее и используется в другом проекте. С помощью простого копирования и вставки
через буфер обмена можно копировать элементы с существующей схемы Cadence в
новую. При этом элементы будут сохранятся непосредственно в файле схемы DSN, а не
во внешней библиотеке OLB. Однако следует быть осторожным, т.к. такие элементы при
редактировании могут вызавать проблемы при netlist.

Аналогичным образом можно использовать и имеющиеся футпринты для печатной платы.
Для этого надо открыть имеющийся board-файл Cadence (как в данном примере, файл
отладочной платы ALTERA Stratix III), и экспортировать все элементы во внешнюю
директорию (File > Export > Libraries…)

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

Спустя непродолжительное время работы, все элементы будут сохранены:

Вот наши футпринты (symbols) и пады:

А вот наш желаемый SO8 для усилителя LTC2057:

Projects like this are born from passion and a desire to share how things work. Education is the foundation of a healthy society - especially important in today's volatile world. xDevs began as a personal project notepad in Kherson, Ukraine back in 2008 and has grown with support of passionate readers just like you. There are no (and never will be) any ads, sponsors or shareholders behind xDevs.com, just a commitment to inspire and help learning. If you are in a position to help others like us, please consider supporting xDevs.com’s home-country Ukraine in its defense of freedom to speak, freedom to live in peace and freedom to choose their way. You can use official site to support Ukraine – United24 or Help99. Every cent counts.

Author: Ilya Tsemenko
Created: Sept. 9, 2014, 5:43 a.m.
Modified: April 1, 2024, 3:02 a.m.

References