PLL
PLL(Phase Locked Loop): 為鎖相回路或鎖相環(huán),用來統(tǒng)一整合時脈訊號,使內(nèi)存能正確的存取資料。PLL用于振蕩器中的反饋技術。
鎖相環(huán)是一種反饋電路,其作用是使得電路上的時鐘和某一外部時鐘的相位同步。PLL通過比較外部信號的相位和由壓控晶振(VCXO)的相位來實現(xiàn)同步的,在比較的過程中,鎖相環(huán)電路會不斷根據(jù)外部信號的相位來調(diào)整本地晶振的時鐘相位,直到兩個信號的相位同步。
在數(shù)據(jù)采集系統(tǒng)中,鎖相環(huán)是一種非常有用的同步技術,因為通過鎖相環(huán),可以使得不同的數(shù)據(jù)采集 板卡共享同一個采樣時鐘。因此,所有板卡上各自的本地80MHz和20MHz時基的相位都是同步的,從而采樣時鐘也是同步的。因為每塊板卡的采樣時鐘都是 同步的,所以都能嚴格地在同一時刻進行數(shù)據(jù)采集。
通過鎖相環(huán)同步多塊板卡的采樣時鐘所需要的編程技術會根據(jù)您所使用的硬件板卡的不同而不同。對 于基于PCI總線的產(chǎn)品(M系列數(shù)據(jù)采集卡,PCI數(shù)字化儀等),所有的同步都是通過RTSI總線上的時鐘和觸發(fā)線來實現(xiàn)的;這時,其中一塊版板卡會作為 主卡并且輸出其內(nèi)部時鐘,通過RTSI線,其他從板卡就可以獲得這個用于同步的時鐘信號,對于基于PXI總線的產(chǎn)品,則通過將所有板卡的時鐘于PXI內(nèi)置 的10MHz背板時鐘同步來實現(xiàn)鎖相環(huán)同步的。
http://www.altera.com.cn/support/devices/pll_clock/basics/pll-basics.html
---------------------------------------------------------------------------------------------
PLL在電子電路中的應用
PLL即鎖相環(huán),基本原理圖是:
輸入信號-> 鑒相器 -> 低通濾波器 -> 壓控振蕩器-> 輸出信號
^|_____________________ |
鑒相器有兩個輸入,分別是輸入信號和壓控振蕩器的輸出信號,在二者相位差和頻
率差不是很大的情況下,鑒相器的輸出與兩輸入信號之差成正比,鑒相器的輸出為模
擬信號,其通過低通濾波器慮除高頻雜波,后進入壓控振蕩器,壓控振蕩器的輸出頻
率隨其輸入電壓的改變而改變。
從原理圖上看,PLL實際上是一負反饋系統(tǒng),只要輸入信號在正常范圍內(nèi),輸出信號
在“一定時間內(nèi)”都能跟上。輸入信號發(fā)生變化后,輸出信號跟蹤輸入信號的過程稱之
為捕獲;輸出信號跟蹤完畢時稱之為鎖定;輸入信號變化過快導致輸出信號無法跟蹤
時稱為失鎖。
通過PLL可以方便實現(xiàn)N倍頻,原理如下:
輸入信號-> 鑒相器 -> 低通濾波器 -> 壓控振蕩器-> 輸出信號
^|______N分頻器______________|
此外,可以實現(xiàn)小數(shù)倍頻,原理如下:
輸入信號-> 鑒相器 -> 低通濾波器 -> 壓控振蕩器-> 輸出信號
^|________N分頻器/N+1分頻_________|
| |
|------ 模式控制 ――---------> |
模式控制模塊可以選擇分頻器處于N分頻器還是N+1分頻,若通過模式控制模塊實現(xiàn)
10個clk中有9個clk為N分頻,1個clk為N+1分頻,則實際輸出信號頻率為(N+0.1)×
輸入頻率。
PLL電路本質(zhì)是模擬電路,與ARM內(nèi)核的數(shù)字電路截然不同,故在CPU中處于獨立地
位,另外很多CPU的PLL供電為單獨供電,且對PLL供電質(zhì)量要求較高。
http://www.qingyangos.org/maillist/msg00025.html
其中pll 包含兩種: MPLL 主要應用于各種設備時鐘的提供,將重點討論
UPLL 應用于USB時鐘頻率應用,為48M
其中MPLL的設置主要依靠使用各種鎖相環(huán)和分頻器來改變輸入原始的頻率,經(jīng)過鎖相環(huán)之后可以提升頻率,關于頻率的選擇主要依靠改變CPU寄存器實現(xiàn),MPLLCON通過改變其中的參數(shù)設置即可
Mpll = (m * Fin) / (p * 2s)
m = (MDIV + 8), p = (PDIV + 2), s = SDIV
MPLL就是要得到的頻率,我建議用參考手冊給定的頻率設置即可,標準之際。
接下來該設置各種設備的頻率:
我所認為的MPLL分出三種模式:FCLK、HCLK、PCLK
這三種也應用于不同的場合,F(xiàn)CLK應用于CPU的時鐘,HCLK用于AHB bus各種外圍設備,PCLK 用于APB bus各種接口設備。
其中FCLK 應用就是MPLL的頻率,一樣的,不用設置的。
HCLK 可以設置為FCLK或FCLK/2 ,即通過設置相應得寄存器CLKDIVN中的對應位HDIVN即可,其中HDIVN為0時對應FCLK,為1時對應FCLK/2
PCLK可以設置為HCLK或HCLK/2 ,即通過設置相應得寄存器CLKDIVN中的對應位PDIVN即可,其中PDIVN為0時對應HCLK,為1時對應HCLK/2
If HDIVN=1, the CPU bus mode has to be changed from the fast bus mode to the asynchronous bus mode using following instructions.
MMU_SetAsyncBusMode
mrc p15,0,r0,c1,c0,0
orr r0,r0,#R1_nF:OR:R1_iA
mcr p15,0,r0,c1,c0,0
If HDIVN=1 and the CPU bus mode is the fast bus mode, the CPU will operate by the HCLK. This feature can be used to change the CPU frequency as a half without affecting the HCLK and PCLK.
以上這段文字也是講關于寫協(xié)處理器來控制協(xié)調(diào)內(nèi)部總線和外部總線的關系,不過原文有點不太明白,又不敢把錯的意思表達出來,貽害眾生,只好原文照搬后談點 看法,我感覺是當HCLK中設置為FCLK/2 時必須協(xié)調(diào)與內(nèi)部總線關系,至于同步非同步還要通過協(xié)處理器來管理,這樣就可以很好的協(xié)調(diào)各種總線的關系了,當出現(xiàn)HDIVN=1和CPU總線被設為快速 非同步模式時,CPU(我認為是總線頻率)可以完全依靠HCLK提供頻率,因此將會改變CPU頻率時不會影響到其它的變化。
今天看數(shù)據(jù)手冊時有發(fā)現(xiàn)了幾點沒有發(fā)現(xiàn)的東西,主要是關于協(xié)處理器的。
ARM920T 竟然有兩種輸入時鐘方式,F(xiàn)CLK 和BCLK ,其中BCLK 主要提供給AMBA
Bus的,可也可以通過選擇協(xié)處理器的R1的NF,iA位來選擇是否供是時鐘給核ARM920T
3, FCLK是核心頻率, 是用ARM920T;
4, HCLK: 管理中斷控制器, 內(nèi)存控制器, LCD(你的液晶屏)控制器, DMA(直接內(nèi)存訪問)控制器, 和大家津津樂道的USB Host控制器;
(類似PC機的北橋芯片)
5, PCLK: 周邊總線的頻率(類似PC機的南橋芯片);
6, FCLK(核心頻率)不變的情況下, 可以使 FCLK:HCLK:PCLK 在 1:1:1(默認) -> 1:8:16 之間獲得多檔頻率, 而FCLK始終不變, 這點很重要
2410內(nèi)部有三個時鐘:FCLK、HCLK、PCLK,分別供CPU、AHB總線和
APB總線使用,為了降低功耗,一般都選擇周期比為1:2:4的合理配置。 同時將PLL配置為運行環(huán)境時鐘,一般都達到最高202M。
FCLK是供給CPU的 是主頻
HCLK是供給AHB總線(主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接,作為SoC的片上系統(tǒng)總線)上的外圍設備
PCLK是供給APB總線(APB主要用于低帶寬的周邊外設之間的連接,例如UART、1284等)上的外圍設備
UCLK是兩路PLL中一路供給USB的頻率
FCLK, HCLK, and PCLK
FCLK is used by ARM920T.
HCLK is used for AHB bus, which is used by the ARM920T, the memory controller, the interrupt controller, the
LCD controller, the DMA and the USB host block.
PCLK is used for APB bus, which is used by the peripherals such as WDT, IIS, I2C, PWM timer, MMC interface,
ADC, UART, GPIO, RTC and SPI.
The S3C2410X supports selection of Dividing Ratio between FCLK, HLCK and PCLK. This ratio is determined by
HDIVN and PDIVN of CLKDIVN control register.
HDIVN PDIVN FCLK HCLK PCLK Divide Ratio
0 0 FCLK FCLK FCLK 1 : 1 : 1
(Default)
0 1 FCLK FCLK FCLK / 2 1 : 1 : 2
1 0 FCLK FCLK / 2 FCLK / 2 1 : 2 : 2
1 1 FCLK FCLK / 2 FCLK / 4 1 : 2 : 4
(recommended)
文章說明:calmarrow(lqm)原創(chuàng),參考thisway.diy的《S3C2410完全開發(fā)》
文章引自:http://piaoxiang.cublog.cn
clock部分比較容易,現(xiàn)在按照datasheet的思路梳理一下。
一、對clock的基本認識
第七部分是“clock & power management”,總結(jié)如下:
1 s3c2410的clock & power management模塊包含三個部分:clock control、usb control、power control?,F(xiàn)在的關注點是clock control。
2、s3c2410有兩個pll(phase locked loop,鎖相環(huán),在高頻中學過,可以實現(xiàn)倍頻,s3c2410的高頻就是由此電路產(chǎn)生的)。其中一個是MPLL,M即為main,用來產(chǎn)生三種時鐘信 號:Fclk(給CPU核供給時鐘信號,我們所說的s3c2410的cpu主頻為200MHz,就是指的這個時鐘信號,相應的,1/Fclk即為cpu時 鐘周期)、Hclk(為AHB bus peripherals供給時鐘信號,AHB為advanced high-performance bus)、Pclk(為APB bus peripherals供給時鐘信號,APB為advanced peripherals bus)。在這里,需要了解一下AMBA system architecture了。這個可以到官方網(wǎng)站www.arm.com下載相關資料。簡單的說,AMBA是一種協(xié)議,這種協(xié)議已經(jīng)稱為片上組織通信的事實上的標準(the de facto standard for on-chip fabric communication)。下面給出英文描述:
The AMBA protocol is an open standard, on-chip bus specification that details a stategy for the interconnection and management of functional blocks that makes up a system-on-chip(SoC).It facilitates "right-first-time" development of embedded processors with one or more CPU/signal processors and multiple peripherals. The AMBA protocol enhances a resuable design methodology by defining a common backbone for SoC modules.
需要知道的是,AMBA總線是ARM提出的一種解決方案,它并非唯一的規(guī)范,但是因為ARM的廣泛使用,AMBA總線也就成為了事實上的規(guī)范了。現(xiàn)在 AMBA總線最新為AMBA 3 specification版本,包括AMBA 3 AXI Interf