Научная статья на тему 'Protel dxp для начинающих. Урок 10'

Protel dxp для начинающих. Урок 10 Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
107
39
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Потапов Юрий

На предыдущем занятии мы начали изучать основы работы в программе моделирования системы Protel DXP. Продолжим рассмотрение ее возможностей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Protel dxp для начинающих. Урок 10»

Компоненты и технологии, № 7'2003

Protel DXP для начинающих

Урок 10

На предыдущем занятии мы начали изучать основы работы в программе моделирования системы Рго1е! ОХР. Продолжим рассмотрение ее возможностей.

Юрий Потапов

[email protected]

Горячая связь с редакторами схем и плат

Рассмотрим еще одну полезную функцию системы моделирования — горячую связь с редакторами схем и плат.

1. Вернемся на страницу Transient Analysis щелчком левой кнопкой мыши на соответствующей закладке.

2. Двойным щелчком левой кнопки мыши в дереве проекта откроем документы Multivibrator simula-tion.SchDoc и Multivibrator.PcbDoc.

Все они будут открыты в одном окне на разных вкладках. Настроим режим одновременного просмотра документов.

3. Щелкнем правой кнопкой мыши на закладке документа Multivibrator.sdf и в появившемся контекстном меню выберем команду Split Horizontal. Окно проекта разделится на две части, в одной из которых будет отображаться документ

Рис. 1. Одновременный просмотр нескольких документов проекта

Multivibrator.sdf, а в другой — документы Multivibrator simulation.SchDoc и Multivibrator.PcbDoc.

4. Щелкнем правой кнопкой мыши на закладке документа Multivibrator.PcbDoc и в появившемся контекстном меню выберем команду Split Vertical. Верхняя часть окна проекта также разделится на две части.

Настроим оптимальный масштаб просмотра схемы и платы.

5. Щелчком левой кнопкой мыши в поле окна схемы перейдем в редактор принципиальных схем и нажмем комбинацию горячих клавиш V, F (команда меню View/Fit All Objects).

6. Щелчком левой кнопкой мыши в поле окна платы перейдем в редактор печатных плат и нажмем комбинацию горячих клавиш V, F (команда меню View/Fit All Objects).

Окно проекта примет вид, показанный на рис. 1. Обратное слияние окон выполняется командой Merge All из контекстного меню, вызываемого щелчком правой кнопки мыши на закладке любого из документов. Здесь также работает перетаскивание, которое мы предлагаем исследовать самостоятельно.

7. Выполним команду Project/Compile PCB Project, чем запустим компиляцию проекта. Компиляция нужна из-за того, что мы вносили изменения в схему и меняли ее имя.

8. Выполним щелчок правой кнопкой мыши на имени сигнала v1#branch на странице графиков и в появившемся контекстном меню выберем команду Cross Probe To Schematic. Вид в окне редактора схем изменится, и в нем будет показан только источник V1, ток через который мы указали (рис. 2, a).

9. Выполним щелчок правой кнопкой мыши на имени сигнала collector_vt2 на верхнем графике и снова выберем команду Cross Probe To Schematic. Вид в окне редактора схем изменится, и в нем будет показана цепь коллектора транзистора VT2 (рис. 2, b).

8. Выполним щелчок правой кнопкой мыши на имени сигнала qvt1[ic] на нижнем графике и снова выберем команду Cross Probe To Schematic.

Ничего не произойдет. Почему? Потому что указанного элемента, транзистора QVT1, на схеме нет. Префикс Q к обозначению VT1 был добавлен авто-------www.finestreet.ru----------------------------

Компоиеиты и технологии, № 7'2003

Engineering Change Order

Remove Nodes{2)

AffectedObject

XS1-1 from 12V - XS1-2fr<mGND

Remove Components(2)

Change Component Footpri

Change Component Desigr

Change Net Names(4)

Add Nodes(2)

I RAD-0.1 •> RAD-0.3 I RAD-0.1 •> RAD-0.3 ■_______________

I VT1 •> QVT1 I VT2-> QVT2

- NetCIJ •> C0LLECT0R_VT2 In

- NetC1_2 •> BASE_VT1 In

- NetC2_1 •> BASE.VT2 In

- NetC2_2 -> COLLECTOR_VT1 In

