- 特徵:
- 時脈控制。
- 周邊獨立的監控、釋放重置。。
- 選擇腳位提供給外部引腳中斷與模式匹配引擎使用。
- 降低功耗模式組態。
- 系統喚醒控制。
- BOD 組態。
- 中斷延遲控制。
- NMI ( Non-Maskable Interrupt ) 來源選擇。
- 校準系統計時器。
SYSCON 不需要選擇時脈來源,連接到 SYSCON 的時脈來源永遠開啟,SYSCON 時脈來源預設為 FRO。FRO 可透過內建 API – set_fro_frequency() 選擇 18MHz、24MHz ( 預設 )、30MHz 三種頻率,選擇完後,其半頻頻率將設為系統中真正的 FRO 頻率。
可經由使用者的需求進行不同的配置選擇,主要要配置的有主時鐘、ADC 時鐘、時鐘輸出 ( 不一定需要 )、通訊介面時鐘、WKT 時鐘。
如果使用者想選擇 CLKIN 作為時鐘來源或使用 CLKOUT,則必須先經由 SWM 模組配置腳位。
SYSMEMREMAP - 選擇從 rom、sram 或 flash 讀取異常向量。
SYSRSTSTAT - 顯示重置來源狀態。
MAINCLKSEL - 選擇主時鐘源。
MAINCLKUEN - 確定更新主時鐘源。
SYSAHBCLKDIV - 系統時鐘頻率設定。
ADCCLKSEL - 選擇 ADC 時鐘來源。
ADCCLKDIV - ADC 時鐘頻率設定。
LPOSCCLKEN - 使能 WDT 與 WKT 使用 LPOSC 作為模組時鐘源。
SYSAHBCLKCTRL0 - 使能 AHB 與 APB 上周邊的時鐘。
PRESETCTRL - 軟件復位特定周邊與清除復位使周邊正常運作。
UARTCLKSEL - 選擇 USART 時鐘來源。
I2C0CLKSEL - 選擇 I2C 時鐘來源。
SPI0CLKSEL - 選擇 SPI 時鐘來源。
FRG0DIV - 分數時鐘產生器 à 除數。
FRG0MULT - 分數時鐘產生器 à 乘數。
FRG0CLKSEL - 選擇 FRG0 模組的時鐘來源。
CLKOUTSEL - 選擇 CLKOUT 的時鐘來源。
CLKOUTDIV - CLKOUT 時鐘頻率設置。
PIOPORCAP0 - 上電時的腳位狀態觀察,唯讀。
BODCTRL - BOD 相關比較電位選擇與中斷、重置控制。
SYSTCKCAL - 校準系統時鐘。
IRQLATENCY - 中斷延遲時間控制。
NMISRC - 選擇 NMI 來源,記得選定來源後必須到 NVIC 將同樣的中斷源關閉。
PINTSEL - 選擇腳位做為腳位中斷或模式匹配引擎使用。
STARTERP - 使能腳位中斷或特定周邊能在 deep-sleep mode 與 power-down mode 中將系統喚醒。
PDSLEEPCFG - 深度睡眠模式的組態。
PDAWAKECFG - 系統喚醒後的組態控制。
PDRUNCFG - 周邊的電源控制。
DEVICE_ID - 存放裝置的料號。
在了解各配置的規則後,使用者可依自身的需求為系統與周邊做時鐘的配置,這邊的實作對周邊電源做了控制、選擇 FRO 做為系統時鐘、打開所有周邊的時鐘源、選擇主頻率為 CKOUT 的輸入源、選擇並設計通訊界面的時鐘源、設置 ADC 時鐘源,初始化函式在硬體初始化中呼叫。
參考文獻 :
LPC802 reference manual - https://www.nxp.com/webapp/Download?colCode=UM11045
評論