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