OrCAD 10.5 для начинающих пользователей
В 2003–2006 годах автором был опубликован ряд статей [2–10] для опытных пользователей, владеющих системой OrCAD. Целью данной статьи является дать возможность начинающим в короткие сроки освоить эту систему проектирования.
Задача данной статьи — познакомить начинающих пользователей со схемотехническим проектированием с помощью системы OrCAD. Основной акцент сделан на процессе проектирования — от создания принципиальной схемы до моделирования проекта в PSpice.
В данной статье мы познакомимся с двумя программами пакета OrCAD: редактором схем Capture и программой цифро-аналогового моделирования PSpice A/D.
Проект full adder, описанный в этой статье, — иерархический проект, который имеет два блока half adder. Half adder — схема логического полусумматора, состоящая из набора вентилей. Она складывает две двоичные цифры и выдает сигнал переноса, однако не прибавляет к сумме возможный разряд переноса от предыдущего суммирования. Чтобы учесть этот разряд, используется второй полусумматор. Таким образом, из полусумматоров образуется схема полного сумматора.
Создание проекта схемы в OrCAD Capture
Создавая новый проект схемы в Capture, рекомендуется следовать следующим правилам:
- Необходимо избегать длинных названий путей и названий файлов. Это необходимо для использования вашего проекта другими программами.
- Необходимо избегать использования специальных символов для обозначения цепи, узла, проекта или библиотеки. Использование упомянутых ниже запрещенных символов при обозначении цепей может привести к ошибкам процесс составления списка соединений и вследствие этого к срыву процесса моделирования. Запрещенные символы: ?, @, ~, #, &, %, «, !, (), <, =, >, [ ], ∗.
Для создания нового проекта воспользуемся Project Wizard (мастером проектов) редактора схем Capture. Project Wizard обеспечивает структуру для создания любого вида проекта.
- Запустим редактор схем Capture
с помощью кнопки Capture в меню Пуск.
- В меню File выберем New/Project.
- В диалоговом окне New Project (рис. 1) определим название проекта как FullAdd.
- Определим тип проекта, выбрав Analog or Mixed A/D.
- Определим место, где должны быть созданы файлы проекта, и щелкнем OK.
- В диалоговом окне Create PSpice Project (рис. 2) выберем вариант Create a blank project.
- Для завершения создания проекта FullAdd щелкнем OK.
В случае, если уже имеется файл схемы проекта (.dsn), который необходимо промоделировать, используя PSpice, нужно создать проект Analog or Mixed A/D, используя команду File/New/Project, после чего добавить имеющуюся схему к проекту.
Проект FullAdd создан. В окне Project Manager создан файл проекта fulladd.dsn. Ниже файла проекта создана папка с названием SCHEMATIC1. Эта папка содержит страницу схемы по имени PAGE1.
Изменим название схемной папки и страницы схемы на HALFADD:
- В окне Project Manager щелкнем правой кнопкой мыши на SCHEMATIC1.
- Выберем Rename в открывшемся меню.
- В диалоговом окне Rename Schematic определим название как HALFADD.
- Точно так же щелкнем правой кнопкой мыши на PAGE1 и выберем Rename в открывшемся меню.
- В диалоговом окне Page Rename определим название страницы как HALFADD и щелкнем OK. Структура каталога в окне Project Manager после переименования схемной папки и страницы схемы показана на рис. 3.
Прежде чем начать процесс создания проекта в OrCAD Capture, можно с помощью шаблона проекта определить характеристики проекта по умолчанию. Шаблон проекта может использоваться для определения по умолчанию шрифтов, размера страницы, штампа, размера сетки и т. д. Для установки шаблона проекта в Capture используется диалоговое окно Design Template. Чтобы открыть диалоговое окно Design Template, в меню Options выберем Design Template.
Опция Design Template определяет характеристики нового проекта, которые могут быть определены для отдельных страниц схемы. Вкладки диалогового окна этой опции изображены на рис. 4.
Шрифты текстов для различных объектов, помещаемых на схеме, задаются на вкладке Fonts (рис. 4). Надписи углового штампа задаются на вкладке Title Block (рис. 5).
На вкладке Page Size (рис. 6) указывается система единиц, устанавливаемая по умолчанию (дюймы или миллиметры), и размер листа схемы: А, В, С, D, Е (в дюймах), А4, A3, А2, А1, А0 (в миллиметрах) или Custom (размеры задаются пользователем). В поле Pin-to-Pin Spacing указывается минимальное расстояние между выводами компонентов в условном графическом обозначении (УГО) элементов, одновременно этот параметр определяет размер шага сетки.
Параметры рамки вокруг листа схемы задаются на вкладке Grid Reference (рис. 7):
- Count — количество граф на рамке по горизонтали и вертикали;
- Alphabetic — нумерация граф в алфавитном порядке;
- Numeric — нумерация граф в числовом порядке;
- Ascending — простановка номеров граф рамки в возрастающем порядке;
- Descending — простановка номеров граф рамки в убывающем порядке;
- Width — ширина рамки по горизонтали и вертикали;
- Border Visible — отображение границ страницы на дисплее (Displayed) и при выводе на печать (Printed);
- Grid Reference Visible — отображение рамки листа схемы на дисплее (Displayed) и при выводе на печать (Printed);
- Title Block Visible — отображение основной надписи на дисплее (Displayed) и при выводе на печать (Printed);
- ANSI grid references — изображение рамки листа схемы по стандарту ANSI.
Параметры, принимаемые по умолчанию при создании новых иерархических блоков (Hierarchical Blocks) и элементов (Parts) указываются на вкладке Hierarchy (рис. 8):
- Primitive — примитивные компоненты;
- Nonprimitive — компоненты с иерархической структурой.
На вкладке SDT Compatibility (рис. 9) устанавливается соответствие 8 полей параметров символов компонентов в редакторе схем Capture полям символов компонентов в формате DOS-версии OrCAD Schematic Design Tools (SDT 386+), используемое при сохранении проекта в формате SDT.
Для изменения параметров текущего проекта в меню Options выберите опцию Schematic Page Properties — при этом откроется диалоговое окно, показанное на рис. 10.
Это диалоговое окно имеет три вкладки: Page Size, Grid Reference и Miscellaneous. Изменение параметров текущей страницы схемы выполняется на вкладке Page Size. При этом на этой вкладке можно изменить размер схемы и систему единиц и нельзя изменить параметр Pin-to-Pin Spacing. На вкладке Miscellaneous можно только просмотреть информацию о проекте.
Создание плоского (одноуровневого) проекта
Создадим простой плоский проект half adder с входами X и Y и выходами SUM и CARRY (рис. 11).
Для добавления элемента к проекту:
- В меню Place в редакторе Capture выберем Part.
- В диалоговом окне Place Part (рис. 12) сначала выберем библиотеку, из которой элемент должен быть добавлен, а затем поместим элемент на странице схемы. Вентили,
- Точно так же изменим название второго порта на Y.
Замечание: для размещения портов нельзя использовать диалоговое окно Place Part, потому что порты в библиотеке CAPSYM.OLB являются символами, а не компонентами. В диалоговом окне Place Part перечислены только компоненты.
- Добавим два выходных порта, как показано на рис. 11. Для этого выберем PORTLEFT-L в библиотеке CAPSYM.
- Переименуем порты на SUM и CARRY соответственно.
- Сохраним проект, нажав кнопку Save. Проект half adder готов. На следующем шаге создадим проект full adder, который будет использовать проект half adder.
В Capture можно создать иерархические проекты, используя один из следующих методов:
- Bottom-up method (восходящий метод);
- Top-down method (нисходящий метод).
Другим методом создания иерархического проекта является разработка элементов или символов для проектов на самом низшем уровне и сохранение символов в определенной пользователем библиотеке. Позже можно добавить такую библиотеку к проекту и использовать ее символы в схеме. Например, можно создать элемент для проекта half adder, а затем вместо иерархических блоков использовать этот элемент на схеме.
В этом разделе мы создадим иерархический проект full adder. Проект half adder, созданный в предыдущем разделе, будет использован как самый низший уровень нового проекта.
Восходящий метод создания иерархического проекта
При создании иерархического проекта с использованием восходящей методологии необходимо выполнить следующие операции:
- создать проект самого низшего уровня;
- создать проекты более высокого уровня, которые проиллюстрировали бы в форме иерархических блоков проекты низшего уровня.
В этом разделе мы рассмотрим создание проекта full adder по восходящей методологии. Для этого выполним следующие операции:
- Создадим проект в Capture. Необходимые операции приведены в разделе «Создание проекта».
- Создадим проект самого низшего уровня. В нашем случае это проект half adder (см. раздел «Создание плоского (одноуровневого) проекта»).
- Создадим схему для проекта full adder, которая использует имеющийся проект half adder.
Для создания проекта full adder выполним следующие операции:
- В окне Project Manager щелкнем правой кнопкой мыши на fulladd.dsn и выберем New Schematic.
- В диалоговом окне New Schematic определим название новой схемной папки как FULLADD и нажмем OK. В окне Project Manager папка FULLADD ниже fulladd.dsn.
- Сохраним проект.
- Для того чтобы сделать схему full adder корневой схемой высокоуровневого проекта, щелкнем правой кнопкой мыши на FULLADD и в открывшемся меню выберем Make Root. Папка FULLADD переместится вверх, и на ней появится косая черта.
- Щелкнем правой кнопкой мыши на FULLADD и выберем New Page.
- В диалоговом окне New Page in Schematic определим название страницы как FULLADD и щелкнем OK. Ниже схемной папки FULLADD добавится новая страница FULLADD.
- Чтобы открыть ее для редактирования, дважды щелкнем на ее имени.
- В меню Place выберем Hierarchical Block.
- В диалоговом окне Place Hierarchical Block определим позиционное обозначение Reference как HALFADD_A1.
- Определим Implementation Type как Schematic View.
- Определим Implementation name как HALFADD и щелкнем OK. Курсор изменится на перекрестие.
- Растянем прямоугольник на странице схемы. При этом на странице нарисуется иерархический блок с входными и выходными портами (рис. 17).
- Если потребуется, изменим размеры блока. Кроме того, переставим входные и выходные порты на блоке. Для проверки правильности иерархического блока щелкнем на нем правой кнопкой мыши и выберем Descend Hierarchy. Откроется созданный ранее проект half adder.
- Поместим другой образец иерархического блока на страницу схемы. Для этого:
- Выберем иерархический блок.
- В меню Edit выберем Copy.
- В меню Edit выберем Paste.
- Поместим образец блока в нужном месте. Для копирования и вставки копии блока можно также использовать сочетание клавиш <Ctrl> + <C> и <Ctrl> + <V>.
- По умолчанию позиционное обозначение для второго иерархического блока — HALFADD_A2. Дважды щелкнем по позиционному обозначению и изменим его на HALFADD_B1.
- Добавим вентиль OR (7432) к схеме, используя диалоговое окно Place Part (рис. 18).
- Для соединения блоков добавим проводники к схеме, для этого в меню Place выберем Wire.
- Протянем проводники от всех четырех портов до каждого иерархического блока.
- Добавим проводники, чтобы выполнить все подключения, показанные на рис. 18.
- Добавим источник сигнала для проекта. В диалоговом окне Place Part нажмем кнопку Add Library, чтобы добавить библиотеку SOURCSTM.OLB к проекту. Эта библиотека расположена в папке /tools/capture/library/pspice.
- В Part List выберем DigStim1 и щелкнем OK. УГО элемента приклеится к курсору.
- Поместим УГО источников сигнала рядом с тремя входными портами: портом X HALFADD_A1, портами X и Y HALFADD_B1.
- Щелкнем правой кнопкой мыши на схеме и выберем End Mode.
- Определим значение Implementation property как Carry, X и Y соответственно (рис. 19).
- Для добавления выходного порта CARRY_OUT к выходу вентиля OR (рис. 19) нажмем кнопку Place Port.
- Выберем CAPSYM в списке библиотек.
- В списке УГО выберем PORTLEFT-L и щелкнем OK.
- Поместим выходной порт, как показано на рис. 19.
- Дважды щелкнем по названию порта и изменим его на CARRY_OUT.
- Сохраним проект.
Добавим биполярный транзистор к порту SUM блока HALFADD_A1. Для этого:
- Щелкнем по кнопке Place Part панели инструментов режима редактирования схем.
- В диалоговом окне Place Part нажмем кнопку Add Library.
- Выберем библиотеки ANALOG.OLB и BIPOLAR.OLB и нажмем Open.
- Из списка элементов добавим резистор R. Поместим этот резистор на схеме и подсоединим один конец резистора к порту SUM блока HALFADD_A1 (рис. 20).
- В библиотеке BIPOLAR.OLB выберем Q2N2222 и поместим его на схему (рис. 20).
- Чтобы закончить схему, необходимо добавить коллекторное сопротивление, источник коллекторного напряжения и «землю» (рис. 20).
Для того чтобы добавить источник коллекторного напряжения:
- Добавим к проекту библиотеку SOURCE.OLB.
- В Part List выберем VDC и щелкнем OK.
- Поместим источник напряжения на схеме.
- По умолчанию источник имеет напряжение 0 В. Используя Property Editor, изменим его напряжение на 5 В, для чего дважды щелкнем по источнику напряжения.
- В окне Property Editor изменим значение параметра DC на 5.
- Сохраним и закроем окно Property Editor. Для того чтобы добавить «землю»:
- Нажмем кнопку Place ground
панели инструментов режима редактирования схем.
- В диалоговом окне Place Ground выберем библиотеку SOURCE.
- Из списка элементов выберем элемент 0 и щелкнем OK.
- Поместим УГО «земли» на схеме (рис. 20).
- Замечание. Нужно использовать элемент «земли» 0 из библиотеки элементов SOURCE.OLB. Можно использовать любой другой элемент «земли», только если его название изменено на 0.
Поскольку компоненты, использованные в этом проекте, взяты в библиотеке PSpice, можно промоделировать проект, используя PSpice.
Нисходящий метод создания иерархического проекта
При создании иерархического проекта с использованием нисходящей методологии воспользуемся следующей последовательностью операций:
- создадим проект верхнего уровня, используя функциональные блоки, входы и выходы которых известны;
- создадим проект схемы для функционального блока, используемого в проекте верхнего уровня.
Кратко рассмотрим операции, которые необходимо выполнить для создания проекта full adder по нисходящей методологии.
- Кратко рассмотрим операции, которые необходимо выполнить для создания проекта full adder по нисходящей методологии.
- Создадим проект верхнего уровня, для чего сделаем следующее:
- В меню Place выберем Hierarchical Block или нажмем кнопку Place hierarchical block
панели инструментов режима редактирования схем.
- В диалоговом окне Place Hierarchical Block определим позиционное обозначение (Reference) как HALFADD_A1, Implementation Type как Schematic View, Implementation name как HALFADD и щелкнем OK.
- Повторим операции 9–11 из раздела «Восходящий метод создания иерархического проекта».
- Растянем иерархический блок до необходимых размеров. В отличие от иерархического блока, нарисованного по восходящей методологии, он не имеет присоединенных к нему портов.
- Выберем иерархический блок и затем в меню Place выберем Hierarchical Pins.
- В диалоговом окне Place Hierarchical Pin определим название вывода как X, Type как Input, Width как Scalar и нажмем OK.
- Поместим входной вывод, как показано на рис. 21.
- Точно так же добавим другой входной вывод Y и два выходных вывода SUM и CARRY, как показано на рис. 22.
- Поместим на схему второй точно такой же иерархический блок. Самый легкий способ сделать это — скопировать существующий иерархический блок и вставить его на страницу схемы. По умолчанию позиционное обозначение второго иерархического блока HALFADD_A2. Изменим это значение на HALFADD_B1 (рис. 23).
- Закончим схему full adder, добавив для этого порты, проводники и источники сигналов (рис. 20). Сохраним проект.
- Нарисуем проект низшего уровня. Для full adder проектом низшего уровня является схема half adder. Для того чтобы нарисовать проект half adder:
- Щелкнем правой кнопкой мыши на любом из иерархических блоков HALFADD.
- В открывшемся меню выберем Descend Hierarchy.
- Откроется диалоговое окно New Page in Schematic. Определим название страницы как HALFADD и нажмем OK. Новая страница схемы появится с двумя входными портами X и Y и двумя выходными портами SUM и CARRY (рис. 24).
На этой странице схемы теперь можно нарисовать схему half adder, используя операции, описанные в разделе «Создание плоского (одноуровневого) проекта». В окне Project Manager новая схемная папка HALFADD добавлена ниже fulladd.dsn (рис. 25).
Создание условного графического обозначения для схемы
Вместо того чтобы создавать иерархический блок для проекта half adder, можно сгенерировать условное графическое обозначение (УГО) для проекта half adder и затем многократно использовать его в любом проекте, когда потребуется.
В этом разделе мы сгенерируем УГО для схемы half adder, которая создана в разделе «Создание плоского (одноуровневого) проекта». Для этого выполним следующие операции:
- В окне Project Manager выберем курсором папку HALFADD.
- В меню Tools выберем Generate Part.
- В диалоговом окне Generate Part (рис. 26) определим местоположение файла проекта, который содержит схему, для которой должно быть создано УГО. Для этого примера проекта определим местоположение fulladd.dsn.
- В разворачивающемся списке Netlist/source file type определим исходный тип проекта как Schematic Capture.
- В текстовом поле Part Name определим название УГО как HALFADD.
- Определим название и местоположение библиотеки, которая будет содержать это вновь создаваемое УГО. Для текущего примера проекта определим название библиотеки как fulladd.olb.
- Если необходимо, чтобы исходная схема была сохранена наряду с новым УГО, поставим флажок Copy schematic to library.
- Убедимся, что выбрана опция Create new part.
- Для определения схемной папки, содержащей проект, для которого должно быть сделано УГО, выберем HALFADD из разворачивающегося списка Source Schematic name.
- Нажав OK, сгенерируем УГО HalfAdd. Новая библиотека fulladd.olb будет создана и отображена под папкой Outputs в окне Project Manager. Она также будет добавлена в диалоговом окне Place Part. Можно теперь для добавления схемы half adder к любому проекту использовать диалоговое окно Place Part.
Навигация в иерархическом проекте
Для того чтобы переместиться на более низкий уровень иерархии, щелкнем правой кнопкой мыши на иерархическом блоке и выберем Descend Hierarchy. Точно так же для передвижения вверх по иерархии щелкнем правой кнопкой мыши и выберем Ascend Hierarchy. Опции меню Ascend Hierarchy и Descend Hierarchy доступны и в меню View.
Работая с иерархическими проектами, можно делать изменения в иерархических блоках, так же как и в схемах на самом низшем уровне. Сохранять различные иерархические уровни с изменениями можно, используя опции Synchronize, доступные в меню View. Выберем Synchronize Up, если были сделаны изменения на самом низшем уровне проекта и необходимо, чтобы эти изменения были отражены на более высоком уровне. Выберем Synchronize Across, если сделаны изменения в иерархическом блоке и необходимо, чтобы они были отражены во всех образцах блока. Выберем Synchronize Down, если сделаны изменения в иерархическом блоке и необходимо, чтобы они были отражены в проекте самого низшего уровня.
После создания проекта схемы необходимо добавить информацию для таких задач, как моделирование и разводка печатной платы.
Добавление позиционных обозначений элемента
Для передачи проекта схемы в OrCAD Layout (программу разводки печатных плат) все компоненты в проекте должны быть однозначно определены позиционным обозначением элементов. В Capture можно назначить позиционное обозначение либо вручную, либо при использовании команды Annotate.
В проекте full adder аннотация на данном этапе не требуется, потому что по умолчанию позиционные обозначения элемента присоединены ко всем компонентам. Расстановка позиционных обозначений выполнена автоматически — по умолчанию Capture добавляет позиционное обозначение элемента на все компоненты, помещаемые на страницу схемы. Если требуется, можно отключить эту особенность, выполнив следующие операции:
- В меню Options выберем Preferences.
- В диалоговом окне Preferences выберем закладку Miscellaneous.
- В поле Auto Reference уберем галочку перед командой Automatically reference placed parts.
- Чтобы сохранить эти установки, нажмем OK.
Если компоненты в проекте не имеют позиционных обозначений, необходимо выполнить команду Annotate.
Чтобы назначить позиционное обозначение элемента на компоненты в проекте FULLADD с помощью команды Annotate, выполним следующие операции:
- В окне Project Manager выберем файл fulladd.dsn.
- В меню Tools выберем Annotate
или нажмем кнопку Annotate на панели инструментов.
Диалоговое окно команды Annotate приведено на рис. 27, на нем имеются следующие поля:
- Scope (возможности):
- Update entire design — обновить позиционные обозначения и упаковочную информацию всего проекта;
- Update selection — обновить позиционные обозначения и упаковочную информацию выбранной части проекта.
- Action (операции):
- Incremental reference update — обновить позиционные обозначения и упаковочную информацию компонентов, у которых вместо номера проставлен знак вопроса «?», при этом номера компонентов увеличиваются на единицу;
- Unconditional reference update — обновление позиционных обозначений и упаковочной информации всех компонентов в выбранной области;
- Reset part reference to «?» — замена номеров компонентов на «?»;
- Add Intersheet Reference — добавление ссылок на другие страницы;
- Delete Intersheet Reference — удаление ссылок на другие страницы.
- Mode (режим):
- Update Occurrences — обновление параметров всех индивидуальных образцов компонента;
- Update Instances — обновление параметров компонента и всех ссылок на него.
- Physical Packaging (автоматическая упаковка компонентов в соответствии с указанными свойствами):
- Combined property string — строка свойств.
- Reset reference numbers to begin at 1 in each page — начинать с 1 нумерацию позиционных обозначений однотипных компонентов на каждой странице.
- Do not change the page number — не изменять номер страницы.
- В позиции Packaging диалогового окна Annotate определим необходимость изменения полного проекта или только элемента проекта. Выберем опцию Update entire design.
- В поле Actions выберем опцию Incremental reference update.
- Проект full adder — сложный иерархический проект. Для него выберем опцию Update Occurrence.
Замечание: Когда выбирается опция Update Occurrence, можно получить предупреждающее сообщение. Игнорируйте это сообщение, потому что для всех сложных иерархических проектов режим Occurrence является предпочтительным.
- Для остальных опций примем значения по умолчанию и щелкнем OK для сохранения выбранных установок. Откроется окно Undo Warning message.
- Нажмем Yes. Откроется окно отчета с уведомлением, что будет создана аннотация.
- Нажмем OK. В проекте будут проставлены позиционные обозначения компонентов, и он будет сохранен. Можно рассмотреть обновленные позиционные обозначения на странице схемы.
Создание отчета Cross reference
Используя Capture, можно создать отчет Cross reference для всех элементов в проекте. Отчет Cross reference содержит такую информацию, как название элементов, их позиционные обозначения и библиотеки, из которых был выбран элемент.
Для генерации отчета cross reference:
- В меню Tools выберем Cross References или на панели инструментов нажмем кнопку Cross Reference Parts
.
- В диалоговом окне Cross Reference Parts (рис. 28) выберем опцию Cross reference entire design. Если необходимо сгенерировать отчет Cross reference для специфической схемной папки, выберем перед открытием диалогового окна Cross Reference Parts схемную папку.
- В поле Modeвыберем опцию Use Occurrences.
- Определим отчет, который необходимо создать.
- Если необходимо, чтобы отчет автоматически был выведен на экран, поставим галочку в поле View Output.
- Нажмем OK, чтобы сгенерировать отчет. Типовой выходной отчет показан на рис. 29.
Продолжение следует
Литература
- Разевиг В. Д. Система проектирования OrCAD 9.2. М.: Солон-Р. 2001.
- Златин И. Моделирование на функциональном уровне в OrCAD 9.2 // Компоненты и технологии. 2003. № 3–4.
- Златин И. В Монте-Карло с OrCAD 9.2 //Компоненты и технологии. 2003. № 5.
- Златин И. Графический анализ результатов моделирования в OrCAD 9.2 // Компоненты и технологии. 2003. № 7.
- Златин И. Программа Advanced Analysis и режим анализа Smoke в PSD 15.0 и OrCAD 10.0 //Компоненты и технологии. 2005. № 4.
- Златин И. Программа Advanced Analysis и режим анализа Sensitivity в PSD 15.0 и OrCAD 10.0 //Компоненты и технологии. 2005. № 5.
- Златин И. Программа Advanced Analysis и режим анализа Optimizer в PSD 15.0 и OrCAD 10.0 //Компоненты и технологии. 2005. № 6, 8.
- Златин И. Программа Advanced Analysis и режим анализа Monte Carlo в PSD 15.0 и OrCAD 10.0 //Компоненты и технологии. 2005. № 9.
- Златин И. Программа Advanced Analysis и режим анализа Troubleshooting в PSD 15.0 и OrCAD 10.0 //Компоненты и технологии. 2006. № 1.
- Златин И. Программа Advanced Analysis и режим анализа Parametric Plotter в OrCAD 10.3 //Компоненты и технологии. 2006. № 2.