色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

中科芯CKS32K148 MCU SCG時鐘工作頻率范圍和寄存器設置

中科芯MCU ? 來源:中科芯MCU ? 2024-12-09 14:55 ? 次閱讀

MCU微課堂

CKS32K148 SCG(二)

第四十九期 2024.12.6

六、SCG時鐘工作頻率范圍

接第四十五期的SCG介紹,下文對SCG時鐘工作頻率范圍、寄存器設置等進行詳細闡述。

在不同的工作模式下,系統對于不同的內部時鐘存在安全工作頻率范圍的限制,以保證系統的正常工作。下表為SCG內部時鐘在不同工作模式下的安全工作頻率范圍匯總。

表1 SCG內部時鐘安全工作頻率

09014c28-b3b4-11ef-93f3-92fbcf53809c.png

七、SCG寄存器配置

在前文中,已經對SCG時鐘進行了整體介紹,下面以RUN模式下配置SPLL為系統時鐘源為例,對時鐘配置的具體方法進行講解。

0948fc12-b3b4-11ef-93f3-92fbcf53809c.png

圖5 SYSCLK生成流程

在RUN模式下選擇SPLL作為系統時鐘源時,應對SPLL時鐘進行相關使能操作,同時應保證SPLL的輸出信號頻率在正常工作頻率90~160MHz范圍內。在對SPLL的配置中,有兩個較為重要的寄存器,分別是SCG_SPLLCSR和SCG_SPLLCFG。

0974e156-b3b4-11ef-93f3-92fbcf53809c.png

圖6 SCG_SPLLCSR寄存器

在SCG_SPLLCSR寄存器中,我們應重點關注如下幾位:

099d58ac-b3b4-11ef-93f3-92fbcf53809c.png

圖7 SPLL系統時鐘選擇與有效位

09b142a4-b3b4-11ef-93f3-92fbcf53809c.png

圖8 SPLL時鐘使能位

09d2be66-b3b4-11ef-93f3-92fbcf53809c.png

圖9 SCG_SPLLCFG寄存器

在SCG_SPLLCFG寄存器中,我們應關注如下兩位:

0a026684-b3b4-11ef-93f3-92fbcf53809c.png

圖10 SPLL倍頻系數位

0a0cb6a2-b3b4-11ef-93f3-92fbcf53809c.png

圖11 SPLL分頻系數位

可知,SPLL對參考時鐘信號能夠進行16~47倍頻和最大8分頻。

由于SPLL以SOSC作為參考時鐘源,還應在寄存器SCG_SOSCCSR中對SOSC時鐘使能。

0a2897be-b3b4-11ef-93f3-92fbcf53809c.png

圖12 SCG_SOSCCSR寄存器

SCG_SOSCCSR寄存器中,SOSC時鐘使能的相關位如下:

0a601752-b3b4-11ef-93f3-92fbcf53809c.png

圖13 SOSC時鐘有效位

0a76edba-b3b4-11ef-93f3-92fbcf53809c.png

圖14 SOSC時鐘使能位

在完成上述時鐘配置后,在寄存器SCG_RCCR中配置RUN模式下的系統時鐘源。

0a85950e-b3b4-11ef-93f3-92fbcf53809c.png

圖15 SCG_RCCR寄存器

0a9e35a0-b3b4-11ef-93f3-92fbcf53809c.png

圖16 系統時鐘源選擇位

除SPLL時鐘外,還應保證生成的內部時鐘SYS_CLK、BUS_CLK和FLASH_CLK工作在安全頻率范圍內。下圖為系統時鐘源信號(紫色)生成內部時鐘信號的流程圖。

0acfee7e-b3b4-11ef-93f3-92fbcf53809c.png

圖17 內部時鐘生成流程

生成的內部時鐘信號頻率由寄存器SCG_RCCR中如下相關位調控:

0af8afc6-b3b4-11ef-93f3-92fbcf53809c.png

圖18 內核時鐘分頻位

0b193d86-b3b4-11ef-93f3-92fbcf53809c.png

圖19 總線時鐘分頻位

0b430d96-b3b4-11ef-93f3-92fbcf53809c.png

圖20 FLASH時鐘分頻位

八、SCG結構體初始化

在標準庫中,所有時鐘的初始化均可通過CLOCK_DRV_Init()實現:

CLOCK_DRV_Init(&clockMan1_InitConfig0);

其中使用的參數結構體指針clockMan1_InitConfig0,其結構體類型為clock_manager_user_config_t,結構體定義如下:

typedef struct

