在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

AT32講堂088 | 雅特力AT32F402/F405時鐘配置

雅特力 AT32 MCU ? 2024-09-15 08:08 ? 次閱讀

簡介

時鐘芯片正確高效運行的基礎,正確的時鐘配置是芯片能正確運行的必要條件,其重要性不言而喻。AT32各系列產品的時鐘配置部分可能存在細微的差異和需要注意的事項,本文檔就著重針對各系列的情況來詳細介紹如何結合雅特力提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數接口來進行時鐘配置。2、采用時鐘工具來配置并生成相應的源碼文件。

時鐘樹

在進行時鐘配置之前,應充分了解對應芯片的時鐘樹結構,這樣在進行時鐘配置時才會游刃有余。對于系統時鐘頻率及路徑的配置我們需要關注時鐘源、倍頻及系統時鐘部分。類似如下圖:圖1. 時鐘框圖95fd919e-72f6-11ef-bb4b-92fbcf53809c.png可由圖中得到以下幾個關鍵信息:1) SCLKSEL:系統時鐘可以由HEXT、PLLCLK、HICK三大時鐘源提供。2) HEXT:HEXT是外部高速時鐘,其可以外接范圍是4~25MHz的晶振或時鐘源。3) HICK:HICK RC是內部高速振蕩器,頻率為48MHz。HICK時鐘由內部振蕩器給出,但在初始情況下由HICKDIV控制并默認6分頻后為8MHz,亦可配置為不分頻,保持48MHz的頻率。4) PLLCLK:PLL時鐘=PLL輸入時鐘/PLL_MS*PLL_NS/PLL_FP。5) PLL輸入時鐘:PLL的輸入時鐘由PLLRCS決定,有兩個來源:HICK 8MHz和HEXT。

代碼配置解析

以下將以庫函數接口為核心來對時鐘配置流程和方法進行說明。

函數接口

各系列產品對應提供的BSP中對硬件的時鐘設置部分已封裝好接口函數以供調用,以下羅列出時鐘配置常用的函數接口,各函數的具體參數及返回值類型等請參考at32f402_405_crm.c/.h文件。96104ae6-72f6-11ef-bb4b-92fbcf53809c.jpg

時鐘配置流程

按常規應用來講解時鐘配置流程,其內容可大致分為如下步驟:圖2. 時鐘配置流程圖9635a80e-72f6-11ef-bb4b-92fbcf53809c.png一、復位(CRM Reset)首先按規范流程應復位CRM配置參數,其主要是將系統時鐘切換到HICK,其余的系統時鐘配置寄存器寫入默認值,待后續進行新配置參數的寫入。函數調用的代碼實現如下:9647073e-72f6-11ef-bb4b-92fbcf53809c.png二、Flash等待周期(Set Flash Wait Cycle)AT32F402/405片上采用的是嵌入式Flash,當運行在不同的主頻下時需對應設定Flash等待周期。flash等待周期與運行主頻關系如下:965c7916-72f6-11ef-bb4b-92fbcf53809c.png函數調用的代碼實現如下:967b23ac-72f6-11ef-bb4b-92fbcf53809c.png三、時鐘源配置(Clock Source Configuration)與系統時鐘相關的高速時鐘源主要包括HEXT和HICK,PLL也是使用以上時鐘源來進行倍頻。需要在配置使能PLL前將所使用的PLL參考時鐘源開啟并等待其穩定。

  • HEXT

外部高速時鐘如采用外接有源時鐘的方式時,可開啟旁路模式來進行使用,采用晶振時,不能開啟旁路模式,旁路模式應在外部高速時鐘源使能前進行設定,其默認情況為關閉。旁路模式使能代碼實現如下:969de220-72f6-11ef-bb4b-92fbcf53809c.png使能HEXT時鐘源并等待HEXT時鐘穩定,代碼實現如下:96ae3d1e-72f6-11ef-bb4b-92fbcf53809c.png

  • HICK

內部高速時鐘是由芯片內部振蕩器提供,使能HICK時鐘源并等待HICK時鐘穩定,代碼實現如下:96c4ece4-72f6-11ef-bb4b-92fbcf53809c.png四、PLL配置(PLL Configuration)PLL配置主要包括:PLL時鐘源、PLL倍頻系數、PLL倍頻頻率范圍等的設置。倍頻時鐘公式為:PLLCLK=(PLL輸入時鐘*PLL_NS)/(PLL_MS*PLL_FP)。

  • PLL時鐘源