H VI-1 to 12V -cj V1-2loGND

Affected Document |

М3 Multivfcrator. PcbOoc 13 Multivitxatof.PcbOoc

Multivibtatoc. PcbOoc I 13 Multivibfatof PcbOoc |

13 Multivibiator. PcbOoc] Multivibfdtor.PcbOoc

ЩЧ M ultivtx at ot PcbO ос I 13 Miitivfrat or PcbOoc |

13 Multivibfator PcbOoc I Hi) Multivibrator PcbOoc 19 Multivibcat or. PcbOoc ИЗ Multivibcator. PcbOoc

ЩЦ Multivibfator PcbOoc 13 Multivibfator. PcbOoc

Check і Done

Add Rooms(1)

1 □ Add Room Mullrvrbratoj Smulation (S To Multivib* at or PcbOoc ішшшяшя

Validate Changes Execute Changes Report Changes..

Рис. З. Перечень найденных несоответствий между платой и схемой

матически при генерации списка соединений SPICE, чтобы дать понять программе моделирования, что речь идет о биполярном транзисторе. Чтобы горячая связь заработала, необходимо переименовать транзисторы VT1 и VT2 в QVT1 и QVT2 соответственно.

9. Перейдем в редактор схем, нажатием кнопки Clear в нижней части окна, снимем маскирование и нажмем комбинацию горячих клавиш V, F для изменения масштаба просмотра.

10. Выполним щелчок левой кнопкой мыши на позиционном обозначении транзистора VT1. Транзистор выделится, а текст обозначения подсветится зеленой рамкой.

11. Щелкнем еще раз на позиционном обозначении VT1. Редактор войдет в режим редактирования текстовых полей непосредственно на странице (ранее мы редактировали атрибуты в специальном окне).

12. Добавим к существующему обозначению букву Q и щелкнем левой кнопкой мыши в любом свободном месте схемы.

13. Аналогичным образом изменим позиционное обозначение транзистора VT2.

14. Заново выполним компиляцию проекта (команда Project/Compile PCB Project).

15. Снова выполним щелчок правой кнопкой мыши на имени сигнала qvt1 [ic] на нижнем графике и снова выберем команду Cross Probe To Schematic. В редакторе схем будет показан транзистор QVT1, ток через коллектор которого мы рассчитали (рис. 2, c).

Разумно предположить, что похожая проблема с обозначениями транзисторов будет присутствовать и на печатной плате. Кроме того, не следует забывать, что перед моделированием мы переименовали четыре цепи на схеме и еще не обновляли проект платы. Выполним это сейчас.

16. Щелчком левой кнопкой мыши в поле окна платы перейдем в редактор печатных плат.

17. Выполним команду меню Design/Import Changes from [Multiuvibrator.PRJPCB].

18. На экране появится сообщение о том, что обозначения двух из десяти компонентов были изменены и синхронизатор проекта пытается найти соответствие. Нажмем кнопку Yes для продолжения.

19. На экране появится следующее сообщение о том, что было найдено 16 различий между имеющимся проектом платы и принципиальной схемой, но только 15 из них могут быть скорректированы. Нажмем кнопку Yes для продолжения.

20. Откроется окно Engineering Change Order с перечнем найденных несоответствий между платой и схемой. Нажмем кнопку Validate Changes. В столбце Status Check напротив каждого изменения появится значок, сигнализирующий о возможности выполнения данного изменения.

Легко видеть, что система не может выполнить добавление на плату топологического посадочного места для источника V1, так как в описании источника на схеме отсутствует необходимая ссылка. Но и даже среди остальных 15 «проверенных» изменений выполнять надо далеко не все — нам надо лишь обновить обозначения компонентов и имена цепей. Обратите внимание, что система нашла изменение посадочных мест конденсаторов, которое мы сделали, когда изучали размещение компонентов.

21. Выключим «галочки» напротив всех изменений, кроме перечисленных в разделах Change Component Designators и Change Net Names (рис. 3), и нажмем кнопку Execute Changes. Подсветка покажет ход выполнения изменений.

22. Нажмем кнопку Close и закроем окно синхронизатора проекта.

23. Выполним щелчок правой кнопкой мыши на имени сигнала collector_vt2 на верхнем графике страницы результатов измерений и в контекстном меню выберем команду Cross Probe To Multivibrator. PcbDoc. Вид в окне редактора плат изменится, и в нем будет показана цепь коллектора транзистора QVT2 (рис. 4, a).

24. Выполним щелчок правой кнопкой мыши на имени сигнала qvt1[ic] на нижнем графике и снова выберем команду Cross Probe To Schematic. Вид в окне редактора плат изменится, и в нем будет показан транзистор QVT1 (рис. 4, b).

Из всего проделанного выше следует сделать один важный вывод: если вы хотите максимально использовать функциональность сквозной системы проектирования, следует минимальным образом ориентироваться на ГОСТ, использовать предлагаемые по умолчанию обозначения элементов и цепей, а также следовать принятой в системе методологии проектирования. Такой подход

е

Компоненты и технологии, № 7'2003

Яд МіДіУІхаКж РсЪОос -

1 ]

