了解使用環(huán)形振蕩器、基于 555 定時(shí)器的振蕩器和 Arduino 生成的方波振蕩器的數(shù)字方波發(fā)生器。
之前,我們介紹了 設(shè)計(jì)方波振蕩器即 運(yùn)算放大器(運(yùn)算放大器) 和基于晶體管的模擬實(shí)現(xiàn) 非穩(wěn)態(tài)多諧振蕩器。在本文中,我們將研究實(shí)現(xiàn) 方波
振蕩器,同時(shí)討論其優(yōu)點(diǎn)和局限性。
在深入研究之前,讓我們注意,我們將分析三個(gè)示例:
環(huán)形振蕩器
基于 555 定時(shí)器的振蕩器
用于產(chǎn)生方波振蕩器的 Arduino
使用環(huán)形振蕩器的方波發(fā)生器
環(huán)形振蕩器具有相當(dāng)簡(jiǎn)單的架構(gòu),它利用一串 逆 變 器 最終輸出饋入第一個(gè)輸入,形成一個(gè)環(huán),如圖1所示。
圖1. 通用環(huán)形振蕩器架構(gòu)
不僅架構(gòu)簡(jiǎn)單,而且該電路的操作也很簡(jiǎn)單。啟動(dòng)時(shí),讓我們假設(shè) INV1 從邏輯 0 轉(zhuǎn)到邏輯 1。隨著該逆變器的輸出開(kāi)始上升,一旦INV的跳變點(diǎn)2
命中,該輸出將開(kāi)始減少到邏輯
0。這種連鎖反應(yīng)一直持續(xù)到最終逆變器INVN,然后該輸出反饋到起點(diǎn)以維持反應(yīng)。總體而言,該反應(yīng)會(huì)產(chǎn)生恒定的振蕩,并且假設(shè)所有逆變器具有相同的上升/下降時(shí)間,將產(chǎn)生方波輸出。
為了使電路按所述工作,環(huán)中的逆變器數(shù)量(在圖1中用N表示)必須是奇數(shù)。這個(gè)要求是必要的,因?yàn)檎缥覀冊(cè)趫D1中看到的,任何逆變器的輸出,INVX,其中
X 是偶數(shù),將具有補(bǔ)充 INV 輸出的輸出1.如果此值反饋給
INV1,不會(huì)有任何變化,因此也不會(huì)振蕩。雖然在這個(gè)簡(jiǎn)單的例子中,我們只使用逆變器,但您可以使用任何 邏輯門(mén)
在整個(gè)電路中。但是,在這個(gè)環(huán)形示例中,必須有奇數(shù)個(gè)反相級(jí)才能振蕩。
現(xiàn)在,您可能會(huì)問(wèn)的一個(gè)問(wèn)題是:電路的哪些方面決定了工作頻率?基本上,每個(gè)逆變器的固有延遲(td),階段數(shù) (N) 根據(jù)等式確定:
f=12tdNf=12tdN
由于 td 通常很小,并且希望最小化N,頻率通常很高,大約為數(shù)百
MHz甚至GHz。對(duì)于低速應(yīng)用或精確的頻率控制,用戶(hù)通常必須為每個(gè)逆變器的輸出增加一個(gè)負(fù)載,最簡(jiǎn)單地通過(guò) 遙控電路,如圖2所示。
圖2. 帶RC負(fù)載的環(huán)形振蕩器
展望未來(lái),假設(shè)所有逆變器都以 VDD2VDD2 跳閘,其中 VDD 是供應(yīng) 電壓,振蕩頻率變?yōu)椋?/p>
f=12(td+0.69RC)Nf=12(td+0.69RC)N
接下來(lái),假設(shè) RC 》d,我們可以說(shuō)振蕩頻率完全取決于RC時(shí)間常數(shù)和級(jí)數(shù)。
至于優(yōu)點(diǎn),這種設(shè)計(jì)的簡(jiǎn)單性使其對(duì)高速振蕩器設(shè)計(jì)具有吸引力;但是,對(duì)于較低的頻率,很難控制這些頻率。另一個(gè)缺點(diǎn)是,由于開(kāi)關(guān)速率高,這種架構(gòu)通常很耗電。
使用 555 定時(shí)器作為方波發(fā)生器
接下來(lái),我們將討論使用 555定時(shí)器。該通用IC用于:
各種脈沖產(chǎn)生
延遲
定時(shí)
振蕩器應(yīng)用
幾家公司創(chuàng)建的 555 計(jì)時(shí)器種類(lèi)繁多,但我們將專(zhuān)注于 LM555 來(lái)自德州儀器。 數(shù)據(jù)表 第 7.4.2 節(jié)
說(shuō)明了計(jì)時(shí)器的不穩(wěn)定操作,正如我們從上一篇文章中知道的那樣,這是我們感興趣的。實(shí)現(xiàn)原理圖如圖3所示。
圖3. LM555 定時(shí)器設(shè)置,用于不穩(wěn)定操作模式。圖片由 德州儀器
在這里, 電容器,C,由 電阻, R一個(gè) 和 RB.一旦它到達(dá)上跳變點(diǎn)(在計(jì)時(shí)器的情況下,V 的 2/3抄送),C 然后放電至 V 的 1/3抄送
通過(guò) RB.此時(shí),電容器再次開(kāi)始充電,并且這種行為無(wú)限期地持續(xù)下去。由此,我們可以通過(guò)以下等式獲得充電和放電時(shí)間以及振蕩周期:
trise=0.69(RA+RB)Ctrise=0.69(RA+RB)C
tfall=0.69RBCtfall=0.69RBC
T=trise+tfallT=trise+tfall
f=1T=1.44(RA+2RB)Cf=1T=1.44(RA+2RB)C
在這里,我們可以看到,我們不僅可以控制振蕩頻率,還可以控制 輸出占空比。但是,這些不能短于 t秋天,這意味著占空比必須大于 50%,但如果 RB
》·一個(gè)。
這種實(shí)現(xiàn)的優(yōu)點(diǎn)是簡(jiǎn)單,需要最少的硬件,也是低速振蕩器的穩(wěn)定可靠的解決方案。至于限制,此設(shè)計(jì)不適用于需要小于50%的占空比或需要高速的情況。
基于 Arduino 的方波發(fā)生器,使用 Arduino UNO R3
最后,我們將討論通過(guò) Arduino 實(shí)現(xiàn)振蕩器。對(duì)于我們的示例,我們將查看 Arduino UNO R3.該板的引腳排列如圖4所示。
圖4. Arduino UNO R3 引腳排列。圖片由 阿杜伊諾 [點(diǎn)擊圖片放大]
對(duì)于我們的生成器,我們將使用 Arduino UNO 的數(shù)字 I/O
引腳,具體來(lái)說(shuō),D7。實(shí)現(xiàn)此解決方案不需要外部硬件,因?yàn)檫@都可以通過(guò)如下所示的Arduino程序定義:
整數(shù)頻率 = 100; 以 Hz 為單位設(shè)置用戶(hù)定義的頻率值
int per_ms = 1e3*(1/頻率);將一種狀態(tài)(高或低)的時(shí)間設(shè)置為 T/2(以毫秒為單位)
int dutyCyc = 0.5;設(shè)置輸出波形的占空比
void setup() {
引腳模式(7,輸出);將 D7 設(shè)置為數(shù)字輸出
}
振蕩環(huán)
void loop() {
數(shù)字寫(xiě)入(7,高);將 D7 設(shè)置為邏輯 1
延遲(Cyc*per_ms);在邏輯 1 處保留 T/2
數(shù)字寫(xiě)入(7,低);將 D7 設(shè)置為邏輯 0
延遲((1-Cyc)*per_ms);在邏輯 0 處保留 T/2
}
在上面的代碼片段中,我們聲明了三個(gè)全局變量,允許用戶(hù)設(shè)置頻率和占空比。在本例中,我們可以創(chuàng)建一個(gè)占空比為 50% 的 100 Hz
輸出,從而產(chǎn)生方波。從那里,我們可以使用“pinMode”功能在空隙設(shè)置塊中初始化我們的數(shù)字輸出引腳。接下來(lái),我們可以進(jìn)入一個(gè)連續(xù)循環(huán),將D7設(shè)置為HIGH,并將輸出保持在該值,時(shí)間等于占空比乘以周期。最后,我們可以將輸出調(diào)至邏輯低電平,并在剩余的周期內(nèi)將信號(hào)留在那里。因此,一旦Arduino打開(kāi),此循環(huán)將無(wú)限期地繼續(xù)。
如您所見(jiàn),該軟件實(shí)現(xiàn)允許高度靈活性,無(wú)需外部硬件。雖然這相當(dāng)簡(jiǎn)單,但我們僅限于 Arduino
的帶寬,除非我們?cè)谛枰咚僬袷幤鲿r(shí)使用外部振蕩器來(lái)推動(dòng)更高的頻率。
-
振蕩器
+關(guān)注
關(guān)注
28文章
3875瀏覽量
139656 -
發(fā)生器
+關(guān)注
關(guān)注
4文章
1372瀏覽量
62056 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3259瀏覽量
115892
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
分享四款555定時(shí)器產(chǎn)生方波的電路
環(huán)形振蕩器,環(huán)形振蕩器工作原理是什么?
基于CPLD的片內(nèi)環(huán)形振蕩器的設(shè)計(jì)方案

環(huán)形振蕩器設(shè)計(jì)
環(huán)形振蕩器介紹_反相器構(gòu)成環(huán)形振蕩器

555定時(shí)器產(chǎn)生方波原理(四款555定時(shí)器產(chǎn)生方波的電路詳解)

環(huán)形振蕩器原理及應(yīng)用_環(huán)形振蕩器的實(shí)用電路
使用555定時(shí)器設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器
555定時(shí)器多諧振蕩器的振蕩周期為多少?
基于多級(jí)反饋環(huán)形振蕩器的真隨機(jī)數(shù)發(fā)生器設(shè)計(jì)

評(píng)論