Пристрої формування сигналів у безкоштовній програмі QSPICE
У статті наведена коротка інформація про пристрої формування сигналів у безкоштовній програмі моделювання аналогових та цифрових пристроїв QSPICE від компанії Qorvo. Показані особливості налаштування та роботи з пристроями.
В. Макаренко
Приклади використання пристроїв у QSPICE
У третій частині статті розглянемо приклади використання розглянутих пристроїв та інші пристрої програми QSPICE.
Амплітудний модулятор та детектори
Модулятор та детектор на основі довільного джерела
На рис. 1 наведена модель амплітудного модулятора та детектора АМ-сигналів на основі довільного джерела напруги. З сигналів генераторів напруги V1 (джерела модулюючого коливання) та V2 (джерела носійного коливання) за допомогою довільного джерела напруги В1 формується АМ-сиг- нал, а за допомогою В2, яке виконує функцію вилучення квадратного кореня, формується однополяр- ний сигнал (рис. 2). Нагадаємо параметри генератора напруги: sine 1.2 1 2K – синусоїдальний сигнал з постійним зміщенням 1.2 В, амплітудою 1 В та частотою 2 кГц.


Синхронний детектор
На основі генератора довільної форми можна побудувати синхронний детектор шляхом множення АМ-сигналу на сигнал носійної частоти. На рис. 3 генератор В2 виконує функцію аналогового перемножувача напруги. Результат детектування наведений на рис. 4.


Детектор з функцією abs(x)
На основі генератора довільної форми можна побудувати детектор іншим способом. На рис. 5 генератор В2 виконує функцію знаходження абсолютної величини. Результат детектування наведений на рис. 6.


Використання функції buf
Ще одна функція довільного джерела напруги – buf. Ця функція формує на виході генератора напругу з рівнем 1 В при умові, що х більше 0.5, а в усіх інших випадках формує 0. Модель з використанням функції buf наведена на рис. 7, а результат виконання моделювання – на рис. 8. Коли амплітуда АМ-сиг- налу перевищує 0.5 В, на виході В2 формується пакет імпульсів з частотою носійного коливання амплітудою 1 В.


Функції генератора довільної форми
Перелік функцій
- abortsim(x) – симуляція зупиняється коли x > 5, в іншому випадку повертає значення x
- abs(x) – абсолютне значення x
- acos(x), arccos(x) – arccos(x)
- acosh(x) – повертає гіперболічний косинус числа x
- asin(x) – arcsin(x)
- arcsin(x) – синоним asin()
- asinh(x) – гіперболічний арксинус числа х
- atan(x) – arctn(x)
- arctan(x) – синоним atan()
- atan2(y,x) – чотирьохквадрантний arctn y/x
- atanh(x) – гіперболічний arctn
- buf(x) – 1 при x > 0.5, в інших випадках 0
- ceil(x) – ціле число, рівне або більше x
- cos(x) – косинус x
- cosh(x) – – гіперболічний косинус x
- ddt(x) – похідна за часом від x
- delay(x,y) – x затримується на y
- delay(x,y,z)2 – x затримується на y, але зберігає історію не більше ніж на z
- dlim(x,y,z) – x, обмежений y, до якого він асимптотично починає наближатися при y + z як до першого ряду Лорана зворотного порядку
- exp(x) – ex
- floor(x) – ціле число, рівне або менше x
- hypot(x,y) – sqrt(x2 + y2)
- idt(x,y,z) – інтеграл часу від x з початковою умовою, скидається у 0 коли z>0.5
- if(x,y,z) – якщо x > 0.5, то y, інакше z
- int(x) – перетворює x у ціле число
- inv(x) – 0 якщо x > 0.5, в іншому випадку 1
- limit(x,y,z) – проміжне значення x, y і z
- ln(x) – натуральний логарифм від x
- log(x) – альтернативний синтакс для ln()
- log10(x) – логарифм за основою 10
- max(x,y) – найбільше зі значень x або y
- min(x,y) – найменше зі значень x або y
- pow(x,y) – xy
- pwr(x,y) – abs(x)y
- pwrs(x,y) – sgn(x)-abs(x)y – повертає представлення числа у вигляді значення типу Integer (String), яке позначає знак числа abs(x)y
- random(x) – випадкове число від 0 до 1 в залежності від цілого значення x, інтерполяція між випадковими числами лінійна для нецілих значень x
- resetwave(x) – очищає дані форми сигналу, якщо x>0.5
- sin(x) – синус x
- sinh(x) – гіперболічний синус x
- sqrt(x) – квадратний корінь з x
- state(n,x) – значення часу, що пройшов x n кроків назад, n округлюється до найближчого цілого числа і обмежується діапазоном від 0 до 3
- table(x,a,b,c,d,…) – інтерполяція x з довідкової таблиці, представленої у вигляді набору пар постійних значень
- tan(x) – тангенс x
- tanh(x) – гіперболічний тангенс x
- ulim(x,y,z) – x, обмежений y, до якого він асимптотично починає наближатися в точці y-z як до першого ряду Лорана зворотного порядку
Приклад використання функції delay
Наведемо ще одну модель в якій використано функцію delay (рис. 9). На рис. 10 наведено результат затримки АМ-сигналу (червона крива) на 10 мкс.


