女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

使用HSE時鐘源對LSE精度進行測量

jf_pJlTbmA9 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2023-09-19 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

客戶在使用 STM32U5 時,想對外部 LSE 的起振情況和精度進行監測,于是使用 HSE 為時鐘基準,對 LSE 進行測量。

Note : 本文中由于 Nucleo 開發板默認沒有焊接 HSE 器件,因此,采用內部高速時鐘替代 HSE作為 PLL 的時鐘源。為保證測量精度,應用中可將時鐘源替換為 HSE 。

測量的實現

使用 NUCLEO-U575 開發板的 Timer15 進行 LSE 的測量。Timer15 在 APB2 總線上, 配置為使用內部時鐘,時鐘 base 為 160MHz。使用 Timer15 對 256 個 LSE 周期進行測量,然后對比精確度。

wKgZomUD7J-AHBUiAAGNxLWIceQ375.png

測量的詳細情況

TIM15 時鐘源選擇內部時鐘,頻率為 160MHz。設置為捕獲模式。

通過配置 TIM15_SMCR.TS[4 :0]對應 bit21,20,6,5,4 位為 0x00101B,選擇 Filtered Timer Input 1(tim_ti1fp1)做為啟動 TIM15 開始計時的觸發源,根據圖 3 可以看到等待捕獲的時鐘源是 LSE。

wKgZomUD7J-AHBUiAAGNxLWIceQ375.png
wKgZomUD7KKAe66ZAAEnNVADMnA303.png

通過 TIM15_CCMR1.CC1S[1:0]為 0x01,選擇 CC1 通道輸入信號,tim_ic1 連接到 tim_ti1,如下圖黃色部分。

wKgaomUD7KSALBRYAAPOOFEiG74161.png

通過配置 TIM15_SMCR.TS[4 :0]為 0x00101B 選擇 Filtered Timer Input 1(tim_ti1fp1)做為觸發源。即 LSE 過來的信號為觸發源。通過配置 TIM15_SMCR.SMS[3 :0]為 0x0110B 選擇 Trigger Mode,在觸發源的上升沿啟動 TIM15。

wKgZomUD7KWABVD6AAG5do7COlo663.png
wKgaomUD7KeAFfToAAW0I2nuzNg695.png
wKgZomUD7KmALNw6AAjd4ZtTS6Q991.png
wKgaomUD7KqAR0KNAAGu2JkRQdM758.png

開啟 DMA 的時鐘,因為 GPDMA1 是掛在 AHB1 總線上的,因此代碼如下:

wKgZomUD7KyATCVeAAK7FoMHKgI975.png

下面是 Timer15 的初始化代碼:

wKgZomUD7K2AWl4iAAO4YagI0Us127.png
wKgZomUD7K-AS85GAAPGYkzzxcI916.png

對捕獲和用時的計時的程序處理:

在 timer15 DMA 256 個數據存儲完成的回調函數中做如下處理,并停止 Timer15 的更新中斷和 DMA 中斷,256 個 LSE 周期計時數據存儲在 LES_buffer[256]中。

wKgZomUD7LGAFL96AANiSIrScXM676.png

DMA 運行的同時需要使能 Timer15 溢出中斷,并對計數器溢出進行計數。代碼如下:

wKgaomUD7LKACeTWAACeE9LYPeM022.png

在 LES_Counter=256 時進行 LSE 頻率的計算,代碼如下:

wKgaomUD7LOASnLxAAPqs0N9l50895.png

標準值為:(255/32768)x10000000 = 77819 實際 255 個 LSE 周期值為:[(LSE_End_timer2-LSE_Start_timer1)+65536*(LSE_Timer15_overload_counter-1)]/16 = A, 255 LSE timer period. one LSE period average accuracy error is (A-77819)/255看 LSE 是否準確,只要比較上面的標準值和實際測量值就好。

小結

這個 LSE 的準確性測試程序采用的是 DMA 結合時鐘溢出計數方式進行計算。使用 DMA 存儲每個 LSE 周期的捕獲值,同時配合 Timer15 溢出中斷進行溢出次數計數,最后對取得的結果進行計算,對 255 個 LSE 周期累加在一起的計時結果進行判斷,并同理想值進行比較得知實際的LSE 精度。

同時請留意把驅動能力調節大些,用 LOW 有時候測到的誤差會偏大,代碼如下:

__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH);

文檔中所用到的工具及版本

NUCLEO-U575 開發板

STM32CubeMX Version:6.99.12-B1

來源:STM32單片機