/

С1 С4 —/ \ \

г* • 1 1 [ т *!

R1 м ИВ R2

• • 1

TooLaw/Bottom Lay«/МесЬагкаІ 1 /Тор Ovsriay/ M»l • Lev«J Os.*

В MiAivixalot PtfcOoc *

QUT1

SI6

UooLaw/BottomLaywXMgchanc^l 1 XTopOvwiaT/ l»l»i | »v МлЛ Levd О*

b)

Рис. 4. Горячая связь с редактором печатных плат

Mixed Sir X

Запустить моделирование

Настройка моделирования

Рис. 5. Панель инструментов Mixed Sim

Генерировать список соединений

позволит избежать большинства проблем в любой современной западной системе проектирования. По завершении разработки проекта следует выполнить его «дооформление» согласно требованиям ЕСКД и вывод документации для бумажных архивов. Система Protel DXP для этого подходит наилучшим образом.

Параметрический анализ

Вернемся к рассмотрению доступных в системе Protel DXP методов анализа.

Часто разработчику требуется оценить, как изменение того или иного параметра влияет на функционирование всей схемы. Такой анализ называется параметрическим или, иначе, анализом чувствительности.

Рассмотрим, как отразится на работе схемы разрабатываемого нами мультивибратора изменение емкости конденсаторов C1 и C2.

1. Щелкнем правой кнопкой мыши на вкладке любого из открытых документов и в появившемся контекстном меню выберем команду Merge All, чем выключим отображение документов в разных окнах.

2. Щелчком на вкладке документа Multivibrator simulation.SchDoc, расположенной в верхней части окна проекта, вернемся в редактор схем.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3. С помощью команды меню View/Toolbars/ Mixed Sim включим панель инструментов Mixed Sim (рис. 5). В отличие от окна Design/ Simulate/Mixed Sim расположенные здесь кнопки позволяют независимо выполнять три этапа подготовки к моделированию: на-

стройку видов анализа, генерацию списка соединений и запуск процесса моделирования.

4. Нажмем кнопку Setup Mixed-Signal Simulation, откроется уже знакомое нам по предыдущему уроку окно настройки моделирования Analyses Setup.

5. Щелкнем левой кнопкой мыши на строке Parameter Sweep в списке Analyses/Options слева. В правой части окна появятся настройки этого вида анализа (рис. 6). В общем случае система Protel DXP позволяет независимо варьировать два параметра, но для начала мы ограничимся только одним из них.

6. Щелкнем левой кнопкой мыши на клетке в столбце Value напротив строки Primary Sweep Variable и появившемся выпадающем списке выберем параметр C1(capacitance).

7. Зададим начальное значение диапазона изменения параметра (Primary Start Value) равным 20n.

8. Зададим конечное значение диапазона изменения параметра (Primary Stop Value) равным 30n.

9. Зададим шаг изменения параметра (Primary Step Value) равным 1n.

10. В клетке Primary Sweep Type оставим значение Absolute Value.

При таких настройках емкость конденсатора C1 примет 11 значений в диапазоне от 20

до 30 нФ.

11. Включим «галочку» напротив строки Parameter Sweep в списке слева и закроем окно нажатием кнопки OK.

12. Сформируем заново список соединений, для чего на панели инструментов Mixed Sim нажмем кнопку Generate XSPICE Netlist. В окне проекта автоматически откроется отчет Status Report.txt.

