UPD78F0411 時鐘控制(2)
1.4 控制內(nèi)部低速振蕩時鐘示例
內(nèi)部低速振蕩時鐘不能用作CPU 時鐘。
只有如下外部硬件可以使用這個時鐘。
看門狗定時器
8 位定時器H1 (選擇fRL, fRL/27 或fRL/29 作為計數(shù)時鐘時)
LCD控制器/驅(qū)動器(選擇fRL/23 作為LCD 時鐘源時)
此外,可以通過選項(xiàng)字節(jié)選擇如下操作模式。
內(nèi)部低速振蕩器不能停止
內(nèi)部低速振蕩器可由軟件停止
在復(fù)位釋放后內(nèi)部低速振蕩器自動開始振蕩,并且如果通過選項(xiàng)字節(jié)允許看門狗定時器操作,則驅(qū)動看門狗定時器
(240 kHz (TYP.))。
(1) 停止內(nèi)部低速振蕩時鐘時設(shè)置過程示例
<1> 將LSRSTOP 置1 (RCM 寄存器)
LSRSTOP 置1 時,停止內(nèi)部低速振蕩時鐘。
(2) 內(nèi)部低速振蕩時鐘重新振蕩時設(shè)置過程示例
<1> LSRSTOP 清零(RCM寄存器)
LSRSTOP 清零時,內(nèi)部低速振蕩時鐘重新振蕩。
注意事項(xiàng) 如果通過選項(xiàng)字節(jié)選擇“不能停止內(nèi)部低速振蕩器”,則不能控制內(nèi)部低速振蕩時鐘的振蕩。
1.5 CPU 和外部硬件所采用的時鐘
下表顯示了CPU 和外部硬件采用的時鐘之間的關(guān)系及寄存器的設(shè)置。
備注1. XSEL: 主時鐘模式寄存器(MCM)的第2 位
2. CSS: 處理器時鐘控制寄存器(PCC)的第4 位
3. MCM0: MCM的第0 位
4. EXCLK: 時鐘操作模式選擇寄存器(OSCCTL)的第7 位
5. X:不必考慮
1.6 CPU 時鐘狀態(tài)轉(zhuǎn)換圖
圖5-15 顯示了該產(chǎn)品CPU 時鐘狀態(tài)轉(zhuǎn)換圖。
備注 在2.7 V/1.59 V POC 模式下(選項(xiàng)字節(jié): POCMODE = 1),當(dāng)供電電壓超過2.7V(TYP.)時CPU 時鐘狀態(tài)轉(zhuǎn)換為上圖所示的(A),而在復(fù)位處理后(11 ~ 47 μs (TYP.))變到(B)。
表5-5 顯示了CPU 時鐘的切換過程與SFR 寄存器設(shè)置示例
表5-5. CPU 時鐘切換與SFR 寄存器設(shè)置示例
(1) 復(fù)位釋放后(A)CPU 使用內(nèi)部高速振蕩時鐘(B)
狀態(tài)轉(zhuǎn)換 | SFR 寄存器設(shè)置 |
(A) →(B) | SFR 寄存器不必設(shè)置(復(fù)位釋放后默認(rèn)狀態(tài)). |
(2) 復(fù)位釋放后(A)CPU 使用高速系統(tǒng)時鐘(C)
(復(fù)位釋放后CPU 立即使用內(nèi)部高速振蕩時鐘(B)。
注意事項(xiàng) 供電電壓達(dá)到所用時鐘的操作電壓后,設(shè)置時鐘。
(3) 復(fù)位釋放后(A)CPU 使用副系統(tǒng)時鐘(D)
(復(fù)位釋放后CPU 立即使用內(nèi)部高速振蕩時鐘(B)。
備注1. 表5-5 的(A) 到(I)對應(yīng)圖5-15 的(A)到(I)。
2. EXCLK, OSCSEL, OSCSELS:
時鐘操作模式選擇寄存器(OSCCTL)的第7、6 位和第4 位
MSTOP: 主OSC 控制寄存器(MOC)的第7 位
XSEL, MCM0: 主時鐘模式寄存器(MCM)的第2 位與第0 位
CSS: 處理器時鐘控制寄存器(PCC)的第4 位
(4) CPU 時鐘從內(nèi)部高速振蕩時鐘(B)切換到高速系統(tǒng)時鐘(C)
注復(fù)位釋放后該標(biāo)志只能被修改一次。如果已經(jīng)設(shè)置了該項(xiàng),則無需再設(shè)置。
注意事項(xiàng)供電電壓達(dá)到所用時鐘的操作電壓后,設(shè)置時鐘(參見第二十七章電氣特性(標(biāo)準(zhǔn)產(chǎn)品)) 。
(5) CPU 時鐘從內(nèi)部高速振蕩時鐘(B)切換到副系統(tǒng)時鐘(D)
備注1. 表5-5 的(A) 到(I)對應(yīng)圖5-15 的(A)到(I)。
2. EXCLK, OSCSEL, OSCSELS:
時鐘操作模式選擇寄存器(OSCCTL)的第7、6 位和第4 位
MSTOP: 主OSC 控制寄存器(MOC)的第7 位
XSEL, MCM0: 主時鐘模式寄存器(MCM)的第2 位與第0 位
CSS: 處理器時鐘控制寄存器(PCC)的第4 位
(6) CPU 時鐘從高速系統(tǒng)時鐘(C)切換到內(nèi)部高速振蕩時鐘(B)
(7) CPU 時鐘從高速系統(tǒng)時鐘(C)切換到副系統(tǒng)時鐘(D)
(8) CPU時鐘從副系統(tǒng)時鐘(D)切換到內(nèi)部高速振蕩時鐘(B)
備注1. 表5-5 的(A) 到(I)對應(yīng)圖5-15 的(A)到(I)。
2. MCM0: 主時鐘模式寄存器(MCM)的第0 位
OSCSELS: 時鐘操作模式選擇寄存器(OSCCTL)的第4 位
RSTS, RSTOP: 內(nèi)部振蕩模式寄存器(RCM)的第7 位和第0 位
CSS: 處理器時鐘控制寄存器(PCC)的第4 位
(9) CPU 時鐘從副系統(tǒng)時鐘(D)切換到高速系統(tǒng)時鐘(C)
注復(fù)位釋放后該標(biāo)志只能被修改一次。如果已經(jīng)設(shè)置了該項(xiàng),則無需再設(shè)置。
注意事項(xiàng) 供電電壓達(dá)到所用時鐘的操作電壓后,設(shè)置時鐘(參見第二十七章電器特性(標(biāo)準(zhǔn)產(chǎn)品)) 。
(10) CPU 使用內(nèi)部高速振蕩時鐘(B)時HALT 模式(E)的設(shè)置。
CPU 使用高速系統(tǒng)時鐘(C)時HALT 模式(F)的設(shè)置。
CPU 使用副系統(tǒng)時鐘(D)時HALT 模式(G)的設(shè)置。
(11) CPU 使用內(nèi)部高速振蕩時鐘(B)時STOP 模式(H) 的設(shè)置。
CPU 使用高速系統(tǒng)時鐘(C)時STOP 模式(I) 的設(shè)置。
備注1. 表5-5 的(A) 到(I)對應(yīng)圖5-15 的(A)到(I)。
2. EXCLK, OSCSEL: 時鐘操作模式選擇寄存器(OSCCTL)的第7 和6 位
MSTOP: 主OSC 控制寄存器(MOC)的第7 位
XSEL, MCM0: 主時鐘模式寄存器(MCM)的第2 位和第0 位
CSS: 處理器時鐘控制寄存器(PCC) 的第4 位
1.7 CPU 時鐘切換之前的狀況與切換之后的處理
CPU 時鐘切換之前的狀況與切換之后的處理顯示如下。
1.8 CPU 時鐘和主系統(tǒng)時鐘切換所需的時間
通過設(shè)置處理器時鐘控制器(PCC)的第0 位到第2 位(PCC0 到PCC2)以及第4 位(CSS),可以切換CPU 時鐘(在主系統(tǒng)時鐘和副系統(tǒng)時鐘之間),同時可以改變主系統(tǒng)時鐘的分頻比。
修改PCC 后,實(shí)際的切換操作不會立即執(zhí)行;使用切換前的時鐘繼續(xù)操作幾個時鐘(見表5-7)。
可以通過PCC 寄存器的第5 位(CLS)來確定CPU 使用主系統(tǒng)時鐘還是副系統(tǒng)時鐘。
注意事項(xiàng) 主系統(tǒng)時鐘周期分頻因子(PCC0 到PCC2)的選擇,以及從主系統(tǒng)時鐘到副系統(tǒng)時鐘的切換(CSS 從0 變到1)不能同時設(shè)置。
但對于主系統(tǒng)時鐘周期分頻因子(PCC0 到PCC2)的選擇,以及副系統(tǒng)時鐘到主系統(tǒng)時鐘的切換(CSS 從1變到0)可以同時設(shè)置。
備注1. 表5-7 列出的時鐘數(shù)是切換前的CPU 時鐘數(shù)。
2. 將CPU 時鐘從主系統(tǒng)時鐘切換到副系統(tǒng)時鐘,可通過舍入一個時鐘并舍棄小數(shù)部分來計算時鐘數(shù)量(如下所示)。
示例: 將CPU 時鐘從fXP/2 切換到fSUB/2 (@ 振蕩頻率fSUB = 32.768 kHz, fXP = 10 MHz)
fXP/fSUB = 10000/32.768 ≌305.1 →306 個時鐘
通過設(shè)置主時鐘模式寄存器(MCM)的第0 位(MCM0),可以切換主系統(tǒng)時鐘(在內(nèi)部高速振蕩時鐘和高速系統(tǒng)時鐘之間)。
修改MCM0 后,實(shí)際的切換操作不會立即執(zhí)行;使用切換前的時鐘繼續(xù)操作幾個時鐘(見表5-8)。
可以通過MCM 寄存器的第1 位(MCS)來確定CPU 使用內(nèi)部高速振蕩時鐘還是高速系統(tǒng)時鐘。
注意事項(xiàng) 當(dāng)內(nèi)部高速振蕩時鐘切換到高速系統(tǒng)時鐘時,MCM 的第2 位(XSEL)必須預(yù)先被設(shè)置為1。XSEL 值在復(fù)位釋放后只能被修改一次。
備注1. 表5-8 所列時鐘數(shù)是切換之前的主系統(tǒng)時鐘數(shù)。
2. 通過舍去小數(shù)部分,計算表5-8 的時鐘數(shù)。
示例: 將主系統(tǒng)時鐘從內(nèi)部高速振蕩時鐘切換到高速系統(tǒng)時鐘(@振蕩頻率fRH = 8 MHz, fXH = 10MHz)
1 + 2fRH/fXH = 1 + 2 x 8/10 = 1 + 2 x 0.8 = 1 + 1.6 = 2.6 → 2 個時鐘
1.9 時鐘振蕩停止前的狀況
下表列出了停止時鐘振蕩的寄存器標(biāo)志位設(shè)置(禁止外部時鐘輸入)和時鐘振蕩停止前的狀況。
1.10 外部硬件與源時鐘
下表列出了78K0/LC3 中包含的外部硬件與源時鐘。
注1.當(dāng)CPU 使用副系統(tǒng)時鐘且內(nèi)部高速振蕩時鐘已經(jīng)停止時,不要啟動依賴由外部硬件引腳輸入外部時鐘的這些功能。
2.僅對 UPD78F041x。
備注 Y: 可選, N: 不可選