1、xpll_lock:
xpll_lock暫存器主要控制pll鎖定週期的。注(這裡的x代表a、m、e、v)
2、xpll con / xpll con0 / xpll con1
xpll_con暫存器主要用來開啟 / 關閉ppl倍頻電路,設定pll的倍頻引數,檢視鎖定狀態等。
3、clk_src(n ~ 6)
clk_src暫存器是用來設定時鐘**的(這裡是n選一選那個),對應時鐘框圖的mux開關。
4、clk_src_maskn
clk_src_mask決定mux開關n選1後是否能繼續通過。預設的時鐘都是開啟的,好處是不會因為某個模組的時鐘關閉而導致莫名其妙的問題,壞處是功耗控制不精細、功耗高。
5、clk_divn
各模組的分頻器引數配置
6、clk_gate_x
類似於clk_src_mask(源時鐘開關),對時鐘進行開關控制,控制最終輸出時鐘源的開關。
7、clk_div_statn
8、clk_mus_statn
這兩類狀態位暫存器,用來檢視div和mus的狀態是否已經完成還是在進行中(分頻是否已經成功)。
總結:其中最重要的暫存器有3類:con、src、div。其中con決定pll倍頻到多少,src決定走那一條路,div決定分頻多少。
跨時鐘域的暫存器訪問
在verilog中,如果對於乙個暫存器可能同時有兩個時鐘clk對其進行操作,為了防止讀寫衝突,需要做如下簡單處理 clk f fast時鐘 和clk s slow時鐘 clk s對暫存器time cnt進行寫操作,clk f對暫存器time cnt進行讀操作,所以當clk f邊沿讀取time cnt...
跨時鐘域的暫存器訪問
在verilog中,如果對於乙個暫存器可能同時有兩個時鐘clk對其進行操作,為了防止讀寫衝突,需要做如下簡單處理 clk f fast時鐘 和clk s slow時鐘 clk s對暫存器time cnt進行寫操作,clk f對暫存器time cnt進行讀操作,所以當clk f邊沿讀取time cnt...
解決IIC不能設定暫存器,暫存器總是0
dualxu 2010 07 30 11 10 mini2440 linux2.6.32 在核心驅動中我想直接讀寫spi和iic暫存器,但通過ioremap後,無法寫暫存器,請各位幫忙看看 科長大叔 2010 08 02 09 44 clkcon這個暫存器需要設定 spi和i2c的pclk使能 否則...