13. Щелкнем левой кнопкой мыши на вкладке документа Multivibrator.nsx.

Легко видеть, что полученный список соединений почти не отличается от существовавшего ранее. Единственное изменение произошло в блоке описания назначенных опций и типов анализа.

.OPTION KeepLastSetup=False ^Selected Circuit Analyses:

.TRAN 1E-5 0.01 0 1E-5 .OP

.CONTROL

SWEEP C1[capacitance] 2E-8 3E-8 1E-9 .ENDC

Добавленные последние три строки данного блока предписывают выполнить вариацию параметра C1 в заданном диапазоне.

14. Находясь в режиме просмотра списка соединений, выполним команду меню Simulate/Run, чем запустим процесс моделирования.

Система переключится в режим отображения документа Multivibrator.sdf, в котором будут отображаться результаты расчета по мере их поступления.

15. Наибольший интерес для нас будут представлять результаты анализа переходных процессов, поэтому по завершении процесса анализа щелкнем левой кнопкой мыши на вкладке Transient Analysis, в нижней части экрана.

16. Вращением ролика мыши или с помощью линеек прокрутки добьемся, чтобы на экране отображалась временная диаграмма сигнала collector_vt2.

Ранее на вкладке Transient Analysis присутствовало четыре графика согласно установкам отображения четырех рассчитанных сигналов: BASE_VT1, BASE_VT2, COLLECTOR_VT1 и COLLECTOR_VT2. Теперь их будет восемь, так как для каждого из этих сигналов будет прорисовано по два отдельных графика. Первый из них, как и ранее, будет отображать результаты анализа переходных процессов, а второй будет содержать набор кривых, полученных в ходе параметрического анализа. Число кривых будет равно числу вариаций значения параметра. На рис. 7, a показаны сигналы

Analyses/Options Enabled

General Setup

Operating Point Analysts 0

T ransien»/Fourier Analysts 0

DC Sweep Analysis □

AC Smal Signal Analysis □ 1

Noise Analysts □

PoleZeto Analysts □

T ransfe* Function Analysis □

T emperature Sweep □ 1

Parameter Sweep ■ 0

Monte Catlo Analysis □

Advanced Options

Parameter Sweep Setup

Parameter Value

Primary Sweep Variable C1 [capacitance]

Primary Start Value 2000n

Pnmary Stop Value ЗОООп

Primary Step Value VOOOn

Pnmary Sweep Type Absolute Values

Enable Secondary □

Secondary Sweep Variable C2t capacitance]

Secondary Start Value 22-OOn

Secondary Stop Value 20.00n

Secondary Step Value •I.OOOn

Secondary Sweep Type Absolute Values

Рис. б. Настройка параметрического анализа

Компоиеиты и технологии, № 7'2003

1

f

,.,,

5000m Time (s)

•colecto*_vt2_p01

8000m 9000m 1000m

сЦслрасІапс») * 20 OGn (tweep 1 of 11)

Tmvs(t) d)

Рис. 7. Просмотр результатов параметрического анализа

на коллекторе транзистора VT2 при разных значениях емкости конденсатора C1.

17. Щелкнем левой кнопкой мыши на имени сигнала collector_vt2_p01, показанном справа от графика. Выбранный сигнал подсве-тится, а остальные потускнеют согласно настройкам маскирования (рис. 7, b). В правом нижнем углу графика появится описание выбранного сигнала: «c1(capacitance) = 20.00n (sweep 1 of 11)».

18. Щелчком левой кнопки мыши или вращением ролика мыши активируем следующий сигнал и так далее (рис. 7, с и d). Если ролик у мыши отсутствует, то для просмотра большого списка используется расположенная здесь же линейка прокрутки.

Легко видеть, что с ростом емкости увеличивается период колебаний мультивибратора. Но так как емкость меняется только в одном его плече, то это приводит к изменению скважности импульсов, что очень наглядно показано на рисунках 7, b, с и d.

Для изменения периода колебаний с сохранением скважности, равной 1, необходимо менять емкость обоих конденсаторов. Как уже говорилось ранее, система Protel DXP позволяет выполнять одновременную вариацию двух параметров. Рассмотрим, как это делается.

