張偉 楊振龍 陳月紅
摘 要:本文主要介紹了利用施密特觸發(fā)器實(shí)現(xiàn)通信指示燈電路的基本原理及其電路結(jié)構(gòu)。利用本文介紹的技術(shù)實(shí)現(xiàn)的通信指示燈電路具有通用性好,結(jié)構(gòu)緊湊,性能穩(wěn)定、可靠,不占用單片機(jī)CPU資源以及造價(jià)低廉等特點(diǎn)。
關(guān)鍵詞:施密特觸發(fā)器;脈沖展寬;通信;指示燈;單片機(jī);RS232;串口
中圖分類號:TP302 文獻(xiàn)標(biāo)志碼:A
在數(shù)字通信設(shè)備中,往往需要配置用于提示系統(tǒng)是否正在進(jìn)行數(shù)據(jù)傳輸?shù)闹甘緹綦娐?,以提醒用戶注意并方便用戶進(jìn)行故障診斷。例如,在以太網(wǎng)通信中,網(wǎng)絡(luò)接口卡上RJ45接口的指示燈,在網(wǎng)絡(luò)上有數(shù)據(jù)傳輸時(shí),這個指示燈會不斷地閃爍,而在沒有數(shù)據(jù)傳輸時(shí)指示燈會熄滅。
在一些為專用用途開發(fā)的數(shù)據(jù)采集系統(tǒng)中也需要這樣的通信指示燈。在這些應(yīng)用中,往往需要開發(fā)人員自己設(shè)計(jì)實(shí)現(xiàn)這樣的指示燈功能。這是一個看起來非常簡單,但實(shí)現(xiàn)起來卻并不輕松的功能。
以單片機(jī)實(shí)現(xiàn)的通信系統(tǒng)為例,實(shí)現(xiàn)通信指示的程序處理邏輯基本是這樣的:在準(zhǔn)備通信之前(包括發(fā)送數(shù)據(jù)和接收數(shù)據(jù))將單片機(jī)的某個IO端口置1,使其輸出高電平,從而驅(qū)動指示燈點(diǎn)亮或閃爍,在通信完成后再將該端口清0,使其輸出低電平,從而熄滅指示燈。
上述通信處理邏輯是最直接的處理方式,當(dāng)然也是正確的處理方式。但是,這種方式有一個很棘手的問題需要解決:如何處理通信時(shí)間很短(毫秒甚至微秒級)的情況。因?yàn)橥ㄐ旁O(shè)備的通信速度可能很快,例如,即使是對于像RS232(串口)這樣的低速通信設(shè)備來說,在9600波特率、8位數(shù)據(jù)位的情況下,傳輸一個字節(jié)數(shù)據(jù)所需的時(shí)間僅為1ms左右,按照上述通信程序處理邏輯,指示燈僅會點(diǎn)亮或閃爍1ms,但這么短的點(diǎn)亮?xí)r間,人眼根本觀察不到,人眼能分辨的點(diǎn)亮?xí)r間至少應(yīng)在0.1s即100ms以上。
為了能夠讓人眼看清指示燈,必須想辦法延長指示燈的點(diǎn)亮?xí)r間。有兩種辦法可以實(shí)現(xiàn)這個目的:軟件編程方式,硬件電路方式。
軟件編程方式需要修改上述通信程序處理邏輯,在系統(tǒng)中增加定時(shí)器,利用定時(shí)器定時(shí)來達(dá)到延長指示燈閃爍時(shí)間的目的,總之,這種方式需要CPU的配合,會占用CPU時(shí)間和定時(shí)器資源,同時(shí)也增加了程序復(fù)雜度。
硬件電路方式則完全使用硬件來達(dá)到延長指示燈閃爍時(shí)間的目的,不需要修改通信程序處理邏輯,不會增加程序復(fù)雜度,也不會占用CPU時(shí)間,是最為理想的解決方案,但對該電路應(yīng)有兩個基本的要求:結(jié)構(gòu)簡單,造價(jià)低廉。本文主要介紹如何利用施密特觸發(fā)器來實(shí)現(xiàn)這樣的電路,為方便敘述,以下簡稱該電路為轉(zhuǎn)換電路。
1 脈沖展寬
由前述通信處理程序邏輯可知,通信處理程序在通信過程中相當(dāng)于在IO端口輸出了一個相對較短的脈沖信號,轉(zhuǎn)換電路的作用就是要將該短脈沖進(jìn)行展寬,如圖1所示。
能夠?qū)崿F(xiàn)這種脈沖展寬的電路有很多種,最典型的脈沖展寬電路如圖2所示,其中G1、G2為非門(反相器),R為電阻,C為電容,D為二極管,VCC為供電電源。該電路的工作原理為:
(1)輸入保持低電平時(shí)(穩(wěn)態(tài)),G1輸出高電平,D截止,G2輸入端被電源直接拉高為高電平(除電路剛上電的瞬間外,C為充滿電狀態(tài)),因此,電路輸出為低電平;
(2)輸入由低電平變?yōu)楦唠娖綍r(shí)(暫態(tài)),G2輸出低電平,D導(dǎo)通,C通過D迅速放電,G2輸入端被D直接拉低為低電平,因此,電路輸出為高電平;
(3)輸入保持高電平時(shí)(穩(wěn)態(tài)),同上,電路輸出高電平;
(4)輸入由高電平變?yōu)榈碗娖綍r(shí)(暫態(tài)),G1輸出高電平,D截止,由于此前C已通過D被完全放電,故此時(shí)電源將通過R對C充電,所以G2輸入端不會馬上變?yōu)楦唠娖剑€會維持一段時(shí)間的低電平直到C被充電到電壓超過G2的閾值電壓,因此,在此期間電路仍會保持高電平輸出。
綜上所述,該電路即可實(shí)現(xiàn)將窄脈沖展寬的目的。
輸出脈沖的展寬時(shí)間主要取決于R、C的值,即ΔT≈R×C。因此,修改R、C的值即可調(diào)整輸出脈沖的展寬時(shí)間,例如當(dāng)R=1MΩ,C=1μF時(shí),脈沖將被展寬1s左右。
2 施密特觸發(fā)器
門電路有一個閾值電壓,當(dāng)輸入電壓從低電平上升到閾值電壓或從高電平下降到閾值電壓時(shí)電路的狀態(tài)將發(fā)生變化。
普通門電路只有一個閾值電壓。施密特觸發(fā)器是一種特殊的門電路,與普通門電路不同的是,施密特觸發(fā)器有兩個閾值電壓,分別稱為正向閾值電壓(V+)和負(fù)向閾值電壓(V-)。在輸入信號從低電平上升到高電平的過程中使電路狀態(tài)發(fā)生變化的輸入電壓稱為正向閾值電壓,在輸入信號從高電平下降到低電平的過程中使電路狀態(tài)發(fā)生變化的輸入電壓稱為負(fù)向閾值電壓。通過適當(dāng)調(diào)整V+與V-的值,施密特觸發(fā)器可以阻止輸入電壓出現(xiàn)微小變化(抖動)時(shí)引起輸出電壓的改變,因此,可提高電路的穩(wěn)定性。
3 改進(jìn)的脈沖展寬電路
前述脈沖展寬電路中使用的是普通門電路(G1、G2,非門),對于該電路,我們希望G1的正向和負(fù)向閾值電壓都相對低一些以適當(dāng)延長輸入脈沖的寬度,而對于G2則希望正向閾值電壓相對高一些,為電容C提供足夠的充電空間,從而延長脈沖展寬時(shí)間。綜上所述,在脈沖展寬電路中使用施密特觸發(fā)器(反向)要比使用普通門電路(非門)更為合適,如圖3所示 。
這就是本文介紹的脈沖展寬電路的最終形式,該電路的工作原理與圖2類似,在此不再贅述。
結(jié)論
利用施密特觸發(fā)器設(shè)計(jì)的脈沖展寬電路是通信指示燈電路的前驅(qū)電路,在其后可直接接發(fā)光二極管組成長明型指示燈電路或接閃爍電路組成閃爍型指示燈電路。
利用本文介紹的技術(shù)設(shè)計(jì)通信指示燈電路可大大提高電路的穩(wěn)定性,同時(shí)也可降低通信程序邏輯的復(fù)雜度,縮短開發(fā)周期,提高系統(tǒng)穩(wěn)定性和健壯性。
參考文獻(xiàn)
[1]程國鋼,陳躍琴,崔荔蒙.51單片機(jī)典型模塊開發(fā)查詢手冊[M].北京:電子工業(yè)出版社,2012.
[2]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2015.
[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2010.