ARM7單片機(學(xué)習(xí)ing)—(KZ)、ARM7系列的相關(guān)頻率的介紹
我之前做的實驗中,好多都不知道那個pclk是怎么出來的~~我還納悶的~~呵呵,這篇就詳細(xì)介紹了我之前的那個大漏洞~~
這篇雖然說是篇介紹,但是ARM7里面的頻率還是很重要的,尤其是UART~~
很多人都說FIFO是個大重點~~
在LPC210X系列的單片機中,IIC、SPI、UART、PWM、定時/計數(shù)器還有就是在Startup.s文件里的初始化頻率等等都是有關(guān)頻率的~~
所以就想把我現(xiàn)在用到的頻率的相關(guān)知識總結(jié)一下~~
由于前面已經(jīng)介紹過PLL(鎖相環(huán)),這里也就不說了~~
不過可以參考一下PLL的介紹:
http://blog.sina.com.cn/s/blog_7ec8fc2c01013b5j.html
ARM7系列的相關(guān)頻率的介紹:
這里首先介紹一下存儲器的映射,之所以要介紹它,可能都會認(rèn)為與這些頻率有什么關(guān)系?!
但是不然,這里的VPB和AHB(對于AHB我還是不太理解,所以我也就不介紹了~~重點就是VPB了~~)以我個人的理解來說,他們的頻率是不一樣的,VPB是有個與外設(shè)有關(guān)的頻率(看下圖的VPB存儲器的映射),要有專門的寄存器控制!!就是VPBDIV這個寄存器,會在后面專門介紹的~~
然后微控制器又有一個自己的是時鐘~~我猜應(yīng)該是應(yīng)用在SRAM或者Flash這些東西吧~~
系統(tǒng)存儲器映射:
然后就是VPB的存取器的映射:
顯然從VPB外設(shè)的映射可以看出,VPB區(qū)域有著定時器、UART、PWM、IIC、SPI等等外設(shè)相關(guān)的寄存器來控制和檢測外設(shè)的狀態(tài)改變,這時就需要用到頻率了~~
頻率從哪里來呢(這里我主要說在開啟PLL鎖相環(huán)時的頻率的情況)~~
正如上圖所示,下面我就一個一個頻率來說~~
1、Fosc
這個就比較簡單了,它就是晶振或者外部時鐘源~~
范圍:10~25MHz
2、Fcco
PLL電流控制振蕩器的頻率(這個寄存器我感覺沒什么用,具體我也不知道有什么用~~)
范圍:156~320MHz
3、cclk
PLL輸出頻率,也就是處理器的時鐘頻率
這里我也不想介紹,因為在PLL那一節(jié)已經(jīng)介紹過了,請看:
http://blog.sina.com.cn/s/blog_7ec8fc2c01013b5j.html
然后我就舉個例子(就是拿Keil 4中的Startup.s文件中的設(shè)置來舉例的~~):
系統(tǒng)設(shè)計需要Fosc=12MHz,cclk=60MHz。
依照這個要求,M=cclk/Fosc=60/12=5。
因此,將M-1=4寫入PLLCFG[4:0]。
P值可由P=Fcco/(cclk*2)得出,但是Fcco必須在156~320MHz之間內(nèi)。
假設(shè)Fcco最低頻率為156MHz,則P=156/(2*60)=1.3;若Fcco為最高頻率320MHz,則P=320/(2*60)=2.67。
由此可知滿足Fcco最低和最高頻率要求的P值只能是2。
因此,PLLCFG[6:5]=01。
好了,上面的就是Keil中的啟動文件的關(guān)于上面三個頻率的介紹~~
4、pclk
外設(shè)器件所使用的時鐘~~
正如上圖所示:一個是處理器時鐘(cclk),一個是VPB時鐘(pclk),這兩個才是時鐘里面咱們真正用到的~~
控制pclk的正是VPB分頻器~~
下面就介紹一下VPB分頻器:
然后在Keil中的啟動文件設(shè)置就是那個00嘍~~
~~
至于AHB~~沒有頭緒~~是不是軟件中斷用的,但是跟VPB又有什么關(guān)系呢~~
等以后用到了~~再說吧~~