19. Щелкнем на вкладке документа Multivibrator simulation.SchDoc и вернемся в редактор схем.

20. Нажмем кнопку Setup Mixed-Signal Simulation, откроется окно настройки моделирования Analyses Setup.

21. В списке Parameter Sweep Setup включим «галочку» в строке Enable Secondary.

22. Щелкнем левой кнопкой мыши на клетке в столбце Value напротив строки Secondary Sweep Variable и появившемся выпадающем списке выберем параметр C2(capacitance).

Значения изменяемого параметра могут быть заданы абсолютными, как в случае конденсатора Cl, так и относительными, когда задается отклонение от номинального значения. Рассмотрим эту возможность.

23. В клетке Secondary Sweep Type оставим значение Relative Value (рис. 8).

24. Зададим начальное значение диапазона изменения параметра (Secondary Start Value) равным 0n.

Analyses Setup

25. Зададим конечное значение диапазона изменения параметра (Secondary Stop Value) равным 10n.

26. Зададим шаг изменения параметра (Secondary Step Value) равным 1n.

При таких настройках емкость конденсатора C2 примет 11 значений в диапазоне от 20 до 30 нФ. Не следует забывать, что изменение значений будет выполняться для каждого значения первичного параметра, а значит, программа выполнит 121 проход, что само по себе может занять значительное время. Кроме того, в ходе такого расчета будет получен 121 набор данных для токов, напряжений, мощностей и т. д. (согласно настройкам General Setup), обработка которых может потребовать значительных вычислительных ресурсов.

27. Для сокращения времени вычисления откажемся от расчета рабочих точек, для чего уберем «галочку» напротив вида анализа Operating Point Analysis и закроем окно нажатием кнопки OK.

28. Нажатием кнопки Run Mixed Signal Simulation на панели инструментов Mixed Sim или горячей клавиши F9 запустим процесс моделирования. Отметим, что перед запуском анализа будет автоматически выполнено формирование списка соединений.

Система переключится в режим отображения документа Multivibrator.sdf.

29. По окончании расчета щелкнем левой кнопкой мыши на вкладке Transient Analysis.

30. Вращением ролика мыши или с помощью линеек прокрутки добьемся, чтобы на экране отображалась временная диаграмма сигнала collector_vt2.

31. Щелкнем левой кнопкой мыши на имени сигнала collector_vt2_p001, показанном справа от графика. В правом нижнем углу графика появится описание выбранного сигнала: «c1 (capacitance) = 20.00n c2(capacitance) = 20.00n (sweep 1 of 121)» (рис. 9, a). Это же описание будет продублировано в строке состояния.

21 xj

Analyses/O ptions Enabled Parameter Sweep Setup

General Setup и и □ □ Parameter Value

Operating Point Analysis Primary Sweep Variable C1 (capacitance)

T ransient/Fourier Analysis DC Sweep Analysis AC Smal Signal Analysis Noise Analysis Pnmary Start Value 20 00n

Pnmary Stop Value 30 00n

□ Primary Step Value I.OOOn

Pole-Ze«o Analysis □ Primary Sweep Type Absolute Values

T ransfe» Function Analysis □ □ ■ 0 □

Temperature Sweep Enable Secondary 0

M onte Carlo Analysis Advanced Options Secondary Sweep Variable C2(capaatance]

Secondary Start Value 5 000n

Secondary Stop Value 5.000n

Secondary Step Value I.OOOn

Secondary Sweep Type Relative Values

Preferences..

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. S. Настройка одновременного изменения двух параметров

b)

Є

Компоненты и технологии, № 7'2003

Рис. 9. Результаты анализа при изменении двух параметров

32. Наведем указатель мыши на название следующего сигнала. Его описание появится в строке состояния «c1 (capacitance) = 21.00n c2(capacitance) = 20.00n (sweep 1 of 121)».

33. Нас интересуют сигналы, полученные при одинаковых значениях емкости конденсаторов C1 и C2, поэтому найдем такой сигнал в списке (например, collector_vt2_p061) и щелкнем на его названии. В правом нижнем углу графика появится описание: «c1 (capacitance) = 25.00n c2(capacitance) = 25.00n (sweep 61 of 121)» (рис. 9, b).