{

scg_config_t scgConfig; /*!< SCG Clock configuration. ?????*/

sim_clock_config_t simConfig; /*!< SIM Clock configuration. ?????*/

pcc_config_t pccConfig; /*!< PCC Clock configuration. ?????*/

pmc_config_t pmcConfig; /*!< PMC Clock configuration. ?????*/

} clock_manager_user_config_t;

需要注意的是,由于SCG相關時鐘的配置僅需在第一個成員結構體scgConfig中進行,對于其余的成員結構體的使用本文中將不進行介紹。

SCG的初始化結構體類型為scg_config_t,下面是相關結構體的定義:

typedef struct

{

scg_sirc_config_t sircConfig; /*!< Slow internal reference clock configuration.*/

scg_firc_config_t fircConfig; /*!< Fast internal reference clock configuration. */

scg_sosc_config_t soscConfig; /*!< System oscillator configuration. ???????*/

scg_spll_config_t spllConfig; /*!< System Phase locked loop configuration. ?*/

scg_rtc_config_t rtcConfig; /*!< Real Time Clock configuration. ????????*/

scg_clockout_config_t clockOutConfig; /*!< SCG ClockOut Configuration. ??????????*/

scg_clock_mode_config_t clockModeConfig; /*!< SCG Clock Mode Configuration. ???????*/

} scg_config_t;

在本文中,我們需要使用上述結構體中的成員結構體soscConfig、spllConfig以及clockModeConfig完成對內部時鐘輸出的配置。

對于SOSC時鐘,初始化結構體類型為scg_sosc_config_t,結構體定義如下:

typedef struct

{

uint32_t freq; /*!< System OSC frequency. ?*/

scg_sosc_monitor_mode_t monitorMode; /*!< System OSC Clock monitor mode. ?*/

scg_sosc_ext_ref_t extRef; /*!< System OSC External Reference Select.*/

scg_sosc_gain_t gain; /*!< System OSC high-gain operation. */

scg_sosc_range_t range; /*!< System OSC frequency range. ?*/

scg_async_clock_div_t div1; /*!< Asynchronous peripheral source. ?*/

scg_async_clock_div_t div2; /*!< Asynchronous peripheral source. ?*/

bool enableInStop; /*!< System OSC is enable or not in stop mode. */

bool enableInLowPower; /*!< System OSC is enable or not in low power mode.*/

bool locked; /*!< System OSC Control Register can be written. */

bool initialize; /*!< Initialize or not the System OSC module.*/

} scg_sosc_config_t;

該結構體中共有11個成員變量,我們僅需配置其中的第1、4、5和11號變量即可完成對SOSC時鐘的使能,其功能分別如下:

變量一freq:應配置為當前SOSC使用的時鐘源頻率。

變量四gain:用于控制晶振操作的功耗模式,可選高增益或低增益。

變量五range:用于為OSC選擇頻率范圍,作為SPLL的時鐘源,本文中SOSC只能選擇高頻率范圍。

變量十一initialize:用于對SOSC時鐘進行使能,決定了時鐘是否有效。

對于SPLL時鐘,初始化結構體類型為scg_spll_config_t,結構體定義如下:

typedef struct

{

scg_spll_monitor_mode_t monitorMode; /*!< Clock monitor mode selected. ?*/

uint8_t prediv; /*!< PLL reference clock divider. ?*/

uint8_t mult; /*!< System PLL multiplier. ?*/

uint8_t src; /*!< System PLL source. ?*/

scg_async_clock_div_t div1; /*!< Asynchronous peripheral source.*/

scg_async_clock_div_t div2; /*!< Asynchronous peripheral source.*/

bool enableInStop; /*!< System PLL clock is enable or not in stop mode. */

bool locked; /*!< System PLL Control Register can be written. */

bool initialize; /*!< Initialize or not the System PLL module. */

} scg_spll_config_t;

該結構體中共有9個成員變量,我們需配置其中的第2、3、4和9號變量以完成對SPLL時鐘的使能以及輸出頻率調控,其功能分別如下:

變量二prediv:用于配置SPLL參考時鐘頻率的分頻系數。

變量三mult:用于配置SPLL參考時鐘頻率的乘法因子。

變量四src:用于配置SPLL的輸入時鐘源,在本文中僅能選擇參考時鐘SOSC作為時鐘源。

變量九initialize:用于對SPLL時鐘進行使能,決定了時鐘是否有效。

對于RUN模式下的內部時鐘配置,初始化結構體類型為scg_system_clock_config_t,結構體定義如下:

typedef struct

{

scg_system_clock_div_t divSlow; /*!< Slow clock divider. */

scg_system_clock_div_t divBus; /*!< BUS clock divider.*/

scg_system_clock_div_t divCore; /*!< Core clock divider. */

scg_system_clock_src_t src; /*!< System clock source. */

} scg_system_clock_config_t;