Всі функції перелічені вище використовуються також у генераторах струму.
Пристрій F – джерело струму що управляється струмом
F-пристрій визначає струм в пристрої <назва> і передає струм між вузлами N+ і N-.
Синтакс Fnnn N+ N- <назва> <підсилення>.
Відношення вихідного струму до вимірюваного струму задається за допомогою коефіцієнта підсилення <gain>. Чутливим елементом може бути будь- який елемент, внутрішньо представлений у вигляді еквівалентної схеми, тобто E, H, L або V-пристрої. В- пристрій також може використовуватися в якості чутливого елемента, якщо В пристрій формує напругу.
F-пристрій було реалізовано в SPICE для того, щоб застосувати теорію модифікованого вузлового аналізу до всіх можливостей лінійно залежних джерел. Однак немає фізичних електронних компонентів, які поводяться як F-пристрій. Зазвичай найкращим підходом є використання B, G, Ґ, Б та J пристроїв, або навіть транзисторів, оскільки вони можуть бути сконфігуровані так, щоб вести себе як реальні пристрої.
На рис. 11 наведено приклад моделі з використанням F пристрою, а на рис. 12 – результат моделювання.


Пристрій G – джерело струму, що управляється напругою
G-пристрій (рис. 13) визначає вхідну напругу між вузлами NC+ і NC – і визначає струм між вузлами N+ і N-.
Синтаксис: Gnnn N+ N- NC+ NC- <провідність>
Відношення вихідного струму до вимірюваної напруги визначається параметром <провідність>. Результат формування струму джерелом струму, що управляється напругою наведено на рис. 14.


G-пристрої є найбільш корисними з лінійно залежних джерел у SPICE, оскільки вони представлені найбільш аналогічно транзисторам у модифікованому вузловому аналізі SPICE. Краще використовувати G-джерела замість E, F або H пристроїв.
Можна додати частотну залежність до G-джере- ла, вказавши передавальну функцію Лапласа:
Синтаксис: Nnn N + N-NC + NC – <провідність> LAPLACE=<вираз у S-області>.
Пристрій E – джерело напруги, що управляється напругою
Синтаксис: Ennn N + N-NC + NC – <коефіцієнт підсилення>
Електронний пристрій (рис. 15) визначає вхідну напругу між вузлами NC+ і NC – і формує напругу між вузлами N+ і N-. Відношення вихідної напруги до вимірюваного визначається параметром <коефіцієнт підсилення>. Вказівка внутрішнього послідовного опору є необов’язковою.
Можна додати до джерела електронного зв’язку залежність від частоти, вказавши передавальну функцію Лапласа:

Синтаксис: Ennn N + N-NC + NC – <коефіцієнт підсилення> LAPLACE=<eupa3 у S-області>
Пристрій H – джерело напруги, що управляється струмом
Синтаксис: Hnnn N + N – <назва> <перехідний опір>
H пристрій (рис. 17) визначає струм в пристрої <назва> і встановлює напругу між вузлами N+ і N-. Відношення вихідної напруги до вимірюваного струму визначається параметром <перехідний опір>. Вимірювальним пристроєм може бути будь-який елемент, внутрішньо представлений у вигляді еквівалентної схеми Тевенена, тобто E, H, L або V пристрої. Пристрій B також може бути використаний як чутливий елемент, якщо цей B пристрій формує напругу. Вихідна напруга джерела напруги Н, що управляється струмом, та струм управління наведені на рис. 18.


H-пристрій було реалізовано в SPICE для того, щоб застосувати теорію модифікованого вузлового аналізу до всіх можливостей лінійно залежних джерел. Оскільки не існує фізичних електронних компонентів, які насправді поводяться як H-пристрій, він знаходить обмежене застосування на практиці.
Пристрій S – аналоговий ключ що управляється напругою
Синтаксис: Nnn N1 N2 NC+ NC- < модель>
Напруга між вузлами NC+ і NC- управляє опором ключа між вузлами N1 і N2. На рис. 19 наведена модель ключа, що управляється генератором трикутної напруги V1 (рис. 20). Параметри моделі:
- OFF – ключ закритий за замовчуванням
- ON – ключ відкритий за замовчуванням
- Ron – опір ключа у відкритому стані
- Roff – опір ключа у закритому стані
- Vh – ширина петлі гістерезиса
- Vt – порогова напруга.

Ключ відкривається, коли керуюча напруга становить Vt+Vh, і закривається при Vt-Vh. Пристрій дозволяє визначити, наскільки точно слід визначити час перемикання. Якщо напруга гістерезису Vh негативна, ключ плавно переходить від Ron до Roff, щоілюструє рис. 20. Це є стандартною поведінкою при моделюванні схем, оскільки більшість аналогових симуляторів не можуть обчислювати схеми з розривами.

Більш наочно ілюструє роботу ключа модель на рис. 21, результати роботи якої наведено на рис. 22. Напруга керування задана в діапазоні 0…2 В, поро- говий рівень спрацьовування ключа – 1 В, гістерезис відсутній.


Як випливає з рис. 22, пороговий рівень спрацьовування ключа дорівнює 1 В. На рис. 23 наведено результат моделювання при заданому значенні гі- стерезиса Vh=0.5 В.

Використання гістерезиса дає змогу імітувати роботу тригера Шмітта.
Ще один приклад використання ключа наведений на рис. 24. Це генератор пилкоподібної наруги. Результат моделювання роботи генератора наведено на рис. 25.


Конденсатор С1 заряджається струмом 0.1 мА від джерела струму І1. Вхід управління ключа підключений до виходу джерела струсу. Коли ключ закритий конденсатор С1 заряджається. При досягненні порогу спрацьовування ключа Vt+Vh = 0.5+0.4 = 0.9 В він відкривається і конденсатор швидко розряджається через відкритий ключ до величини Vt-Vh = 0.5-0.4 = 0.1 В (рис. 25), при якій ключ закривається. Цикл заряду/розряду повторюється.
Змінюючи співвідношення між Vt і Vh, можна регулювати амплітуду і початковий рівень вихідногосигналу такого генератора.
Для ілюстрації впливу параметра ключа ON/OFF на його поведінку скористаємось моделлю наведеною на рис. 24, замінивши атрибут SWMOD on на SWMOD off.

Як випливає з рис. 26, зміна атрибута ключа при- звеле тільки до зміни масштабу відображеня сигналу на виході генератора.
ЛІТЕРАТУРА