Лучший способ научиться – сделать что-то практически полезное.
В данном случае это будет 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:
Modified: April 1, 2024, 3:02 a.m.