該結構體中共有4個成員變量,其功能分別如下:

變量一divSlow:用于控制FLASH時鐘分頻比。

變量二divBus:用于控制總線時鐘分頻比。

變量三divCore:用于控制內核時鐘分頻比。

變量四src:用于在運行模式下,選擇產生系統時鐘的時鐘源。

九、時鐘配置代碼

依據前文中對寄存器與SCG時鐘結構體的基本介紹,即可在函數CLOCK_DRV_Init()中對系統時鐘進行相關配置。本文以SPLL為時鐘源,配置輸出56MHz的SYSCLK、28MHz的BUSCLK以及14MHz的FLASHCLK。相關結構體代碼如下:

clock_manager_user_config_t clockMan1_InitConfig0 =

{

.scgConfig =

{

.soscConfig =

{

.initialize = true,

.freq = 8000000U, /* System Oscillator frequency: 8MHz */

.extRef = SCG_SOSC_REF_OSC, /* Internal oscillator of OSC requested. */

.range = SCG_SOSC_RANGE_HIGH, /* High frequency range selected for the crystal oscillator of 8 MHz to 40 MHz. */

},

.spllConfig =

{

.initialize = true,

.prediv = (uint8_t)SCG_SPLL_CLOCK_PREDIV_BY_1,/* Divided by 1 */

.mult = (uint8_t)SCG_SPLL_CLOCK_MULTIPLY_BY_28,/* Multiply Factor is 28*/

.src = 0U,/*Clock Source SOSC*/

},

.clockModeConfig =

{

.initialize = true,

.rccrConfig =

{

.src = SCG_SYSTEM_CLOCK_SRC_SYS_PLL,/* System PLL */

.divCore = SCG_SYSTEM_CLOCK_DIV_BY_2,/* Core Clock Divider: divided by 2 */

.divBus = SCG_SYSTEM_CLOCK_DIV_BY_2,/* Bus Clock Divider: divided by 2 */

.divSlow = SCG_SYSTEM_CLOCK_DIV_BY_4,/* Slow Clock Divider: divided by 4 */

},

}

}

};

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17556

    瀏覽量

    355862
  • 寄存器
    +關注

    關注

    31

    文章

    5394

    瀏覽量

    122191
  • 時鐘
    +關注

    關注

    11

    文章

    1764

    瀏覽量

    132362