PLL時鐘源細分有如下來源:1、HICK(8MHz),2、HEXT。PLL時鐘源應在PLL配置使能前開啟并等待穩定。以上PLL時鐘源在crm_pll_config函數中對應的參數定義如下:96d6897c-72f6-11ef-bb4b-92fbcf53809c.png

  • PLL倍頻系數

PLL_MS:PLL預分頻系數,范圍值1~15。其功能是對PLL輸入時鐘進行預分頻。PLL_NS:PLL倍頻參數,范圍值31~500。其功能是對PLL_MS進行預分頻處理后的時鐘進行倍頻。PLL_FP:PLLP后分頻系數,范圍(1、2、4、6、8、10、12、14、16、18、20、22、24、26、28、30)。其功能是對PLL_NS倍頻后的時鐘進行后除頻,除頻后的時鐘才是PLLP時鐘,PLLP時鐘可選作為系統時鐘。PLL_FU:PLLU后分頻系數,范圍(11、12、13、14、16、18、20)。其功能是對PLL_NS倍頻后的時鐘進行后除頻,除頻后的時鐘才是PLLU時鐘,PLLU時鐘可選作為USB外設的時鐘源。注:PLLU分頻系數需要在PLL使能之前進行配置,在PLL使能后配置無效。以上參數在搭配使用時有如下限制條件,詳情可參考RM的時鐘源章節:96f3741a-72f6-11ef-bb4b-92fbcf53809c.png當PLL參數設置完成后,即可開啟PLL并等待PLL穩定。示例:外部時鐘晶振8MHz,采用HEXT時鐘作為PLL時鐘源,PLLCLK倍頻到216MHz的代碼實現如下:970b8276-72f6-11ef-bb4b-92fbcf53809c.png五、總線分頻(Set Bus Frequency Division)總線分頻包含SCLK到AHBCLK分頻、AHBCLK到APB1CLK分頻、AHBCLK到APB2CLK分頻。AHB總線1分頻、APB1/APB2總線1分頻的代碼實現如下:973cac5c-72f6-11ef-bb4b-92fbcf53809c.png注:APB2CLK 的最大頻率為 216MHz,APB1CLK 的最大頻率為 120MHz。六、切換系統時鐘(Switch System Clock)系統時鐘來源主要有三個:HICK、HEXT、PLLCLK。在切換系統時鐘到如上時鐘源時應提前確保對應時鐘源已穩定。

  • HICK系統時鐘

內部高速時鐘在系統復位重新運行時默認作為系統時鐘,后期代碼進行設定時,可有兩種頻率值來進行設定(8MHz和48MHz)。如圖1所述HICK默認情況下用的是8MHz,可配置為48MHz。HICK 8MHz用作系統時鐘的代碼實現如下:97528590-72f6-11ef-bb4b-92fbcf53809c.pngHICK 48MHz用作系統時鐘的代碼實現如下:9769ec1c-72f6-11ef-bb4b-92fbcf53809c.jpg

  • HEXT系統時鐘

外部高速時鐘用作系統時鐘時,其系統時鐘頻率以實際使用的外部時鐘頻率為準,范圍為4~25MHz。HEXT用作系統時鐘的代碼實現如下:977771c0-72f6-11ef-bb4b-92fbcf53809c.png

  • PLLCLK系統時鐘

PLLCLK用作系統時鐘時,頻率值以實際的PLL倍頻結果為準。其最高頻率應滿足芯片規格為基礎。PLLCLK用作系統時鐘的代碼實現如下:978eb3da-72f6-11ef-bb4b-92fbcf53809c.png七、更新核心頻率(Update Core Frequency)提供的BSP中,其代碼框架內保留了一個表示系統核心頻率的參數值system_core_clock,其保存的是CPU核心的運行頻率值,應該在每次系統時鐘配置完成后來進行更新。為的是在整個代碼框架下,各外設驅動的頻率配置能很快獲取到當前核心運行頻率值并使用。代碼實現如下:97a9212a-72f6-11ef-bb4b-92fbcf53809c.png

時鐘配置示例

以下將以完整的時鐘配置流程來進行說明,示例:由8MHz外部時鐘晶振作為時鐘源,經PLL倍頻后,216MHz用做系統時鐘,AHB不分頻,APB2采用1分頻,APB1采用2分頻。函數system_clock_config代碼實現如下:97c7e9ca-72f6-11ef-bb4b-92fbcf53809c.jpg

時鐘工具

時鐘配置工具是雅特力科技為方便對AT32系列MCU進行時鐘配置而開發的一個圖形化配置工具,其主旨是使用戶清晰了解時鐘路徑和配置出期望的時鐘頻率并生成源碼文件。

