那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

RCC時鐘控制系統組成及時鐘原程序分析

牽手一起夢 ? 來源:eefocus ? 作者:eefocus ? 2020-01-24 17:38 ? 次閱讀

RCC:Reset and Clock Control,復位與時鐘控制系統。系統復位有三種:系統復位、電源復位、RTC domain復位。本文重點詳解Clock Control部分。下面看下STM32L152芯片的時鐘框圖和cubeMX軟件中的時鐘框圖。

RCC時鐘控制系統組成及時鐘原程序分析

RCC時鐘控制系統組成及時鐘原程序分析

RCC時鐘控制系統組成及時鐘原程序分析

如上圖所示,在STM32中,有五個時鐘源,為HSI、HSE、LSI、LSE、PLL。

①HSI:High Speed Internal,高速內部時鐘,RC振蕩器

②HSE:High Speed External,高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源;

③LSI:Low Speed Internal,低速內部時鐘,RC振蕩器,頻率為37kHz;

④LSE:Low Speed External,低速外部時鐘,接頻率為32.768kHz的石英晶體;

⑤PLL:Phase Locked Loop,鎖相環倍頻分頻輸出。

另外,STM32還具有雙時鐘機制,即時鐘安全系統CSS(Clock Security System)。在外部晶振不工作時,轉而使用內部RC振蕩器作為自己時鐘心跳保證系統正常運行。當外部晶振恢復正常后,重新使用外部晶振。

上圖中也提到3種時鐘,FCLK、HCLK和PCLK。簡單介紹下三種時鐘。

(1)FCLK:Free Running Clock,為CPU提供時鐘信號,平時說的CPU主頻,就是這個時鐘信號,1/Fclk即為CPU時鐘周期;

(2)HCLK:為AHB bus peripherals提供時鐘信號,AHB:advanced high-performance bus;HCLK是高速外設時鐘,一般給內存、flash提供時鐘。

(3)PCLK:為APB bus peripherals供給時鐘信號,APB:advanced peripherals bus;PCLK是低速外設時鐘,一般給CANUSBI2C、USART、SPI、Timer、ADCDAC提供時鐘信號。下面結合Cubemx生成的系統時鐘原程序進行分析。

void SystemClock_Config(void)

{

RCC_OscInitTypeDef RCC_OscInitStruct;

RCC_ClkInitTypeDef RCC_ClkInitStruct;

RCC_PeriphCLKInitTypeDef PeriphClkInit;

/**Configure the main internal regulator output voltage

*/

__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//設置調壓器輸出電壓級別1,用來設置調壓器輸出電壓級別,器件未以最大頻率工作,達到性能和功耗平衡

/**Initializes the CPU, AHB and APB busses clocks

*/

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI

|RCC_OSCILLATORTYPE_HSE;

RCC_OscInitStruct.HSEState = RCC_HSE_ON;

RCC_OscInitStruct.HSIState = RCC_HSI_ON;

RCC_OscInitStruct.HSICalibrationValue = 16;//HSI時鐘16M

RCC_OscInitStruct.LSIState = RCC_LSI_ON;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;//PLL時鐘源為HSE

RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL8;//8倍頻

RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//2分頻

if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)//初始化

{

_Error_Handler(__FILE__, __LINE__);

}

/**Initializes the CPU, AHB and APB busses clocks

*/

RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;

RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;

RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;//AHB 1分頻

RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;//APB1 1分頻

RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;//APB2 1分頻

if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)//初始化

{

_Error_Handler(__FILE__, __LINE__);

}

PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_RTC;

PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;//RTC時鐘選擇LSI

if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)

{

_Error_Handler(__FILE__, __LINE__);

}

/**Configure the Systick interrupt time

*/

HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);//滴答定時器配置

/**Configure the Systick

*/

HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);//滴答定時器選擇HCLK 不分頻

/* SysTick_IRQn interrupt configuration */

HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);//滴答定時器中斷優先級

責任編輯:gt

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

    關注

    184

    文章

    17841

    瀏覽量

    251816
  • 控制系統
    +關注

    關注

    41

    文章

    6661

    瀏覽量

    110889
  • 時鐘
    +關注

    關注

    11

    文章

    1747

    瀏覽量

    131803
