單片機最小系統(tǒng)解析(電源、晶振和復(fù)位電路)
我們在學(xué)習(xí)過程中,很多指標(biāo)都是直接用的概念指標(biāo),比如我們說 +5 V 代表1,GND 代表0等等。但在實際電路中的電壓值并不是完全精準(zhǔn)的,那這些指標(biāo)允許范圍是什么呢?隨著我們所學(xué)的內(nèi)容不斷增多,大家要慢慢培養(yǎng)一種閱讀數(shù)據(jù)手冊的能力。
比如,我們要使用 STC89C52RC 單片機的時候,找到它的數(shù)據(jù)手冊第11頁,看第二項——工作電壓:5.5 V~3.4 V(5 V 單片機),這個地方就說明這個單片機正常的工作電壓是個范圍值,只要電源 VCC 在 5.5 V~3.4 V 之間都可以正常工作,電壓超過 5.5 V 是絕對不允許的,會燒壞單片機,電壓如果低于 3.4 V,單片機不會損壞,但是也不能正常工作。而在這個范圍內(nèi),最典型、最常用的電壓值就是 5V,這就是后面括號里“5 V 單片機”這個名稱的由來。除此之外,還有一種常用的工作電壓范圍是 2.7 V~3.6 V、典型值是 3.3 V 的單片機,也就是所謂的“3.3 V 單片機”。日后隨著大家接觸更多的器件,對這點會有更深刻的理解。
現(xiàn)在我們再順便多了解一點,大家打開 74HC138 的數(shù)據(jù)手冊,會發(fā)現(xiàn) 74HC138 手冊的第二頁也有一個表格,上邊寫了 74HC138 的工作電壓范圍,最小值是 4.75 V,額定值是 5 V,最大值是 5.25 V,可以得知它的工作電壓范圍是 4.75 V~5.25 V。這個地方講這些目的是讓大家清楚的了解,我們獲取器件工作參數(shù)的一個最重要、也是最權(quán)威的途徑,就是查閱該器件的數(shù)據(jù)手冊。
晶振
晶振通常分為無源晶振和有源晶振兩種類型,無源晶振一般稱之為 crystal(晶體),而有源晶振則叫做 oscillator(振蕩器)。
有源晶振是一個完整的諧振振蕩器,它是利用石英晶體的壓電效應(yīng)來起振,所以有源晶振需要供電,當(dāng)我們把有源晶振電路做好后,不需要外接其它器件,只要給它供電,它就可以主動產(chǎn)生振蕩頻率,并且可以提供高精度的頻率基準(zhǔn),信號質(zhì)量也比無源信號要好。
無源晶振自身無法振蕩起來,它需要芯片內(nèi)部的振蕩電路一起工作才能振蕩,它允許不同的電壓,但是信號質(zhì)量和精度較有源晶振差一些。相對價格來說,無源晶振要比有源晶振價格便宜很多。無源晶振兩側(cè)通常都會有個電容,一般其容值都選在 10 pF~40 pF 之間,如果手冊中有具體電容大小的要求則要根據(jù)要求來選電容,如果手冊沒有要求,我們用 20 pF 就是比較好的選擇,這是一個長久以來的經(jīng)驗值,具有極其普遍的適用性。
我們來認(rèn)識下比較常用的兩種晶振的樣貌,如圖8-1和圖8-2所示。
圖8-1 有源晶振實物圖
圖8-2 無源晶振實物圖
有源晶振通常有4個引腳,VCC,GND,晶振輸出引腳和一個沒有用到的懸空引腳(有些晶振也把該引腳作為使能引腳)。無源晶振有2個或3個引腳,如果是3個引腳的話,中間引腳接是晶振的外殼,使用時要接到 GND,兩側(cè)的引腳就是晶體的2個引出腳了,這兩個引腳作用是等同的,就像是電阻的2個引腳一樣,沒有正負(fù)之分。對于無源晶振,用我們的單片機上的兩個晶振引腳接上去即可,而有源晶振,只接到單片機的晶振的輸入引腳上,輸出引腳上不需要接,如圖8-3和圖8-4所示。
圖8-3 無源晶振接法
圖8-4 有源晶振接法
復(fù)位電路
我們先來分析一下 KST-51 開發(fā)板上的復(fù)位電路,如圖8-5所示。
圖8-5 單片機復(fù)位電路
當(dāng)這個電路處于穩(wěn)態(tài)時,電容起到隔離直流的作用,隔離了 +5 V,而左側(cè)的復(fù)位按鍵是彈起狀態(tài),下邊部分電路就沒有電壓差的產(chǎn)生,所以按鍵和電容 C11 以下部分的電位都是和 GND 相等的,也就是 0 V。我們這個單片機是高電平復(fù)位,低電平正常工作,所以正常工作的電壓是 0 V,沒有問題。
我們再來分析從沒有電到上電的瞬間,電容 C11 上方電壓是 5 V,下方是 0 V,根據(jù)我們初中所學(xué)的知識,電容 C11 要進(jìn)行充電,正離子從上往下充電,負(fù)電子從 GND 往上充電,這個時候電容對電路來說相當(dāng)于一根導(dǎo)線,全部電壓都加在了 R31 這個電阻上,那么 RST端口位置的電壓就是 5 V,隨著電容充電越來越多,即將充滿的時候,電流會越來越小,那 RST 端口上的電壓值等于電流乘以 R31 的阻值,也就會越來越小,一直到電容完全充滿后,線路上不再有電流,這個時候 RST 和 GND 的電位就相等了也就是 0 V 了。
從這個過程上來看,我們加上這個電路,單片機系統(tǒng)上電后,RST 引腳會先保持一小段時間的高電平而后變成低電平,這個過程就是上電復(fù)位的過程。那這個“一小段時間”到底是多少才合適呢?每種單片機不完全一樣,51單片機手冊里寫的是持續(xù)時間不少于2個機器周期的時間。復(fù)位電壓值,每種單片機不完全一樣,我們按照通常值 0.7 VCC 作為復(fù)位電壓值,復(fù)位時間的計算過程比較復(fù)雜,我這里只給大家一個結(jié)論,時間 t=1.2 RC,我們用的 R 是4700歐,C 是0.0000001法,那么計算出 t 就是 0.000564秒,即 564 us,遠(yuǎn)遠(yuǎn)大于2個機器周期(2 us),在電路設(shè)計的時候一般留夠余量就行。
按鍵復(fù)位(即手動復(fù)位)有2個過程,按下按鍵之前,RST 的電壓是 0 V,當(dāng)按下按鍵后電路導(dǎo)通,同時電容也會在瞬間進(jìn)行放電,RST 電壓值變化為 4700 VCC/(4700+18),會處于高電平復(fù)位狀態(tài)。當(dāng)松開按鍵后就和上電復(fù)位類似了,先是電容充電,后電流逐漸減小直到 RST 電壓變 0 V 的過程。我們按下按鍵的時間通常都會有幾百毫秒,這個時間足夠復(fù)位了。
按下按鍵的瞬間,電容兩端的 5 V 電壓(注意不是電源的 5 V 和 GND 之間)會被直接接通,此刻會有一個瞬間的大電流沖擊,會在局部范圍內(nèi)產(chǎn)生電磁干擾,為了抑制這個大電流所引起的干擾,我們這里在電容放電回路中串入一個18歐的電阻來限流。
如果有的同學(xué)已經(jīng)想開始 DIY 設(shè)計自己的電路板,那單片機最小系統(tǒng)的設(shè)計現(xiàn)在已經(jīng)有了足夠的理論依據(jù)了,可以考慮嘗試了?;A(chǔ)比較薄弱的同學(xué)先不要著急,繼續(xù)跟著往下學(xué),把課程都學(xué)完了再動手操作也不遲,磨刀不誤砍柴工。