Кільцевий осцилятор
Кільцевий осцилятор — пристрій, що складається з непарної кількості інверторів, які формують кільце. Його вихідний сигнал коливається між двома рівнями напруги: істина та хибнисть. Вихід останнього інвертора подається назад у перший, формуючи циклічний ланцюг.
Деталі
Оскільки інвертор на своєму виході створює логічне НЕ входу, останній вихід ланцюга з непарної кількості інверторів є логічним НЕ першого входу. Рівень вихідного сигналу стверджується на скінченний період часу після ствердження сигналу на вході, після чого, зворотний зв'язок останнього виходу на вхід викликає коливання.
У разі, якщо ланцюг складається з парної кількості інверторів, його вихід дорівнює входу. Така схема не може використовуватися як кільцевий осцилятор. Однак ця конфігурація може бути використана як елемент зберігання, і вона є основним будівельним блоком статичної оперативної пам'яті.
Етапи кільцевого осцилятора часто є диференційними для більшого захисту від зовнішніх факторів. Кільцевий осцилятор може бути виготовлений із поєднанням інвертуючих та неінвертуючих етапів, за умови, що загальна кількість інвертуючих етапів є непарною. Період осцилятора у всіх випадках дорівнює подвійній сумі індивідуальних затримок усіх етапів.
Для роботи, кільцевому осцилятору потрібна лише напруга. При досягненні порогової напруги, коливання починаються мимовільно. Для збільшення частоти коливань зазвичай використовують два методи. По-перше, виготовлення кільця із меншої кількості інверторів призводить до більш високої частоти коливань із приблизно однаковим енергоспоживанням. По-друге, прикладена напруга може бути збільшена. У ланцюгах, де цей метод можна застосувати, це зменшує затримку для кожного етапу, збільшуючи як частоту коливань, так і споживаний струм. Максимально допустима напруга, що подається на ланцюги, обмежує швидкість заданого осцилятора.
Принцип роботи
Для розуміння роботи кільцевого осцилятора, спочатку слід усвідомити існування затримки. У фізичному пристрої, жоден вентиль не може миттєво перемикатись. Наприклад, у пристрої виготовленому з МДН-транзисторів, ємність повинна бути заряджена, перш ніж струм зможе протікати між джерелом та стоком. Таким чином, вихід кожного інвертора в кільцевому осциляторі змінюється на скінченний проміжок часу після того, як вхід змінився. Додавання інверторів до ланцюга збільшує загальну затримку, зменшуючи частоту коливань.
Кільцевий осцилятор належить до класу осциляторів, що використовують затримку часу. Осцилятори цього класу складаються з інвертуючого підсилювача та елементу затримки між виходом підсилювача та його входом. Підсилювач повинен мати коефіцієнт підсилення більше ніж 1 при запланованій частоті коливань. Розглянемо первісний випадок, коли вхідні та вихідні напруги підсилювача на мить збалансовані в стабільній точці. Невелика кількість шуму може призвести до незначного підвищення виходу підсилювача. Після проходження елемента з затримкою часу, ця невелика зміна вихідної напруги буде подаватися на вхід підсилювача. Підсилювач інвертуючий, тому вихідний сигнал буде змінюватися в напрямку, протилежному цій вхідній напрузі. Він зміниться на величину, більшу за вхідне значення, тому що коефіцієнт посилення більше ніж 1. Цей посилений і зворотний сигнал поширюється з виходу через затримку і назад на вхід, де він посилюється і знову інвертується. Результатом цього послідовного циклу є прямокутний сигнал на виході підсилювача з полуперіодом, рівним затримці часу. Квадратна хвиля буде рости, поки вихідна напруга підсилювача не досягне своїх меж, де вона стабілізується. Точніший аналіз показує, що сигнал який утворюється із шуму, може не мати квадратної форми в процесі зростання, але вона стане квадратною, коли підсилювач досягає граничних значень.
Кільцевий осцилятор використовує непарну кількість інверторів, щоб отримати ефект одного інвертуючого підсилювача з коефіцієнтом підсилення більше одиниці. Замість того, щоб мати один елемент затримки, кожен інвертор сприяє затримці сигналу. Додавання пар інверторів до кільця збільшує загальну затримку і тим самим зменшує частоту осцилятора. Зміна напруги живлення змінює індивідуальну затримку інверторів, при цьому більш високі напруги зазвичай зменшують затримку і збільшують частоту осцилятора. Вратіслав описує деякі методи покращення стабільності та енергоспоживання у кільцевому осциляторі типу КМОН.[1]
Якщо t — затримка часу для одного інвертора, а n — кількість інверторів в ланцюзі, то середня частота коливань(без урахування джитера), дорівнюватиме:
.[2]
Джитер
Період коливання кільцевого осцилятора не є сталим. Він змінюється випадковим чином і дорівнює T = T + T', де T' — випадкове значення. У високоякісних схемах, діапазон T' є відносно невеликим порівняно з T. Ця випадкова зміна періоду називається джитер.[3] Локальні температурні ефекти спричиняють відхилення періоду кільцевого осцилятора вище або нижче середнього значення.[4] Коли кремній холодний, затримка трохи коротша, внаслідок чого кільцевий осцилятор працює на дещо вищій частоті, що з часом підвищує температуру компонентів. Коли кремній гарячий, затримка розповсюдження трохи довша, внаслідок чого кільцевий осцилятор працює на дещо нижчій частоті, що з часом знижує локальну температуру. Отже, частота кремнієвого кільцевого осцилятора, як правило, буде стабільною, коли температура навколишнього середовища є постійною, а фактори передачі тепла від пристрою до навколишнього середовища не змінюються. Однак електронні матеріали, інщі ніж кремній, можуть не мати однакової позитивної залежності між температурою та затримкою. Якщо зв'язок негативний, частота може бути нестабільною (теоретично, навіть існує можливість теплової втечі).
Застосування
- Керований напругою осцилятор у більшості ФАПЧ побудований з кільцевого осцилятора.[5]
- Джитер кільцевих осциляторів зазвичай використовується в апаратних генераторах випадкових чисел.[3][4][6]
- Кільцевий осцилятор іноді використовується для демонстрації нової апаратної технології, аналогічно тому, як програма hello world часто використовується для демонстрації нової програмної технології.[7][8]
- Багато пластин включають кільцевий осцилятор як тестову структуру. Вони використовуються під час випробувань пластин для вимірювання ефекту від змін виробничого процесу.[9]
- Кільцеві осцилятори також можуть бути використані для вимірювання впливу напруги та температури на мікросхему.
Див. також
Примітки
- ↑ Vratislav MICHAL. «On the Low-power Design, Stability Improvement and Frequency Estimation of the CMOS Ring Oscillator». 2012
- ↑ Mandal, M.K. & Sarkar, B.C.«Ring oscillators: Characteristics and applications»
- ↑ а б A Provably Secure True Random Number Generator with Built-in Tolerance to Active Attacks
- ↑ а б Andy Green. Whirlygig GPL Hardware RNG. 2010.
- ↑ Takahito MIYAZAKI Masanori HASHIMOTO Hidetoshi ONODERA. «A Performance Prediction of Clock Generation PLLs: A Ring Oscillator Based PLL and an LC Oscillator Based PLL»[сумнівно ]
- ↑ THE INTEL RANDOM NUMBER GENERATOR. CRYPTOGRAPHY RESEARCH, INC
- ↑ Slashdot Science: «IBM Creates Ring Oscillator on a Single Nanotube»
- ↑ Slashdot Hardware: «World's First Completely Transparent IC»
- ↑ «Ring oscillators for CMOS process tuning and variability control» by BHUSHAN Manjul; GATTIKER Anne; KETCHEN Mark B.; DAS Koushik K.