環境要求

  • 軟件要求

需要Windows7及以上操作系統支持。

安裝

  • 軟件安裝

本軟件不需要安裝,只需直接運行可執行程序AT32_New_Clock_Configuration.exe。

功能介紹

本章節將介紹此工具的基本操作,其主要的啟動界面和配置界面如下所示圖3. 啟動界面97e3ddc4-72f6-11ef-bb4b-92fbcf53809c.png圖4. 配置界面97fedd18-72f6-11ef-bb4b-92fbcf53809c.png

菜單欄

菜單欄內容如圖所示:圖5. 菜單欄9811b44c-72f6-11ef-bb4b-92fbcf53809c.png

  • “項目”(Project)菜單:新建:新建時鐘配置項目打開:打開已存在的配置項目保存:保存已打開的配置項目
  • “語言”(Language)菜單:English:選擇English作為顯示語言簡體中文:選擇簡體中文作為顯示語言
  • “生成代碼”(General code)菜單:當在對應型號的操作配置界面將所期望的時鐘路徑和時鐘頻率配置完成之后,可點擊“生成代碼”菜單來選擇源碼文件的存儲路徑并生成相應的源碼文件。
  • “幫助”(Help)菜單:新版本下載:聯網進行新版本下載版本:查看當前版本

新建配置項目

雙擊打開時鐘配置工具,可看到圖示的啟動界面,可點擊“項目”菜單-->“新建”,進行配置項目的新建,在新建配置項目的過程中需要對芯片的系列所屬進行選擇,操作方法如下圖所示圖6. MCU選擇界面983003de-72f6-11ef-bb4b-92fbcf53809c.pngMCU系列的選擇,可點擊下拉框來進行選擇,當選擇好MCU后點擊“確定”可進入到時鐘配置界面。

配置界面的使用

配置界面主要用來進行時鐘路徑及參數的配置,以下的介紹將以AT32F425系列作為示例來展開進行,其余系列的配置方法與此類似。整個配置界面主要可以分為四個大塊,如下圖所示圖7. 配置界面框架9852ae98-72f6-11ef-bb4b-92fbcf53809c.png1. 標題部分:用于展示當前配置項目所選擇的MCU系列。2. 配置部分:用于對時鐘路徑和時鐘參數進行選擇和配置,以達到期望的應用需求。3. 輸出部分:用于時鐘輸出(CLKOUT)的配置。4. 在SCLK欄也可在選中PLL為系統時鐘時作為輸入框,可輸入期望的系統時鐘頻率來反向自動配置出倍頻參數。5. 結果部分:用于顯示當前外設所使用的時鐘頻率及總線上的外設。6. 時鐘源配置部分:用于對擁有獨立時鐘源的外設進行時鐘源的設置。接下來就著重介紹一下配置部分的使用。配置部分的流程界面是對應著MCU時鐘樹來進行的,各系列MCU的此部分可能存在著差異,但使用方式大同小異。時鐘路徑的配置可按流程對各開關進行點選來進行選擇,配置部分如下圖所示,將逐個流程點的功能及其注意事項進行介紹。圖8. 時鐘配置框9879e2c4-72f6-11ef-bb4b-92fbcf53809c.png1. ertc使能:ertc時鐘代碼配置的使能下拉框。2. ertcsel:點選框,ertc時鐘源選擇。當ertc使能開啟后,此點選框可配置。3. lext bypass:外部低速時鐘的旁路使能。4. hext:此為輸入框,8MHz為所采用外部時鐘源的默認頻率,用戶可根據實際使用的外部時鐘源頻率進行修改。(注:此8MHz被修改為其他頻率值時,對應的BSP中demo目錄下的inc/at32f402_405_conf.h文件內的HEXT_VALUE宏定義也應該一致修改,也可以采用工具生成的at32f402_405_conf.h文件來進行使用)。5. hext bypass:高速外部時鐘的旁路使能。6. pllrcs:點選框,可配置PLL時鐘源為HEXT或HICK。7. pll_ms:輸入框,PLL預分頻系數,范圍值1~15。其功能是對PLL輸入時鐘進行預分頻。8. pll_ns:輸入框,PLL倍頻參數,范圍值31~500。其功能是對PLL_MS進行預分頻處理后的時鐘進行倍頻。9. pll_fp:下拉框,PLLP后分頻系數,范圍(1、2、4、6、8、10、12、14、16、18、20、22、24、26、28、30)。其功能是對PLL_NS倍頻后的時鐘進行后除頻,除頻后的時鐘才是PLLP時鐘。10. sclk select:點選框,可配置HEXT、PLL或HICK作為系統時鐘。11. hextdiv:下拉框,可配置當HEXT選為系統時鐘時的分頻系數。12. hickdiv:下拉框,可配置當HICK選為系統時鐘時的分頻系數。13. sclk頻率:當采用正向配置時,此作為系統時鐘頻率的配置結果顯示,當將其用作輸入框時,輸入期望的頻率后點擊回車鍵,會根據此輸入值反向計算一組合適的或最接近期望值的PLL配置參數。14. hick to sclk:點選框,當sclk select選擇HICK作為系統時鐘時,可配置HICK的8MHz或48MHz到系統時鐘(注:當選擇48MHz HICK到系統時鐘后,CLKOUT輸出HICK時的頻率也為48MHz)。15. pll_fu:下拉框。當PLL時鐘被選作為USB的時鐘來源時,PLLU后分頻系數,范圍(11、12、13、14、16、18、20)。其功能是對PLL_NS倍頻后的時鐘進行后除頻,除頻后的時鐘才是PLLU時鐘。16. USB使能:USB時鐘代碼配置的使能下拉框。17. USB時鐘頻率的顯示。此顯示欄會實時計算USB時鐘的頻率并顯示,如果配置出來的USB時鐘不等于48MHz時,顯示出來的USB時鐘頻率會標注為紅色,而實際應用中沒有用到USB時選擇disable則不會顯示。(注:此部分只針對USB時鐘頻率的配置,USB外設時鐘使能需自行額外打開)

