1,.系統時鍾來源:
時鍾信號對於單片機來說是非常重要的, 它為單片機工作提供一個穩定的機器周期從而使系統能夠正常運行。 時鍾系統猶如人的心臟, 一旦有問題整個系統就崩潰。 我們知道 DSP 屬於數字信號處理器, 也可以說是一種高級單片機, 若要它正常工作也必須為其提供時鍾信號。 時鍾信號是由時鍾信號的源頭(簡稱時鍾源) 產生, 下面我們就來分析下 F28335 內部的時鍾電路。 如圖所示:
我們按照圖中標號順序分別介紹,從上圖可以看到,F28335 的時鍾源有兩種:
(1) 采用外部振盪器作為時鍾源(簡稱外部時鍾) , 即在 XCLKIN 引腳提供一定頻率的時鍾信號, 也可以通過復用的 X1 引腳提供, 即由其他數字系統或外部振盪器引入。
(2) 采用 F28335 內部振盪器作為時鍾源(簡稱內部時鍾) , 在 X1 和 X2 引腳之間連接一個晶體就可以產生時鍾源。
①外部時鍾源信號接入方法有 2 種, 分別針對的是電壓為 3.3V 的外部時鍾和 1.9V 的外部時鍾。
(A) 外部時鍾信號接入方式 1, 即采用 3.3V 的外部時鍾。 如圖 7.1.2 所示:
3.3V 外部時鍾信號直接接入 XCLKIN 引腳, X1 引腳接 GND, X2 引腳懸空, 系 統內高電平不能超過 VDDIO, 即 3.3V。
(B) 外部時鍾信號接入方式 2, 即采用 1.9V 的外部時鍾。 如圖 7.1.3 所示:
1.9V 外部時鍾信號直接接入 X1 引腳, XCLKIN 引腳接 GND, X2 引腳懸空, 系統內高電平不能超過 VDD, 即 1.9V。
②內部時鍾源信號接法如圖 7.1.4 所示:
從上圖可以看到 XCLKIN 引腳接地, X1 和 X2 引腳間接入了一個晶振。在實際的應用中, 我們一般不采用外部振盪器方式, 直接采用內部振盪器的方式更多一些。典型的接法是在 X1 和 X2 引腳間接入一個 30MHz 晶振,選擇 30MHZ晶振是因為若直接采用更高頻率晶振, 不僅價格會上升, 而且晶振電路還需要做EMC 處理, 即需要設計特殊的晶振電路, 而 30MHZ 晶振目前是比較容易獲取的。
(3) 我們知道 F28335 工作的最高主頻是 150MHz, 但實際提供的晶振是30MHZ, 我們希望 CPU 能工作在最高主頻上, 這時怎么能讓這 30M 轉變成 150M供 CPU 工作呢? 這就需要提到 F28335 內部的 PLL 鎖相環了。 從上圖可以看到,內部信號時鍾源與外部信號時鍾源通過異或門后選擇接入成為 OSCCLK 即振盪器時鍾信號, 該信號受到寄存器 PLLSTS(OSCOFF) 位控制, 該位置 1 即開關合上,振盪器信號允許通過, 然后分兩路傳輸, 一路直接過去, 另一路經過 PLL 鎖相環模塊。 一般不能直接使用 OSCCLK 信號, 該信號的頻率是由石英晶體產生, 頻率不夠高, 需要進入鎖相環倍頻和分頻后才能使用, 所以要使能 PLL 鎖相環, 即對寄存器 PLLSTS(PLLOFF) 位控制。 使能后通過寄存器 PLLCTR 來設置倍頻數, 倍頻值最大可設置為 10, 通常我們就設置倍頻數為10, 這樣通過 PLL 后的時鍾信 號 VCOCLK 即為 300MHZ。 因為 F28335 芯片最高工作頻率是 150MHZ, 所以此時還不能直接 CPU 內核使用, 還需要對其分頻處理, 可通過寄存器 PLLSTS(DIVSEL)
位來設置分頻系數, 為了使 CPU 工作在最高頻率下, 通常設置分頻系數為 2, 即最終時鍾信號 CLKIN 為 150MHZ 供給 CPU。