晶振壞了單片機(jī)還能運行程序嗎?
晶振是什么?
晶振主要是指晶體振蕩器,而晶體振蕩器則是指從一塊石英晶體上按照一定的方位角切下來的薄片,我們簡稱為晶片,是時鐘電路中最重要的部件。石英晶體諧振器,簡稱為石英晶體或晶體、晶振;而在封裝內(nèi)部添加IC組成振蕩電路的晶體元件稱為晶體振蕩器。
在單片機(jī)系統(tǒng)中晶振扮演者著重要的角色,如果單片機(jī)沒有晶振(內(nèi)部晶振也沒有)那單片機(jī)是沒有辦法運行程序的,至于為什么不能運行程序我們后面會講到。
晶振在整個單片機(jī)系統(tǒng)里相當(dāng)于單片機(jī)的心臟,一個完整的產(chǎn)品要想穩(wěn)定可靠的工作,沒有晶振的加入是很難達(dá)到應(yīng)有的功能,晶振的作用是為電路的工作提供時序基準(zhǔn),使各個模塊的工作能夠有條不紊的進(jìn)行下去,因此晶振的指標(biāo)主要有頻率準(zhǔn)確度、頻率穩(wěn)定度、工作溫度范圍等,晶振還可以為鎖相環(huán)提供頻率基準(zhǔn),其頻率的準(zhǔn)確度決定了鎖相環(huán)輸出頻率的精度。
在單片機(jī)系統(tǒng)中晶振可能不止一個,不同頻率的晶振在整個系統(tǒng)里扮演的角色也是不一樣的,例如32.768K晶振通常用于時間顯示,16MHZ、26MHZ等用于傳輸信號的。
晶體振蕩器也分為無源晶振和有源晶振兩種類型。無源晶振一般又稱作晶體,有源晶振又被稱為振蕩器。無源晶振需要借助于時鐘電路才能產(chǎn)生振蕩信號,有源晶振是一個完整的諧振振蕩器,不需要外部提供震蕩信號。
沒有晶振可以運行程序嗎?
我們通過前面的學(xué)習(xí)知道了單片機(jī)中的晶振主要是用來提供時鐘信號的,那如果單片機(jī)上的晶振壞了單片機(jī)還能運行我們編寫的程序嗎?
關(guān)于這個問題的答案我想給出以下回答:
如果單片機(jī)存在內(nèi)部晶振那么單片機(jī)是可以運行程序的,只不過運行的過程不太正常(可能是速度慢,也可能是某些功能不正常)
如果單片機(jī)內(nèi)部沒有晶振,那么外部晶振壞了單片機(jī)是必然不能運行程序的,關(guān)于這點后面會進(jìn)行講解。
在討論這個問題之前我們先來看一下單片機(jī)是怎么運行程序的吧!單片機(jī)工作時,是一條一條地從RoM中取指令,然后一步一步地執(zhí)行。單片機(jī)訪問一次存儲器的時間,稱之為一個機(jī)器周期,這是一個時間基準(zhǔn)。—個機(jī)器周期包括12個時鐘周期。如果一個單片機(jī)選擇了12MHz晶振,它的時鐘周期是1/12us,也是一個晶振周期。它的一個機(jī)器周期是12×(1/12)us,也就是1us。(來源于網(wǎng)絡(luò),僅供參考)
上面的說法是網(wǎng)絡(luò)上的大佬寫的一篇文章,從上面的講解我們知道單片機(jī)的程序運行需要晶振提供時鐘信號,雖然單片機(jī)程序的運行和晶振之間沒有直接的關(guān)系,但是卻有著密切的聯(lián)系,當(dāng)然在單片機(jī)中還存在一個PLL鎖相環(huán)的東西,它可以保證外部晶振與單片機(jī)內(nèi)部晶振頻率保持一致。
現(xiàn)在來回答上面的問題為什么在單片機(jī)系統(tǒng)中沒有接外部晶振單片機(jī)仍然能夠成功運行。在單片機(jī)內(nèi)部是存在內(nèi)部晶振的,可以為單片機(jī)提供低頻的時鐘信號。對于STM32F103c8t6用外部晶振+PLL,時鐘頻率可以去到72M,用內(nèi)部振蕩,只能到48M。
所以在沒有外部晶振的情況下有些單片機(jī)是可以維持正常工作的,只不過代碼執(zhí)行的速度會大打折扣,所以如果你要求單片機(jī)性能的話,還是建議使用外部晶振的。
PCB中晶振電路的要求
位置要選對:晶振內(nèi)部是石英晶體,如果不慎掉落或受不明撞擊,石英晶體易斷裂破損,所以晶振的放置遠(yuǎn)離板邊,靠近MCU的位置布局。
兩靠近:耦合電容應(yīng)盡量靠近晶振的電源管腳,如果多個耦合電容,按照電源流入方向,依次容值從大到小擺放;晶振則要盡量的靠近MCU。
走線短:所有連接晶振輸入/輸出端的導(dǎo)線盡量短,以減少噪聲干擾及分布電容對晶振的影響。
提交
派拓網(wǎng)絡(luò)被Forrester評為XDR領(lǐng)域領(lǐng)導(dǎo)者
展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會
中國聯(lián)通首個量子通信產(chǎn)品“量子密信”亮相!
國家重大裝備企業(yè)齊聚高交會 中國科技第一展11月深圳舉行
東土精彩亮相華南工博會,展現(xiàn)未來工業(yè)前沿技術(shù)