審核編輯:湯梓紅

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

    關注

    2293

    文章

    11032

    瀏覽量

    364765
  • LSE
    LSE
    +關注

    關注

    0

    文章

    10

    瀏覽量

    10416
  • 開發板
    +關注

    關注

    25

    文章

    5679

    瀏覽量

    104601
  • 時鐘源
    +關注

    關注

    0

    文章

    98

    瀏覽量

    16323
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    stm32的時鐘分析

    stm32的時鐘又五個:***HSI,HSE,LSI ,LSE,PLL***其中PLL分為***主PLL***和***專用PLL***1.時鐘
    發表于 08-02 06:53

    STM32有哪幾個時鐘

    STM32有5個時鐘:HSI,HSE,LSI,LSE,PLLHSI是高速內部時鐘,RC振蕩器、頻率為16MHZ,
    發表于 08-02 06:02

    外部高速時鐘HSE)以及外部低速時鐘LSE

    1.新建stm32工程用mx圖形界面配置好將要用的串口,內部外部時鐘,本例使用了外部高速時鐘HSE)以及外部低速時鐘LSE)。打開調試(
    發表于 08-10 07:18

    STM32的5個時鐘

    STM32 5個時鐘 HSI HSE LSI LSE PLLHSI 高速內部時鐘 RC振蕩器 8MHZ
    發表于 08-12 07:07

    在STM32中的時鐘

    一、綜述: 1、時鐘在 STM32 中,一共有 5 個時鐘,分別是 HSI 、 HSE 、 LSI 、
    發表于 08-18 07:56

    STM32的5個時鐘介紹

    眾所周知STM32有5個時鐘HSI、HSE、LSI、LSE、PLL,其實他只有四個,因為從上圖中可以看到PLL都是由HSI或HSE提供的。
    發表于 08-20 08:08

    STM32的時鐘綜述

    一、綜述:1、時鐘在 STM32 中,一共有 5 個時鐘,分別是 HSI 、 HSE 、 LSI 、
    發表于 08-23 06:24

    【原創分享】單片機的時鐘

    在單片機中,比如我們常用的STM32是有五個時鐘的,分別是:HSI,LSI,HSE,LSE,PLL。這些時鐘
    發表于 10-19 11:18

    如何去實現一種HSE時鐘LSE時鐘外部電路的硬件設計呢

    如何對STM32F429的電源進行供電呢?如何去實現一種HSE時鐘LSE時鐘外部電路的硬件設計呢?
    發表于 11-08 08:58

    STM32時鐘學習筆記

    學習筆記:2021/1/25#時鐘簡介 :(1).STM32 有5個時鐘:HSI、HSE、LSI、LSE、PLL①、HSI是高速內部
    發表于 12-07 10:28

    stm32的五個時鐘參數設置經驗

    一、在STM32中,有五個時鐘,為HSI、HSE、LSI、LSE、PLL。①HSI是高速內部時鐘,RC振蕩
    的頭像 發表于 11-06 14:02 ?1.5w次閱讀
    stm32的五個<b class='flag-5'>時鐘</b><b class='flag-5'>源</b>參數設置經驗

    關于系統時鐘的配置問題,如是stm32f1的系統時鐘為72Mhz

    系統時鐘配置錯誤而產生的串口定時器等問題在 STM32 中,有五個時鐘,為 HSI、HSE、LSI、LSE、PLL。從
    發表于 11-23 18:21 ?9次下載
    關于系統<b class='flag-5'>時鐘</b>的配置問題,如是stm32f1的系統<b class='flag-5'>時鐘</b>為72Mhz

    STM32 時鐘系統--RCC寄存器

    一、時鐘系統框圖?在 STM32 中,有五個時鐘,為 HSI、HSE、LSI、LSE、PLL。從時鐘
    發表于 11-23 18:21 ?9次下載
    STM32 <b class='flag-5'>時鐘</b>系統--RCC寄存器

    認識STM32的時鐘

    1.STM32 五個時鐘,為HSI、HSE、LSI、LSE、PLL 如何識別?1.1HSI是高速內部時鐘,RC振蕩器,頻率為8MHz。 1
    發表于 12-01 18:51 ?12次下載
    認識STM32的<b class='flag-5'>時鐘</b><b class='flag-5'>源</b>

    使用NUCLEO-U575開發板的Timer15進行LSE測量

    客戶在使用 STM32U5 時,想對外部 LSE 的起振情況和精度進行監測,于是使用 HSE時鐘基準,對
    的頭像 發表于 07-03 16:55 ?2749次閱讀