Project

General

Profile

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!

Back