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

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

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

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

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-07-03 16:55 ? 次閱讀

1.引言

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

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

37d03470-f790-11ec-ba43-dac502259ad0.png

2. 測量的實現(xiàn)

使用 NUCLEO-U575 開發(fā)板的 Timer15 進行 LSE 的測量。Timer15 在 APB2 總線上, 配置為使

用內(nèi)部時鐘,時鐘 base 為 160MHz。

使用 Timer15 對 256 個 LSE 周期進行測量,然后對比精確度。

3. 測量的詳細情況

3. 測量的詳細情況

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。

37dd5240-f790-11ec-ba43-dac502259ad0.png

37ecface-f790-11ec-ba43-dac502259ad0.png

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

37f83f38-f790-11ec-ba43-dac502259ad0.png

38181b64-f790-11ec-ba43-dac502259ad0.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。

382894bc-f790-11ec-ba43-dac502259ad0.png

3840be7a-f790-11ec-ba43-dac502259ad0.png

38684f76-f790-11ec-ba43-dac502259ad0.png

387e0d20-f790-11ec-ba43-dac502259ad0.png

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

388d94fc-f790-11ec-ba43-dac502259ad0.png

下面是 Timer15 的初始化代碼:

389ae6ac-f790-11ec-ba43-dac502259ad0.png

38ab92d6-f790-11ec-ba43-dac502259ad0.png

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

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

38bf1c0c-f790-11ec-ba43-dac502259ad0.png

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

38d26d98-f790-11ec-ba43-dac502259ad0.png

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

38e3d56a-f790-11ec-ba43-dac502259ad0.png

標(biāo)準值為:(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 是否準確,只要比較上面的標(biāo)準值和實際測量值就好。

小結(jié)

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

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

__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH);

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

NUCLEO-U575 開發(fā)板

STM32CubeMX Version:6.99.12-B1

原文標(biāo)題:工程師筆記|使用HSE測量LSE精度_DMA方式

文章出處:【微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅


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

    關(guān)注

    0

    文章

    10

    瀏覽量

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

    關(guān)注

    25

    文章

    5094

    瀏覽量

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

    關(guān)注

    0

    文章

    93

    瀏覽量

    16005
  • HSE
    HSE
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    9473