原文標題:MCU微課堂|CKS32K148 SCG(二)

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    MCU微課堂|CKS32F4xx系列產品時鐘配置

    作為MCU運行的基礎,時鐘是單片機各個模塊工作時序的最小時間單位,推動單片機的各指令執行,是MCU選型的一個重要指標。CKS32F4xx系列
    發表于 12-12 10:17 ?937次閱讀

    中科CKS32K148系列MCU的PDB模塊解析

    PDB(可編程延遲模塊)提供從觸發源到ADC的硬件觸發輸入的可控延遲,觸發源來自內部、外部觸發或可編程間隔時鐘。PDB可以選擇性的提供脈沖輸出,脈沖輸出可用作CMP(比較)中的采
    的頭像 發表于 03-25 16:19 ?556次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>芯</b><b class='flag-5'>CKS32K148</b>系列<b class='flag-5'>MCU</b>的PDB模塊解析

    中科CKS32F030K6T6 高性能32位RISC內核MCU 程序兼容STM32F030K6T6

    CKS32F030xx 系列采用高性能的 ARM Cortex ? -M0 的 32 位 RISC 內核,工作于 48MHz 時鐘頻率,高速的嵌入式閃存(FLASH 最高可達 64
    發表于 03-05 16:23

    請問FS32K148HAT0MLQR 的 SCG_SIRCDIV[2:0]中有什么東西嗎?

    FS32K148HAT0MLQR 的 SCG_SIRCDIV[2:0]中有什么東西嗎?
    發表于 03-28 08:15

    Si443x-寄存器設置

    Si443x-寄存器設置
    發表于 03-30 17:10 ?4次下載

    STM32 BSRR BRR ODR寄存器詳情解析

    BSRR 和 BRR 都是 STM32 系列 MCU 中 GPIO 的寄存器。 BSRR 稱為端口位設置/清楚寄存器,BRR稱為端口位**寄存器
    發表于 11-13 09:54 ?1.2w次閱讀

    AD轉換寄存器設置

    AD轉換寄存器設置AD轉換寄存器設置AD轉換寄存器設置
    發表于 11-10 17:36 ?16次下載
    AD轉換<b class='flag-5'>寄存器</b><b class='flag-5'>設置</b>

    C語言訪問MCU寄存器

    C語言訪問MCU寄存器問題由來://下面這行代碼的意思是直接操作0X020C4068這個寄存器//具體寄存器的作用是通過手冊得到的#define CCM_CCGR0 *((volati
    發表于 10-25 13:21 ?3次下載
    C語言訪問<b class='flag-5'>MCU</b><b class='flag-5'>寄存器</b>

    STM32學習筆記(2)——寄存器

    。計算機領域,包括通用寄存器、專用寄存器和控制寄存器寄存器擁有非常高的讀寫速度,所以在寄存器之間的數據傳送非常快。我們一般控制其中的控制
    發表于 12-08 17:36 ?18次下載
    STM32學習筆記(2)——<b class='flag-5'>寄存器</b>

    中科推出面向CKS32位MCU的編程調試工具

    隨著中科MCU在市場上越來越多的被應用,為了更好的支持客戶在使用中科32位MCU芯片時的仿真
    的頭像 發表于 12-26 15:21 ?2423次閱讀

    如何改變spi的時鐘頻率

    ,選擇合適的分頻。 2. 配置寄存器:根據所選的時鐘源和分頻,配置SPI控制寄存器中的位。有些MCU
    的頭像 發表于 06-03 16:36 ?4071次閱讀

    中科CKS32F103CBT6在無人機飛控系統中的應用

    中科CKS32F103CBT6在無人機飛控系統中的應用
    的頭像 發表于 09-28 16:05 ?1968次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>芯</b><b class='flag-5'>CKS</b>32F103CBT6在無人機飛控系統中的應用

    中科與IAR共建生態合作,IAR集成開發環境全面支持CKS32系列MCU

    IAR Embedded Workbench集成開發環境一直是全球眾多開發者首選的嵌入式軟件開發解決方案之一。這一強大的工具套件已全面支持中科CKS32系列MCU,為開發者提供了無與
    的頭像 發表于 10-18 16:00 ?783次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>芯</b>與IAR共建生態合作,IAR集成開發環境全面支持<b class='flag-5'>CKS</b>32系列<b class='flag-5'>MCU</b>

    中科與IAR共建生態合作,IAR集成開發環境全面支持CKS32系列MCU

    來源:IAR 嵌入式開發軟件和服務的全球領導者IAR近日宣布,與中科集成電路有限公司(以下簡稱中科)達成生態合作,IAR已全面支持CKS
    的頭像 發表于 10-20 10:30 ?638次閱讀

    CPSR寄存器和APSR寄存器的組成

    程序狀態寄存器的作用就是反映處理的狀態信息。在程序運行期間我們可以通過查看程序狀態寄存器的狀態位來進行程序的分支跳轉處理,或者我們可以設置程序狀態
    的頭像 發表于 10-20 11:38 ?5243次閱讀
    CPSR<b class='flag-5'>寄存器</b>和APSR<b class='flag-5'>寄存器</b>的組成
    主站蜘蛛池模板: 亚洲大爷操 | 麻豆XXXX乱女少妇精品-百度 | 漂亮的保姆3集电影免费观看中文 | 成人综合在线观看 | 男女车车的车车网站W98免费 | 色尼玛亚洲综合 | 亚洲免费大全 | 国产成人在线免费 | 一个人看的www视频动漫版 | 草民电影网午夜伦理电影网 | 亚洲欧美精品无码一区二在线 | 坠落的丝袜美人妻 | 日本人娇小hd | 校花的奶好大好浪 | 国产福利不卡在线视频 | 亚洲欧美日韩精品自拍 | 亚洲国产精品综合久久一线 | 欧美人妇无码精品久久 | 出差无套内射小秘书 | 三叶草未满十八岁 | 秋霞网韩国理伦片免费看 | 高清毛片一区二区三区 | 一二三四中文字幕在线看 | 丰满大爆乳波霸奶 | 69精品人人人人 | 国精产品一区一区三区有限公司 | 亚洲免费大全 | 日本伦理片 中文字幕 | 亚洲在线国产日韩欧美 | 60老妇性xxxxhd | 国产精品久久久精品日日 | 欧美xx69 | 恋夜秀场支持安卓版全部视频国产 | 中文字幕亚洲欧美日韩2o19 | 韩国伦理三级 | 午夜欧洲亚洲AV永久无码精品 | 娇喘高潮教室h | 9位美女厕所撒尿11分 | 国产扒开美女双腿屁股流白浆 | 好紧小嫩嫩水的10p 好紧好湿太硬了我太爽了小说 | 欧美GV肉片视频免费观看 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品