Легко видеть, что период колебаний, как и ранее, с ростом емкости конденсаторов увеличился, но так как значения емкости одинаковые, скважность импульсов осталась равна 1. Максимальное увеличение периода колебаний можно наблюдать на диаграмме последнего сигнала collector_vt2_p121 (рис. 9, с).

Следует также знать, протокол именования точек записывается в файл Multivibrator.swd, автоматически создаваемый в папке Project Outputs for Multivibrator. Этот файл понадобится нам для анализа в режиме изменения температуры.

Режим свипирования температуры

Существует вид параметрического анализа, выделенный в отдельный — это режим сви-пирования температуры. В общем случае фактическая температура в градусах Цельсия, при которой проводится анализ схемы, задается в переменной TEMP раздела Advanced Options окна Analyses Setup (рис. 10). Не следует путать эту переменную с расположенной здесь же переменной TNOM, задающей программе SPICE номинальную температуру, для которой определены модели устройств. Эту переменную лучше всего оставить заданной по умолчанию (27 °С).

В случаях, когда требуется оценить динамику изменения работы схемы при изменении температуры, используется режим анализа Temperature Sweep. Рассмотрим его подробнее.

1. Щелкнем на вкладке документа Multivibrator simulation.SchDoc и вернемся в редактор схем.

2. Нажмем кнопку Setup Mixed-Signal Simulation, откроется окно настройки моделирования Analyses Setup.

3. Щелкнем левой кнопкой мыши на строке Advanced Options в списке Analyses/Options

слева. В правой части окна появится список переменных и опций программы моделирования SPICE (рис. 10).

4. С помощью линейки прокрутки найдем в этом списке переменную TEMP, в столбце Value напротив нее введем значение 20 и нажмем клавишу Enter. Обратите внимание, что расположенная рядом в столбце Def «галочка» выключится.

5. Щелкнем левой кнопкой мыши на строке Temperature Sweep в списке Analyses/Options слева. В правой части окна появятся настройки этого вида анализа (рис. 11).

6. Зададим начальное значение диапазона изменения температуры (Start Temperature) равным 15.

7. Зададим конечное значение диапазона изменения температуры (Stop Temperature) равным 25.

8. Зададим шаг изменения температуры (Step Temperature) равным 1.

9. Включим «галочку» напротив строки Temperature Sweep в списке слева и закроем окно нажатием кнопки OK.

10. Нажатием кнопки Run Mixed Signal Simulation на панели инструментов Mixed Sim или горячей клавишей F9 запустим процесс моделирования. Система переключится в режим отображения документа Multivibrator.sdf.

11. По окончании расчета щелкнем левой кнопкой мыши на вкладке Transient Analysis.

12. Вращением ролика мыши или с помощью линеек прокрутки добьемся, чтобы на экране отображалась временная диаграмма сигнала collector_vt2.

13. С помощью мыши выделим участок графика, как показано на рис. 12, а. Масштаб отображения по шкале времени изменится.

14. К сожалению, в отличие от параметрического анализа при наведении указателя мыши на название сигнала расшифровка этого названия в строке состояния появляться не будет. Поэтому откроем расположенный в папке Project Outputs for Multivibrator файл Multivibrator.swd, содержащий протокол именования графиков:

*TRAN sweep option[temp] run l of ll (tl)

option[temp] 20 -> l5

*TRAN sweep option[temp] run 2 of ll (t2)

option[temp] 20 -> 16

*TRAN sweep option[temp] run 3 of 11 (t3)

option[temp] 20 -> ll

Рис. 10. Задание фактической температуры схемы

-ТЩ

Andyiei/Opbom Enabled Tempe«a»ue Sweep SeM>

Gene» a/ S*« Pa»amet« Value

0pe»a<ng Par* Ana^» 0 0 □ Si»' T «upvalue 1500

DC SwMpAnafcp» ACSimI SviaJAna^m None Anafy-tn PoteZaroAftt^m Stop Temparaiue 25 00

Step T empaahse 1000

□ □

■ Г.'ТП^Г^И *

Morte Carto A4*onc«d Opbora □ □

J

Рис. її. Задание диапазона изменения температур

Компоненты и технологии, № 7'2003