原文標(biāo)題:工程師筆記|使用HSE測量LSE精度_DMA方式

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    NUCLEO-U575ZI-Q開發(fā)板如何在keil5上建立工程,以及能否使用標(biāo)準庫?

    NUCLEO-U575ZI-Q開發(fā)板,如何在keil5上建立工程,以及能否使用標(biāo)準庫(不能的情況下如何解決)
    發(fā)表于 03-19 06:42

    Nucleo-U575Zi-Q上沒有USB枚舉嗎?

    ,如 AN2606 中所述。但是,STM32U5 不會通過 Nucleo 上的 USB-C 連接器進行枚舉。我已驗證是否提供了 VDDUSB(DVM 在 SB30 上
    發(fā)表于 02-01 07:07

    請問NUCLEO-U575ZI-Q開發(fā)板如何在keil5上建立工程?

    NUCLEO-U575ZI-Q開發(fā)板,如何在keil5上建立工程,以及能否使用標(biāo)準庫(不能的情況下如何解決)
    發(fā)表于 08-07 12:11

    STM32U575/585 MCU硬件開發(fā)入門

    本應(yīng)用筆記為系統(tǒng)開發(fā)者概述了開發(fā)板特性的硬件實現(xiàn)。開發(fā)板特性為供電電源、時鐘管理、復(fù)位控制、自舉模式設(shè)置和調(diào)試管理。本文檔詳細介紹了如何使用 STM32U575xx 和 STM32
    發(fā)表于 09-06 06:05

    STM32 Nucleo-144 開發(fā)板技術(shù)文檔

    STM32 Nucleo-144 開發(fā)板技術(shù)文檔
    發(fā)表于 12-10 13:41 ?37次下載

    STM32 Nucleo-F746ZG開發(fā)板入門初探_STM32 Nucleo-F746ZG資料

    STM32 Nucleo-F746ZG開發(fā)板是很好的入門開發(fā)板,和經(jīng)典的Nucleo-64相比,Nucleo-F746ZG
    發(fā)表于 12-29 17:09 ?1w次閱讀
    STM32 <b class='flag-5'>Nucleo</b>-F746ZG<b class='flag-5'>開發(fā)板</b>入門初探_STM32 <b class='flag-5'>Nucleo</b>-F746ZG資料

    NUCLEO-F767ZI開發(fā)板評測

    本文主要介紹了NUCLEO-F767ZI開發(fā)板評測,NUCLEO-F767ZI是意法半導(dǎo)體ST公司推出的低成本Nucleo評估,目前為止,
    發(fā)表于 01-05 17:16 ?1.2w次閱讀
    <b class='flag-5'>NUCLEO</b>-F767ZI<b class='flag-5'>開發(fā)板</b>評測

    介紹STM32 Nucleo-32開發(fā)板特點應(yīng)用

    STM32 Nucleo-32開發(fā)板概述
    的頭像 發(fā)表于 07-03 04:17 ?6765次閱讀

    ST新推STM8系列Nucleo開發(fā)板

    意法半導(dǎo)體新推出了兩款STM8系列Nucleo開發(fā)板,讓8位MCU開發(fā)者也能體驗到STM32 Nucleo系列開發(fā)板久經(jīng)驗證的易用性和強大而
    的頭像 發(fā)表于 09-17 11:20 ?5297次閱讀

    NUCLEO32開發(fā)板的電路原理圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是NUCLEO32開發(fā)板的電路原理圖免費下載。
    發(fā)表于 06-29 08:00 ?32次下載
    <b class='flag-5'>NUCLEO</b>32<b class='flag-5'>開發(fā)板</b>的電路原理圖免費下載

    NUCLEO32-L432開發(fā)板評測,與以往的NUCLEO32開發(fā)板的區(qū)別資料下載

    電子發(fā)燒友網(wǎng)為你提供NUCLEO32-L432開發(fā)板評測,與以往的NUCLEO32開發(fā)板的區(qū)別資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)
    發(fā)表于 04-14 08:47 ?18次下載
    <b class='flag-5'>NUCLEO</b>32-L432<b class='flag-5'>開發(fā)板</b>評測,與以往的<b class='flag-5'>NUCLEO</b>32<b class='flag-5'>開發(fā)板</b>的區(qū)別資料下載

    STM32 Nucleo開發(fā)板入門(一)——概述

    STM32 Nucleo開發(fā)板入門(一)——概述
    發(fā)表于 12-07 18:36 ?19次下載
    STM32 <b class='flag-5'>Nucleo</b><b class='flag-5'>開發(fā)板</b>入門(一)——概述

    官方STM32的NUCLEO開發(fā)板使用

    官方STM32的NUCLEO開發(fā)板使用概述:因工作需求,先買了stm32的NUCLEO開發(fā)板做測試,本人使用的是L073RZ這塊板子,也是
    發(fā)表于 12-27 19:05 ?8次下載
    官方STM32的<b class='flag-5'>NUCLEO</b><b class='flag-5'>開發(fā)板</b>使用

    UM1974_STM32Nucleo_144腳開發(fā)板

    UM1974_STM32Nucleo_144腳開發(fā)板
    發(fā)表于 11-22 19:14 ?0次下載
    UM1974_STM32<b class='flag-5'>Nucleo</b>_144腳<b class='flag-5'>開發(fā)板</b>

    UM2179_STM32Nucleo_144腳開發(fā)板

    UM2179_STM32Nucleo_144腳開發(fā)板
    發(fā)表于 11-22 19:18 ?0次下載
    UM2179_STM32<b class='flag-5'>Nucleo</b>_144腳<b class='flag-5'>開發(fā)板</b>