【包恩的工程日常】NXP LPC8 系列 - LPC802  CLOCK  組態介紹

 

  • SYSCON介紹

 

  1. 特徵:
    • 時脈控制。
    • 周邊獨立的監控、釋放重置。。
    • 選擇腳位提供給外部引腳中斷與模式匹配引擎使用。
    • 降低功耗模式組態。
    • 系統喚醒控制。
    • BOD 組態。
    • 中斷延遲控制。
    • NMI ( Non-Maskable Interrupt ) 來源選擇。
    • 校準系統計時器。

 

  1. 時脈來源:

   SYSCON 不需要選擇時脈來源,連接到 SYSCON 的時脈來源永遠開啟,SYSCON 時脈來源預設為 FRO。FRO 可透過內建 API – set_fro_frequency() 選擇 18MHz、24MHz ( 預設 )、30MHz 三種頻率,選擇完後,其半頻頻率將設為系統中真正的 FRO 頻率。

 

 

  1. 時鐘配置圖:

   可經由使用者的需求進行不同的配置選擇,主要要配置的有主時鐘、ADC 時鐘、時鐘輸出 ( 不一定需要 )、通訊介面時鐘、WKT 時鐘。

 

 

 

 

 

 

 

如果使用者想選擇 CLKIN 作為時鐘來源或使用 CLKOUT,則必須先經由 SWM 模組配置腳位。

 

  1. 暫存器介紹:

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 - 存放裝置的料號。

 

  • SYSCON設置實作

 

  1. 程式功能概述:

 

 

在了解各配置的規則後,使用者可依自身的需求為系統與周邊做時鐘的配置,這邊的實作對周邊電源做了控制、選擇 FRO 做為系統時鐘、打開所有周邊的時鐘源、選擇主頻率為 CKOUT 的輸入源、選擇並設計通訊界面的時鐘源、設置 ADC 時鐘源,初始化函式在硬體初始化中呼叫。

 

  1. SYSCON 初始化:

 

 

 

 

 

 

 

 

 

 

 

參考文獻 :

LPC802 reference manual - https://www.nxp.com/webapp/Download?colCode=UM11045

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論