為什麼微控制器需要時鐘系統,時鐘訊號在微控制器中扮演怎樣的角色?
我自學了快一年的微控制器,DIY過51、msp430、STM32,會做一些基本的小專案,也瞭解一點微控制器的工作原理與結構,參加過2018年江蘇省電子設計大賽,還獲得了一等獎。
我懂,也同時不懂微控制器,不然也不會提出上面的這個問題。不懂就要去問,去查資料,然後弄懂,而不要覺得它不重要,不要以為自己會配置時鐘,就以為自己很懂時鐘,不懂裝懂。這一點,是不可取的。那麼,我們就來了解一下時鐘系統。
如今這個時代,解決問題是一種能力的體現!以前,當我們遇到問題時,要麼問學長、要麼問老師、或者直接去圖書館查資料。但是!如果現在你也這麼去幹,我認為是極度不可取的。你首要要做的就是:
百度!百度!百度!
上面幾乎有所有你想要的答案,就看你找不找得到。
所以,我首先百度了這個問題,回答千奇百怪,摘抄部分個人覺得有參考價值的答案如下:
1.微控制器內部需要儲存器、累加器,這些都需要邏輯閘電路。比如鎖存器就是一個D觸發器,而觸發器的置1、清0、置數的功能都需要跳變沿。D觸發器就是上升沿後存入資料,而這個上升沿就得外部提供脈衝,這就是脈衝訊號 ,而這個脈衝訊號就是我們穩定的時鐘訊號。
2.微控制器執行需要時鐘支援—–就像計算機的CPU一樣,如果沒有時鐘電路來產生時鐘驅動微控制器,那微控制器就不能執行程式。
微控制器可以看成是在時鐘驅動下的時序邏輯電路。
以MCS–51微控制器為例:MCS–51微控制器為12個機器週期執行一條指令,也就是說微控制器執行一條指令必須要用12個時鐘週期。沒有這個時鐘,微控制器就跑不起來,也就沒辦法定時和進行和時間有關的操作。
時鐘電路是微型計算機的心臟。CPU就是通過複雜的時序電路完成不同的指令功能的。MCS—51的時鐘訊號可以由兩種訊號產生:一種是內部方式,利用晶片內部的振盪電路,產生時鐘訊號;另一種為外部方式,時鐘訊號由外部引入。
3.電路中的晶振即石英晶體震盪器。由於晶振具有非常好的頻率穩定性和抗外界干擾的能力,所以,晶振是用來產生時鐘訊號的,通過時鐘訊號來控制電路工作。 晶振的應用範圍是非常廣的,它的質量、頻率精度也是差別很大的。通訊系統用的訊號發生器的訊號源,絕大部分也用的是石英晶體振盪器,通訊系統對晶振的精準度也有比較高的要求。 晶振是時鐘電路中最重要的部件,它的主要作用是向顯示卡、網絡卡、主機板等配件的各部分提供基準頻率,它就像個標尺,工作頻率不穩定會造成相關裝置工作頻率不穩定,自然容易出現問題。 晶振在數位電路的基本作用是提供一個時序控制的標準時刻。數位電路的工作是根據電路設計,在某個時刻專門完成特定的任務,如果沒有一個時序控制的標準時刻,整個數位電路就會成為“聾子”,不知道什麼時刻該做什麼事情了。
首先,感謝這些回答者,通過他們的回答,我算是對微控制器為啥要有時鐘系統有了一個初步的概念。
現總結如下:
首先我們要明確的一點是,微控制器是一個整合晶片,它是由非常複雜的數位電路和其他電路整合的。而數位電路包括時序邏輯電路,可以說,沒有時序,就沒有數位電路,也就沒有微控制器。所以,微控制器離不開時鐘。
其二,微控制器中的眾多暫存器,儲存器等是由D觸發器構成,而操作D觸發器就需要時鐘沿,自然也就離不開時鐘。
其三,微控制器執行程式需要一個程式計數器,而程式計數器是與時鐘脈衝直接掛鉤的,每來一個時鐘脈衝,程式計數器就加1。就像上面提到的那樣,51微控制器每12個時鐘週期就執行一條程式,沒有時鐘,微控制器就沒法執行程式。
所以,說時鐘就像是微控制器的”心臟”,恰當至極。
待更新。。。