生成代碼

當時鐘配置完成后,可點擊生成代碼,然后選擇代碼生成的路徑并確認,最后會在所選目錄下生成兩個文件夾inc和src,源文件存放在src文件夾下,頭文件存放在inc文件夾下。這些文件可結合到BSP_V2.x.x內的工程來進行使用。可以采用新生成的時鐘代碼文件(at32f4xx_clock.c/at32f4xx_clock.h/at32f4xx_conf.h)將原BSP demo中的對應文件替換,在main函數中進行system_clock_config函數調用即可。

注意事項

外部時鐘源(HEXT)修改

因本文檔所示例的demo和配置工具都默認采用的8MHz外部時鐘頻率,當實際硬件使用的外部時鐘源是非8MHz頻率時需注意以下幾點。

  • 代碼修改

1、以實際的外部時鐘頻率按文中時鐘配置流程章節所描述的時鐘配置流程及方法來編寫相應的代碼,配置出期望的時鐘配置及時鐘路徑。2、修改對應demo工程中at32f4xx_conf.h文件的HEXT_VALUE值,以實際使用的外部時鐘源頻率值來進行修改。如實際外部高速時鐘使用12.288MHz的晶振或時鐘源時,at32f4xx_conf.h文件應修改如下:

987fc400-72f6-11ef-bb4b-92fbcf53809c.png

  • 工具修改

1、在時鐘配置工具中的HEXT輸入框內填入外部時鐘源實際頻率值并按“Enter”鍵確認。2、配置好所需的時鐘路徑及時鐘頻率,生成代碼。采用新生成的時鐘代碼文件(at32f4xx_clock.c/at32f4xx_clock.h/at32f4xx_conf.h)將原BSP demo中的對應文件替換或取其中函數內容進行替換,在main函數中進行system_clock_config函數調用即可。

工具使用

在使用本時鐘配置工具時需注意:1. 此工具生成的時鐘配置源碼文件需結合雅特力科技提供的BSP_V2.x.x進行使用。2. 不同系列所生成的時鐘配置源碼文件不能型號混用,只能在相對應的工程項目中進行調用。3. 配置工具中各輸入框參數修改后,請以“Enter”鍵結束。

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

    關注

    456

    文章

    51019

    瀏覽量

    425343
  • 雅特力
    +關注

    關注

    0

    文章

    165

    瀏覽量

    8081
  • AT32
    +關注

    關注

    1

    文章

    116

    瀏覽量

    2115
