Компоненты и технологии, № 8'2003
Protel DXP для начинающих
Урок 11
Два предыдущих занятия были посвящены моделированию схем с помощью системы Protel DXP. Продолжим рассмотрение ее возможностей.
Юрий Потапов
Частотный анализ схемы в режиме малого сигнала
Одним из стандартных видов анализа по методу SPICE является анализ частотных характеристик схемы в режиме малого сигнала. Для его рассмотрения нам потребуется новая схема, которую мы построим из компонентов имеющихся у нас библиотек.
1. Выполним команду меню File/New/PCB Project. На панели Projects появится новый пустой проект PCB ProjectLPrjPCB.
2. Наведем указатель мыши на имя проекта, щелкнем правой кнопкой мыши и в появившемся контекстном меню выберем команду Save Project. Откроется стандартное окно системы Windows, предлагающее указать имя сохраняемого файла. Для облегчения работы с файлами проекта их рекомендуется хранить в отдельной папке с соответствующим именем. Создадим такую папку.
3. В окне Save As укажем место на диске, где будет храниться наш новый проект. Пусть это будет папка Examples. Щелкнем правой кнопкой мыши в окне списка файлов и в появившемся контекстном меню выберем команду «Создать/Папку». Появится новая папка, которую здесь же переименуем в Filter.
4. Откроем новую папку двойным щелчком левой кнопкой мыши на ее имени, в поле «Имя файла» окна Save As введем имя Filter.PrjPCB и нажмем кнопку «Сохранить».
5. Щелкнем правой кнопкой мыши на имени проекта и в появившемся контекстном меню выберем команду New/Schematic. В окне проекта откроется чистый лист схемы Sheet1.SchDoc с заданным по умолчанию шаблоном.
6. Нажатием кнопки Libraries в нижней части экрана откроем одноименную панель.
7. Включим опцию Components и в списке подключенных библиотек выберем имя интегрированной библиотеки Miscellaneous Devices.IntLib.
8. В поле фильтра введем маску поиска компонента «ind», после чего в списке останутся только те компоненты, имена которых содержат этот текст.
9. Выберем компонент Inductor и нажмем кнопку Place Inductor. Редактор схемы перейдет в режим размещения элементов, а к указателю мыши ока-
жется «приклеенным» символ катушки индуктивности.
10. Нажмем клавишу Tab, откроется окно Component Properties, в котором в поле Designator укажем позиционное обозначение L1, в поле Value списка Parameters for введем значение индуктивности 15nH, выключим галочку Visible у поля Comment и нажмем кнопку OK.
11. Сдвинем указатель мыши в центр листа схемы таким образом, чтобы слева и справа от размещаемой катушки могло поместиться несколько элементов, и щелкнем левой кнопкой мыши. На схеме появится символ катушки индуктивности, а редактор предложит разместить вторую катушку.
12. Нажмем клавишу Tab и в окне Component Properties в поле Value списка Parameters for введем значение индуктивности 33nH, после чего нажмем кнопку OK. Размещаемая катушка автоматически получит позиционное обозначение L2.
13. Сдвинем указатель мыши немного вправо от катушки L1 и щелкнем левой кнопкой мыши. На схеме появится третий символ катушки индуктивности, а редактор предложит разместить катушку L3 с тем же номиналом.
14. Сдвинем указатель мыши немного вправо от катушки L2 и щелкнем левой кнопкой мыши. На схеме появится второй символ катушки индуктивности, а редактор предложит разместить катушку L4.
15. Нажмем клавишу Tab и в окне Component Properties в поле Value списка Parameters for введем значение индуктивности 15nH, после чего нажмем кнопку OK.
16. Разместим последнюю катушку и выйдем из режима размещения нажатием клавиши Esc или щелчком правой кнопки мыши.
17. Вернемся на панель Libraries и в поле фильтра введем маску поиска компонента Сap.
18. Выберем компонент Cap и нажмем кнопку Place Cap. Редактор схемы перейдет в режим размещения элементов, а к указателю мыши окажется «приклеенным» символ конденсатора.
19. Нажмем клавишу Tab, откроется окно Component
Properties, в котором в поле Designator укажем по------www.finestreet.ru-------------------------
Компоненты и технологии, № 8'2003
c)
Рис. 1. Этапы прорисовки схемы фильтра нижних частот
зиционное обозначение C1, в поле Value списка Parameters for введем значение емкости 10pF, выключим галочку Visible у поля Comment и нажмем кнопку OK.
20. Нажмем клавишу «Пробел», чтобы изменить ориентацию символа на вертикальную (нижний вывод будет соединен с «землей»), и разместим символ конденсатора C1 между катушками L1 и L2.
21. Аналогичным образом разместим конденсаторы C2 и С3 между катушками L2,
L3 и L3, L4 соответственно. Клавишу Tab при этом нажимать не надо, так как номинал конденсаторов менять не надо.
У всех конденсаторов емкость должна быть равна 10pF. Позиционное обозначение будет присваиваться автоматически.
22. Выйдем из режима размещения нажатием клавиши Esc или щелчком правой кнопки мыши.
23. Выполним команду меню Place/Wire (горячие клавиши P, W) и прорисуем связи между компонентами, как показано на рис. 1, а.
Собственно схема фильтра готова, но для правильного моделирования ее частотных характеристик необходимо добавить еще несколько элементов: входную и выходную нагрузки, источник сигнала и метки цепей.
В качестве нагрузок будем использовать обычные резисторы номиналом 50 Ом. Можно взять резисторы Res1, сохраненные в библиотеке Miscellaneous Devices.IntLib, но их начертание отличается от принятого в России, поэтому воспользуемся исправленными символами резисторов, которые мы нарисовали при создании схемы мультивибратора и сохранили в проекте на одном из первых за нятий.
24. Нажмем кнопку Libraries в верхней части панели Libraries. Откроется окно Available
Libraries со списком подключенных в настоящий момент библиотек (рис. 2).
25. Нажмем кнопку Install, в появившемся окне «Открыть» укажем файл Multivibrator.SCHLIB, сохраненный нами ранее в папке проекта Multivibrator, и закроем окно. В списке Installed Libraries окна Available Libraries добавится новая библиотека.
26. Нажмем кнопку Close и закроем это окно.
27. Вернемся на панель Libraries и в выпадающем списке укажем имя библиотеки Multivibrator.SCHLIB. В списке компонентов библиотеки появятся четыре исправленных нами элемента.
28. Выберем компонент Res1 и нажмем кнопку Place Res1. Редактор схемы перейдет в режим размещения элементов, а к указателю мыши окажется «приклеенным» символ резистора.
29. Нажмем клавишу Tab, откроется окно Component Properties, в котором в поле Designator укажем позиционное обозначение R1, в поле Value списка Parameters for введем значение сопротивления 50, выключим галочку Visible у поля Comment и нажмем кнопку OK.
30. Разместим символ резистора R1 в горизонтальной ориентации немного левее катушки L1 и щелкнем левой кнопкой мыши. Редактор предложит разместить резистор R2.
31. Нажмем клавишу «Пробел», чтобы изменить ориентацию символа на вертикальную (нижний вывод будет соединен с «землей»), и разместим резистор R2 правее катушки L4, после чего выйдем из режима размещения нажатием клавиши Esc или щелчком правой кнопки мыши.
32. Вернемся на панель Libraries и в выпадающем списке укажем имя библиотеки
Simulation Sources.IntLib. В списке компонентов библиотеки появятся четыре исправленных нами элемента.
33. Выберем компонент VSIN и нажмем кнопку Place VSIN. Редактор схемы перейдет в режим размещения элементов, а к указателю мыши окажется «приклеенным» символ источника синусоидального напряжения.
34. Нажмем клавишу Tab и в окне Component Properties в поле Designator укажем позиционное обозначение V1.
35. Выполним двойной щелчок левой кнопкой мыши на модели источника VSIN в списке Models for.
36. Откроется окно Sim Model — Voltage Source/Sinusoidal, в котором на вкладке Parameters изменим значение в поле Amplitude на 0. Частоту колебаний обнулять необязательно. В данный момент для нас важно значение 1 в поле AC Amplitude, задающее напряжение 1 В для анализа в режиме малого сигнала. Нажатием кнопки OK сохраним сделанные изменения.
37. Закроем окно Component Properties.
38. Разместим источник напряжения V1 в вертикальной ориентации немного левее резистора R1 и выйдем из режима размещения нажатием клавиши Esc или щелчком правой кнопки мыши.
39. Выполним команду меню Place/Wire (горячие клавиши P, W) и прорисуем связи между компонентами, как показано на рис. 1, b.
Теперь нам остается только добавить на схему метки цепей.
40. Выполним команду меню Place/Power Port (горячие клавиши P, O). Редактор предложит разместить порт питания.
41. Нажмем клавишу Tab и в окне Power Port зададим стиль порта (Style) Power Ground. Здесь же в поле Net введем имя цепи GND и закроем окно.
42. Разместим символ заземления, как показано на рис. 1, с.
43. Выполним команду меню Place/Net Label (горячие клавиши P, N). Редактор предложит разместить метку цепи.
44. Нажмем клавишу Tab, в окне Net Label зададим имя IN и закроем окно.
45. Разместим метку цепи IN на связи между резистором R1 и катушкой L1 (рис. 1, с).
46. Аналогичным образом создадим метку OUT и разместим ее между катушкой L4 и резистором R2 (рис. 1, с).
47. Выполним команду меню File/Save As (горячие клавиши F, A) и сохраним схему под именем Filter.SchDoc.
Наша схема полностью готова к моделированию. Выполним настройку анализа частотных характеристик.
1. Нажмем кнопку Setup Mixed-Signal Simulation, откроется окно настройки моделирования Analyses Setup.
2. В списке Analysis/Option включим «галочку» в строке AC Small Signal Analysis. Все остальные виды анализа должны быть выключены.
3. В списке справа зададим параметры этого вида анализа (рис. 2): в поле Start Frequency
b)
Є
Компоненты и технологии, № 8'2003
Analyses Setup
JJ xj
Anafyses/O plions Enabled
Geneial Setup
Operating Point Analysts □
T ranstentÆourier Analysis □
ОС Sweep Analysis □
✓
Noise Analysis □
Pole-Zero Analysis □
T ransf er Function Analysts □
Temperatur Sweep □
Parameter Sweep □
Monte Carlo Analysis □
Advanced Options
AC Smal Signal Analysis Setup
Parameter Value
Start Frequency 1.000
Stop Frequency 1.000g
Sweep Type Linear
T est Ponts 1000
Total ТеЯ Points
1000
OK
Cancel
Рис. 2. Настройка анализа частотных характеристик
введем значение 1 (это будет соответствовать 1 Гц, так как число 0 здесь не допускается); в поле Stop Frequency введем значение 1g (это будет соответствовать 1 ГГц); параметр Sweep Type оставим Linear; в поле Test Points введем число точек анализа 1000.
4. В списке Analysis/Option щелкнем левой кнопкой мыши на строке General Setup. Справа появятся основные настройки программы моделирования.
5. В выпадающем списке Collect Data For зададим необходимый нам набор данных Node Voltage, Supply Current, Device Current and Power (напряжения в узлах, ток питания, протекающие через элементы токи и рассеиваемая ими мощность).
6. В выпадающем списке Sheets to Netlist выбрана опция Active project, предписывающая генерировать список соединений для всего проекта.
7. В выпадающем списке SimView Setup выберем опцию Show Active Signals, предписывающую модулю отображения результатов анализа показывать их по мере выполнения расчета.
8. Выделим в списке Available Signals сигналы OUT и V1[z] для чего, удерживая нажатой клавишу CTRL, последовательно щелкнем на них левой кнопкой мыши, после чего нажмем расположенную между списками кнопку >. Выделенные сигналы будут перенесены в правый список Active Signals.
9. Нажатием кнопки Run Mixed Signal Simulation на панели инструментов Mixed Sim или горячей клавиши F9 запустим процесс моделирования. Система переключится в режим отображения документа Filter.sdf с единственной вкладкой AC Analysis, на которой появятся два графика (рис. 3). Рассмотрим полученные результаты.
На графике (рис. 3) показана зависимость напряжения в узле OUT от частоты. Она очень напоминает амплитудно-частотную характеристику фильтра нижних частот, но имеет размерность напряжения. Область минимальных потерь (приблизительно до 500 МГц) имеет значения 500 мВ, что связано с наличием резистивного делителя из двух резисторов номина-
лом 50 Ом (входного Ш и выходного Я2), подключенного к источнику сигнала 1 В на низких частотах. Наличие этих резисторов в схемах высокочастотных устройств обязательно, поэтому, чтобы компенсировать влияние делителя, следует наблюдать удвоенный сигнал.
10. Щелкнем правой кнопкой мыши на имени сигнала OUT и в появившемся контекстном меню выберем команду Edit Wave.
11. В окне Edit Waveform в поле Complex Functions включим опцию отображения амплитуды сигнала в децибелах Magnitude (dB), в текстовом поле Expression введем «2*out», в поле Name введем «Потери» и нажмем кнопку Create. Вид графика АЧХ-фильтра изменится (рис. 4).
Измерим полосу пропускания фильтра по уровню -3 дБ.
12. Щелкнем правой кнопкой мыши на имени сигнала «Потери» и в появившемся контекстном меню выберем команду Cursor A. На графике появится маркер A.
13. С помощью мыши захватим маркер и начнем перемещать его вправо, одновременно контролируя значение маркера по оси Y в поле Measurement Cursors на панели Sim Data. Как только значение маркера станет равным -3, отпустим левую кнопку мыши. Значение маркера по оси X будет соответствовать полосе пропускания 521,53 МГц.
Отметим, что маркер не интерполирует характеристику, а лишь перебирает рассчитанные точки и поэтому не может точно по-
Рис. 3. Первичные результаты анализа частотных характеристик
:
j
:
:
006 01 )0G Q2J JOG 0Э BOG 0.4C MG 09 DOG ОЯ )0G 071 30G 0« ЮС 09 Ю6 101
Рис. 4. АЧХ фильтра нижних частот в децибелах
Компоненты и технологии, № 8'2003
пасть в значение -3 дБ (например, в нашем случае ближайшая точка имела значение -3,0964), но в большинстве случаев этой точности вполне достаточно.
В случае анализа полосовых фильтров для оценки полосы пропускания следует использовать два маркера, разность между частотами которых будет также отображаться на панели Sim Data.
Вернемся ко второму графику, на котором изображена частотная зависимость модуля импеданса схемы со стороны подключенного источника сигнала. Для нас сама по себе эта характеристика не интересна, но она позволит получить нам частотную зависимость коэффициента отражения на входе фильтра в узле IN.
Прежде всего следует отметить, что импеданс представляет собой комплексную величину, рассчитанную для цепи источника, имеющую действительную и мнимую составляющие. Кроме того, как мы уже говорили ранее, ток в схему через источник течет снизу вверх по схеме (1вх на рис. 5), в то время как программа SPICE выдает данные для направления тока от вывода «+» к выводу «-» внутри элемента (1ист на рис. 5). Значит, истинное значение импеданса 2реалн будет представлять обратное по знаку значение от Z^^,.
Далее, для расчета коэффициента отражения в узле IN нас интересует импеданс именно в этой точке, а не в точке включения источника. Легко видеть, для того чтобы получить значение импеданс Z(IN), необходимо вычесть из 2реалн значение сопротивления R1 (рис. 5).
Отформатируем второй график таким образом, чтобы на нем отображалась именно частотная зависимость коэффициента отражения в узле IN, который рассчитывается по формуле:
Z(IN)-Z0 Z(IN) + Z0
где Z0 — характеристическое сопротивление линии, в нашем случае равное R1 (50 Ом).
В нашем случае эта формула преобразуется в вид:
^ _ (-Zu3Mep - R\) - R\ _
(-Zti3Mep) - J?l) +
_ (-vl[z]-50)-50 _ -vl[z]-2*50 (2) (—vl [z] - 50) + 50 - vl[z]
14. Выполним щелчок правой кнопкой мыши на имени сигнала v1[z] и в появившемся контекстном меню выберем команду Edit Wave.
К-
(1)
К сожалению, система Protel DXP в настоящий момент не позволяет использовать в формулах расчета характеристик номиналы элементов или глобальные переменные, поэтому в приведенной выше формуле рекомендуется оставить именно 2*50, а не 100. В случае изменения номинала резистора R1, например, на 75 Ом, аналогичное изменение необходимо будет сделать в формуле расчета коэффициента отражения.
Другое неудобство программы моделирования состоит в том, что она не допускает применения к результатам частотного анализа различных математических функций, как в случае с временными характеристиками. Это делает невозможным расчет привычной российским инженерам характеристики КСВ, которая считается по формуле:
^ 1+1*1
К = —!1 (3)
1-1*1
Вместо КСВ мы рекомендуем использовать другую характеристику, наиболее распространенную на Западе и ничуть не хуже описывающую согласованнность цепей — возвратные потери (Return Loss), представляющую собой не что иное, как величину модуля коэффициента отражения в децибелах, рассчитываемую по формуле:
Рис. 6. Настройка отображения зависимости коэффициента отражения от частоты
15. В окне Edit Waveform (рис. 6) в поле Complex Functions включим опцию отображения амплитуды сигнала Magnitude, в поле Name введем «К», текстовом поле Expression введем «(UNARY(v1 [z])-2*50)/UNARY(v1[z])» и нажмем кнопку Create. Вид графика изменится (рис. 7).
К(дБ) = 20 lg(K)
(4)
16. Выполним щелчок правой кнопкой мыши на имени сигнала K и в появившемся контекстном меню выберем команду Edit Wave.
17. В окне Edit Waveform (рис. 6) в поле Complex Functions включим опцию отображения амплитуды сигнала в децибелах Magnitude (dB) и нажмем кнопку Create. Вид характеристики изменится (рис. 8).
|Нг)
Рис. 7. Зависимость коэффициента отражения по входу фильтра от частоты
Frequency |Hz)
Рис. 8. Зависимость возвратных потерь фильтра от частоты
О
Компоненты и технологии, № 8'2003
Пользоваться этой характеристикой очень легко. Чем хуже согласование фильтра (коэффициент отражения стремится к 1), тем выше КСВ. В большинстве случаев при анализе фильтров КСВ в полосе пропускания, как правило, значение не должно превышать 2. Это значение КСВ соответствует значению возвратных потерь приблизительно -10 дБ, а значит, если рассчитанные возвратные потери больше (по модулю, то есть -11, -15, -20 и т. д.) этого значения, то КСВ будет всегда меньше 2.
На практике, если требуется обеспечить КСВ лучше 2, то полезно воспользоваться таблицей пересчета возвратных потерь в КСВ (см. таблицу), которую очень легко запомнить.
Таблица
K, дБ КСВ
-5,00 3,57
-10,00 1,92
-14,00 1,50
-15,00 1,43
-17,00 1,33
-21,00 1,20
-27,00 1,09
-30,00 1,07
Если все же требуется получить полную характеристику КСВ-фильтра, то ее можно рассчитать в электронных таблицах Microsoft Excel, куда можно загрузить зависимость модуля коэффициента отражения от частоты, сохраненную в файл в формате CSV. Мы рекомендуем проделать это самостоятельно в качесве упражнения.
Для расчета коэффициента отражения по выходу фильтра следует перерисовать схему, как показано на рис. 9. Это позволит выполнить моделирование с минимальными изменениями в настройках модуля просмотра результатов расчета. Следует помнить, что опция SimView Setup в окне Analyses Setup при этом должна быть установлена как Keep Last Setup (сохранить последние установки). Так как схема нашего фильтра абсолютно симметрична (включая нагрузки), то входные и выходные характеристики не должны отличаться.
Статистический анализ методом Монте-Карло
При проектировании электронных устройств не следует забывать, что мы живем в реальном мире, а используемые нами компоненты имеют некоторый разброс параметров, четко оговоренный в технической документации. Например, номиналы резисторов или конденсаторов из так называемого
10-процентного ряда могут отклоняться в диапазоне ±5% от номинального значения. Разумно предположить, что такие вариации не лучшим образом отразятся на работе схемы, а значит, необходимо иметь инструмент, позволяющий оценить их последствия. Система Protel DXP использует для этих целей стандартную методику, называемую методом Монте-Карло.
Вернемся к схеме, изображенной на рис. 1, с.
1. Нажмем кнопку Setup Mixed-Signal Simulation и откроем окно настройки моделирования Analyses Setup.
2. В списке Analysis/Option включим «галочку» в строке Monte Carlo Analysis.
В списке справа задаются параметры этого вида анализа (рис. 10): допуски по умолчанию для компонентов различных типов, число запусков, вид распределения Distribution (Uniform — равномерное, Gaussian — Гауссовское, Worst Case — худший случай), начальное значение генератора случайных чисел (Seed).
Самый последний параметр Specific Tolerances служит для задания специальных видов распределения для отдельных компонентов и групп. Выполним небольшое упражнение.
3. Щелкнем левой кнопкой мыши на ячейке со значением параметра Specific Tolerances, где по умолчанию присутствует текст «0 defined».
4. В правой части ячейки появится небольшая кнопка, которую мы и нажмем.
5. Откроется пустое окно Monte Carlo — Specific Tolerances, в котором нажмем кнопку Add. В окне появится строка табли-
Analyses Setup
Рис. 11. Задание специальных видов распределения отдельных компонентов
цы, в которой следует задать значения для резистора R1 (рис. 11).
6. Еще раз нажмем кнопку Add и зададим значения для резистора R2.
Что означают заданные значения? Мы имеем два резистора R1 и R2 с номиналом 1k. Для каждого из резисторов заданы два вида допусков: индивидуальные (Device) и групповые (Lot). Индивидуальные допуски имеют значения 1% при равномерном распределении случайных величин (Uniform). Разные трековые номера (Tracking No.) в столбце Device имеют разные значения (1 и 2), что говорит об отсутствии корреляции между значениями номиналов резисторов для индивидуального допуска. В столбце Lot у обоих резисторов одинаковый трековый номер 1, это означает, что резисторы входят в одну группу, допуск для которой задан 4% (при том же равномерном распределении случайных величин).
При каждом запуске процесса моделирования методом Монте-Карло резисторам сначала назначается одинаковое отклонение от номинального значения в диапазоне ±4%, а затем от полученного значения каждому резистору назначается индивидуальный допуск в диапазоне ±1%. В итоге суммарный допуск будет равен 5% (1% + 4%).
Все это кажется излишне запутанным, но описывает типовую ситуацию использования резистивных сборок, когда номиналы резисторов внутри одной сборки отличаются максимум на 2% друг от друга, а наиболее вероятные значения номиналов между сборками могут отличаться друг от друга на 8%. В итоге номиналы отдельных резисторов
“ira
Analyses/Opitom Enabled
General Setup
Operating Point Analysis □
T ransrent/Fourier Analysis □
DC Sweep Analysis □
AC Smal Signal Analysis И
Noise Analysis □
Pole-Zero Analysis □
T ranslet Function Analysts □
T emperature Sweep □
Parameter Sweep □
■ И
Advanced Options
Monte Carlo Analysis Setup
Parameter Value
Seed •1
Distribution Uniform
Number of Runs 5
Default Resistor Tolerance 102
Default Capacitor T olerance 10%
Default Inductor Tolerance 10%
Default Transistor Tolerance 10%
Default DC Source Tolerance 10%
Default Digital Tp Tolerance 10%
Specific T oierances 0 defined..
Preferences
OK
Cancel
Рис. 10. Настройка статистического анализа методом Монте-Карло
Компоненты и технологии, № 8'2003
Рис. 12. Создание графика для отображения результатов расчета методом Монте-Карло
разных сборок могут отличаться максимум
на 10% друг от друга.
7. В нашем примере все компоненты являются дискретными, а резисторы вообще представляют собой идеальный эквивалент характеристического сопротивления линии. Все значения номиналов являются некоррелированными, то есть независимыми друг от друга. Поэтому откажемся от сделанных настроек и закроем окно Monte Carlo — Specific Tolerances, для чего нажмем кнопку Cancel.
8. Так как резисторы идеальные, зададим для них допуск Default Resistor Tolerance равным 0%. Для всех остальных элементов допуски оставим равными 10%.
9. Тип распределения (Distribution) зададим как Uniform (равномерное). Число запусков (Number of Runs) сделаем равным 5, а параметр Seed оставим равным -1.
10. В списке Analysis/Option щелкнем левой кнопкой мыши на строке General Setup и в списке справа для сохранения ранее сделанных настроек отображения результатов анализа опцию SimView Setup зададим как Keep Last Setup, после чего закроем окно нажатием кнопки OK.
11. Нажатием кнопки Run Mixed Signal Simulation на панели инструментов Mixed Sim (горячая клавиша F9) запустим процесс моделирования. Система переключится в режим отображения документа Filter.sdf с единственной вкладкой AC Analysis. Вид графиков на ней не изменится, хотя строка состояния будет показывать ход многократных запусков моделирования схемы. Чтобы посмотреть результаты статистического анализа, создадим новый график.
12. Выполним щелчок правой кнопкой мыши в любом месте документа Filter.sdf и в появившемся контекстном меню выберем команду Add Plot.
13. Запустится мастер создания графиков, который на первом шаге предложит задать его имя. В текстовое поле введем «Потери (анализ Монте-Карло)» и нажмем кнопку Next.
14. На следующем шаге настройки осей менять не будем, поэтому просто нажмем кнопку Next.
15. На третьем шаге мастер предложит указать сигналы, которые будут отображаться на графике. Нажмем кнопку Add и в окне Add Wave to Plot в поле
Потери (анализ Монте Карло)
2000 і
:
•1000 ч
і л
: X
!
•5000 -6000 :
• і і і .і lili і : 1 1 lili lili ■ ill 1111 1 1 1 1 1 1 1 1 1111
dB(24>mjn1|
dB(?oul_m2)
dB(?oU_m3)
dB(2*oul_m4)
dB(?out_m5)
Frequency (Hi) b)
Рис. 13. Результаты анализа методом Монте-Карло
Expression введем текст 2*out_m1. В поле Complex Functions включим опцию Magnitude (dB) и нажмем кнопку Create.
16. Аналогичным образом добавим на данный график отображение удвоенной амплитуды сигналов out_m2, out_m3, out_m4 и out_m5 (рис. 12) и нажмем кнопку Next. Легко догадаться, что сигналы с суффиксом ml... m5 есть не что иное, как сигналы, рассчитанные в ходе соответствующего запуска моделирования схемы методом Монте-Карло.
17. Нажатием кнопки Finish в последнем окне завершим работу мастера Plot Wizard.
На вкладке AC Analysis появится новый график с пятью кривыми (рис. 13, а). Масштаб по оси Y выбран автоматически и не позволяет ясно наблюдать разницу между полученными кривыми, поэтому изменим его.
18. Выполним щелчок правой кнопкой мыши на оси Y и в появившемся контекстном меню выберем команду Format Axis. Появится окно Y Axis Settings (рис. 14).
19. В поле Scale выключим автоматическое определение масштаба, для чего уберем «галочки» Auto напротив текстовых полей Minimum и Maximum.
20. В поле Minimum введем значение -40, а в поле Maximum — 0, после чего закроем окно нажатием кнопки OK. Вид графика изменится (рис. 13, b).
а)
е
Компоненты и технологии, № 8'2003
21. С помощью мыши в окне охвата выделим некоторую область вокруг точки изгиба кривой. Масштаб изображения снова изменится (рис. 13, с). Обратите внимание, что теперь, когда автоматическое масштабирование выключено, выбор окном охвата изменяет масштаб не только по оси X, но и Y.
Теперь на график можно добавить маркеры и измерить полосу пропускания по уровню -3 дБ для разных случайных реализаций. Точные значения параметров компонентов каждой реализации записываются в уже знакомый нам файл Filter.swd, расположенный в папке Project Outputs for Filter. Этот файл будет содержать блоки данных с указанием имени элемента, заданного для него допуска, вида распределения, номинального и случайного значения параметров:
c3 dev=10% uniform 10p -> 9.33p
c2 dev=10% uniform 10p -> 10.4p
c1 dev=10% uniform 10p -> 9.87p
*AC Monte Carlo run 1 of 5 (m1)
v1 dev=10% uniform 0 -> 0
r2 dev=0% uniform 50 -> 50
r1 dev=0% uniform 50 -> 50
l4 dev=10% uniform 15n -> 16.2n
l3 dev=10% uniform 33n -> 32.2n
l2 dev=10% uniform 33n -> 34n
l1 dev=10% uniform 15n -> 13.7n
c3 dev=10% uniform 10p -> 10.4p
c2 dev=10% uniform 10p -> 10.3p
c1 dev=10% uniform 10p -> 9.76p
*AC Monte Carlo run 2 of 5 (m2)
v1 dev=10% uniform 0 -> 0
r2 dev=0% uniform 50 -> 50
r1 dev=0% uniform 50 -> 50
l4 dev=10% uniform 15n -> 15.4n
l3 dev=10% uniform 33n -> 31.2n
l2 dev=10% uniform 33n -> 31.4n
l1 dev=10% uniform 15n -> 15.7n
c3 dev=10% uniform 10p -> 10.5p
c2 dev=10% uniform 10p -> 10.8p
c1 dev=10% uniform 10p -> 9.14p
*AC Monte Carlo run 3 of 5 (m3)
v1 dev=10% uniform 0 -> 0
r2 dev=0% uniform 50 -> 50
r1 dev=0% uniform 50 -> 50
l4 dev=10% uniform 15n -> 15n
l3 dev=10% uniform 33n -> 32n
l2 dev=10% uniform 33n -> 31.3n
l1 dev=10% uniform 15n -> 14.9n
c3 dev=10% uniform 10p -> 10.6p
c2 dev=10% uniform 10p -> 10.6p
c1 dev=10% uniform 10p -> 9.06p
*AC Monte Carlo run 4 of 5 (m4)
v1 dev=10% uniform 0 -> 0
r2 dev=0% uniform 50 -> 50
r1 dev=0% uniform 50 -> 50
l4 dev=10% uniform 15n -> 13.6n
l3 dev=10% uniform 33n -> 32.2n
l2 dev=10% uniform 33n -> 32.8n
l1 dev=10% uniform 15n -> 16.3n
c3 dev=10% uniform 10p -> 10.8p
c2 dev=10% uniform 10p -> 10.8p
c1 dev=10% uniform 10p -> 9.63p
*AC Monte Carlo run 5 of 5 (m5)
v1 dev=10% uniform 0 -> 0
r2 dev=0% uniform 50 -> 50
r1 dev=0% uniform 50 -> 50
l4 dev=10% uniform 15n -> 14.3n
l3 dev=10% uniform 33n -> 36.2n
l2 dev=10% uniform 33n -> 31.5n
l1 dev=10% uniform 15n -> 15.3n
Разумно предположить, что наиболее неблагоприятный для схемы вариант будет получен, когда значения параметров будут иметь максимальное отклонение от номинала, то есть примут крайние значения границ диапазонов. Такой вид анализа называется анализом худшего случая. Проведем его.
22. Вернемся в редактор схем и нажатием кнопки Setup Mixed-Signal Simulation вызовем окно Analyses Setup.
23. В списке Analysis/Option щелкнем левой кнопкой мыши на строке Monte Carlo Analysis.
24. В списке справа параметр Distribution (вид распределения) зададим как Worst Case (худший случай) и нажатием кнопки OK закроем окно.
25. Нажатием кнопки Run Mixed Signal Simulation на панели инструментов Mixed Sim (горячая клавиша F9) запустим процесс моделирования.
Если опция SimView Setup была задана как Keep Last Setup, то масштабирование графиков не изменится, но все зависимости будут намного сильнее отличаться от кривой, полученной при номинальных значениях.
Как правило, анализ худшего случая правильно показывает наиболее неблагоприятный результат, но при резких параметриче-ких зависимостях (например, резонансах) он может пропустить наиболее критическую комбинацию параметров. Поэтому в общем случае сначала рекомендуется выполнить статистический анализ при равномерном или Гауссовом распределении случайных значений параметров, а уже затем, когда будут ясны тенденции изменения искомых зависимостей, проводить анализ худшего случая.
Следует отметить, что система Protel DXP не имеет средств постобработки результатов статистического анализа. Здесь нет возможности построить гистограммы, показывающие вероятность статистического рапределения, например, максимума частотной характеристики или полосы пропускания по уровню -3 дБ. Поэтому рекомендуется выполнить экспорт полученных зависимостей во внешний файл в формате Comma Separated Value (CSV) и продолжить их обработку с помощью специальных программ, таких, как Statistica.
Итак, на данном занятии мы рассмотрели малосигнальный частотный и статистический анализ. Следующий урок будет посвящен оставшимся четырем видам анализа: анализу схем при изменяющемся постоянном напряжении (DC Sweep Analysis), анализу шумов (Noise Analysis), анализу нулей и полюсов (Pole-Zero Analysis) и анализу передаточных функций (Transfer Function Analysis).