Support #1295
Updated by tin over 6 years ago
"По запросу 993":http://dev.xdevs.com/issues/993
Лучший способ научиться - сделать что-то практически полезное.
В данном случае это будет Current sink на 40А.
Пакет разработки: Cadence SPB 16.6 + Solidworks, version control - mercurial
h2. Характеристики
Вход управления - аналоговый 1mV/10mA
Допуск по току - 0.1%
Диапазон рабочей температуры - 0...+50°С
Диапазон напряжения - до +30V
Питание управления - +-15V
Каналов управления - 1
Активный элемент - 4 x MOSFET IRF90N20D
Исполнение - модуль на радиатор
Контрольные выходы - аналоговые, мониторинг тока, напряжения и температуры
---
h2. Конструктив
Принудительно охлаждаемый радиатор с транзисторами,
поверх которых монтируется 4-слойная печатная плата с управлением и интерфейсом.
Основой блока измерения и стабилизации тока является шунт "FC4L64R005FER":/projects/rnd/repository/cadence_demo/entry/pdf/Ohmite/res_fc4l.pdf (5 мОм, 2W, +-50ppm/°C).
----
h2. Создание проекта
Создадим репозиторий mercurial, в данном случае это "cadence_demo":/projects/rnd/repository/cadence_demo
После каждого этапа будем складывать файлы в репозитория для ведения учета.
Работа с репозиторием была описана ранее "здесь":/projects/armcamp/wiki/Mercurial_-_DVCS_(Decentralized_Version_Control_System)_-_intro_and_basic_usage_guide.
Назначение директорий репозитория:
/pdf - здесь будем хранить относящуюся к проекту документацию, даташиты, аппноты
/doc - файлы для этого гайда
/sch - исходные файлы схемы, библиотека
/lib - библиотека компонентов и футпринты для cadence
/pcb - исходные файлы печатной платы
/pcb/netlist - сгенерированный нэт-лист из схемы
/gerber - финальный гербер
/solid - файлы solidworks
/solid/sim - файлы симуляций solidworks
/photo - фотографии относящиеся к проекту
---
h2. Разработка схемы электрической
Вопросы проектирования и собственно самого принципа работы данной схемы в
данном материале рассматриваться не будут, основной упор - использование инструментария Cadence
для разработки.
Поскольку проект начат с чистого листа, у нас нет библиотеки компонентов, поэтому
первым шагом будет освоение создания новых элементов для последующего включения их в схему.
Создаем проект Cadence:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/new_prj.png!
Указываем нашу директорию /sch (локально на диске она указана в пути на скриншоте)
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/new_sch.png!
Итак, чистый лист. Создаем библиотеку:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/new_lib.png!
Неплохой идеей будет использовать отдельные библиотеки для каждого проекта.
Таким образом конкретные изменения компонентов под конкретный проект/задачу не будут
внезапно портить другие проекты. Конечно, в случае множества однообразных проектов
с одинаковыми компонетами это приведет к дополнительной работе по синхронизации,
но это уже на усмотрение инженера. Проект позволяет подключать несколько библиотек,
например, с широкоиспользуемыми деталями вроде резисторов 1206,0805,0603 и отдельную
библиотеку для специфичных деталей под проект.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/new_libs.png!
По умолчанию создается библиотека с стандартным именем.
Сохраняем библиотеку под нужным именем в /sch
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/lib.png!
Теперь можно приступить непосредственно к созданию элемента:
h3. Создание компонента
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/new_part.png!
При создании нужно заранее определить тип компонента, его обозначение на схеме (в данном случае
мы создадим операционный усилитель "Linear LTC2057 в исполнении S8":/projects/rnd/repository/cadence_demo/entry/pdf/Linear/2057f.pdf)
А также тип (Homogeneous - все подблоки одинаковые, к примеру - сборка резисторов, Heterogeneous - компоненты различны (к примеру 74HC04)).
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/lib1.png!
PCB Footprint - это соответствующий элементу футпринт для печатной платы. Этот параметр можно задать позже,
но поскольку у меня уже был готовый футпринт для SO8 - я указал его сразу. Footprint состоит минимум из двух файлов -
.psm и .dra. Редактирование футпринта осуществляется в PCB или Package Editor. На самом деле на скриншоте в директории нехватает
еще файлов падов (в данном случае один файл - smt080x026.pad). Вернемся к этому вопросу позже, во время создания футпринтов.
Теперь мы можем рисовать наш элемент.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part0.png!
Линии можно рисовать по сетке, задавать им различные стили и различную ширину. Граница элемента отмечена пунктирной линией,
и не включает в себя аттрибуты элемента (текстовые поля) и пины. Граница элемента должна быть кратна сетке, иначе
при повороте элементов на схеме пины не будут совпадать с сеткой.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/draw_part.png!
Теперь используя place pin - добавим пины. Наш усилитель имеет 8 контактов, поэтому нам нужно 8 пинов.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/pin.png!
Пины имеют имя (отображается только на схеме), номер (должен совпадать с номером на футпринте!), тип и форму.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part1.png!
Добавим названия..
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part_una.png!
Но порядок у нас вышел неправильный, поэтому после назначения всем пинам корректных названий,
расположим их в стандартном виде для операционных усилителей.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part_align.png!
Для рисования графических элементов бывает нужно отвязаться от сетки, для этого есть удобная кнопка на панели инструментов:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part_grid.png!
Также в данном случае названия пинов налаживаются друг на друга и превращают элемент в кашу,
поэтому отключим автоматическую видимость (Pin Names Visible = False).
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part_prop.png!
Другое дело, но теперь нужно добавить вручную названия на нужные пины.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part_nc.png!
Дорисуем линии для пинов внутри границы УГО:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part2.png!
Добавлены текстовые "+" и "-" для входов ОУ и питаний.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part3.png!
Пинам можно задать различное представление. Например no-connect тип логично
отобразить с нулевой длиной (Zero Length).
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part4.png!
А вот пины питания стоит использовать с типом Power. При этом нужно не забыть
отметить "Pin visible", иначе данный пин будет скрыт и подключиться к нему
можно будет только явным указанием net alias на схеме. Также пины типа
Power допускают идентичное название (например десяток пинов GND). Для других типов одинаковое название в Cadencе
будет выдавать предупрежение.
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part5.png!
Также обычно добавляю минимум два дополнительных аттрибута:
* XPN - xDevs.com Part Number (для большего удобства работы с БОМом в дальнейшем)
* MFG - производитель компонента
Для резисторов и конденсаторов также добавляю
* Tol - допуск (например 1%)
* TC - тепловой коэффициент (например 50ppm/°C)
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part6.png!
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part7.png!
По умолчанию добавленные элементы не будут отображаться, для этого нужно
открыть меню Display и задать тип отображения (Value only в данном случае)
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part8.png!
Финальный элемент выглядит теперь так:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/part9.png!
Сохраним его и вернемся в схему:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/sch1.png!
Теперь созданный элемент доступен для размещения на схеме из нашей библиотеки
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/sch2.png!
Пять ОУ добавлены в схему.
Примечание: можно не создавать элемент, в случае если нужный уже был создан
ранее и используется в другом проекте. С помощью простого копирования и вставки
через буфер обмена можно копировать элементы с существующей схемы Cadence в
новую. При этом элементы будут сохранятся непосредственно в файле схемы DSN, а не
во внешней библиотеке OLB. Однако следует быть осторожным, т.к. такие элементы при
редактировании могут вызавать проблемы при netlist.
Аналогичным образом можно использовать и имеющиеся футпринты для печатной платы.
Для этого надо открыть имеющийся board-файл Cadence (как в данном примере, файл
отладочной платы ALTERA Stratix III), и экспортировать все элементы во внешнюю
директорию (File > Export > Libraries...)
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/ext_l.png!
Задаем что мы хотим экспортировать, и директорию для сохранения результата:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/ext_ex.png!
Спустя непродолжительное время работы, все элементы будут сохранены:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/ext_exp.png!
Вот наши футпринты (symbols) и пады:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/ext_lib.png!
А вот наш желаемый SO8 для усилителя LTC2057:
!http://dev.xdevs.com/projects/rnd/repository/cadence_demo/entry/doc/fp_so8.png!