收藏 人收藏

    評論

    相關推薦

    AT32F402/405時鐘配置入門指南

    AT32F402/405時鐘配置本應用入門指南主要介紹兩部分內容:1、基于
    發表于 10-26 06:37

    AT32F402/405 I 2C使用指南

    AT32F402/405 I2C使用指南本文主要就I2C 總線接口的基本功能進行講解和案列解析。
    發表于 10-26 08:17

    AT32F402/405 DMA使用指南

    AT32F402/405 DMA使用指南主要就DMA 的基本功能進行講解和案列解析。
    發表于 10-26 07:29

    AT32F402/405的GPIO功能及固件驅動程序API的配置和使用

    AT32F402/405 GPIO Application Note介紹AT32F402/405的GPIO功能及固件驅動程序API的配置和使
    發表于 10-26 07:03

    AT32F402/405 PWC應用筆記

    AT32F402/405 PWC應用筆記主要以低功耗為基礎進行講解和案例解析。
    發表于 10-26 06:33

    AT32F402/405安全庫應用說明

    AT32F402/405 Security Library Application Note主要在闡述AT32F402/405系列安全庫區的應用原理、軟件使用方法及范例程序。
    發表于 10-26 08:30

    AT32F425時鐘配置

    時鐘是芯片正確高效運行的基礎,正確的時鐘配置是芯片能正確運行的必要條件,其重要性不言而喻。AT32各系列產品的時鐘
    的頭像 發表于 05-23 09:34 ?832次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>425<b class='flag-5'>時鐘</b><b class='flag-5'>配置</b>

    AT32講堂053 | AT32F421時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘
    的頭像 發表于 05-11 10:55 ?1877次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>053 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>421<b class='flag-5'>時鐘</b><b class='flag-5'>配置</b>

    AT32講堂054 | AT32F415時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘
    的頭像 發表于 05-11 10:56 ?2893次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>054 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>415<b class='flag-5'>時鐘</b><b class='flag-5'>配置</b>

    AT32講堂055 | AT32F413時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘
    的頭像 發表于 05-30 09:57 ?1891次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>055 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>413<b class='flag-5'>時鐘</b><b class='flag-5'>配置</b>

    AT32講堂056 | AT32F425時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘
    的頭像 發表于 05-30 09:58 ?1128次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>056 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>425<b class='flag-5'>時鐘</b><b class='flag-5'>配置</b>

    展臺首日速遞,AT32 MCU精彩亮相

    熱門領域產品齊聚,一展科技創新風采。新品登場,AT32F402/F405拓展高速USB應用新紀元A
    的頭像 發表于 08-24 08:17 ?655次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>展臺首日速遞,<b class='flag-5'>AT32</b> MCU精彩亮相

    AT32F402和AT32F405系列MCU 9月正式投入量產

    力作為32位MCU創新領導者,領先業界研發USB OTG產品拓展其功能性,于近日正式推出主流型AT32F402和AT32F405系列新品,集成獨立的HS USB OTG(內建PHY
    發表于 09-06 14:55 ?1465次閱讀

    AT32F402/F405 GPIO應用筆記

    GPIO特性AT32F402/405支持多達56個雙向I/O引腳,這些引腳分為5組,分別為PA0-PA15、PB0-PB15、PC0-PC15、PD2、PF0-PF1、PF4-PF7、PF11、每個
    的頭像 發表于 01-10 17:28 ?188次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F402</b>/<b class='flag-5'>F405</b> GPIO應用筆記

    AT32F402/F405時鐘配置

    電子發燒友網站提供《AT32F402/F405時鐘配置
    發表于 01-15 15:24 ?0次下載
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F402</b>/<b class='flag-5'>F405</b><b class='flag-5'>時鐘</b><b class='flag-5'>配置</b>
    主站蜘蛛池模板: 伊人精品视频在线| 国产亚洲欧美成人久久片| 免费福利影院| 国产女人在线观看| 日韩精品一级毛片| 亚洲爽爽网站| 欧美成人a视频| 2019天天操天天干天天透| 五月天婷亚洲| freesexvideo性欧美医生护士| 两性毛片| 日本黄色片在线播放| 性欧美高清视频| 国产在线精品观看| 黄色网在线| 999久久久国产精品| 美女被上视频| 天天操夜夜操美女| 午夜视频精品| 在线色片| 99精品久久久久久久婷婷| 国模吧在线视频| 免费国产一区二区三区| 日本免费网站观看| 日韩免费高清一级毛片在线| 欧美xxxx色视频在线观看免费| 色婷婷综合久久久久中文一区二区| 在线免费日韩| www.狠狠干| 国内视频一区二区三区| 亚洲成网| 天堂福利视频| 中国日韩欧美中文日韩欧美色| 一区二区三区高清在线| 天天做天天爽| 亚洲国产成人久久午夜| 一级毛片女人喷潮| 午夜在线视频国产| zzji国产精品视频| 欧美精品网| 永久黄网站色视频免费观看99|