Microchip PIC18F4550 的內部時鐘結構屬於帶有 USB 介面的特殊功能中檔微控制器,而內部的分頻結構原理也是不簡單,需要化時間來了解!PIC18F4550 的時鐘結構主要是分開為兩個部分,第一個是提供 USB 的時鐘,第二個是提供 MCU 的時鐘。產生原始時鐘可用外部電路 (主振盪器或輔助振盪器電路) 或內部電路 (內部振盪器電路) 提供,其中以用石英晶體組成的振盪電路為主,特別在要使用 USB 功能時。以下用 20MHz 用外部石英晶體的振盪電路作為例子。
▲PIC18F4550 時鐘簡化框圖 |
▲石英晶體振盪器電路 |
▲USB 時鐘結構 |
USB 模組在兩種模式下都能非同步於微控制器內核和其他外設運行。這意味著可以在使用主振盪器作為 USB 時鐘的同時,用一個獨立的時鐘源以較低的速率驅動微控制器。 如果必須只使用一個時鐘源為所有模組提供時鐘,採用全速模式可選擇較廣範圍的微控制器時鐘頻率。
主振盪器的頻率首先會接到除頻器,除頻器會根據寄存器數據 (PLLDIV=5) 作出除頻 (÷ 1/2/3/4/5/6/10/12) ,除頻器的目的是要提供一個標準 4MHz 頻率給予 PLL (鎖相環 Phase Lock Loop),PLL 會產生一個 96MHz頻率,96MHz 頻率會除 2 (USBDIV=2) 變成 48MHz,便會提供給 USB 器件。
USB配置1:
PLLDIV=5 20MHz /5 = 4MHz 寄存器 CONFIG1L:PLLDIV=100
USBDIV=2 96MHz /2 = 48MHz 寄存器 CONFIG1L:USBDIV=1
FSEN=1 48MHz 寄存器UCFG:FSEN1=1
在 PIC18F4550 的 CPU 時鐘原理,時鐘源可以由主振盪器、輔助振盪器或內部振盪器電路提供,如用上同 USB 的振盪器 20MHz,20MHz 的頻率通過後分頻器 (CPUDIV)系統作出除頻 (÷ 1/2/3/4) ,然後會選擇 (XT、HS、EC、ECIO) (HSPLL、ECPLL、XTPLL、ECPIO) 的頻率,頻率便會提供給微控制器用。
CPU配置1:
FOSC=HS 寄存器 CONFIG1H:FOSC=110x
CPUDIV= OSC1_PLL2 20MHz /5 = 4MHz 寄存器 CONFIG1L:CPUDIV=100
CPU配置2:
FOSC=HSPLL_HS 寄存器 CONFIG1H:FOSC=111x
CPUDIV= OSC1_PLL2 96MHz /2 = 48MHz 寄存器 CONFIG1L:CPUDIV=100
PIC18F4550 芯片的振盪器操作通過兩個配置寄存器和兩個控制寄存器控制。配置寄存器(CONFIG1L 和 CONFIG1H)用於選擇振盪模式和 USB 預分頻器 / 後分頻器選項。 在對器件編程時設置這兩個配置寄存器中的配置位元,這些位元將保留此配置直到重新編程為止。
▲CONFIG1L 寄存器 |
▲CONFIG1H 寄存器 |
▲OSCCIN 寄存器 |
氣溫:19.1 度 @ 23:00
相對濕度:百分之86%
天氣:多雲
你好
回覆刪除最近在查相關SD卡、USB 相關資料,看到你這篇文章可以請問一下PIC18F4550 這顆IC是SD或USB內部電路使用的IC嗎?
PIC18F4550 是使用 5V 電源供應,一般SD 是使用 3.3V,所以要看 SD卡有沒有分壓,USB 是使用 5V,但提議使用前看清楚產品說明書是否可使用於 5V。
回覆刪除非常感謝你
刪除