精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用HSE時鐘源對LSE精度進(jìn)行測量

jf_pJlTbmA9 ? 來源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2023-09-19 16:43 ? 次閱讀

引言

客戶在使用 STM32U5 時,想對外部 LSE 的起振情況和精度進(jìn)行監(jiān)測,于是使用 HSE 為時鐘基準(zhǔn),對 LSE 進(jìn)行測量。

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

測量的實(shí)現(xiàn)

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

wKgZomUD7J-AHBUiAAGNxLWIceQ375.png

測量的詳細(xì)情況

TIM15 時鐘源選擇內(nèi)部時鐘,頻率為 160MHz。設(shè)置為捕獲模式。

通過配置 TIM15_SMCR.TS[4 :0]對應(yīng) bit21,20,6,5,4 位為 0x00101B,選擇 Filtered Timer Input 1(tim_ti1fp1)做為啟動 TIM15 開始計時的觸發(fā)源,根據(jù)圖 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)做為觸發(fā)源。即 LSE 過來的信號為觸發(fā)源。通過配置 TIM15_SMCR.SMS[3 :0]為 0x0110B 選擇 Trigger Mode,在觸發(fā)源的上升沿啟動 TIM15。

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

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

wKgZomUD7KyATCVeAAK7FoMHKgI975.png

下面是 Timer15 的初始化代碼:

wKgZomUD7K2AWl4iAAO4YagI0Us127.png
wKgZomUD7K-AS85GAAPGYkzzxcI916.png

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

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

wKgZomUD7LGAFL96AANiSIrScXM676.png

DMA 運(yùn)行的同時需要使能 Timer15 溢出中斷,并對計數(shù)器溢出進(jìn)行計數(shù)。代碼如下:

wKgaomUD7LKACeTWAACeE9LYPeM022.png

在 LES_Counter=256 時進(jìn)行 LSE 頻率的計算,代碼如下:

wKgaomUD7LOASnLxAAPqs0N9l50895.png

標(biāo)準(zhǔn)值為:(255/32768)x10000000 = 77819 實(shí)際 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 是否準(zhǔn)確,只要比較上面的標(biāo)準(zhǔn)值和實(shí)際測量值就好。

小結(jié)

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

同時請留意把驅(qū)動能力調(diào)節(jié)大些,用 LOW 有時候測到的誤差會偏大,代碼如下:

__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH);

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

NUCLEO-U575 開發(fā)板

STM32CubeMX Version:6.99.12-B1

來源:STM32單片機(jī)

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2266

    文章

    10871

    瀏覽量

    354786
  • LSE
    LSE
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    10235
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4943

    瀏覽量

    97188
  • 時鐘源
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    15933
收藏 人收藏

    評論

    相關(guān)推薦

    stm32的時鐘分析

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

    STM32有哪幾個時鐘

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

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

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

    STM32的5個時鐘

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

    在STM32中的時鐘

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

    STM32的5個時鐘介紹

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

    STM32的時鐘綜述

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

    【原創(chuàng)分享】單片機(jī)的時鐘

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

    如何去實(shí)現(xiàn)一種HSE時鐘LSE時鐘外部電路的硬件設(shè)計呢

    如何對STM32F429的電源進(jìn)行供電呢?如何去實(shí)現(xiàn)一種HSE時鐘LSE時鐘外部電路的硬件設(shè)計呢?
    發(fā)表于 11-08 08:58

    STM32時鐘學(xué)習(xí)筆記

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

    stm32的五個時鐘參數(shù)設(shè)置經(jīng)驗

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

    關(guān)于系統(tǒng)時鐘的配置問題,如是stm32f1的系統(tǒng)時鐘為72Mhz

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

    STM32 時鐘系統(tǒng)--RCC寄存器

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

    認(rèn)識STM32的時鐘

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

    使用NUCLEO-U575開發(fā)板的Timer15進(jìn)行LSE測量

    客戶在使用 STM32U5 時,想對外部 LSE 的起振情況和精度進(jìn)行監(jiān)測,于是使用 HSE時鐘基準(zhǔn),對
    的頭像 發(fā)表于 07-03 16:55 ?2305次閱讀