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