2、系統控制器配置(時鐘源設定)
系統控制器主要控制三個pll生成對應的時鐘:armclk、hclk、pclk;
目前學習使用的時鐘源是12mhz的晶振。
通過s3c6410的系統控制器章節可以知道主要配置的是對應的分頻係數、多路復用的時鐘源選擇、對應的pll控制器等。
為了機器滿載執行,這裡需要生成的時鐘頻率為armclk=667mhz(最大值),hclk=133mhz,pclk=66mhz;
根據s3c6410的table 3-2可知,對應的apll = 667mhz, mpll=266mhz, 分頻係數div(arm) = 0, div(hclkx2) = 0, div(hclk) = 1, div(pclk)=3, div(clkjpeg)=3, div(clksecur) = 3
clkmfc使用預設值133mhz,則clk_div0[31:28]為0b0001, clk_src[4]=0,這裡133mhz為最大值,若需要降頻,則增大clk_div0[31:28]的分頻係數;
clkcam也使用最大值133mhz,根據figure 3-7可知,該時鐘由hckx2分頻得出,則clk_div0[23:20]=0b0001;
時鐘從12mhz切換到我們指定的穩定頻率,需要一定的時間,在這段時間內需要鎖定pll,鎖定的時間通過對應的xpll_lock暫存器控制,這裡使用預設值,則對應的xpll_lock值為0xffff;
為了pll生成對應的頻率,需要設定對應的pll_con暫存器,通過p(142)的**可知,apll_con推薦值為mdiv=333, pdiv=3, sdiv=1;
已知f(out) = 266, f(in)=12,查表可知mpll_con的推薦值為mdiv=266, pdiv=3, sdiv=2;
目前不使用epll,所以epll_con0[31]=0;
綜上:時鐘配置的步驟為:
1)、確定需要的時鐘頻率;
2)、確定對應的分頻係數;
3)、確定對應pll的mdiv、pdiv、sdiv的值;
4)、確定切換時鐘源後達到穩定頻率需要的鎖定時間;
5)、設定時鐘源生成頻率
ps:1)、在設定暫存器的各個引數之前,需要將cpu設定為非同步模式;
涉及的暫存器有:clk_div0、apll_con、mpll_con、clk_src
1) 時鐘源選擇:使用12mhz的晶振,所以om[0] = 0
2)pll時鐘源選擇暫存器:
clk_src[0] = 1, clk_src[1] = 1
others[6] = 0
misc_con[19] = 1
uart:
clk_src[13] = 1
spi0:
clk_src[15:14] = ?
spi1:
clk_src[17:16] = ?
mmc:
clk_src[7:0] = ?
clk_src[23:18] = ?
3)分頻係數設定與門控開關
設定div(hclkx2): clk_div0[11:9] = 0
設定div(hclk): clk_div0[8] = 1
設定div(pclk): clk_div0[15:12] = 3
設定div(clkjpeg): clk_div0[27:24] = 3
設定div(clksecur): clk_div0[19:18] = 3
開啟門控:hclk_gate = 1
pclk_gate = 1
sclk_gate = 1
uart:
設定div(mpll): clk_div0[4] = 0
設定div(uart): clk_div2[19:16]= ?
spi:
設定div(spi): clkdiv2[7:0] = ?
mmc:
設定div(mmc): clkdiv1[11:0] = ?
4)設定pll鎖定時間與xpll_con暫存器
apll_lock = 0xffff;
mpll_lock = 0xffff;
apll_con[25:16] = 333
apll_con[13:8] = 3
apll_con[2:0] = 1
mpll_con[25:16] = 266
mpll_con[13:8] = 3
mpll_con[2:0] = 2
epll_con0[31] = 0
ok6410使用ov7670模組配置方法
需使用ok6410官方的ov9650 cmos模組,去掉ov9650換成ov7670,注意 1.ov7670模組管腳定義必須和ov9650一致 2.飛凌提供的ov9650規格書管腳1和24順序錯誤 開始配置 1.修改ov7670的i2c位址為0x21,i2c board info ov965x 0x...
STM8 時鐘源切換
1 1 24mhz的高速外部晶體振盪器 hse 即外部晶振 2 1 24mhz的高速外部時鐘訊號 hse 3 16mhz的高速內部rc振盪器 hsi 4 128khz的低速內部rc振盪器 lsi 由上述時鐘框圖,可以分析得知,16mhz hsi rc振盪器經過乙個分頻器,將時鐘訊號輸出到主時鐘選擇器...
MSP430時鐘源整理
1 在msp430微控制器中,乙個時鐘週期 mclk晶振的倒數。如果mclk是8mhz,則乙個時鐘週期為1 8us。乙個機器週期 乙個時鐘週期,即430每個動作都能完成乙個基本操作。乙個指令週期 1 6個機器週期,具體根據具體指令而定。另外,指令長度只是乙個儲存單位,與時間沒有必然的關係。2 msp...