Отсюда следует простой вывод: чтобы добиться повторяемости результатов, полученных при множественных запусках анализа переходных процессов, необходимо контролировать начальные условия. Система Protel DXP предоставляет такую возможность с помощью специальных объектов. Рассмотрим, как это делается, а заодно рассмотрим функцию подключения библиотек к системе.

Учет начальных условий

1. Щелкнем на вкладке документа Multivibrator simulation.SchDoc и вернемся в редактор схем.

2. Выполним команду меню Design/Add/ Remove Library.

3. В открывшемся окне Available Libraries нажмем кнопку Install.

4. Откроется стандартное окно выбора файла, в котором укажем библиотеку Simulation Sources.IntLib, размещенную в папке C:\ Program Files\Altium\Library\Simulation, и нажмем кнопку «Открыть». Указанная библиотека окажется в списке подключенных на вкладке Installed диалогового окна Available Libraries (рис. 13).

cc*am_vi2_l01

odetfcu

с0*ес»01_и2_ЮЗ • cdectoi_ vt2_t05

d)

Рис. 12. Результаты анализа при изменении температуры

*TRAN sweep option[temp] run 4 of 11 (t4)

option[temp] 20 -> 18

*TRAN sweep option[temp] run 5 of 11 (t5)

option[temp] 20 -> 19

*TRAN sweep option[temp] run 6 of 11 (t6)

option[temp] 20 -> 20

*TRAN sweep option[temp] run 7 of 11 (t7)

option[temp] 20 -> 21

*TRAN sweep option[temp] run 8 of 11 (t8)

option[temp] 20 -> 22

*TRAN sweep option[temp] run 9 of 11 (t9)

option[temp] 20 -> 23

*TRAN sweep option[temp] run 10 of 11 (t10)

option[temp] 20 -> 24

*TRAN sweep option[temp] run 11 of 11 (t11)

option[temp] 20 -> 25

Легко видеть, что температуре в 20 °С будет соответствовать сигнал с суффиксом 16, то есть со11ес1ог_у12_1б.

15. Щелкнем левой кнопкой мыши на названии сигнала со11ес1ог_у12_1б справа от графика.

Выделенный нами из набора сигнал в точности совпадает с сигналом, представленным на верхней диаграмме для фиксированной температуры (рис. 12, Ь).

18. Щелчком левой кнопки мыши или вращением ролика мыши активируем сигналы, полученные для других значений температуры.

Легко видеть, что вид даже соседнего сигнала со11ес1ог_у12_15, полученного при темпера----------------------www.finestreet.ru-

туре 19 градусов, будет сильно отличаться от сигнала со11ес1ог_у12_1б (рис. 12, с). В чем ошибка? На самом деле, никакой ошибки нет, а полученный эффект — это всего лишь результат одной из особенностей численного моделирования, которую надо знать и учитывать.

Дело в том, что моделируемый нами мультивибратор является симметричным устройством. В реальном устройстве симметричные компоненты схемы никогда не будут одинаковыми, и это приведет к тому, что один из транзисторов откроется раньше. А значит, сколько бы раз мы не включали питание, начальная фаза колебаний мультивибратора будет приблизительно одинакова.

При моделировании же мы используем идеальные одинаковые компоненты, взятые из одинаковых библиотек и имеющие абсолютно одинаковые параметры. Схема при этом является абсолютно симметричной, а начальная фаза колебаний является случайной и определяется цифровым шумом, возникающим вследствие представления чисел в формате с плавающей точкой. Таким образом, сигнал со11ес1ог_у12_15 был получен в ходе многократного запуска программы моделирования при других случайных начальных условиях и оказался инвертированным по фазе, что подтверждает вид сигнала со11ес1ог_у11_15 (рис. 12, й).

5. Нажмем кнопку Close, чтобы закрыть окно.

6. Выполним команду меню Place/Part.

7. В открывшемся окне Place Part нажмем кнопку, расположенную справа от текстового поля Lib Ref.

8. В открывшемся окне Browse Library в списке подключенных библиотек выберем строку Simulation Sources.IntLib.

9. В списке Component Name выберем компонент .IC (рис. 14).

colec»ot_vt2_l01

cofctdcx_vt2_tQ2

cotec<o«_vt2_t03

