Support #1295
Support #993: Cadence tutorial for Orcad (Component management)
Мини-стенд - ворклог
Description
Лучший способ научиться - сделать что-то практически полезное.
В данном случае это будет 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. На самом деле на скриншоте в директории нехватает
еще файлов падов (в данном случае один файл - smt080x026.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:
Files