收藏 人收藏

    評論

    相關推薦

    北斗衛星同步時鐘系統:精準時間的秘密

    辦公樓中,所有的電腦、時鐘甚至是樓宇的自動化系統,都顯示著同一個時間。這個時間均來源于北斗衛星同步時鐘系統。這個系統由一個母鐘(主
    的頭像 發表于 12-03 14:19 ?283次閱讀
    北斗衛星同步<b class='flag-5'>時鐘</b><b class='flag-5'>系統</b>:精準時間的秘密

    北斗衛星時鐘系統——ZREXT2000衛星時鐘擴展分機

    ? ? ? 衛星時鐘系統 是專為大型電站、電廠設計的多種輸出接口的冗余接收系統, ?北斗/GPS衛星時鐘系統 采用2臺北斗/GPS主
    的頭像 發表于 11-11 14:37 ?260次閱讀
    北斗衛星<b class='flag-5'>時鐘</b><b class='flag-5'>系統</b>——ZREXT2000衛星<b class='flag-5'>時鐘</b>擴展分機

    CPU時鐘周期的組成和作用

    CPU時鐘周期是計算機體系結構中一個至關重要的概念,它直接關聯到CPU的運行速度和性能。以下是對CPU時鐘周期的定義、組成和作用的詳細解析。
    的頭像 發表于 09-26 15:32 ?853次閱讀

    時鐘噪聲對DAC性能影響系統分析

    電子發燒友網站提供《時鐘噪聲對DAC性能影響系統分析.pdf》資料免費下載
    發表于 09-26 09:14 ?0次下載
    <b class='flag-5'>時鐘</b>噪聲對DAC性能影響<b class='flag-5'>系統分析</b>

    液壓伺服控制系統組成及其組成部件的作用

    液壓伺服控制系統是一種利用液壓技術實現高精度、高速度、高穩定性的控制方式,廣泛應用于工業自動化、航空航天、機器人等領域。本文將詳細介紹液壓伺服控制系統組成及其
    的頭像 發表于 06-14 11:03 ?1762次閱讀

    運動控制系統由什么組成

    運動控制系統是一種用于控制機械運動的系統,它能夠根據預定的軌跡和速度對機械進行精確控制。運動控制系統廣泛應用于工業自動化、機器人技術、航空航
    的頭像 發表于 06-12 10:51 ?1696次閱讀

    機械運動控制系統組成和應用

    機械運動控制系統,作為現代機械工程領域的重要組成部分,對于實現機械設備的自動化、智能化和精確控制具有至關重要的意義。隨著科技的不斷進步和工業自動化水平的不斷提高,機械運動控制系統的應用
    的頭像 發表于 06-07 14:46 ?1532次閱讀

    閉環控制系統的原理和組成

    與期望的輸出進行比較,進而調整系統輸入,以實現系統輸出的精確控制。本文將詳細介紹閉環控制系統的定義、原理、組成及其在各領域的應用。
    的頭像 發表于 06-05 17:21 ?2441次閱讀

    運動控制系統組成與作用

    運動控制系統作為現代自動化技術的核心之一,其廣泛應用于工業自動化、機器人技術、精密制造等領域。它通過控制電機或其他執行器,使機器或設備按照預期的軌跡和速度運動,實現自動化操作。本文將對運動控制系統
    的頭像 發表于 06-05 16:35 ?2776次閱讀

    工業控制系統組成和應用

    效率、降低了生產成本,并為企業的可持續發展提供了有力支持。本文將詳細介紹工業控制系統的定義、組成、應用領域以及未來發展趨勢。
    的頭像 發表于 06-04 15:54 ?1430次閱讀

    PLC遠端控制系統是什么?PLC遠端控制系統組成

    )對PLC進行編程、監控、數據采集、故障診斷和控制調整。 PLC遠端控制系統統通常包含以下幾個關鍵組成部分: 1、PLC(可編程邏輯控制器):作為
    的頭像 發表于 05-28 14:51 ?688次閱讀

    幾款高精度時鐘芯片的規格選型分析

    幾款高精度時鐘芯片,幾乎很多應用都需要精確的計時例如銀行系統,安全系統和電能表等。獲得高精度實時時鐘芯片的關鍵在于:精確頻率振蕩設備,以及用于控制
    發表于 05-13 11:50 ?0次下載

    時鐘源到底有多重要?微控制器中的時鐘頻率是什么?

    控制器依賴于其時鐘源。處理器、總線和外圍設備都使用時鐘來同步它們的操作。
    的頭像 發表于 04-15 14:17 ?1081次閱讀

    RCC_ADCCLKConfig函數的ADC時鐘是默認的嗎?

    ADC配置中,沒有找到配置ADC時鐘的函數RCC_ADCCLKConfig;ADC時鐘是默認的嗎?
    發表于 03-28 08:36

    如何解決同步時鐘系統中的常見問題和故障?

    天線是時鐘同步系統中至關重要的組成部分,其故障可能會導致時間同步精度下降或無法正常工作。故障原因可能包括天線損壞、連接線松動等。 時間同步精度不夠 時鐘同步
    的頭像 發表于 03-19 10:42 ?1834次閱讀
    如何解決同步<b class='flag-5'>時鐘</b><b class='flag-5'>系統</b>中的常見問題和故障?
    24山度数| 世界德州扑克大赛| 克拉克百家乐官网试玩| 百家乐声音不印网| 皇廷娱乐| 网上百家乐作弊法| 百家乐官网是哪个国家| 哪家百家乐最好| 百家乐官网半圆桌| 百家乐平注法到| 百家乐官网桌子北京| 百家乐倍投软件| 任我赢百家乐官网软件| 大发888娱乐城 真钱下载| 真人百家乐官网最高赌注| 利来国际| 百家乐游戏机图片| 百家乐官网视频游戏注册| 回力百家乐的玩法技巧和规则| 百家乐官网庄闲筹码| 大发888游戏充值50| 百家乐官网几点不用补牌| 皇冠足球即时走地| 缅甸百家乐网络赌博解谜| 驻马店市| 深圳百家乐的玩法技巧和规则 | 百家乐官网娱乐城赌场| 威尼斯人娱乐城网址| 爱拼百家乐官网的玩法技巧和规则 | 百家乐官网游戏免费| 庞博百家乐的玩法技巧和规则| 百家乐官网小揽| 明珠网上娱乐| 百家乐荷官培训| 奔驰百家乐官网游戏电玩| 大发888 漏洞| 百家乐赌王有哪些| 百家乐官网正反投注| 大发888游乐场下载| 百家乐书包| 百家乐官网高返水|