cofcdo«_v»2_l04 coledo<_vt2_t05 cotec) o»_vl2_t06 colecto<_vt2_t07 cotec)i*_v42_l08 *

Рис. 13. Окно подключения библиотек

P>C*KI Vrtijied I p«h I

MOV* UP

e

Компоненты и технологии, № 7'2003

Обратите внимание, что это та самая библиотека, в которой хранится используемый нами в схеме источник питания VSRC. Использование специальной панели инструментов избавило нас от необходимости искать и подключать данную библиотеку. Компонент вызывался из нее нажатием всего одной кнопки и приобретал заданные параметры благодаря специфическим настройкам ресурсов среды проектирования. Позднее мы рассмотрим и эти возможности системы Protel DXP.

10. Нажатием кнопки OK закроем окно Browse Library.

11. В окне Place Part будет указан компонент .IC. Закроем это окно нажатием кнопки OK. Редактор схем перейдет в режим размещения компонентов, и к указателю мыши будет «приклеен» символ задания начальных условий.

12. Переместим указатель мыши таким образом, чтобы единственный вывод символа .IC касался цепи коллектора транзистора QVT2, и щелкнем левой кнопкой мыши. Компонент окажется размещенным на схеме (рис. 15), а система предложит разместить следующий символ.

13. Нажатием правой кнопки мыши или клавиши Esc выйдем из режима размещения.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

14. Нажатием кнопки Cancel закроем появившееся окно Place Part, предлагающее выбрать новый компонент.

Рис. 16. Результаты анализа при изменении температуры

15. Выполним двойной щелчок левой кнопкой мыши на символе .IC. Откроется знакомое нам окно Component Properties.

16. Прежде всего, в поле Designator введем позиционное обозначение IC1.

17. Выключим опцию Visible напротив поля Comment.

18. Выполним двойной щелчок левой кнопкой мыши на имени модели для моделирования (тип Simulation) в списке Models for IC.

19. В открывшемся окне Sim Model — Initial Condition на вкладке Parameters включим опцию Component Parameter, введем в поле Initial Voltage значение 12 и нажатием кнопки OK закроем окно. Параметр Initial Voltage появится в списке Parameters for IC.

20. Нажатием кнопки OK закроем окно Component Properties.

Теперь нам остается лишь включить учет

начальных условий при анализе переходных

процессов.

21. Нажмем кнопку Setup Mixed-Signal Simulation на панели инструментов Mixed Sim, чтобы открыть окно настройки моделирования Analyses Setup.

22. Щелкнем левой кнопкой мыши на строке Transient Analysis в списке Analyses/ Options слева.

23. Включим «галочку» в строке Use Initial Condition (учитывать начальные условия), в списке в правой части окна нажмем кнопку OK.

24. Нажатием кнопки Run Mixed Signal Simulation на панели инструментов Mixed Sim или горячей клавиши F9, запустим процесс моделирования. Система переключится в режим отображения документа Multivibrator.sdf.

25. Вращением ролика мыши или с помощью линеек прокрутки добьемся, чтобы на экране отображалась временная диаграмма сигнала collector_vt2.

Теперь начальная фаза колебаний строго зафиксирована, а изменение температуры сейчас влияет на период колебаний, что хорошо заметно на четвертом импульсе в правой части графика.

26. С помощью мыши выделим участок графика, как показано на рис. 12, а.

Сдвиг переднего фронта импульса теперь монотонно зависит от изменения температуры и не противоречит здравому смыслу (рис. 16, b). В данной схеме присутствуют только два температурно-зависимых устройства— это транзисторы QVT1 и QVT2. Резисторы и конденсаторы описаны идеальными моделями, не зависящими от температуры.

Отметим, что в системе Protel DXP предусмотрен еще один служебный компонент .NS, позволяющий задавать начальное напряжение в узле схемы, которое будет учитываться при предварительном проходе расчета рабочих точек (Operating Point Analysis). Этот компонент также хранится в библиотеке Simulation Sources.IntLib.

Итак, на данном занятии основное внимание было уделено параметрическому анализу. На следующем уроке мы продолжим рассмотрение возможностей системы моделирования на новых примерах.

i Надоели баннеры? Вы всегда можете отключить рекламу.